首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Common Lisp和Clojure开发的SLIME设置

Common Lisp和Clojure开发的SLIME设置
EN

Stack Overflow用户
提问于 2011-05-13 21:30:18
回答 2查看 1.8K关注 0票数 9

我在设置SLIME以使用Clojure和Common Lisp时遇到了问题。大多数Clojure开发人员倾向于使用通过ELPA提供的剥离下来的粘液,为了与Clojure兼容,ELPA将其冻结。然而,我也做了很多Common Lisp的破解工作,我通常使用SLIME版本(通过QuickLisp获得)。

对于Clojure的swank实现有一些众所周知的问题--它不支持autodoc (如果它启用了黏液冻结),它不支持一些东西,比如模糊补全等等。这个question讨论了同样的问题,答案是我不能去。

代码语言:javascript
复制
(add-hook 'slime-connected-hook
          (lambda ()
            (if (string= (slime-lisp-implementation-type) "Clojure")
                (setq slime-use-autodoc-mode nil)
              (setq slime-use-autodoc-mode t))
            ))

(add-hook 'slime-mode-hook
          (lambda ()
            (if (eq major-mode 'clojure-mode)
                  (slime-autodoc-mode 0)
                (slime-autodoc-mode 1))))

(add-hook 'slime-repl-mode-hook
          (lambda ()
            (if (string= (slime-lisp-implementation-type) "Clojure")
                (progn (setq slime-use-autodoc-mode nil)
                       (slime-autodoc-mode 0))
              (progn (setq slime-use-autodoc-mode t)
                     (slime-autodoc-mode 1)))))

这个解决方案在纸面上看起来很棒,但对我来说slime lisp-implementation-type总是为nil。(slime-lisp-implementation type相同:connlocal local connections)。

我基本上需要的只是一种方法,知道我用Clojure的swank运行SLIME,以便能够修改有问题的设置。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-17 16:26:47

似乎这个问题的解决方案是刚刚创建的。它被称为jack-in。基本上你只需要做三件事:

  1. 通过git或Marmalade安装clojure-mode
  2. lein插件install swank-clojure 1.3.1
  3. 从项目

调用M-x clojure-jack-in

这将自动引导所支持的黏液。您不再需要通过ELPA安装它。我已经将Common Lisp init封装在一个交互式函数中,我可以在需要时调用它,因为加载Clojure粘液自然会破坏一些设置。它不像上游Clojure在SLIME中的支持那样是一个理想的解决方案,但它比大多数替代方案要好得多……

更新:

Clojure开发不再需要SLIME。我建议您改用CIDER

票数 4
EN

Stack Overflow用户

发布于 2011-05-25 18:00:36

这是一个分步指南,介绍如何在Emacs中为Clojure设置粘滞(从http://technomancy.us/126和其他来源收集)。它不会影响您现有的CommonLisp或方案设置:

http://languageagnostic.blogspot.com/2011/05/clojure-in-emacs.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5992626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档