015bd06cff
commands/cli: Fixed stdin arg handling
2014-11-18 02:13:56 -08:00
d4ac442838
commands/cli: Fixed Parse required argument check
2014-11-18 02:13:55 -08:00
9333c504c1
commands/cli,http: Make sure required file arguments are provided
2014-11-18 02:13:55 -08:00
f8be26810a
commands: Changed Request#Arguments to a []string
2014-11-18 02:13:55 -08:00
9dcf21673d
commands: Fail earlier for arg count checking (by doing it in CLI req parser)
2014-11-18 02:13:55 -08:00
9d2ee4f1d4
commands/cli: Support directory argfile arguments in Parse
2014-11-18 02:13:54 -08:00
3a9a62eb0e
commands/cli: Open file paths when parsing and use in request.Files()
2014-11-18 02:13:53 -08:00
d1c50972f5
commands: Check for option errors when constructing Requests
2014-11-16 18:01:06 -08:00
2b6b6fac00
commands: Added a flag to enable stdin arguments
2014-11-14 03:20:11 -08:00
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
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
db361d9403
commands/cli: Made Parse return an error if request has unrecognized options
2014-11-14 03:20:06 -08:00
e6c5fc250c
docs(commands) todo
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
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
28306a49c4
commands/cli,http: Properly preserve argument value count when checking argument validity
2014-11-14 03:20:04 -08:00
9afb85714a
commands/cli: Don't return root in Parse
2014-11-14 03:20:03 -08:00
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