如何开始Clojure REPL?

时间:2010-08-27 09:53:57

标签: clojure read-eval-print-loop

说出启动Clojure REPL的方法。你最喜欢什么 ?它能为你突出显示的内容吗?

我知道: 1.带有Enclojure插件的NetBeans IDE,以及 2. Leiningen shell脚本:lein repl

到目前为止我并不喜欢我,我当然喜欢一些颜色。

还有什么?

6 个答案:

答案 0 :(得分:7)

语法高亮的Clojure REPL完全可以在Emacs中使用 - 我在SO上写了一个非常古老的问题来编写必要的代码:Is there a colored REPL for Clojure?我已经调整它以处理来自Clojure的提示和打印输出处理得当; this Gist中提供了更新版本。请注意,它意味着增加SLIME REPL,并且最新版本依赖于一个相当新鲜的clojure模式。我打算把这个打包好,这样就可以让那些粘糊糊的Clojurians把它放到他们的Emacs配置中......可能只是很快就会这样做。

作为另一个选择,我似乎对VimClojure的REPL非常模糊的回忆很久以前突出了用户输入......但我绝对可能错了。

哦,因为你对启动Clojure REPL的其他可能方法感到好奇 - 所有的IDE插件都提供了自己的REPL;你可以在Emacs中使用常规的劣质lisp模式; java -jar clojure.jar使用类路径上的当前工作目录启动REPL;如果你在你的应用程序中嵌入swank-clojure,你可以从其中启动REPL服务器; VimClojure在Vim中提供了一个很好的REPLing体验(我相信它提供了相当于 M-x slime-connect ,但是,再一次,我还没有在很长一段时间内使用它);您可以使用Leiningen或clojure-maven-plugin来启动独立的REPL或swank实例(我希望其他Clojure感知的构建工具也可以使用它); cljr可以启动控制台REPL,打包在Swing窗口中的REPL和swank实例;可能会有更多。

答案 1 :(得分:2)

您可以使用Enclojure REPL使用Redcar Editor启动一个。这个blog post有一个截图。它确实支持彩色语法突出显示。一般来说,Redcar对clojure的支持并不是很好,但我正致力于改善体验。如果您尝试一下,请告诉我您的想法。

答案 2 :(得分:2)

Cljr  是David Liebke的Clojure REPL和包经理。

它满足了“只是尝试输出”的复制需求。可以使用易于管理的clojure和java依赖项启动普通命令行repl,swing repl和swank服务器(用于Emacs SLIME模式)。

答案 3 :(得分:2)

如果我在Emacs或者Emacs坐在某处,我通常只使用连接到swank服务器的SLIME。我在REPL中得到了一个突出显示的REPL以及Emacs的所有功能。

当我没有Emacs时,我使用cake在终端中启动REPL。我没有像这样突出显示,但你可以获得出色的多线支持甚至完成。

答案 4 :(得分:0)

#!/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

答案 5 :(得分:0)

你可以使用这个小小的hack将一个远程Clojure repl“注入”你正在运行的应用程序(启用了远程调试,但是未经修改): https://github.com/wirde/swank-inject

相关问题