3352aeee15
cmds2: fixed show help on root + noncallable
2014-11-14 03:20:02 -08:00
f738e899c2
cmd2: simplified main
...
Attention @maybebtc @mappum
I cleaned up + simplified the main flow. Now, all printing
is contained inside main itself! (:cheer:). I do this with
the help of a cmdInvocation struct that has both
a Parse and Run. The only major clunkiness left is that the
"CallCommand" is still its own function. But *shrug*.
Please test it works as we would expect. i changed much of
the flow, so likely that i missed a complicated edge case.
main roadmap:
- parse the commandline to get a cmdInvocation
- if user requests, help, print it and exit.
- run the command invocation
- output the response
- if anything fails, print error, maybe with help
2014-11-14 03:20:02 -08:00
e41f861f8a
commands/cli: Added some TODOs to Parse
2014-11-14 03:20:02 -08:00
f5973b5565
add urgent todo. fix before merge
2014-11-14 03:17:41 -08:00
e14471f5e8
commands/cli: Use better variable name for parseArgs value index
2014-11-14 03:17:40 -08:00
5481230679
commands/cli: Use better temp variable names in Parse
2014-11-14 03:17:40 -08:00
f48ce10efb
commands/cli: Added comment to explain multiple root support in Parse
2014-11-14 03:17:40 -08:00
eebb43753b
commands: Added list of option definitions to Request, so Option can lookup values by all aliases
2014-11-14 03:17:37 -08:00
3255bb02d1
commands/cli: Output command path in Parse
2014-11-14 03:17:34 -08:00
cb72868ab4
commands: Fixed parser argument bug (TODO: better test coverage for command parsers)
2014-11-14 03:17:28 -08:00
1ee6c7e5f2
commands/cli: Fixed arg parse bug
2014-11-14 03:17:27 -08:00
48c108d523
commands/cli: Made Parse return the resolved subcommand, even on error
2014-11-14 03:17:27 -08:00
37f05a8bf6
commands: Ensure argument parsing maintains total argument count, so that argument validation will fail if there are too many
2014-11-14 03:17:27 -08:00
116041c5ec
commands: Fixed argument value/definition mapping
2014-11-14 03:17:26 -08:00
068e10cc5d
commands/cli: Better comment for parsePath
2014-11-04 02:04:50 -08:00
75649f3d49
commands: Moved argument checking into a Command method, fail early when parsing commands
2014-11-04 02:04:49 -08:00
dbeffb6a0b
commands: CLI Parse: Don't parse args until after creating request
2014-11-04 02:04:49 -08:00
2c8fc8564c
commands/cli: Made parser handle variadic arguments
2014-11-04 02:04:49 -08:00
ee2c76992a
commands/cli: Open argument files when creating Requests (Moved out of HTTP client)
2014-11-04 02:04:48 -08:00
3a8d60cc61
commands: Removed inpout stream from Request
2014-11-04 02:04:48 -08:00
827f1dd0b0
commands: Changed Request arguments to a []interface{}
2014-11-04 02:04:48 -08:00
30e968754e
commands/cli: Error if no subcommand matched
2014-11-04 02:04:48 -08:00
c0d3edd4f9
commands/cli: Made Parse handle multiple root commands
2014-11-04 02:04:47 -08:00
81f29257a1
commands: Gave Requests a reference to the command they are being called on
2014-11-04 02:04:46 -08:00
12a6a87b2c
commands/cli: Made Parse return a Request (again)
2014-10-21 18:27:05 -07:00
71ff571ecf
commands/cli: Made Parse return component fields instead of a Request
2014-10-20 17:02:25 -07:00
b10fc2cc50
turned req + res into interfaces
2014-10-20 11:49:07 -07:00
4986600e54
parsePath no err
2014-10-20 08:00:28 -07:00
92528ba764
Sub -> Subcommand
2014-10-20 07:55:23 -07:00
7673ce6f65
fmt, lint, + vet commands/
2014-10-20 07:53:14 -07:00
117af86ca7
commands/cli: Error if there are duplicate values for an option
2014-10-20 07:04:55 -07:00
f87c418eee
commands/cli: Refactored CLI parsing to match go tooling conventions
2014-10-20 07:04:54 -07:00
968ec344e5
commands/cli: Made Parse return a Request object instead of separate values
2014-10-20 07:04:53 -07:00
86bc450b20
commands/cli: Pass option definitions as an argument to parseOptions
2014-10-20 07:04:53 -07:00
97b8719075
commands/cli: Removed parser string handling since the go runtime handles it for us automatically
2014-10-20 07:04:53 -07:00
66e6da3ddd
commands/cli: Added value parsing for single-dash options
2014-10-20 07:04:52 -07:00
bb32633136
commands/cli: Refactored parsing to always get the command path at the beginning of the CLI input
2014-10-20 07:04:52 -07:00
66b0727de6
commands/cli: Renamed parse functions to parse*
2014-10-20 07:04:52 -07:00
4bd3a77778
commands/cli: Added path/args parsing
2014-10-20 07:04:52 -07:00
bf328181cd
commands/cli: Added CLI option parsing
2014-10-20 07:04:52 -07:00