问题标签 [cider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - 在 Emacs 上缩进 clojure
我正在尝试将 emacs 设置为对 clojure 代码进行自动缩进。
直到现在都没有成功。为此在配置文件中设置的命令是什么?
clojure - 如何从 cider-error 缓冲区跳转到 repl 缓冲区?
在 clojure ciderrepl
中,当某些代码出错时,我必须C-b k
杀死 cider-error 缓冲区,C-x o
切换回 repl 缓冲区。是否有直接跳回repl
缓冲区的快捷方式/功能?
android - 在 Android 上使用苹果酒
我正在尝试在 Android 上遵循基于Clojure 开发的本教程。lein-droid
但是,本教程跳过了设置 Cider 支持。
我从一个默认lein-droid
项目开始,添加
到我的~/.lein/profiles.clj
,然后运行
根据教程,我应该可以做一个lein droid doall
然后与苹果酒连接到localhost:9999
这一点;但是,由于 Android 端缺少 nREPL,因此无法使用:
那么,根据我发现的其他教程,我应该cider-nrepl
通过将其添加到我的 Android 依赖项中~/.lein/profiles.clj
:
所以我做了一个新lein clean; lein droid doall
的,以确保一切都被很好地拾起;现在生成的程序在启动时在 Android 上崩溃:
emacs - Clojure 代码热重载功能
我正在尝试基于 EMACS+CIDER 设置我的环境以进行 clojure 开发,顺便说一句,我在 6:20-6:25 的时间在此视频中看到了热重载功能。http://www.parens-of-the-dead.com/e1.html
实际上,作者并没有使用 RING/wrap-reload 之类的功能,而是在每个缓冲区保存到 emacs 后,他的代码在 REPL 中重新加载。我想我在本地机器上有相同的库(苹果酒、苹果酒-nrepl、clj-refactor、clojure-mode),但是我的本地安装没有如图所示工作,它需要每次在 REPL 中调用(重置)函数。
PS我可以通过EMACS中的这段代码大致获得相同的行为,但我不想使用这样的黑客:
任何建议如何在 EMACS+CIDER 中对文件保存事件实现代码重新加载?
emacs - cider-nrepl 缓冲区中的进度指示器栏自动更改行
我正在尝试使用clj-progress的进度指示器栏。
示例代码在lein repl
控制台中运行良好:
像这样的输出(动态进行中):
当我在 cider 下的 emacs 中尝试时,输出如下:
虽然这没什么大不了的,但我想知道是什么原因造成的,苹果酒中是否有任何设置可以纠正这个问题?
clojure - 运行项目时出现 cider-nrepl 错误
我尝试运行 lein 项目cider/cider-nrepl
。
我写[cider/cider-nrepl "0.10.1"]
在plugins
部分project.clj
运行后cider-jack-in
我有错误 -Caused by: java.lang.RuntimeException: Unable to resolve var: cider.nrepl.middleware.apropos/wrap-apropos in this context
如果我从苹果酒中删除苹果酒插件project.clj
运行良好,但 M-.,cider-jump-to-var
功能不起作用。
更新
我创建了新的最小 lein 应用程序:
$lein deps :tree
项目.clj
$lein version
我对 lein 有一个习惯profile.clj
。
shell - elisp 解析异步 shell 命令的输出
我有一个简单的elisp
交互式函数,用于启动 Clojure repl。
它打开一个*Async Shell Command*
缓冲区,过了一会儿出现以下文本:
nREPL 服务器在主机 127.0.0.1 的端口 59795 上启动 - nrepl://127.0.0.1:59795 不推荐使用隐式目标目录,请改用目标任务。设置 BOOT_EMIT_TARGET=no 以禁用隐式目标目录。
我想监视此命令的输出以便能够解析端口(本例中为“59795”)。即使只是第一行(在没有警告的情况下)也可以。
这样我就可以使用另一个命令连接到等待我的 Clojure REPL。
我不能使用shell-command-to-string
,因为命令不会返回并且它会永远阻止 emacs(boot repl wait
应该持续到我的整个编程会话,可能更多)。
也可能有一些容易做的事情cider
,但我还没有找到。
那么,如何在 Elisp 中解析异步 bash 命令的结果?或者,我如何设置 Cider 来为我启动这个 REPL 并连接到它?
emacs - 如何使用苹果酒的叠加层
我想试试苹果酒的叠加选项。我知道它看起来像 Lighttable 的 InstaRepl,没有即时评估。但是,我无法让它工作,例如 Mx cider-use-overlays 返回不匹配。
我正在使用 cider/cider-nrepl 0.11.0 和 cider 0.11.0
这是我的苹果酒配置:
请问我需要做什么才能让它工作?还有关于苹果酒覆盖的好教程吗?感谢您的帮助。
clojure - 宏扩展形式求值,但非扩展形式抛出异常
如果这很重要,我正在使用苹果酒。
这就是我正在处理的宏,但这不重要(尽管它可能确实如此)。
这是导致问题的特定代码
直接评估这个会抛出一个异常:
我对表单进行了宏扩展以对其进行调试,然后得到了这个:
这看起来一点也不差,所以我尝试评估扩展的形式。令人惊讶的是,它有效,评估为 6。
为什么会这样?
更重要的是,我做错了什么来获得异常?
emacs - Cider repl 中的宏(例如 ->)
为什么使用线程宏 ->> 在 cider-repl 中产生错误: