在ciderrepl中打印执行结果



我想知道是否有一种方法可以在使用cider-connect时在emacs cider中输出当前执行的输出。

例如:

  • 我在项目目录下运行lein repl

  • 然后在emacs中使用cider-connect连接到它。

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

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

很抱歉,我怀疑你不能用你描述的方式做到这一点。输出将直接发送到该设备的控制台,而不是通过途中与nrepl相关的任何内容。如果考虑到nrepl经常不在同一台计算机上运行,这也是有意义的。(nrepl中的"n"代表"network")。

也许你可以安排输出是 teed到一个文件,你可以得到它?然后,您可以在nrepl缓冲区上启动一个线程,该线程对该文件进行cat处理。或者在emacs中设置一个缓冲区来监视远程文件。

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

在远程设置中使用它的一种方法是调用C-u M-x cider-jack-in并使用一个专门的服务器命令,该命令将在远程机器上触发lein repl命令(例如通过ssh)——我还没有检查这是否实际工作,但我没有看到任何不应该这样做的理由。如果您可以通过tramp访问代码,那么代码是否是远程的就无关紧要了。

最新更新