717fc20
Pinchord · pinchord.git · Tickets · Changelog
Branches > build-process > 717fc20 > files / setup.cfg
Extract javelin dictionary generation code
Commit: 717fc20bb0c9a214d989b79aea717cee1f5b5bce
Parent: c968ca0
1 changed file:
src/org/pinchord/generate.clj view file
@@ -52,28 +52,30 @@ :vowels (with-gaps-filled :vowels chords) :finals (with-gaps-filled :finals chords))) +(defn build-javelin-dictionary [chords]+ {:name (str "Pinchord Base " (:version chords))+ :maximumOutlineLength 1+ :starters [{:stroke "#+" :definition "{^}{-|}" :mask "#+"}+ {:stroke "" :definition "{}" :mask ""}]+ :letters (->> (reduce (fn [acc [bank entries]]+ (if-let [bank-keys ((:banks chords) bank)]+ (into acc (mapv (fn [[stroke translation]]+ {:stroke stroke :data translation :order (bank->priority bank)+ :avoidMask (str (when (= bank :finals)+ "-")+ (mask stroke bank-keys))})+ entries))+ (into acc (mapv (fn [[stroke translation]]+ {:stroke stroke :data translation :order (bank->priority bank)})+ entries))))+ #{} (select-keys chords banks))+ (sort-by (comp - count :stroke)))})+ (defn -main [& _args] (let [chords (-> (edn/read-string (slurp "chords.edn")) fill-gaps-in-banks (update :finals finalize) (update :suffixes finalize))- chord-banks (:banks chords)- dict {:name (str "Pinchord Base " (:version chords))- :maximumOutlineLength 1- :starters [{:stroke "#+" :definition "{^}{-|}" :mask "#+"}- {:stroke "" :definition "{}" :mask ""}]- :letters (->> (reduce (fn [acc [bank entries]]- (if-let [bank-keys (chord-banks bank)]- (into acc (mapv (fn [[stroke translation]]- {:stroke stroke :data translation :order (bank->priority bank)- :avoidMask (str (when (= bank :finals)- "-")- (mask stroke bank-keys))})- entries))- (into acc (mapv (fn [[stroke translation]]- {:stroke stroke :data translation :order (bank->priority bank)})- entries))))- #{} (select-keys chords banks))- (sort-by (comp - count :stroke)))}+ dict (build-javelin-dictionary chords) dict-path (str "pinchord-javelin-dictionary-" (:version chords) ".yaml")] (spit dict-path (yaml/generate-string dict))))