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报告)
...