893b5b2

Pinchord · pinchord.git · Tickets · Changelog

Branches > v30.0 > 893b5b2 > files / generate-dictionary.clj

mods shit

Grahp, 2026-02-27

Commit: 893b5b2ad7e0e2973c64155e5bc6dcb38143d185
Parent: cc8229a

1 changed file:

generate-mods.clj modified (view file)

@@ -2,4 +2,44 @@               :left-numpad {"" ""                             "R" "1"}}) +(def symbols {"P" "."+              "RP" "/"})++{:chord "P"+ :translation "."}++(def mods {"-" ""+           "A" "ctrl"+           "E" "shift"+           "I" "super"+           "U" "alt"})++(def mods {"A" "ctrl"+           "E" "shift"+           "I" "super"+           "U" "alt"})++(defn power-set [coll]+  (let [rest (power-set (rest coll))]+    (concat rest+            (map #(cons (first coll) %) rest))))++(defn power-set [coll]+  (reduce (fn [acc x]+            (into acc (map #(conj % x) acc)))+          #{#{}} coll))++(power-set mods)++(defn apply-mods [x combo]+  (reduce (fn [acc [_ mod]]+            (str mod "(" acc ")"))+          x combo))++(defn generate-all-mods [starter {:keys [chord translation]}]+  (for [mods (power-set mods)]+    (apply-mods translation mods)))++(generate-all-mods "ST" {:chord "SP" :translation "/"})+ (comment)