FiraCode/clojure/fira_code/classes.clj

19 wiersze
488 B
Clojure

(ns fira-code.classes
(:require
[clojure.java.io :as io]
[clojure.string :as str]
[fira-code.glyphs :as glyphs]
[fira-code.files :as files]))
(defn fill-class [font file]
(let [[_ name] (re-matches #"([^.]+)\.fea" (.getName file))
code (slurp file)
class {:code (str/trim code)
:name name}]
(glyphs/set-class font name class)))
(defn fill-all [font]
(reduce fill-class font (files/find "classes" #"classes/[^/]+\.fea")))