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 参数更显得模棱两可/复杂)。有一些建议用于 one-fn 工具的使用,但这可能是一个额外的事情,或者不同的语法,或者将其与命令捆绑在一起的其他一些东西。
谢谢。是的,考虑到这一点,我现在可以看出 :exec-fn 可能是一个错误的决定。设计是一个有趣的过程。
...