sbt 提供自定义命令的帮助

问题描述 投票:0回答:1

如何在 sbt 中提供自定义命令的帮助?

我想显示所述帮助,以防我设置的参数错误(例如将字符串放入数字参数中)

如果输入

help <myCommand>
,我还想显示帮助。

有什么线索吗? 文档没有提及任何相关内容。

command sbt
1个回答
4
投票

根据文档

help
应该适用于
Command
。但是您需要使用
Command
 中的方法之一正确定义 
Command.scala
,例如

commands += Command.command("foo", "bar", "baz")(...)

然后

> foo<TAB>
  bar
> help foo
  baz

为了任何想要为

Task
做同样事情的人的利益,这里有一个答案......

help
输入任务是您希望用户输入的内容,例如

> help compile
Compiles sources.

并提供文档字符串,您可以在定义

Task
的密钥时提供它。例如

val compile = TaskKey[CompileAnalysis]("compile", "Compiles sources.", APlusTask)

稍后您将密钥分配给

Task
的实现,就像这样

compile <<= compileTask

或者使用新的基于宏的API(我讨厌)

compile := { println("hello world") ; compile.value }

有很多例子

© www.soinside.com 2019 - 2024. All rights reserved.