我想知道是否有一种方法可以在使用cider-connect
时在emacs cider中输出当前执行的输出。
例如:
-
我在项目目录下运行
lein repl
-
然后在emacs中使用
cider-connect
连接到它。
现在让我们假设我在我的一个环处理程序的代码中有(println "cider is amazing by the way")
,这只会在发出请求时在我运行lein repl
的控制台中打印。
我如何在我的nrepl
缓冲区中也有这个输出?
很抱歉,我怀疑你不能用你描述的方式做到这一点。输出将直接发送到该设备的控制台,而不是通过途中与nrepl相关的任何内容。如果考虑到nrepl经常不在同一台计算机上运行,这也是有意义的。(nrepl中的"n"代表"network")。
也许你可以安排输出是 tee
d到一个文件,你可以得到它?然后,您可以在nrepl缓冲区上启动一个线程,该线程对该文件进行cat
处理。或者在emacs中设置一个缓冲区来监视远程文件。
如果您通过cider-jack-in
开始leiningen,您应该在repl缓冲区中获得输出。
在远程设置中使用它的一种方法是调用C-u M-x cider-jack-in
并使用一个专门的服务器命令,该命令将在远程机器上触发lein repl
命令(例如通过ssh)——我还没有检查这是否实际工作,但我没有看到任何不应该这样做的理由。如果您可以通过tramp访问代码,那么代码是否是远程的就无关紧要了。