diff options
author | Jakob Odersky <jakob@odersky.com> | 2019-09-21 00:38:30 -0400 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2019-09-22 14:58:51 -0400 |
commit | a5a2118e4e0f31a4b8ae9921fa634058af526cdc (patch) | |
tree | 3a8912601637c78c8995fb8403302e2f3971d323 /src/main/scala/package.scala | |
parent | 8a71d804a41ffbd80f881fae24c42637e246afc2 (diff) | |
download | commando-a5a2118e4e0f31a4b8ae9921fa634058af526cdc.tar.gz commando-a5a2118e4e0f31a4b8ae9921fa634058af526cdc.tar.bz2 commando-a5a2118e4e0f31a4b8ae9921fa634058af526cdc.zip |
Migrate build to mill; redesign command structure and parser
Diffstat (limited to 'src/main/scala/package.scala')
-rw-r--r-- | src/main/scala/package.scala | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/main/scala/package.scala b/src/main/scala/package.scala deleted file mode 100644 index 68936cd..0000000 --- a/src/main/scala/package.scala +++ /dev/null @@ -1,50 +0,0 @@ -package commando - -class CommandBuilder(name: String, params: Seq[Parameter]) { - - private def optionals = - params.collect { - case opt: Optional => opt - }.toSet - private def positionals = params.collect { - case pos: Positional => pos - } - - def run(action: Command.Arguments => Unit): Command = - Command(name, optionals, positionals, Set.empty, Some(action)) - - def sub(commands: Command*): Command = - Command(name, optionals, positionals, commands.toSet, None) - -} - -object `package` { - - val DefaultErrorHandler: (Command, String) => Unit = - (command: Command, err: String) => { - System.err.println(s"${command.name}: $err") - System.exit(2) - } - - def parse(arguments: Seq[String], - command: Command, - onError: (Command, String) => Unit = DefaultErrorHandler): Unit = - Parser.parse(arguments, command, onError) - - def cmd(name: String)(params: Parameter*): CommandBuilder = - new CommandBuilder(name, params) - def opt(name: String, - short: Char = '\u0000', - param: (String, Boolean) = ("", false)): Optional = - Optional( - name, - if (short == '\u0000') None else Some(short), - argumentAllowed = (param != ("", false)), - argumentRequired = (param != ("", false)) && param._2, - parameterName = if (param._1 == "") "param" else param._1 - ) - - def pos(name: String, required: Boolean = true): Positional = - Positional(name, required) - -} |