gpt4 book ai didi

emacs - 适用于Common Lisp和Clojure开发的SLIME设置

转载 作者:行者123 更新时间:2023-12-04 04:27:15 24 4
gpt4 key购买 nike

我一直无法设置SLIME来与Clojure和Common Lisp一起使用。大多数Clojure开发人员倾向于使用可通过ELPA获得的精简版SLIME,该版本已卡住以实现Clojure兼容性。但是,我也进行了许多Common Lisp黑客攻击,并且我通常使用SLIME CVS版本(通过QuickLisp获得)。

Clojure的swank实现存在一些众所周知的问题-它不适用于autodoc(如果启用了SLIME卡住),它不支持诸如模糊补全之类的东西。建议答案对我来说是无可奈何的。

(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)))))

解决方案在纸上看起来很棒,但对我来说,slim-lisp-implementation-type始终为零。 (与使用本地连接的slime-lisp-implementation-type:connlocal相同)。

我基本上需要的只是一种了解我如何使用Clojure的手枪运行SLIME的方法,以便能够修改有问题的设置。

最佳答案

似乎已经创建了解决此问题的方法。它称为jack-in。基本上,您只需要做三件事:

  • 通过git或果酱果酱安装clojure-mode
  • lein插件安装swank-clojure 1.3.1
  • 从项目
  • 中调用M-x clojure-jack-in

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

    更新:

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

    关于emacs - 适用于Common Lisp和Clojure开发的SLIME设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5992626/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com