Commit Graph

1827 Commits

Author SHA1 Message Date
Jesse Szwedko
31b79c9a33 Merge pull request #530 from urfave/consider-empty-env-vars
Consider empty environment variables as set
2016-11-13 15:00:04 -08:00
Jesse Szwedko
b4a64dc08d Add windows implementation of Clearenv for tests
Apparently `Clearenv` in Windows just sets the variables to ""
2016-11-13 14:59:35 -08:00
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.
2016-11-13 14:59:35 -08:00
Jesse Szwedko
a00c3f5872 Consider empty environment variables as set
When assigning values to flags (also when interogatting via
`context.(Global)IsSet`.

For boolean flags, consider empty as `false`.

Using `syscall.Getenv` rather than `os.LookupEnv` in order to support
older Golang versions.
2016-11-13 14:59:27 -08:00
Jesse Szwedko
7a5dacbc41 Merge pull request #560 from mh-cbon/master
Close #558: detect FormattedError and print their stack trace
2016-11-13 13:44:15 -08:00
mh-cbon
b0a8f25773 558: handle multi formatter errors 2016-11-13 22:34:31 +01:00
Jesse Szwedko
af372e8e2a Merge branch 'master' into master 2016-11-12 14:32:21 -08:00
Jesse Szwedko
88ae7af8d4 Merge pull request #563 from urfave/print-help-if-no-action
If no action is specified on the command or app, print the help documentation
2016-11-12 13:49:46 -08:00
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
2016-11-12 13:37:07 -08:00
Jesse Szwedko
36053a9dfd Merge branch 'master' into fix/handle-multierror 2016-11-12 12:46:57 -08:00
HIROSE Masaaki
6c50b15a27 Exit with the code of ExitCoder if exists 2016-11-11 13:11:50 +09:00
mh-cbon
79591889a9 Close #558: detect FormattedError and print their stack trace 2016-11-05 10:36:23 +01:00
Joshua Rubin
ea3df26e64
make shell autocomplete more robust 2016-11-04 14:56:28 -06:00
d86a009f5e Merge pull request #556 from urfave/use-assertions-over-reflection
Use type assertions rather than reflection to determine how to call the `Action`
2016-11-02 09:18:01 -04:00
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.
2016-11-01 20:33:12 -07:00
Jesse Szwedko
3eb41f1bb1 Merge pull request #547 from urfave/default-writer
Default app.Writer to os.Stdout
2016-10-29 18:45:05 -07:00
Jesse Szwedko
61db37e7ae Merge branch 'master' into default-writer 2016-10-29 18:36:19 -07:00
Jesse Szwedko
e485446237 Merge pull request #555 from urfave/v2-merge
Merge origin/master into v2
2016-10-29 15:39:47 -07:00
Jesse Szwedko
03f77c6e74 Fix new example for v2 branch 2016-10-29 14:33:41 -07:00
Jesse Szwedko
83497d2cda Merge remote-tracking branch 'origin/master' into v2-merge 2016-10-29 14:13:18 -07:00
Jesse Szwedko
76d8eaf9fe Merge pull request #490 from nlewo/v2-completion
Generate completion code
2016-10-25 21:55:42 -07:00
Jesse Szwedko
f614c177b7 Merge pull request #543 from wking/app-description
app: Add App.Description
2016-10-25 21:54:02 -07:00
Jesse Szwedko
b803494208 Merge pull request #542 from mhmxs/patch-1
Display error instead of just say command is incorrect
2016-10-25 21:52:14 -07:00
Richard Kovacs
668cf38bbe Merge branch 'master' into patch-1 2016-10-24 09:45:24 +02:00
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
2016-10-22 16:02:21 -07:00
W. Trevor King
0c143a2a26 app: Fix trailing space for Author.String()
This code initially landed with lots of space:

  '{name}  <{email}> '

or:

  '{name} '

in 3d718330 (app, help: add support for multiple authors, 2015-01-31).
The doubled space between the name and email was removed in c6592bb4
(app, help: add backwards compatibility for Authors, 2015-02-21), but
a trailing space remained in both the email and email-less cases.
This commit removes that trailing space.
2016-10-22 15:58:07 -07:00
Jesse Szwedko
6f2647a880 Merge pull request #544 from runcom/sort-flags
flags: sort flags
2016-10-22 10:29:59 -07:00
Jesse Szwedko
64fcd51526 Merge branch 'master' into sort-flags 2016-10-22 10:22:16 -07:00
Jesse Szwedko
3f4989051e Merge pull request #550 from runcom/test-go-1-7
.travis.yml: add go 1.7.x
2016-10-22 09:40:07 -07:00
Antonio Murdaca
d913b71c72
.travis.yml: add go 1.7.x
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-21 10:46:51 +02:00
Antonio Murdaca
c516bce8f1
flags: provide a type to sort flags
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-21 10:37:18 +02:00
Richard Kovacs
4cc2bad36e Display error instead of just say command is incorrect 2016-10-19 13:31:05 +02:00
Jesse Szwedko
508a23430b Default app.Writer to os.Stdout
As NewApp() does.

Fixes #545
2016-10-18 20:56:31 -07:00
W. Trevor King
c4a46a7df2 app: Add App.Description
So you can describe what the application is for without requiring
users to drill down into a particular command.
2016-10-12 08:06:41 -07:00
Jesse Szwedko
55f715e28c Merge pull request #541 from dotCipher/patch-1
Typo in comments
2016-10-05 20:53:53 -07:00
Cody Moore
6c2c80959b Typo in comments
Typo changing `implents` to `implements`
2016-10-05 11:17:03 -07:00
HIROSE Masaaki
ce42837702 Call HandleExitCoder for all members of MultiError.Errors 2016-09-30 19:23:44 +09:00
Jesse Szwedko
d53eb99165 Merge pull request #531 from keloyang/SkipFlagParsing-SkipArgReorder-bugfix
bug fix when SkipFlagParsing is false and SkipArgReorder is true
2016-09-17 14:38:06 -07:00
Shukui Yang
5d108a4435 bug fix when SkipFlagParsing is false and SkipArgReorder is true
Signed-off-by: Shukui Yang <yangshukui@huawei.com>
2016-09-12 21:30:33 +08:00
Jesse Szwedko
61f519fe5e Merge pull request #528 from urfave/backport-no-arg-reordering
Backport no argument reordering as an option
2016-09-11 20:00:11 -07:00
Frances Bar
3df4b71842 Backport no argument reordering as an option
In the unreleased version 2, the argument reordering has been removed
(in f585ec7cb8) since it only worked if
all of the arguments appeared before all of the flags, but not if they
were intermixed which was of limited utility and caused some confusion.
This commit allows enabling of this future behavior via SkipArgReorder.

Ideally we'd support complete intermingling of flags and arguments, but
this is unlikely to happen until we switch flag parsers.

Fixes #515
2016-09-11 12:04:35 -07:00
86b8c43eaf Merge pull request #521 from urfave/update-wording-around-gopkgin
Update wording around gopkg.in pinning to be more accurate
2016-09-11 14:27:17 -04:00
b425397570 Merge branch 'master' into update-wording-around-gopkgin 2016-09-11 11:43:05 -04:00
bf7166a9d7 Merge pull request #527 from urfave/dereference-flag-pointers
Dereference `Flag`s if they are pointers
2016-09-11 11:42:40 -04:00
Jesse Szwedko
e7b1833f53 Dereference Flags if they are pointers
When checking if environment variables are set.

We don't support pointer flags currently (though this is the default in
the `v2` branch), but this fixes #516
2016-09-08 21:10:46 -07:00
c723b19a84 Merge pull request #522 from nthnca/typo
Fix typo in README
2016-09-05 07:50:38 -04:00
Nathan Bullock
76164d6e36 Fix typo in README
cosumized -> customized
2016-09-05 07:16:05 -04:00
Jesse Szwedko
4b62cb6b33 Update wording around gopkg.in pinning to be more accurate
Since we have `v1.X` tags, gopkg.in/urfave/cli.v1 will pull the latest
tagged release rather than the `v1` branch. Since there are no tagged
`v2` releases, `gopkg.in` will pull the latest commit of that branch.

Fixes #513
2016-09-03 14:23:36 -07:00
Jesse Szwedko
df95e0708f Manually set import in altsrc flag generation
Otherwise `goimports` switches it to `github.com/urfave/cli`
2016-09-03 14:22:45 -07:00
lewo
6aa0ab6903 Merge branch 'v2' into v2-completion 2016-09-01 09:35:02 +02:00