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 的讨论和反思非常有意思。你能分享更多关于 these discussions and regrets around :exec-fn 的细节吗?
将该功能设置为可选的/提供的可能过于隐含且复杂(这也使得解析 -X 参数更加含糊/复杂)。存在单-fn 工具使用的用例,但这可能是一个更上层的问题,或者有不同的语法,或者某种可以捆绑命令与其所具有功能的东西。
谢谢。是的,考虑到这一点,我现在明白设置为 exec-fn 了可能是个错误。设计是一个有趣的过程。
...