如何使用Emacs nREPL选择/切换Leiningen配置文件?

我在我的leiningen项目文件中设置了一个:dev配置文件。 这为我的repl会话定义了一个:init和:init-ns设置。 如果我使用游标在我的project.clj中的dev关键字上启动了emacs(Mx nrepl-jack-in)中的nrepl,则会使用repl启动以及:init和init-ns设置。 如果我在其他地方有我的游标,初始命名空间是不同的(测试ns,而不是用户),并且:init尚未被评估。

我猜这是某种功能,(我更倾向于认为它现在是随机的小车行为),但任何人都可以解释它或指出我这样做的文档? 另外,一旦repl被启动,有没有办法改变配置文件?

谢谢


与@ user7610表示的评论者相反, cider-jack-in-with-profile中没有cider-jack-in-with-profile功能。 苹果酒拉动请求#544在这方面有点误导。

如果您想让苹果酒加载您自己的special-snowflake配置文件,请在emacs中执行以下操作:

  • Mx set-variable cider-lein-parameters ,例如with-profile +my-special-snowflake repl :headless
  • 或以交互方式设置变量(以便在更改之前可以看到它的当前值):

  • Ch, v cider-lein-parameters ,然后点击或点击“自定义”上的回车并将其设置为例如with-profile +my-special-snowflake repl :headless并应用它
  • 除了base配置文件(这是运行nrepl和苹果酒所需的配置文件)之外,这将导致您的下一个cider-jack-in插件加载my-special-snowflake配置文件。


    我只是搜索相同的功能,发现这个问题在clojure-emacs / nrepl.el“添加参数到nrepl-jack-in允许配置文件的说明”https://github.com/clojure-emacs/nrepl。 EL /问题/ 327

    它仍然是开放的


    尝试这个:

    (defun start-cider-repl-with-profile ()
      (interactive)
      (letrec ((profile (read-string "Enter profile name: "))
               (lein-params (concat "with-profile +" profile " repl :headless")))
        (message "lein-params set to: %s" lein-params)
        (set-variable 'cider-lein-parameters lein-params)
        (cider-jack-in)))
    

    在CIDER 0.16.0(里加)上测试

    链接地址: http://www.djcxy.com/p/38607.html

    上一篇: How do I choose/switch Leiningen profiles with Emacs nREPL?

    下一篇: How can I clear and reload my nrepl session in emacs?