2

有时,我发现自己处于不匹配大括号、括号或方括号的情况:{}()[]在 Clojurescript 中。我正在使用leininingencljsbuild我很难追踪错误来源。通常它归结为这样的事情:

Compiling "resources/public/js/whitespace.js" failed. clojure.lang.ExceptionInfo: java.lang.RuntimeException: Unmatched delimiter: ) at line 1

随后是一个扩展的堆栈跟踪,似乎不包含文件名、行号信息。

我怎样才能获得更多有用的信息?

到目前为止我的解决方法

  • 使用版本控制来查找文件及其先前状态的差异。然后查看括号更改的位置。

  • 广泛使用 vim 的括号%来进行救援。

4

1 回答 1

2

您可以在键入时使用 Paredit 模式来保持 S 表达式的平衡。在 Emacs 中,如果文件中有不匹配的表达式,此模式也会警告您。

有一个为 vim 提供 Paredit 模式的 vim 插件,请看这里:https ://github.com/vim-scripts/paredit.vim 。

于 2013-04-30T21:23:59.900 回答