2024 年 Clojure 调查问卷 中分享您的想法!

欢迎!有关此功能的更多信息,请参阅关于页面。

0 投票
CIDER

我想执行 `cider-jack-in` 但想通过传递给 `clojure` 可执行文件的参数来运行。

每次我执行 `cider-jack-in`,我都想使用我在 `deps.edn` 中定义的 :aliases {:dev {:extra-deps ... :extra-paths ... }}

当前的解决方案是打开一个 xterminal 并输入:
clj -A:dev
然后从 GNUEmacs 中执行 cider-connect

由于 `clj` 只是将 rlwrap 包装在 /usr/bin/clojure 上,我明白我可以通过 CIDER 执行 `clojure`,但如何最好地传递参数 -A:dev

我尝试将各种内容 setq' 到 GNUEmacs 变量 cider-clojure-cli-aliases,但没有成功。

我使用的版本...

CIDER 1.2.0(很好)

GNU Emacs 27.1(构建 1,x86_64-pc-linux-gnu,GTK+ 版本 3.24.24,cairo 版本 1.16.0)
2021-03-27,由 Debian 修改

1 答案

+1 投票

您可以在https://metaredux.com/posts/2019/11/02/hard-cider-understanding-the-jack-in-process.html 找到一些文档。

对于一次性命令,您可以使用前缀参数 C-u 来提示输入确切要使用的命令,因此请使用 C-u M-x cider-jack-in

若要选择一个更持久的选项,您可以为在调用Clojure时使用cider设置别名,可以使用cider-clojure-clj-aliases变量。根据其文档

当使用clojure cli时,要包含的别名列表。别名名称
应采用“:foo:bar”的形式。从别名中移除前缀“-A”、" -M"、“-T”或“-X”,然后将其连接到
"-M[your-aliases]:cider/nrepl"形式。
在您的示例中:(setq cider-clojure-clj-aliases ":dev")

此外,如果您只想为特定项目设置值而不仅仅是全局设置,您可以通过特定项目的配置文件.dir-locals.el来使用它。更多信息请见此处:https://docs.cider.mx/cider/config/project_config.html

by

Cesar,你建议使用`(setq cider-clojure-clj-aliases ":dev")`
当我查看文档时,我只看到了选项`cider-clojure-cli-aliases`(即cli代替clj)
我认为我们应该使用它!问候

欢迎来到Clojure Q&A,在这里您可以提问并从Clojure社区的成员那里获得回答。
...