From 40cfb4db96a5d46f768c229d6f08bd0964bc7557 Mon Sep 17 00:00:00 2001 From: "Kenneth, Cho Kai Hung" <107766043+KennethCho-CKH@users.noreply.github.com> Date: Sun, 2 Apr 2023 14:25:02 +0100 Subject: [PATCH] Try-catch Block Added --- clojure/fira_code/classes.clj | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/clojure/fira_code/classes.clj b/clojure/fira_code/classes.clj index 99ea1df..c911332 100644 --- a/clojure/fira_code/classes.clj +++ b/clojure/fira_code/classes.clj @@ -5,14 +5,21 @@ [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))) - + (let [filename (.getName file) + class-name (->> filename + (re-find #"classes/([^/]+)\.fea$") + (second)) + class-code (str/trim (slurp file)) + class {:name class-name + :code class-code}] + (glyphs/set-class font class-name class))) (defn fill-all [font] - (reduce fill-class font (files/find "classes" #"classes/[^/]+\.fea"))) + (let [class-files (files/find "classes" #"classes/[^/]+\.fea$")] + (doseq [file class-files] + (try + (fill-class font file) + (catch Exception e + (println (str "ERROR: Could not fill class from file " (.getPath file) ": " e))))) + font))