2016-02-26 31 views

回答

4

根據the documentation,help應工作在Command s。但是您需要使用Command.scala中的一種方法正確定義您的Command,例如,

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 } 

很多

+1

FYI我提出了票,這[上ensime-SBT(https://github.com/ensime/ensime-sbt/issues/176),因爲它似乎是我們正在做的錯誤。 – fommil

+0

嗨!感謝你的回答。我正在按照以下命令定義我的命令:Command.args(「myRun」,「display」,sbt.Help(briefHelp =(「foo」,「bar」)))(...)'當調用幫助myRun時, '沒有匹配正則表達式'runFull''。我究竟做錯了什麼? –