Attachment: Chords Format Implementation

Pinchord · pinchord.git · Tickets · Changelog

An attachment for pinchord-14 Chords Format:

Is this reasonable for casual people who just want to edit the layout?

This isn't really reasonable for casual people who just want to edit the layout, but there isn't really a better way. For people just using Plover, you can edit the files directly, for Javelin, you have to rebuild anyway.

Current Implementation Idea

Chords.edn:

{:name "System Name"
 :short-description "Short Description for the Plover plugin"
 :long-description "Full System Description for the Plover plugin"
 :plugin-name "plover-pinchord"
 :package-name "plover_pinchord"
 :version "system version (vx.y or whatever)"
 :bank-order [:prefixes :initials :vowels :finals :suffixes]
 ; Which bank has implicit hypen keys and which should have -s?
 :split-bank :vowels
 :bank-keys {:prefixes "#+"
             :initials "TSPWHR&"
             :vowels "AOIU^"
             :finals "LRPKFST*"
             :suffixes "es"}
 ; So bank keys should actually look like
 :bank-keys {:prefixes ["#-" "+-"] ...}
 :implicit-hypen-keys ["A" "O" "I" "U" "^"]
 ; Document the 6 character limit
 :banks {:initials {...}
				 ; :starters [{:stroke "#+" :definition "{^}{-|}" :mask "#+"}
				 ; Kinda need that
			   :prefixes {"#+" {:javelin-special-prefix "{^}{-|}"}}
				 ; Can use - {^} for suppressing naked finals
			   :vowels {"-" "{^}" ...}}}
 :pinchord.javelin/prefixes {"#+" "{^}{-|}"}
 :undo-stroke "-LR"}

The generating code can then be customizable, so you can fork it if you want and add your own keys.