2024 Clojure状态调查!中分享你的想法。

欢迎!请访问关于页面了解有关本服务的一些更多信息。

0投票
错误
从 Clojure 1.10.1-beta1 开始,非 REPL 环境中的错误通过 `ex-str` 处理,这是件好事,因为 `ex-str` 会调用 `*explain-out*`,而 `*explain-out*` 可以由用户配置。

然而,没有关于如何最佳配置 `s/*explain-out*` 的明确指导,这种配置在加载其他命名空间之前运行。也许 'user.clj' 是正确的位置,但这是否总是在所有非 REPL 任务中加载?

例如,这段代码将设置 Expound,但目前我还不确定如何在加载其他命名空间之前可靠地运行它:


(require '[expound.alpha :as expound] '[clojure.spec.alpha :as s])
(alter-var-root #'s/*explain-out* (constantly (expound/custom-printer {:print-specs? false :show-valid-values? true :theme :figwheel-theme})))

1 答案

0投票
参考: https://clojure.atlassian.net/browse/CLJ-2501(由 bbrinck 报告)
...