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

欢迎!有关此如何工作的更多信息,请参阅 关于 页面。

0 投票
tools.tools

目前,:tools/usage 支持 :ns-default:ns-aliases,但没有提供执行默认函数的方法——尽管 -Xdeps.edn 支持默认函数。

这将允许工具作者提供帮助作为默认值,当有人运行类似这样的工具时

clojure -Tsome-tool

或将默认操作设置为最常见操作,例如,deps-new 可以将默认值设置为 create,以便可以在使用模板的命令中省略它

clojure -Sdeps '{:deps {io.github.cryogen-project/cryogen {:git/tag "0.6.6" :git/sha "fcb2833"}}}' -Tnew :template org.cryogenweb/new :name myname/myblog

(这是一个来自 Cryogen 的 README 的示例 —— 并且由于缺少 create,这是一种当前的错误使用方式,但因为有一个 :template,在这种情况下唯一有意义的函数调用是 create).

1 个答案

+1 投票

已选为最佳答案
 
最佳答案

我们决定现在不支持这个特性,并对于将其作为 -X 的一个特性感到一些遗憾。

这不一定是一个永久的决定,但我们仍在考虑中。

当然,关于-X -- 您能分享更多关于:exec-fn的讨论和反思的细节吗?
将此功能设置为可选/提供可能是过于隐晦和复杂(同时也在解析-X参数时增加了更多歧义/复杂性)。对于单个fn工具的使用有特定情况,但这可能是一个独立的问题,或者不同的语法,或者将命令与其所包含内容捆绑在一起的某种东西。
谢谢。是的,鉴于这一点,我现在可以看到:exec-fn可能是个错误的决定。设计是一个有趣的进程。
...