有一个错误,我在Clojure偶尔一直这样做,我不经常做足够的事情,但是立即知道我忘了什么,但我仍然经常做到这一点,它真的得到真的烦人。自定义repl/nrepl错误消息
使用nrepl-jack-in
后基本上,我经常忘了更改为正确的命名空间。
所以在nrepl user>
提示我输入一个函数,我得到:
CompilerException java.lang.RuntimeException: Unable to resolve symbol: foo-bar-baz in this context, compiling:(NO_SOURCE_PATH:1)
印在nrepl
缓冲给我回user>
提示之前。
所以我想通了,而不是试图搞砸了与Java/Clojure的,有可能直接从Emacs中给出一个提示,只使用一些魔法Emacs的一种简单的方法。
如何添加挂钩(?)或类似于Emacs/nrepl-mode的东西,以便在打印特定消息时(例如,包含“无法解析符号”和“在此上下文中” )我可以添加一行说是这样的:
"Didn't you forget to change namespace?"
甚至:
"There's a .clj buffer opened using namespace abc.defk, didn't you forget to enter: (ns abc.def) ?"
有相当多,我觉得挺神秘的Clojure中的一些错误消息,并且通常需要我一段时间来弄清楚我做错了什么。如果我能够直接从Emacs“个性化”这些错误消息,我会赢得相当一段时间。
所以,我怎么能“拦截” nrepl输出,并使其适合我的需要?