Jesse Szwedko
e367fafa3d
Return an error when parsing environment variables for values fails
...
Currently cli silently (aside from IntSlice and Int64Slice which oddly
printed directly to the error stream) ignores failures that occur when
parsing environment variables for their value for flags that define
environment variables. Instead, we should propogate up the error to the
user.
This is accomplished in a backwards compatible manner by adding a new,
internal, interface which defines an applyWithError function that all
flags here define. In v2, when we can modify the interface, we can drop
this secondary interface and modify `Apply` to return an error.
8 years ago
Jesse Szwedko
0113f56d10
If no action is specified on the command or app, print the help documentation
...
Rather than panic'ing or displaying an opaque error message about the
signature which is more confusing to the end user.
Fixes #562
8 years ago
Jesse Szwedko
b377b5d9e9
Use type assertions rather than reflection to determine how to call the `Action`
...
This has some benefits, but results in possibly less informative error
messaging; however, given that there are only two accepted types,
I think the error messaging is sufficient.
8 years ago
Jesse Szwedko
61db37e7ae
Merge branch 'master' into default-writer
8 years ago
Jesse Szwedko
f614c177b7
Merge pull request #543 from wking/app-description
...
app: Add App.Description
8 years ago
W. Trevor King
3c2bce5807
help: Cleanup AppHelpTemplate trailing whitespace
...
Most of the changes here remove trailing whitespace, but I also add
code to select "AUTHOR" or "AUTHORS" as appropriate instead of the
previous "AUTHOR(S)". The template for listing with an entry per line
is:
{{range $index, $entry := pipeline}}{{if $index}}
{{end}}{{$entry}}{{end}}
That range syntax is discussed in [1].
Also add a unit test, which tests both these whitespace changes and
also the earlier App.Description addition.
[1]: https://golang.org/pkg/text/template/#hdr-Variables
8 years ago
Richard Kovacs
4cc2bad36e
Display error instead of just say command is incorrect
8 years ago
Jesse Szwedko
508a23430b
Default app.Writer to os.Stdout
...
As NewApp() does.
Fixes #545
8 years ago
Dan Buch
363d9c9a31
Add a hack so that zsh completion only runs for zsh
8 years ago
Dan Buch
dd253d122c
Write err to stderr, exit 1 if err != ""
...
Closes #475
8 years ago
Jesse Szwedko
65da20beab
Correctly show help message if `-h` is provided to subcommand
...
Currently, if an action is specified on a subcommand, it ignores the
`-h` and `--help` flags if passed to the subcommand, e.g.:
`foo bar -h`
would call the default action on `bar` rather than show the help
documentation.
Fixes #477
8 years ago
Dan Buch
3c5afd4757
Hide help command for category tests
8 years ago
Dan Buch
5a3515fdf8
Focus on catching fewer panics in HandleAction
...
so that "unknown" panics can still bubble up.
8 years ago
Matt Farina
2f4ec31264
Fixed spelling and gofmt issues
8 years ago
Dan Buch
dfa9a87bee
Add tests for App.VisibleCategories & App.VisibleCommands
8 years ago
Dan Buch
cc481d6b0e
Adjust command hiding to use similar convention as hidden flags
...
plus breaking out "setup" portion of `App.Run` into its own method, cleaning up
some bits of the help templates, and allowing for runtime opt-in of displaying
template errors to stderr.
9 years ago
Dan Buch
4cae17cfe1
Ensure MultiError returned when both Before and After funcs given
9 years ago
Dan Buch
61d4175525
Merge remote-tracking branch 'origin/master' into txgruppi-develop
9 years ago
Dan Buch
2c0e13ecf8
Revising/adding tests that assert order of operations inside App.Run
9 years ago
Dan Buch
b453bf5940
Clarifying errors returned from HandleAction + tests
9 years ago
Dan Buch
b7329f4968
Switch from multi-return with exit codes to ExitCoder check
9 years ago
Dan Buch
10c8309d84
Merge branch 'develop' of https://github.com/txgruppi/cli into txgruppi-develop
9 years ago
Jesse Szwedko
042842b819
Remove CategorizedHelp from App and allow subcommands to have categories
...
Just place all subcommands in categories, the default category will be
"" which will properly format the output (and group commands that have
no category).
Also allow subcommands to have categories.
Lastly, augment the test to check the output.
9 years ago
Soulou
d0997e8f99
Set Categories as a read-only method and fix tests
9 years ago
adamclerk
cde8418658
Fixes spelling issues and import alphabetical issues
...
Using goreportcard.com I noticed a few spelling errors. I really love codegangsta/cli
and wanted to help improve it.
9 years ago
Jesse Szwedko
d5f087da9d
Merge pull request #289 from KSubedi/master
...
Added command to have a custom text on the USAGE section of help
9 years ago
Gregor Noczinski
c462071a52
* Added ability to customize usage error messages
9 years ago
Andreas Kupries
bb4e78eb6a
Fixed mishandling of a "-"(dash)-argument causing reordering of cli non-flag arguments.
...
Added test demonstrating issue (PASS with fix, FAIL without).
9 years ago
Gregor Noczinski
f90cd56647
Handle Before and After of Command without handling it as subCommand if there is no subCommand.
9 years ago
Håvard Haugen
7b94fd3aad
test: avoid output from "go test" when tests pass
...
Some tests where printing to os.Stdout as a side effect even if the
output was not used/checked in the test.
9 years ago
Jesse Szwedko
4fc241fb17
Update examples to use correct naming convention
...
See https://golang.org/pkg/testing/#hdr-Examples
9 years ago
Kaushal Subedi
c70ad9b688
fixed tests
9 years ago
Tristan Zajonc
c7aac252f1
add tests
9 years ago
Tristan Zajonc
aced6e8739
fix tests
9 years ago
Tarcísio Gruppi
1510d7e722
Updated tests to support exit code
9 years ago
Edward Sheffler III
8ea1232ede
Improve vendoring options by removing self-referential imports in tests.
9 years ago
Brian Goff
758ad1e836
Sets a subcommand's parent cmd
...
This allows the help output to show the correct/full command path to the
subcommand.
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
9 years ago
Fabian Ruff
a2d4ae5939
Fix global flags processing on top level
...
This fixes a regression introduced by #227 . When looking up global flags by walking up the parent context's we need to consider the special case when we are starting at the very top and there is no parent context to start the traversal.
Fixes #252
9 years ago
Dan Buch
4407569431
Merge branch 'master' into fix-231
9 years ago
Jesse Szwedko
55b8924c2b
Merge pull request #230 from codegangsta/do-not-swallow-after-error
...
Aggregate errors from Before/After
9 years ago
Jesse Szwedko
2272dad83e
Version and help check should look for local flags too
...
Now that Global looks up the chain of contexts, the top level should
access the flags without the prefix (i.e. Bool rather than GlobalBool).
9 years ago
Jesse Szwedko
854c52192c
Merge pull request #227 from databus23/global-flags-from-all-parents
...
Collect global flags from the full command hierarchy
9 years ago
Jesse Szwedko
7ed7a51f86
Aggregate errors from Before/After
...
Previously `After` would overwrite any error from `Before`.
9 years ago
Sergey Romanov
f47f7b7e85
Fix panic if Valus in Int/StringSliceFlasg is missing
9 years ago
Fabian Ruff
65d50017d4
search context hierachy for global flags
9 years ago
jszwedko
b8104e5da7
Set writer when running command as app
...
Also add test from https://github.com/codegangsta/cli/pull/202 with
slight modifications.
10 years ago
jszwedko
e842547421
Readd printHelp function back
...
But update signature to take a writer. This is a backwards incompatible
change for those overriding the HelpPrinter, but the hope is that this
feature is largely unused and the usage is easily updated.
10 years ago
jszwedko
daad50e530
Turns out I didn't mean to add ExampleAppCommands at all
10 years ago
jszwedko
474646abed
Didn't mean to remove ExampleAppSubcommand
...
Also specify struct field initializers
10 years ago
jszwedko
bf65971a6a
Add `Command.Aliases` and deprecate `Command.ShortName`
...
`Aliases` will be more flexible while still allowing "ShortName"
behaviour via `Aliases`.
10 years ago
jszwedko
01cdaa065a
Merge remote-tracking branch 'origin/master' into add-multi-author-support
...
Conflicts:
app.go
10 years ago
Harrison
c6592bb487
app, help: add backwards compatibility for Authors
10 years ago
Jesse Szwedko
532d0bc2e3
Merge pull request #151 from imdario/master
...
After: companion action for Before
10 years ago
Harrison
05ecd63a95
app_test: prepare for PR
10 years ago
Harrison
3d7183307a
app, help: add support for multiple authors
10 years ago
Dario Castañé
4e3a83b43e
Merge branch 'master' of https://github.com/codegangsta/cli
...
Conflicts:
app.go
app_test.go
10 years ago
jszwedko
5159b98cbc
Use parsed context when running command as subcommnd
...
Rather than passing the unparsed context (parent context) in whenever
there are no subcommands.
10 years ago
Jesse Szwedko
bf4a526f48
Merge pull request #157 from dajulia3/pull_request
...
stop flag parsing after terminator --
10 years ago
Dan Buch
5b9e204508
Merge pull request #153 from codegangsta/allow-hiding-of-help-flag
...
Allow hiding of help flag without hiding help subcommand
10 years ago
Matthew McNew
d05d895492
stop flag parsing after terminator --
...
Signed-off-by: David Wadden <dwadden@pivotal.io>
10 years ago
jszwedko
69b84ea804
Renaming fakeWriter to mockWriter for consistency
10 years ago
jszwedko
b8c8282de5
Merge remote-tracking branch 'origin/master' into allow-writer-to-be-set
...
Conflicts:
app.go
help.go
10 years ago
jszwedko
0d4870d63e
Rename Stdout -> Writer
10 years ago
jszwedko
780f839a02
Allow hiding of help flag without hiding help subcommand
...
By utilizing struct zero value
10 years ago
Dario Castañé
ba22f2189a
Changing back cli import in app_test.go
10 years ago
Dario Castañé
3c4b583fee
Action error shadowing avoided on After
10 years ago
Dario Castañé
44efc2952d
Added Before method to command and app
10 years ago
Josh Mervine
089def51d8
Tweaking tests, removing local import.
10 years ago
Josh Mervine
120f0688a4
Merge remote-tracking branch 'parent/master'
...
Conflicts:
cli_test.go
flag_test.go
10 years ago
Dan Buch
e8939d2aa0
Merge remote-tracking branch 'origin/master' into env-config-fun
...
Conflicts:
README.md
app_test.go
cli_test.go
10 years ago
Audrius Butkevicius
9e036e08f1
Fix tests
10 years ago
jszwedko
bcfb32b8b0
Updating tests to pass `go vet`
...
Mostly lack of struct field names in literals and one sprintf format
specifier mismatch.
10 years ago
Dan Buch
fc16c67be3
Updating structs to use labels, adding tests for env stuff
10 years ago
Philippe Lafoucrière
df5fb46048
Fix global flags in Subcommands
...
closes #69
10 years ago
Josh Mervine
8f55ca83ff
running go fmt
10 years ago
Joshua Mervine
5821632000
Adding VersionPrinter and tests.
10 years ago
John Hopper
60e3dcaf6d
Allow a writer to be set that represents Stdout so that redirection of App output may occur.
10 years ago
Jeremy Saenz
5e1cde20d3
Merge pull request #75 from Winslett/command-not-found
...
Customizable command not found function
11 years ago
Summer Mousa
705994c2c6
Added unit tests
11 years ago
Summer Mousa
85c3eadea4
Adding sample test
11 years ago
Chris Winslett
37299d4e5a
Customizable command not found function
11 years ago
Mr Rogers
b4d98765bd
rollback inconsequential changes
11 years ago
Mr Rogers
1ccba5fbb5
fix whitespace
11 years ago
Mr Rogers
a70d0bb136
add tests for description output
11 years ago
Tim Jarratt
58bfabca6d
Add a way to override the app help printer
...
Fixes #64
11 years ago
Greg B
78d5f0dd40
Unit tests for Before() functionality
11 years ago
Katrina Owen
2ec51afe91
Implement Float64Flag. See #46
11 years ago
Alexander Rødseth
1bea6dcbf0
Custom type for arguments
11 years ago
Alexander Rødseth
f93652a890
Fixed all problems/warnings reported by "go vet"
11 years ago
Jeremy Saenz
e6e641143c
JMS #39 : App.Run returns an error
11 years ago
Thesyncim
ed96efff1b
add simple test , fix errors and unused interface SliceFlag
11 years ago
Damien Le Berrigaud
5d511c7a8b
Allow for flags being passed in after arguments
11 years ago
Jeremy Saenz
e5c31ab592
JMS-34: App.Run() can now be run multiple times.
...
- Added a method for looking up commands
- Using some logic to make sure default flags are not added more than
once
11 years ago
Jeremy Saenz
ed1ee94250
Adding some docs
11 years ago