定位Clojurescript中不匹配的分隔符



偶尔我发现自己在一种情况下,我不匹配花括号,圆括号或方括号:{}()[]在Clojurescript。我使用leininingencljsbuild,我很难追踪误差源。通常可以归结为这样的内容:

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

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

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

我到目前为止的工作

  • 使用版本控制来查找文件及其先前状态的差异。

  • 使用vim的父级广泛匹配%来拯救。

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

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

最新更新