偶尔我发现自己处于一种情况,即我在Clojurescript中不匹配花括号,括号或方括号:{}()[]
。我正在使用leininingen
和cljsbuild
我很难跟踪错误来源。通常归结为这样的事情:
Compiling "resources/public/js/whitespace.js" failed.
clojure.lang.ExceptionInfo: java.lang.RuntimeException: Unmatched delimiter: ) at line 1
后面是一个广泛的堆栈跟踪,似乎不包含文件名,行号信息。
如何获得更多有用的信息?
到目前为止我的解决方法
使用版本控制来查找文件及其先前状态的差异。然后查看更改括号的位置。
使用vim的parens广泛匹配%
来救援。
答案 0 :(得分:2)
您可以使用Paredit模式在键入时保持S表达式平衡。在Emacs中,如果文件中有不匹配的表达式,此模式也会发出警告。
有一个vim插件为vim提供Paredit模式,请看这里:https://github.com/vim-scripts/paredit.vim。