我可以配置Clojure REPL自动要求的东西吗?

Jak*_*old 1 clojure read-eval-print-loop

有些函数非常通用,我想在任何时候都可以在REPL中使用它们,无论我目前切换到什么命名空间.

有没有办法配置lein repl自动需要一些东西,以便它们全局可用?另一种方法是调用类似的东西(use 'clojure.tools.trace).

Leo*_*tny 6

Leiningen 2.x支持:repl-options改变REPL的行为方式,包括:init钩子.Leiningen将在第一次打开REPL时运行此挂钩,因此它只会影响您的:main命名空间.

以下是使用此选项的示例:

  :repl-options { :init (require '[criterium.core
                                    :refer [bench quick-bench]])}
Run Code Online (Sandbox Code Playgroud)

您可以将:repl-options相应project.clj文件中的每个项目设置为本地,也可以通过将其放入~/.lein/profiles.clj文件中全局设置:

{:user {:repl-options {:init (...)}}} 
Run Code Online (Sandbox Code Playgroud)