当我使用来自clojure.main
的repl
函数时,如何从我的REPL中获得类似于readline(或rlwrap)的功能?
背景是我正在使用《Clojure之乐》第一版中的break
函数进行使用和定制。我正在lein repl
REPL中使用它。当我的"断点"触发时,Leiningen REPL的readline-like功能消失了,这有点不方便。我的肌肉记忆让我先按↑,然后快速按Enter。在我能停止自己之前,我已经在终端中输入了这个:
debug=> ^[[A
CompilerException java.lang.RuntimeException: Unable to resolve symbol: in this context, compiling:(/tmp/form-init13211381000659590518.clj:1:1)
现在我的REPL卡住了,我不得不杀掉终端或进程才能退出。我希望如果可能的话,在这个第二级REPL中让readline工作,或者至少防止这个常见问题干扰我的调试会话。
rlwrap
不是有帮助吗? - cfricklein repl
REPL中可以使用,但在REPL内部的REPL中无法使用。 - user457586lein repl
带有自己的 readline 工具。因此,对于非 lein-repl,我使用rlwrap
。所以我认为单独使用rlwrap
(没有外部的 lein-repl,只有内部的repl)不会有影响(除非 repl-in-a-repl 影响std(out|in))。但是我不知道如何禁用 lein 中的 jreadline2 (?) 支持。 - cfrick