Commit graph

78 commits

Author SHA1 Message Date
Jeff Lowdermilk 5c9146990b Explicitly support local flags overwriting persistent/inherited flags
The current (desired) behavior when a Command specifies a flag that
has the same name as a persistent/inherited flag, is that the local
definition takes precedence. This change updates the various
Flag subset functions to respect that behavior:
* LocalFlags: now returns only the set of flags and persistent flags
  attached to the Command itself.
* InheritedFlags: now returns only the set of persistent flags inherited
  from the Command's parent(s), excluding any that are overwritten by a
  local flag.
* NonInheritedFlags: changed to an alias of LocalFlags.
* AllPersistentFlags: removed as not very useful; it returned the set
  of all persistent flags attached to the Command and its parent(s).

Default UsageTemplate updated to use LocalFlags and InheritedFlags
2015-03-12 16:41:00 -07:00
Masahiro Sano a16cb24999 help displays command names instead of usage in Available Commands 2015-02-17 13:50:09 -05:00
Kartik Singhal bd75ea1d19 Updated test corresponding to #49 2015-02-11 17:17:28 -05:00
Clayton Coleman 9b6c92647a When no subcommands are registered, omit command help output
For a single root command with a Run method, the help output still
contains 'help [command]' as a subcommand (because Help is always
added). Since the only subcommand would be 'help', the help is better
off omitted.

This change allows a command to be used both as a subcommand
or a root command without having to define a custom help that elides
the help command when no subcommands are added.  Instead, the default
help command is only added when subcommands are present.
2014-11-11 23:43:27 -05:00
spf13 b1e90a7943 Making prefix matching opt in. 2014-10-07 16:15:19 -04:00
spf13 c2c23ac0bd adding support for prefix matching against aliases & names 2014-10-07 15:41:19 -04:00
Sam Ghods 881657297e Replace prefix matching with aliases 2014-10-07 15:22:14 -04:00
spf13 10a8494a87 Support for flags before commands 2014-06-17 12:32:27 -04:00
spf13 07be8145cc Adding support for --help 2014-06-17 12:28:42 -04:00
spf13 3e874b31b7 Test confirming fixed #11 2014-06-13 20:45:55 -04:00
spf13 71bb1dfdcd Cobra behavior is now more consistent. Invalid flags cause Usage to be printed. 2014-06-13 20:00:56 -04:00
tummychow 667c348dbd Test behavior for subcommand with same name as root command
If, for some reason, you have an application with some name "foo", and your
app has a subcommand "foo", cobra should behave properly when you call
"foo foo", and it should also behave if you call "foo f".

These changes verify both of these cases and ensure cobra responds properly.
2014-03-26 16:19:34 -04:00
tummychow 4c29b190e0 Add basic test for prefix matching 2014-03-26 05:12:48 -04:00
tummychow 96d543cf2c Reset root command lists in testing
This fixes some issues that appear when testing prefix invocations. Since the
root command lists weren't being cleared, the list would persist between
tests, so there would be multiple instances of each command. Then, if you
tried to match a prefix of one of those commands, you'd get two matches (one
for each instance) and the command would fail.

Resetting the root command lists prevents them from persisting between tests,
resolving this issue.
2014-03-26 05:12:48 -04:00
spf13 2f19d3c266 Added test for (fixed) bug in upstream library pflag 2013-11-05 19:50:47 -05:00
spf13 79bdde5f6c Refactored code to eliminate need for a commander. Much simpler interface now. 2013-11-01 18:36:24 -04:00
spf13 a2845e7f7a fixed spf13/cobra#1 spf13/hugo#88 2013-09-30 21:54:46 -04:00
spf13 6b3d2f2e9a Shorter message when invalid flags provided 2013-09-29 02:01:56 -04:00
spf13 0556e5fbf9 Moving cobra_test into package cobra for easier testing 2013-09-24 17:04:00 -04:00
spf13 fb2146e9e5 Add support for help command 2013-09-24 16:03:22 -04:00
spf13 68f3c66d07 Proper handling of flag error messages. Fixing test that wasn't passing. 2013-09-24 13:15:30 -04:00
spf13 57fc2cb534 Support and test for custom output. 2013-09-24 12:12:32 -04:00
spf13 8858462331 Add decent usage message 2013-09-12 10:37:35 -04:00
spf13 c5eb49e3f5 Add better persistent flags testing 2013-09-10 18:26:46 -04:00
spf13 3f47f33e39 Testing when given missing flag 2013-09-04 11:32:51 -04:00
spf13 c568b575aa Better testing support. Easy to reset to blank slate in tests. 2013-09-04 11:32:51 -04:00
spf13 1be06e4e1a Adding a separate command as a run value. 2013-09-03 19:04:50 -04:00
spf13 bbb8e6e199 initial commit of cobra w/test suite 2013-09-03 18:54:51 -04:00