7

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

我猜这是某种功能,(我现在更倾向于认为这是随机的错误行为),但任何人都可以解释它或指向我这样做的文档吗?另外,一旦启动了repl,有什么方法可以更改配置文件?

谢谢

4

4 回答 4

15

与评论者@user7610 所说的相反,cider-jack-in-with-profile苹果酒中没有任何功能。Cider pull-request #544在这方面有点误导。

如果您希望 cider 加载您自己的special-snowflake配置文件,请在 emacs 中执行此操作:

  • M-x set-variable cider-lein-parameters例如with-profile +my-special-snowflake repl :headless

或以交互方式设置变量(这样您就可以在更改之前看到它的当前值):

  • C-h, v cider-lein-parameters然后在“自定义”上单击或按回车键并将其设置为例如with-profile +my-special-snowflake repl :headless并应用它

这将导致您的下一个cider-jack-in加载my-special-snowflake配置文件以及base配置文件(这是运行 nrepl 和苹果酒所必需的)。

于 2015-03-19T14:07:44.277 回答
2

尝试这个:

(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(里加)上进行测试

于 2018-03-28T02:50:41.500 回答
1

我只是在搜索相同的功能,并在 clojure-emacs/nrepl.el “向 nrepl-jack-in 添加参数以允许配置文件的规范” https://github.com/clojure-emacs/nrepl 中发现了这个未解决的问题。埃尔/问题/327

它仍然开放

于 2013-10-15T22:22:45.737 回答
0

我在我的电脑上尝试了Jiacai Liu的函数作者(GNU Emacs 26.2 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.20 Version 10.14.3 (Build 18D109)) of 2019-04-13)。我得到一个错误是:

eval-region: Wrong number of arguments: (1 . 1), 0

然后,我尝试 elisp 函数为:

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

现在它起作用了。谢谢刘家菜!

于 2019-05-22T07:47:59.897 回答