diff --git a/main/Command.scala b/main/Command.scala index 8fbefa4ba..06129e9c2 100644 --- a/main/Command.scala +++ b/main/Command.scala @@ -44,7 +44,9 @@ object Command new Command { def applies = f } def apply(f: PartialFunction[State, Apply]): Command = direct(f.lift) - + + def simple(name: String, help: Help*)(f: (Input, State) => State): Command = + univ( Apply.simple(name, help : _*)(f) ) def simple(name: String, brief: (String, String), detail: String)(f: (Input, State) => State): Command = univ( Apply.simple(name, brief, detail)(f) ) } @@ -63,8 +65,10 @@ object Apply def simple(name: String, brief: (String, String), detail: String)(f: (Input, State) => State): State => Apply = { val h = Help(brief, (Set(name), detail) ) - s => Apply( h ){ case in if name == in.name => f( in, s) } + simple(name, h)(f) } + def simple(name: String, help: Help*)(f: (Input, State) => State): State => Apply = + s => Apply( help: _* ){ case in if name == in.name => f( in, s) } } trait Logged diff --git a/main/Main.scala b/main/Main.scala index ecabf2c12..df857bfb1 100644 --- a/main/Main.scala +++ b/main/Main.scala @@ -125,11 +125,11 @@ object Commands runExitHooks(s).reload } - def defaults = Command.simple(DefaultsCommand, DefaultsBrief, DefaultsDetailed) { (in, s) => + def defaults = Command.simple(DefaultsCommand) { (in, s) => s ++ DefaultCommands } - def initialize = Command.simple(InitCommand, InitBrief, InitDetailed) { (in, s) => + def initialize = Command.simple(InitCommand) { (in, s) => /*"load-commands -base ~/.sbt/commands" :: */readLines( readable( sbtRCs(s) ) ) ::: s }