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

欢迎!请参阅关于页面以获取有关如何使用本页面的更多信息。

0
tools.tools

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

这将允许工具作者在某人运行类似工具时提供帮助作为默认值

clojure -Tsome-tool

或者默认到最常用的操作,例如 deps-new 可以将默认行为更改为 创建,以便可以从使用模板的命令中省略它

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 中的示例——当前这是一个错误的使用,因为 创建缺失,但给定一个:template,在这种情况下唯一有意义的函数是调用创建).

1 答案

+1

被选中
 
最佳答案

我们决定目前不支持此功能,并对将此功能添加到 -X 而有所遗憾。

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

作者:
当然可以,但关于 -X -- 你能否分享更多关于 :exec-fn 的讨论和反思?
作者:
将此功能设置为可选/提供可能过于隐晦和复杂(这也会在解析 -X 参数时增加歧义/复杂性)。虽然有一两种工具使用场景,但这可能是一个超然的问题,或者不同的语法,或者具有将命令与其绑定的某种捆绑件。
作者:
谢谢。是的,考虑到这一点,我现在明白 :exec-fn 可能是一个错误的举动。设计是一个有趣的流程。
...