c175700dea
Better error message on unrecognized command
...
Closes issue #1436
License: MIT
Signed-off-by: Shaun Bruce <shaun.m.bruce@gmail.com>
2015-07-28 09:20:53 -06:00
3547f7ae33
Replace 'var * bytes.Buffer' with '\1 := new(bytes.Buffer)'
2015-05-26 23:18:04 +07:00
23681727e0
parse: fix parsing optional arg with stdin
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-21 00:30:08 +02:00
8d6bfec890
parse: improve stdin fix
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-20 21:28:41 +02:00
2eea1b05b7
parse: fix handling of unwanted stdin
...
There can be non-terminal (i.e. non-interactive) sessions
that are *not* a pipe, for example:
ssh user@host ipfs version
In this case, it looks like we should read from stdin.
Parsing stdin is accomplished by deliberately triggering
the parsing loop once.
We didn't previously check whether there is an ArgDef to support
that loop iteration.
2015-05-20 04:25:56 +02:00
53a80e255f
parse: fix arg number check
...
This should fix issue #1196 (Can't launch a command line
process from Qt).
The check was bad because it took stdin into account,
but it really shouldn't.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-18 00:03:02 +02:00
942e96400b
parse: fix parsing stdin args
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 23:43:24 +02:00
97ab64af30
parse: don't use stdin if there are arguments
...
This should fix issue #1141 (ipfs cat "multihash too short"
error when using stdin) and perhaps others.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 21:19:12 +02:00
f168539030
Improve command line parsing
2015-04-27 17:19:38 +00:00
bf22aeec0a
Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs
...
- Modified Godeps/Godeps.json by hand
- [TEST] Updated welcome docs hash to sharness
- [TEST] Updated contact doc
- [TEST] disabled breaking test (t0080-repo refs local)
2015-03-31 12:52:25 -07:00
8ca8d6ef71
commands/files: Added PeekFile and StatFile interfaces
...
squash! commands/files: Added PeekFile and StatFile interfaces
commands/http: Updated test
2015-01-23 18:29:30 -08:00
920ddc7fc3
Merge pull request #553 from jbenet/serial-file
...
Serial File Opening
2015-01-13 23:30:08 -08:00
78d36230d5
commands/cli: When parsing stdin as string argument, split lines into separate tokens
2015-01-13 22:51:10 -08:00
9ba728532f
commands/files: Created SerialFile, which opens directory contents serially
2015-01-13 22:50:53 -08:00
7a579bbf79
commands: Moved files code into 'commands/files' subpackage
2015-01-13 22:50:53 -08:00
0395a7af1e
ipfs add output not sorted, cmds files sorted
...
I made the commands lib dir listing sort the contents
so we get the same sequence of files from it repeatably.
2015-01-06 14:02:49 -08:00
c80a7941d1
commands/cli: Fixed file path formatting on Windows
2014-12-05 20:56:27 -08:00
a76bac0dcc
Hotfix: return parsed options if argument parsing failed
2014-11-23 05:56:29 -05:00
a69ddbb965
commands/cli: Fixed parse bug when optional argument is defined first
2014-11-19 18:29:56 -08:00
4bd2fbc806
commands/cli: Ignore stdin on Windows
2014-11-19 04:30:29 -08:00
761392d8de
commands/cli: Only allow recursive paths if -r option definition is OptionRecursivePath
2014-11-19 00:26:53 -08:00
2855a6eed7
commands/cli: Allow option blobs before command path
2014-11-18 06:56:45 -08:00
6681c50371
commands/cli: Decomposed 'parseArgs'
2014-11-18 02:13:57 -08:00
380337b76b
commands/cli: Use filepath.Join for file path building
2014-11-18 02:13:56 -08:00
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