yqrashawn / GokuRakuJoudo

config karabiner with ease
GNU General Public License v3.0
1.17k stars 120 forks source link

Please add source line number in exception error messages #201

Open eugenesvk opened 1 year ago

eugenesvk commented 1 year ago

It's a challenge to debug various stray } etc. left from converting .json to .edn Any chance the exception message could at least point to the line number for the mistaken symbol?

Exception in thread "main" java.lang.RuntimeException: Unmatched delimiter: }
    at clojure.lang.Util.runtimeException(Util.java:221)
    at clojure.lang.EdnReader$UnmatchedDelimiterReader.invoke(EdnReader.java:698)
    at clojure.lang.EdnReader.readDelimitedList(EdnReader.java:757)
    at clojure.lang.EdnReader$VectorReader.invoke(EdnReader.java:672)
    at clojure.lang.EdnReader.readDelimitedList(EdnReader.java:757)
    at clojure.lang.EdnReader$VectorReader.invoke(EdnReader.java:672)
    at clojure.lang.EdnReader.readDelimitedList(EdnReader.java:757)
    at clojure.lang.EdnReader$MapReader.invoke(EdnReader.java:680)
    at clojure.lang.EdnReader.readDelimitedList(EdnReader.java:757)
    at clojure.lang.EdnReader$VectorReader.invoke(EdnReader.java:672)
    at clojure.lang.EdnReader.readDelimitedList(EdnReader.java:757)
    at clojure.lang.EdnReader$MapReader.invoke(EdnReader.java:680)
    at clojure.lang.EdnReader.read(EdnReader.java:145)
    at clojure.lang.EdnReader.read(EdnReader.java:111)
    at clojure.edn$read.invokeStatic(edn.clj:35)
    at clojure.edn$read.invokeStatic(edn.clj:14)
    at clojure.edn$read.invoke(edn.clj:14)
    at karabiner_configurator.misc$load_edn.invokeStatic(misc.clj:38)
    at karabiner_configurator.misc$load_edn.doInvoke(misc.clj:32)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at karabiner_configurator.core$parse.invokeStatic(core.clj:138)
    at karabiner_configurator.core$parse.doInvoke(core.clj:130)
    at clojure.lang.RestFn.invoke(RestFn.java:439)
    at karabiner_configurator.core$_main.invokeStatic(core.clj:229)
    at karabiner_configurator.core$_main.doInvoke(core.clj:224)
    at clojure.lang.RestFn.invoke(RestFn.java:397)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at karabiner_configurator.core.main(Unknown Source)
goldlil commented 1 year ago

+1 This one is missing too much. It get exhausting trying to find missing } in code.