是否可以在Clojure REPL中使用_good_ tab完成?

Vi.*_*Vi. 7 clojure tab-completion read-eval-print-loop

好的选项卡完成意味着使用反射或其他任何东西动态生成(不需要在某处预先定义完成的预定义列表),并且知道在特定位置可以跟什么不能跟什么.

就像(.<TAB> x)我将得到x的方法列表一样,在(println <TAB>)我得到本地和全局定义(Math/<TAB>的列表中,我得到数学函数列表...

例如,我喜欢Tab在ghci(Haskell)或ipython中工作的方式.

sku*_*uro 8

看看有关比默认REPL更好的REPL的回复.它涵盖了您提到的三个用例中的两个,使Java实例方法完成.

如果你使用leiningen v2 +,它是lein repl命令调用的默认REPL .


Vi.*_*Vi. 0

看起来IClojure或多或少做得很好。它受到启发,看起来像 IPython,并提供选项卡补全功能(不完整,提到了 3 个案例中的 2 个),并帮助在控制台中开发 Clojure。虽然不是很稳定。