3

我想知道是否有办法在使用cider-connect.

例如 :

  • lein repl在项目目录上运行

  • 然后在 emacs 中使用cider-connect.

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

我怎样才能在我的nrepl缓冲区中也有这个输出?

4

2 回答 2

2

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

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

于 2015-08-04T22:37:18.553 回答
0

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

将其与远程设置一起使用的一种方法可能是调用C-u M-x cider-jack-in并使用专门的服务器命令,该命令实际上将触发lein repl远程机器上的命令(例如通过 ssh)——我还没有检查这是否真的有效,但我没有没有任何理由不应该这样做。如果您可以通过 tramp 访问代码,那么代码是否是远程的并不重要。

于 2015-08-05T10:21:51.787 回答