Commit graph

828 commits

Author SHA1 Message Date
Anthony Fok
4745f1fd64 In execute(), check if command is Runnable()
A corner case exists where c.Runnable() is not checked
before c.Run() is called, thus a nil c.Run is executed
leading to "panic: runtime error: invalid memory address
or nil pointer dereference".

This patch adds an extra c.Runnable() check in execute()
to catch that corner case.

Fixes #37.
2014-12-18 22:46:33 -05:00
Maciej Szulik
6e6b6a9c19 Subcommands flag parsing errors print subcommand usage and not root's command usage
Conflicts:
	command.go
2014-12-18 22:43:23 -05:00
spf13
1cb31604a1 small formatting change to readme 2014-12-18 22:41:49 -05:00
Maciej Szulik
033c83bc5e Subcommands flag parsing errors print subcommand usage and not root's command usage 2014-12-09 08:46:16 -05:00
Steve Francia
b825817fc0 Merge pull request #32 from smarterclayton/hide_subcommand_help_for_root_only_command
When no subcommands are registered, omit command help output
2014-11-12 16:52:16 -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
Joel Scoble
83b58a2f9b changed help flag setup to use PersistenFlags so -h will be supported 2014-10-07 15:18:02 -04:00
Brad Dickason
d8ec18ee74 Fixed typo :D 2014-09-08 12:00:28 -04:00
Sam Ghods
cdafa9f413 Print Long description when printing Help, fixes #20 2014-09-08 11:59:35 -04:00
Hugo Leonardo Costa e Silva
8d72c1e167 Fix typo mistake on README 2014-08-06 00:22:50 -04:00
spf13
864687ae68 Adding "OnInitialize()" method instead of directly setting a property. Now can have multiple initializers. 2014-07-11 10:57:53 -04:00
spf13
7cebca3761 Add support for an InitializeConfig method as defined on Cobra by the user 2014-06-27 15:45:51 -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
1a6c5d1d21 Remove "::" from output. Fixed #4 2014-06-13 20:06:09 -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
Alan Pearce
7ab4fd75e9 Fix grammar in readme 2014-05-27 14:54:43 -04:00
Ryan Cox
0330aef05c Fix small typo 2014-05-09 23:30:45 -04:00
spf13
59bd285b5f Documentation update 2014-04-11 10:11:09 -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
tummychow
f4c075f8f8 Add command name prefix matching
A command can now be invoked with a prefix of its own name, assuming that
prefix is unambiguous (ie it isn't also a prefix of any sibling command's
name).
2014-03-26 05:12:44 -04:00
Kevin Darlington
e174a40cf5 Print root usage when help called with no args. 2014-02-03 21:52:51 -05:00
Steve Francia
1e1ff9e35e Merge pull request #8 from awilliams/master
Right aligns "Use" and "Additional help topics"
2014-01-17 05:19:31 -08:00
awilliams
2e73a96a48 Right aligns "Use" and "Additional help topics" even if they are longer than the min padding 2014-01-17 13:36:57 +01:00
Steve Francia
6dd0aa154a Merge pull request #7 from philips/patch-1
fix(README): simple grammar fixup
2014-01-11 22:21:44 -08:00
Brandon Philips
2d10990d9e fix(README): simple grammar fixup 2014-01-11 21:34:06 -08:00
Steve Francia
88d4f7089f Merge pull request #5 from mcuadros/master
Fixes in example
2014-01-02 09:56:32 -08:00
Steve Francia
56185423c7 Merge pull request #6 from bitdeli-chef/master
Add a Bitdeli Badge to README
2014-01-02 09:56:03 -08:00
Bitdeli Chef
d7f66b2f69 Add a Bitdeli badge to README 2014-01-02 17:58:43 +00:00
Máximo Cuadros
1378a36255 Fixes in example 2013-12-21 11:32:14 +01:00
spf13
fae133554d Fixing error messaging when upstream flag library is inconsistent. 2013-11-05 20:04:51 -05:00
spf13
2f19d3c266 Added test for (fixed) bug in upstream library pflag 2013-11-05 19:50:47 -05:00
spf13
7216b06e83 Rewrote readme 2013-11-05 12:50:11 -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
fb5077acbe Better handling of parsing args to commands, especially the root 2013-09-29 02:03:29 -04:00
spf13
2d02c310f3 Help improvements 2013-09-29 02:02:49 -04:00
spf13
6b3d2f2e9a Shorter message when invalid flags provided 2013-09-29 02:01:56 -04:00
spf13
55ff474dee Finding command based on args cleaned up 2013-09-29 01:59:13 -04:00
spf13
74ce44d76e Add ability to cast a command to a commander 2013-09-29 01:57:50 -04:00
spf13
88e482c582 Update read me example 2013-09-29 01:56:04 -04:00
spf13
39583856c0 fix trailing <nil> on help output 2013-09-28 22:42:30 -04:00
spf13
c491be3a31 Adding Travis status image to readme 2013-09-24 17:08:47 -04:00
spf13
0556e5fbf9 Moving cobra_test into package cobra for easier testing 2013-09-24 17:04:00 -04:00