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参数时增加歧义/复杂性)。对于单命令工具的使用,也许这是一件额外的事情,或者有不同的语法,或者某种将命令与其对应的特性打包在一起的方式。
谢谢。是的,考虑到这一点,我现在可以看出把:exec-fn 放在这一步可能是个错误的决定。设计是一个有趣的过程。
...