我正在尝试基于EMACS + CIDER设置我的开发环境,用于Clojure开发。顺便说一下,在这个视频中我看到了一个被卡住的热重载功能,时间是6:20-6:25。http://www.parens-of-the-dead.com/e1.html
实际上,作者没有使用RING/wrap-reload这样的功能,但他的代码在emacs中保存每个缓冲区后都会在REPL中重新加载。我想我在本地机器上拥有相同的库(cider、cider-nrepl、clj-refactor、clojure-mode),但我的本地安装不像展示的那样工作,它需要在REPL中每次调用(reset)函数。
P.S. 我可以通过在EMACS中使用以下代码来大致获得相同的行为,但我不想使用这样的hack:
有什么建议可以在EMACS+CIDER中实现文件保存事件上的代码重新加载?
P.S. 我可以通过在EMACS中使用以下代码来大致获得相同的行为,但我不想使用这样的hack:
(defun my-clojure-reset ()
"Reload clojure once file were saved."
(when
(s-ends-with? "clj" (buffer-file-name))
(cider-interactive-eval "(do (ns user) (reset))")))
(add-hook 'after-save-hook 'my-clojure-reset)
有什么建议可以在EMACS+CIDER中实现文件保存事件上的代码重新加载?