gpt4 book ai didi

clojure - Leiningen 是否将 repl-options 传递给 clojure.main/repl

转载 作者:行者123 更新时间:2023-12-01 01:56:06 26 4
gpt4 key购买 nike

常规 Clojure 复制 clojure.main/repl接受类似 :print 的选项, :prompt:eval这让您可以连接并覆盖 repl 的行为。

例如。

(clojure.main/repl 
:print #(println "main print!" %)
:prompt #(println "main prompt!")
:eval #(do (println "main eval!") (eval %)))

我认为莱宁根的 :repl-options让您指定相同的选项,Leiningen 会将它们传递给 Clojure 的 repl。在 Leiningen 的 repo 中甚至有一个提示:

Support :repl-options in project.clj that get passed to clojure.main/repl.



我不能让它工作。莱宁根似乎不接受与 clojure.main/repl 相同的选项集. :prompt有效,虽然函数签名不同,而且 :print:eval似乎被忽略了。

有没有办法改变莱宁根 repl 中的打印和评估行为?

我的 project.clj :
(defproject repl-test "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.7.0"]]
:repl-options {
:print #(println "lein print!" %)
:prompt (constantly "lein prompt!")
:eval #(do (println "lein eval!") (eval %))
}
)

我正在使用莱宁根 2.7.1。

背景:

我一直在尝试设置 lein repl使用 pprint为它的输出。 NEWS.md 再次暗示了这一点:

Support :project-init in project.clj to allow pprint to be used in :repl-options.



帮助也很感激!

最佳答案

lein repl启动 nREPL,而不是 clojure.main/repl .它支持一组不同的选项。检查 sample project.clj对于 list of supported parameters .

关于clojure - Leiningen 是否将 repl-options 传递给 clojure.main/repl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40341219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com