问题标签 [nrepl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - nrepl 插入每 1024 个字符
我看到大约每 1024 个字符在 nrepl 输出中强制插入一个换行符。
此提交看起来像是设置
clojure.tools.nrepl.middleware.session/*out-limit*
为1024
,但将其绑定到新值并没有修复它。
这对我来说可以从emacs -Q
OSX 上的 24.3.1 重现。
想法?
clojure - 如何重新启动 nrepl
我正在寻找一个等同于 slimes 的命令,restart。从 tools.nrepl 源中,似乎存在重新启动功能1。
关于如何让 nrepl.el 调用该代码的任何想法?
macos - lein 的 ritz-nrepl 不在 osx 上工作
我想在 Emacs 中使用 ritz-nrepl 进行调试。因为它已经失败了,lein ritz-nrepl
我还没有进一步使用 Emacs 集成。
完整的堆栈跟踪显示在帖子的末尾。我知道这个异常已经存在了一段时间,并且有潜在的修复,但对我的情况没有帮助:
否则,nrepl 等人。在我的系统上运行良好。我正在clojure 1.5.1
使用
我的~/.lein/profiles.clj
样子是这样的:
从我运行的 lein 项目中lein ritz-nrepl
。但是,除了上述例外,这失败了。我已经运行lein ritz-nrepl -l trace
但没有发现有用的输出。我该怎么做才能让它运行?
顺便提一句。我已经用 the 进行了测试,ritz 0.7.1-SNAPSHOT
但错误仍然存在。
我错过了一些明显的东西吗?任何帮助是极大的赞赏。
干杯!
完整的堆栈跟踪:
emacs - Emacs、Clojure、lein 和 nrepl:*nrepl* 缓冲区显示为空白
我用lein
. 我core.clj
用emacs打开。我确保运行M-x clojure-mode
, 和M-x nrepl-enable-on-existing-clojure-buffers
.
然后我运行M-x nrepl-jack-in
并在迷你缓冲区中得到
正在启动 nREPL 服务器...
后跟一条消息,例如:
连接的。如果你优化一切,你一定会不高兴。——唐纳德·克努斯
我看到缓冲区名称是*nrepl*
,但缓冲区不包含 Clojure Repl 而是完全空白。
如果我输入任何东西(意味着任何东西),我会得到:
错误的类型参数:integer-or-marker-p, nil
如果我切换回我的core.clj
缓冲区并点击C-c C-l
,我会在 minibuffer 中的缓冲区中获得最后一个函数的命名空间名称。如果我将光标放在函数定义的末尾并点击C-x C-e
,我会得到:
CompilerException java.lang.RuntimeException: Unable to resolve symbol: x in this context, compile:(NO_SOURCE_PATH:1:1)
我尝试创建一个没有依赖关系的新 lein 目录,lein new project-name
并尝试了与上述相同的步骤并得到了相同的结果。
我还能检查什么和/或我做错了什么?
编辑:附加信息
当我在空*nrepl*
缓冲区中输入内容并尝试按下C-x C-e
我输入的内容时,在迷你缓冲区中我收到消息:
没有 Lisp 子进程;见变量‘inferior-lisp-buffer’
另外,我正在运行:
GNU Emacs 24.3.1
Java 1.6.0_27 OpenJDK 64 位服务器 VM 上的 Leiningen 2.1.2
emacs - Emacs + clojure。项目中所有源文件的自动完成数据
我已经开发 C# 应用程序很长时间了。商业 IDE 和工具提供了非常好的代码完成功能。我现在正在学习 clojure,我真的很怀念熟悉的工作流程。
所以,关于emacs。我已经安装了nrepl、ac-nrepl和clojure-mode。自动完成在 repl 中工作正常。它也适用于当前缓冲区中的符号。但不适用于:
- 来自其他项目文件的符号
- 外部库(由 leiningen 管理)。
是否有任何现有的包可以完全涵盖案例 1 和 2?
我的 clojure 相关配置:
emacs - 如何使用 Emacs nREPL 选择/切换 Leiningen 配置文件?
我在我的 leiningen 项目文件中设置了一个 :dev 配置文件。这为我的 repl 会话定义了一个 :init 和 :init-ns 设置。如果我在 emacs (Mx nrepl-jack-in) 中启动 nrepl,并将光标悬停在 project.clj 中的 :dev 关键字上,repl 启动并使用 :init 和 :init-ns 设置。如果我将光标放在别处,则初始命名空间不同(测试 ns,而不是用户),并且 :init 尚未评估。
我猜这是某种功能,(我现在更倾向于认为这是随机的错误行为),但任何人都可以解释它或指向我这样做的文档吗?另外,一旦启动了repl,有什么方法可以更改配置文件?
谢谢
ubuntu - 无法让 nrepl 在 Emacs 中工作
我在 Ubuntu 机器上运行。我已经emacs23
安装了,但它看起来像是nREPL
设计用于emacs24
. 所以,我卸载emacs23
了,安装了emacs24
。我删除了现有的.emacs
文件和.emacs.d
目录。
然后我运行并M-x package-list-packages
安装了.clojure-mode
nrepl
我创建了一个 Clojure 项目,lein new foobar
然后尝试打开默认core.clj
文件。它自动将我置于 Clojure 模式,但如果我键入M-x nrepl-jack-in
(在core.clj
缓冲区中),它会显示Starting nREPL server...
,但我从未看到任何命名的缓冲区*nrepl*
(根据阅读文档,这是预期的结果)。我只是Starting nREPL server...
无限期地在迷你缓冲区中看到 。
现在,创建了一个名为的缓冲区*nrepl-server*
,它说:
但这似乎不是很有用(我似乎无法让它评估该缓冲区中的任何内容?!?)。
我试过用谷歌搜索,但我找不到任何似乎有这个问题的人。我想玩一下 Clojure(core.logic
尤其是),但这完全不是初学者。:-(
emacs - 在 emacs 中评估 *nrepl* 缓冲区中的 Clojure 命名空间
使用 . 创建项目后lein new
,我core.clj
在 emacs 中打开并启动nrepl
.
缓冲区显示*nrepl*
出来,看起来像这样:
好的,但是现在我想更改命名空间,所以我决定评估或C-c C-e
命名空间表达式。假设中的表达式core.clj
看起来像这样:
然而,*nrepl*
缓冲区中什么也没有发生。如果需要,我可以通过直接在*nrepl*
缓冲区中输入命名空间表达式来评估它,并且一切运行顺利。
我的问题是:为什么我不能通过 using 评估命名空间表达式C-c C-e
?如果这是正常且正确的行为,我想知道它的基本原理以及 elisp 解决方法来获得我想要的行为。
emacs - 在 REPL 评估已编译的 ClojureScript 函数
问题描述
我想在 REPL 中调用 ClojureScript 函数(我已经用 CLJS 编写、编译并加载到浏览器中)并让它们在我的浏览器窗口的上下文中执行。
设置
尝试的方法
in-ns
在 ClojureScript 中不起作用,所以我现在选择的方法是简单地将相关的 CS 函数杀死/拉入我的 REPL 中。但是,这既不是一个了不起的方法,也不是可持续的方法,所以我寻求建议和意见以及 Emacs 指导。
理想的解决方案
我真的希望nrepl.el
在我的 ClojureScript 工作流程中拥有我在 Clojure 开发中喜欢的所有功能。这将需要加载文件、评估 S 表达式(并在 minibuffer 中查看返回值),整个九码。我了解工具链是否还没有达到那种成熟度,并期待有关构建强大的 Emacs/CLJS 设置的建议。