Matt Bell
2b6b6fac00
commands: Added a flag to enable stdin arguments
2014-11-14 03:20:11 -08:00
Matt Bell
9370740db0
commands/cli: Fixed bug when parsing args for a command that doesn't have any argument definitions
2014-11-14 03:20:11 -08:00
Matt Bell
00b19f8876
commands/cli: Take an optional Stdin value in Parse (read as a reader argument or string argument)
2014-11-14 03:20:11 -08:00
Matt Bell
db361d9403
commands/cli: Made Parse return an error if request has unrecognized options
2014-11-14 03:20:06 -08:00
Brian Tiger Chow
e6c5fc250c
docs(commands) todo
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
Brian Tiger Chow
562500491f
test(commands/parse) take args instead of cmd for easier testing
...
@mappum
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
Matt Bell
28306a49c4
commands/cli,http: Properly preserve argument value count when checking argument validity
2014-11-14 03:20:04 -08:00
Matt Bell
9afb85714a
commands/cli: Don't return root in Parse
2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
3352aeee15
cmds2: fixed show help on root + noncallable
2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
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
Matt Bell
e41f861f8a
commands/cli: Added some TODOs to Parse
2014-11-14 03:20:02 -08:00
Brian Tiger Chow
f5973b5565
add urgent todo. fix before merge
2014-11-14 03:17:41 -08:00
Matt Bell
e14471f5e8
commands/cli: Use better variable name for parseArgs value index
2014-11-14 03:17:40 -08:00
Matt Bell
5481230679
commands/cli: Use better temp variable names in Parse
2014-11-14 03:17:40 -08:00
Matt Bell
f48ce10efb
commands/cli: Added comment to explain multiple root support in Parse
2014-11-14 03:17:40 -08:00
Matt Bell
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
Matt Bell
3255bb02d1
commands/cli: Output command path in Parse
2014-11-14 03:17:34 -08:00
Matt Bell
cb72868ab4
commands: Fixed parser argument bug (TODO: better test coverage for command parsers)
2014-11-14 03:17:28 -08:00
Matt Bell
1ee6c7e5f2
commands/cli: Fixed arg parse bug
2014-11-14 03:17:27 -08:00
Matt Bell
48c108d523
commands/cli: Made Parse return the resolved subcommand, even on error
2014-11-14 03:17:27 -08:00
Matt Bell
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
Matt Bell
116041c5ec
commands: Fixed argument value/definition mapping
2014-11-14 03:17:26 -08:00
Matt Bell
068e10cc5d
commands/cli: Better comment for parsePath
2014-11-04 02:04:50 -08:00
Matt Bell
75649f3d49
commands: Moved argument checking into a Command method, fail early when parsing commands
2014-11-04 02:04:49 -08:00
Matt Bell
dbeffb6a0b
commands: CLI Parse: Don't parse args until after creating request
2014-11-04 02:04:49 -08:00
Matt Bell
2c8fc8564c
commands/cli: Made parser handle variadic arguments
2014-11-04 02:04:49 -08:00
Matt Bell
ee2c76992a
commands/cli: Open argument files when creating Requests (Moved out of HTTP client)
2014-11-04 02:04:48 -08:00
Matt Bell
3a8d60cc61
commands: Removed inpout stream from Request
2014-11-04 02:04:48 -08:00
Matt Bell
827f1dd0b0
commands: Changed Request arguments to a []interface{}
2014-11-04 02:04:48 -08:00
Matt Bell
30e968754e
commands/cli: Error if no subcommand matched
2014-11-04 02:04:48 -08:00
Matt Bell
c0d3edd4f9
commands/cli: Made Parse handle multiple root commands
2014-11-04 02:04:47 -08:00
Matt Bell
81f29257a1
commands: Gave Requests a reference to the command they are being called on
2014-11-04 02:04:46 -08:00
Matt Bell
12a6a87b2c
commands/cli: Made Parse return a Request (again)
2014-10-21 18:27:05 -07:00
Matt Bell
71ff571ecf
commands/cli: Made Parse return component fields instead of a Request
2014-10-20 17:02:25 -07:00
Juan Batiz-Benet
b10fc2cc50
turned req + res into interfaces
2014-10-20 11:49:07 -07:00
Juan Batiz-Benet
4986600e54
parsePath no err
2014-10-20 08:00:28 -07:00
Juan Batiz-Benet
92528ba764
Sub -> Subcommand
2014-10-20 07:55:23 -07:00
Juan Batiz-Benet
7673ce6f65
fmt, lint, + vet commands/
2014-10-20 07:53:14 -07:00
Matt Bell
117af86ca7
commands/cli: Error if there are duplicate values for an option
2014-10-20 07:04:55 -07:00
Matt Bell
f87c418eee
commands/cli: Refactored CLI parsing to match go tooling conventions
2014-10-20 07:04:54 -07:00
Matt Bell
968ec344e5
commands/cli: Made Parse return a Request object instead of separate values
2014-10-20 07:04:53 -07:00
Matt Bell
86bc450b20
commands/cli: Pass option definitions as an argument to parseOptions
2014-10-20 07:04:53 -07:00
Matt Bell
97b8719075
commands/cli: Removed parser string handling since the go runtime handles it for us automatically
2014-10-20 07:04:53 -07:00
Matt Bell
66e6da3ddd
commands/cli: Added value parsing for single-dash options
2014-10-20 07:04:52 -07:00
Matt Bell
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
Matt Bell
66b0727de6
commands/cli: Renamed parse functions to parse*
2014-10-20 07:04:52 -07:00
Matt Bell
4bd3a77778
commands/cli: Added path/args parsing
2014-10-20 07:04:52 -07:00
Matt Bell
bf328181cd
commands/cli: Added CLI option parsing
2014-10-20 07:04:52 -07:00