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

欢迎!请参阅关于页面以获取更多关于此工作的信息。

0
CIDER

我想执行 cider-jack-in,但我想以一些预定义的参数运行传递给 clojure 可执行文件。

每次我执行一个 cider-jack-in,我都想获取我在 deps.edn 中定义的 :aliases {:dev {:extra-deps ... :extra-paths ... }}

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

由于 clj 只是将rlwrap包装到 /usr/bin/clojure 上,所以我明白我可以通过 CIDER 运行 clojure,但我不知道如何以最佳方式传递参数,即 -A:dev

我尝试将各种内容设置到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年3月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 命令行时,要包含的别名列表。别名名称
应为 ":foo:bar" 的形式。别名前缀 "-A"、" "-M"、" "-T" 或 "-X" 将被移除,然后与以下内容连接:"-M[your-aliases]:cider/nrepl"。

"-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`(而不是 clj,而是 cli)

我认为我们应该使用这个!问候
...