我在我的leiningen项目文件中设置了:dev配置文件。这为我的repl会话定义了:init和:init-ns设置。如果我在emacs(M-x nrepl-jack-in)中使用光标在我的project.clj中的:dev关键字上启动nrepl,则会启动repl并使用:init和:init-ns设置。如果我将光标放在别处,初始命名空间是不同的(测试ns,而不是用户),并且:init尚未被评估。
我猜它是某种特征,(我更倾向于认为它现在是随机的行为),但是有人可以解释它或指向那些这样做的文档吗?此外,有没有办法在repl启动后更改配置文件?
由于
答案 0 :(得分:14)
与@ user7610的评论者相反,苹果酒中没有cider-jack-in-with-profile
功能。在这方面,苹果酒pull-request #544有点误导。
如果您希望苹果酒加载您自己的special-snowflake
个人资料,请在emacs中执行此操作:
M-x set-variable cider-lein-parameters
例如with-profile +my-special-snowflake repl :headless
或以交互方式设置变量(因此您可以在更改之前查看它的当前值):
C-h, v cider-lein-parameters
然后点击或按Enter键"自定义"并将其设置为例如with-profile +my-special-snowflake repl :headless
并将其应用除cider-jack-in
配置文件(运行nrepl和cider)所需的配置文件之外,还会导致您的下一个my-special-snowflake
加载base
配置文件。
答案 1 :(得分: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(里加)上进行测试
答案 2 :(得分:1)
我只是搜索相同的功能,并在clojure-emacs / nrepl.el&#34中找到了这个未解决的问题;将参数添加到nrepl-jack-in以允许指定配置文件" https://github.com/clojure-emacs/nrepl.el/issues/327
它仍然是开放的
答案 3 :(得分:0)
我在2019-04的计算机(GNU Emacs 26.2(内部版本1,x86_64-apple-darwin18.2.0,NS appkit-1671.20版本10.14.3(内部版本18D109))中尝试使用Jiacai Liu编写函数作者-13)。我得到一个错误是:
eval-region: Wrong number of arguments: (1 . 1), 0
然后,我尝试省略功能为:
(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 '())))
现在可以正常工作了。谢谢刘嘉才!