在苹果酒repl中打印执行输出

时间:2015-08-04 22:19:26

标签: emacs clojure cider nrepl

我想知道在使用cider-connect时是否有办法让emacs cider中的当前执行输出。

例如:

  • 我在项目目录

  • 上运行lein repl
  • 然后使用cider-connect

  • 在emacs中连接到它

现在让我们说我的一个戒指处理程序的代码中有(println "cider is amazing by the way"),这只会在我提出请求时在lein repl运行的控制台中打印出来。< / p>

如何在nrepl缓冲区中输出此输出?

2 个答案:

答案 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访问代码,那么代码是否是远程代码并不重要。