说出您知道的启动 Clojure REPL 的方式。你最喜欢什么 ?它是否突出了你的东西?
我知道:1. 带有 Enclojure 插件的 NetBeans IDE,以及 2. Leiningen shell 脚本:lein repl
到目前为止,我还没有最喜欢的颜色,我当然想要一些颜色。
还有什么 ?
说出您知道的启动 Clojure REPL 的方式。你最喜欢什么 ?它是否突出了你的东西?
我知道:1. 带有 Enclojure 插件的 NetBeans IDE,以及 2. Leiningen shell 脚本:lein repl
到目前为止,我还没有最喜欢的颜色,我当然想要一些颜色。
还有什么 ?
语法高亮的 Clojure REPL 在 Emacs 中是完全可能的——我编写了必要的代码来回答一个非常古老的问题:Clojure 是否有彩色的 REPL?此后,我对其进行了调整,以正确处理来自 Clojure 进程的提示和打印输出;此 Gist中提供了更新版本。请注意,它旨在增强 SLIME REPL,并且最新版本依赖于相当新鲜的 clojure 模式。我打算将它正确打包,以便粘液 Clojurians 可以将其放入他们的 Emacs 配置中......可能很快就会这样做。
作为另一种选择,我似乎对很久以前 VimClojure 的 REPL 突出显示用户输入有一个非常模糊的回忆......不过,我肯定是错的。
哦,既然您对启动 Clojure REPL 的其他可能方式感到好奇——所有 IDE 插件都提供自己的 REPL;你可以在 Emacs 中使用常规的 suber-lisp-mode;java -jar clojure.jar
使用类路径上的当前工作目录启动 REPL;如果你在你的应用程序中嵌入了 swank-clojure,你可以在其中启动 REPL 服务器;VimClojure 在 Vim 中提供了很好的 REPLing 体验(我相信它提供了等价M-x slime-connect于 您可以使用 Leiningen 或 clojure-maven-plugin 来启动独立的 REPL 或 swank 实例(我希望其他支持 Clojure 的构建工具也能够做到这一点);cljr可以启动控制台 REPL,REPL 打包在 Swing 窗口和 swank 实例中;可能还有更多。
您可以使用 Enclojure REPL从Redcar Editor开始。这篇博客文章有一个它的截图。它确实支持彩色语法突出显示。Redcar 目前对 clojure 的支持一般来说不是很好,但我正在努力改善体验。如果您尝试一下,请告诉我您的想法。
Cljr 是 David Liebke 的 Clojure REPL 和包管理器。
它满足了“只是尝试”的repl需求。简单的命令行 repl、swing repl 和 swank 服务器(用于 Emacs SLIME 模式)可以通过易于管理的 clojure 和可用的 java 依赖项启动。
如果我在 Emacs 中或者在某个地方打开了 Emacs,我通常只使用连接到 swank 服务器的 SLIME。通过这种方式,我得到了一个突出显示的 REPL,并且 Emacs 的所有功能都在我的 REPL 中。
当我手头没有 Emacs 时,我会使用cake在终端中启动 REPL。我没有像这样突出显示,但是您可以获得出色的多行支持甚至完成。
#!/bin/bash
# Start Clojure REPL (assumes clojure.jar and clojure-contrib.jar are in /opt/clojure
# Don't remember where I got this originally
# GUI mode
if [ "$TERM" == "dumb" ]; then
gnome-terminal -t Clojure -x $0 $* &
exit
fi
breakchars="(){}[],^%$#@\"\";:''|\\"
rlwrap --remember -c -b "$breakchars" \
java -Djava.ext.dirs=/opt/clojure clojure.main -i $HOME/.clojurerc --repl
您可以使用这个小技巧将远程 Clojure repl“注入”到您正在运行的应用程序中(启用远程调试,但未修改): https ://github.com/wirde/swank-inject