在cider连接上自动加载clojure库



在clojure项目中使用M-x cider-jack-in启动cider后,我经常发现自己在执行多个手动(require '[my.lib :as foo])。我怀疑一定有一个钩子可以在成功的连接上运行一些代码。有吗?另一种选择是将所有需求放在一个外部文件中,只放(use 'that.namespace),但尽管我很懒,如果可能的话,我甚至想跳过这一步。

更新:

将表单放在.lein/profiles.clj中:只要在Repl中专门使用它们,注入就可以(根据lein repl)。要使它们在emacs中的nrepl中可用,必须使用下面由arrdem命名的第二个解决方案。

这里有一些更全面的信息。

Leiningen的:injections功能是实现这一功能的唯一方法。一旦Lein启动Clojure实例,就会对:injections中的代码进行评估,从而允许您使用一直使用的库填充user命名空间。

另一种方法是(ab)通过添加一个:dev配置文件来使用文件user.clj,该配置文件带有一个仅限开发的源路径,该路径"恰好"包含一个带有预加载代码的user.clj。这是在Grimoire中使用dev/user.clj文件完成的,该文件用于在REPL中创建一些实用程序函数。

最新更新