自动加载Clojure库以在Cider连接时使用

3
我经常在使用M-x cider-jack-in启动我的Clojure项目后,手动执行多个(require '[my.lib :as foo])。我怀疑是否有一个钩子可以在成功连接时运行一些代码。有吗?另一种选择是将所有的requires放在一个外部文件中,然后只需(use 'that.namespace),但是我很懒,如果可能的话,我甚至想跳过这一步。
更新:
将表单放在.lein/profiles.clj:injections中是可以的,只要在Repl(根据lein repl)中专门使用它们即可。为了使它们从emacs中的nrepl可用,必须使用arrdem下面提到的第二种解决方案。
这里有一些更全面的信息
1个回答

1

Leiningen的:injections特性是实现这一目标的正统方法。一旦Lein引导了Clojure实例,:injections中的代码将被评估,允许您像您说的那样使用库填充user名称空间。

另一种方法是通过添加一个:dev配置文件,滥用user.clj文件并在其中添加一个仅限于开发环境的源路径来“做到”其中包含预加载代码的user.clj文件。这在Grimoire中通过文件dev/user.clj完成,该文件用于在REPL中创建一些实用函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接