我想知道在使用cider-connect
时是否有办法让emacs cider中的当前执行输出。
例如:
我在项目目录
lein repl
然后使用cider-connect
。
现在让我们说我的一个戒指处理程序的代码中有(println "cider is amazing by the way")
,这只会在我提出请求时在lein repl
运行的控制台中打印出来。< / p>
如何在nrepl
缓冲区中输出此输出?
答案 0 :(得分:2)
很抱歉,我怀疑你不能按照你描述的方式做到这一点。输出正在进入该设备的控制台,而不是通过与nrepl相关的任何东西。如果您认为nrepl通常甚至不在同一台计算机上运行,这也是有意义的。 (nrepl中的“n”代表“网络”)。
也许您可以将该输出安排为tee
d到您可以获取的文件?然后你可以在cat
编辑该文件的nrepl缓冲区上启动一个线程。或者在emacs中有一个监视远程文件的缓冲区。
答案 1 :(得分:0)
如果你通过cider-jack-in
启动leiningen,你应该在repl缓冲区中获得输出。
在远程设置中使用此方法的一种方法是调用C-u M-x cider-jack-in
并使用专门的服务器命令,该命令将在远程计算机上实际触发lein repl
命令(例如通过ssh) - I没有检查这是否真的有用,但我没有看到任何理由不应该这样做。如果你可以通过tramp访问代码,那么代码是否是远程代码并不重要。