在 cider repl 中打印执行输出

print output of execution in cider repl

我想知道在使用 cider-connect.

时是否有办法在 emacs cider 中获得当前执行的输出

例如:

现在假设我的一个环处理程序的代码中有 (println "cider is amazing by the way"),这只会在发出请求时打印在控制台 I 运行 lein repl .

如何在我的 nrepl 缓冲区中也有此输出?

很抱歉,我怀疑您无法按照您描述的方式执行此操作。输出将直接发送到该设备的控制台,而不是通过与 nrepl 相关的任何内容。如果您考虑到 nrepl 通常甚至 运行 在同一台计算机上,这也是有道理的。 (nrepl 中的 "n" 用于 "network")。

也许您可以将该输出安排 teed 到您可以获取的文件中?然后,您可以在 cat 编辑该文件的 nrepl 缓冲区上启动一个线程。或者在 emacs 中有一个缓冲区来监视远程文件。

如果您通过 cider-jack-in 启动 leiningen,您应该在 repl 缓冲区中获得输出。

在远程设置中使用它的一种方法是调用 C-u M-x cider-jack-in 并使用专门的服务器命令,该命令实质上会触发远程计算机上的 lein repl 命令(比如通过 ssh)- - 我还没有检查这是否真的有效,但我看不出有任何不可行的理由。如果您可以通过 tramp 访问代码,那么代码是否远程应该无关紧要。