2011-08-30 13 views

回答

12

clojure-jack-in爲您當前的項目啓動SLIME會話。

它通過生成隨機端口號,在子進程中使用此端口號運行lein jack-in,等待swank服務器啓動,然後使用端口號調用slime-connect來完成此操作。

由於lein jack-in用於啓動自吹服務器,你顯然需要在項目中使用Leiningen,你需要有安裝,通過安裝它作爲一個獨立的插件Leiningen的自吹,Clojure的插件(lein plugin install swank-clojure 1.3.2) ,或者將它作爲開發依賴包含在你的project.clj中。

在Emacs方面,您需要安裝clojure-mode,最好從Marmalade。你不需要添加任何東西到你的.emacs

使用lein jack-in(經由M-x clojure-jack-in)與運行lein swank之間的區別是,clojure-jack-in還加載泥的一個版本是捆綁在一起的斯旺克-Clojure的Leiningen插件而不是安裝在Emacs煤泥版本。我不確定這背後的推理是什麼,大概只是爲了確保SLIME版本與swank服務器兼容。

+0

另一個原因是與swank-clojure一起使用的SLIME版本無法與大多數Common Lisp實現一起正常工作,並且被剝奪了其某些功能。 –

+0

你知道爲什麼這些功能被剝離嗎?我從來沒有真正遇到過標準SLIME版本和swank-clojure的問題,現在我使用clojure-jack-in主要是爲了方便。 –

+0

我記得有些交叉引用命令丟失了,並不是所有來自煤泥的東西都在那裏。在某些時候模糊完成失蹤了,但我認爲它已經被添加了。有一段時間沒有使用Clojure,我的記憶有點模糊。我認爲斯萊姆的參數亮點並未實現。 –

相關問題