有一個錯誤,我在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輸出,並使其適合我的需要?