Eric Paris
c678ff029e
Merge pull request #256 from sttts/sttts-fix-bash-escaping
...
Fix escaping of % in bash code strings
2016-03-22 12:10:42 -05:00
Eric Paris
966e6048eb
Merge pull request #230 from garthk/fix-man-see-also
...
Ensure SEE ALSO list has no leading comma.
2016-03-21 19:23:55 -05:00
Eric Paris
57021c6b4d
Merge pull request #244 from apriendeau/silence-errors-readme
...
updates readme to Explain SilenceErrors and SilenceUsage #225
2016-03-21 19:22:44 -05:00
Eric Paris
d6b481239e
Merge pull request #255 from sttts/sttts-bash-completion-flag-equal
...
Advanced custom bash completion of flags
2016-03-21 19:22:24 -05:00
Eric Paris
1bacefc9a2
Merge pull request #254 from fabianofranz/optional_options_at_the_end_of_usage
...
Must only add "[flags]" to the end of usage if not yet present
2016-03-15 16:50:08 -05:00
Eric Paris
04d02e3184
Merge pull request #241 from bogem/typo
...
Fix typo in README
2016-02-06 12:39:43 -05:00
Eric Paris
8e91712f17
Merge pull request #228 from garthk/fix-doc-generation
...
Fix doc generation and its documentation
2016-01-16 22:09:38 -05:00
Eric Paris
9c93009019
Merge pull request #223 from mattnenterprise/doc-link-fixes
...
Fix links to markdown and man page docs
2016-01-13 22:06:19 -05:00
Eric Paris
a3a9f345ca
Merge pull request #218 from mvdan/error-checking
...
Error checking for doc generation
2016-01-06 09:57:15 -05:00
Eric Paris
c82a0ceef8
Merge pull request #215 from mvdan/interfacer
...
Replace *bytes.Buffer with io.Writer
2016-01-05 16:50:52 -05:00
Eric Paris
73665614cb
Merge pull request #197 from magiconair/issue-195-mousetrap-win-only
...
Issue #195 : Compile mousetrap only on Windows
2015-12-16 19:04:05 -05:00
Eric Paris
11265d64db
Merge pull request #210 from boz/colon-completion
...
Bash completion for names with ':' character.
2015-12-16 17:12:45 -05:00
Eric Paris
ea3bf167cf
Merge pull request #211 from NanXiao/patch-1
...
Update command.go
2015-12-16 10:02:01 -05:00
Eric Paris
29cddf65b2
Merge pull request #208 from gosharplite/patch-2
...
Update four to three
2015-12-09 08:50:41 -05:00
Eric Paris
8210022f43
Merge pull request #207 from gosharplite/patch-1
...
Fix wrong command name.
2015-12-08 10:13:42 -05:00
Eric Paris
1c44ec8d3f
Merge pull request #200 from sobit/patch-1
...
fix typo
2015-11-24 10:32:17 -05:00
Eric Paris
cb63a06ed9
Merge pull request #192 from apriendeau/executeC
...
Creates the ExecuteC function while maintaining Execute signature
2015-11-18 17:09:54 -05:00
Eric Paris
2e6a428921
Merge pull request #179 from eparis/init_comp
...
Check for _init_completion not_init_completionS
2015-11-03 15:41:40 -05:00
Eric Paris
57c62d3180
Merge pull request #173 from jojomi/master
...
Update README.md
2015-11-03 15:29:33 -05:00
Eric Paris
9199ed1e52
Merge pull request #178 from mattnenterprise/completions-osx
...
Modifying bash completions so they can run on OSX
2015-11-03 15:28:50 -05:00
Eric Paris
58e38f95da
Check for _init_completion not_init_completionS
2015-11-03 15:09:37 -05:00
Eric Paris
a082ce41f3
Merge pull request #174 from jbowes/fix-duplicate-usage
...
Ensure the usage command is printed only once
2015-11-02 14:27:52 -05:00
Eric Paris
24562666ea
Merge pull request #172 from tamird/patch-1
...
README: fix CockroachDB typo
2015-10-29 15:18:41 -05:00
Eric Paris
230787ee13
Merge pull request #169 from apriendeau/silence-errors
...
[silence-errors]: adds a way for errors to silenced down the stack
2015-10-26 19:12:39 -05:00
Eric Paris
8b2293c741
Merge pull request #167 from siddharthist/docs/ArgsLenAtDash
...
Added documentation for ArgsLenAtDash
2015-10-13 17:51:39 -05:00
Eric Paris
d732ab3a34
Merge pull request #164 from vikstrous/fix_bug
...
fix bug with PersistentPreRunE
2015-09-30 09:31:26 -04:00
Eric Paris
046a673252
Merge pull request #163 from fabianofranz/siblings_improvements
...
Improve suggestions
2015-09-29 11:27:22 -04:00
Eric Paris
53d96508f5
Merge pull request #160 from eparis/len-at-dash
...
Provide the length of Args when a -- is found in commandline
2015-09-17 16:09:08 -05:00
Eric Paris
edde52e321
Provide the length of Args when a -- is found in commandline
...
This allows a program to know what args came before the -- and what args
came after.
2015-09-16 12:31:41 -04:00
Eric Paris
4b76e97cd6
Merge pull request #158 from eparis/more-errors-in-test
...
More error output if a could of _test fail
2015-09-15 22:57:41 -05:00
Eric Paris
664a3ab4a3
Merge pull request #159 from eparis/travis
...
Update travis to use more versions of go
2015-09-15 22:57:29 -05:00
Eric Paris
6e4e76655d
More error output if a could of _test fail
2015-09-15 18:02:03 -04:00
Eric Paris
79996f7fcf
Update travis to use more versions of go
2015-09-15 18:01:43 -04:00
Eric Paris
6d70311770
Merge pull request #149 from fabianofranz/siblings
...
Allows command suggestions along with "unknown command" errors
2015-09-13 22:44:46 -05:00
Eric Paris
b28774dd68
Merge pull request #154 from eparis/fix-trailing-newline
...
If nothing after flags: sting print a newline
2015-09-11 23:27:51 -05:00
Eric Paris
632e090805
If nothing after flags: sting print a newline
2015-09-12 00:21:31 -04:00
Eric Paris
eeec8e3ce3
Merge pull request #153 from eparis/remove-useless-assignment
...
UsageTemple: remove useless variable assignment
2015-09-11 18:00:59 -05:00
Eric Paris
d96b4f7741
Merge pull request #152 from eparis/no-newline-after-flags
...
No newline after Flags in usage
2015-09-11 18:00:50 -05:00
Eric Paris
1ac08d9d94
UsageTemple: remove useless variable assignment
2015-09-11 18:52:47 -04:00
Eric Paris
85bb343e9c
Merge pull request #151 from eparis/no-newline-without-short
...
No leading newline if Short and Long both unset
2015-09-11 17:46:37 -05:00
Eric Paris
0d9b07baf9
Merge pull request #150 from eparis/help-not-available
...
Do not count "help" as "Available"
2015-09-11 17:46:27 -05:00
Eric Paris
8af2b2b89f
No newline after Flags in usage
...
The flags usage template from pflags has a trailing \n. We need to
include a newline in case there are no flags in our template. This will
trim the newline from the end of the flags from pflag and we can do it
right outselves.
2015-09-11 18:45:28 -04:00
Eric Paris
717619095e
No leading newline if Short and Long both unset
...
Before --help would start
```
Usage:
command [flags]
[...]
```
After --help will show
```
Usage:
command [flags]
[...]
```
2015-09-11 18:28:40 -04:00
Eric Paris
24b4b01ffa
Do not cound "help" as "Available"
2015-09-11 18:25:28 -04:00
Eric Paris
42498ec777
Merge pull request #148 from tamird/trailing-spaces
...
trim trailing whitespace
2015-09-11 17:24:06 -05:00
Eric Paris
4b86c66ef2
Merge pull request #146 from eparis/is-available-rework
...
Update IsAvailableCommand checks
2015-09-09 14:20:07 -05:00
Eric Paris
3eac1434ef
Update IsAvailableCommand checks
...
This slightly changes IsAvailableCommand in that a non-runnable command
with a runnable subcommand is now 'Available'
We also use IsAvailableCommand in the rest of the codebase instead of
half kinda sorta doing it incorrectly other places.
2015-09-08 22:48:12 -04:00
Eric Paris
75d96d75c3
Merge pull request #145 from eparis/man-cleanups
...
Enhance Man Page Generation
2015-09-08 18:19:27 -05:00
Eric Paris
b625a4db24
Merge pull request #143 from sdomino/feature/hidden-commands
...
Feature/hidden commands
2015-09-08 18:19:22 -05:00
Eric Paris
edcf765d9f
Mangen: allow callers to specify header information
...
We previously had this weak argument called projectName which let you
set a single part of a man page header. Instead do the best we can if
the caller doesn't pass us anything, but let the caller specify anything
they want.
2015-09-08 18:52:09 -04:00
Eric Paris
cfecf1379c
manpage generation: Make sure parent in SEE ALSO has dashes
...
The CommandPath() for a parent might have a space (if .Parent() != .Root())
so we need to replace those spaces with `-`
2015-09-08 12:32:15 -04:00
Eric Paris
68f5a81a72
Merge pull request #141 from eparis/mac-completions
...
Enable bash completions on Macs
2015-09-04 09:11:03 -05:00
Eric Paris
32e87e3c8e
Enable bash completions on Macs
...
If they installed bash-completions from homebrew, this should make our
completions work.
2015-09-03 17:00:18 -04:00
Eric Paris
16b4170663
Merge pull request #138 from eparis/cleanup-helpfunc
...
Allow SetHelpFunc to overwrite the --help flag instead of just the help subcommand
2015-09-03 15:53:20 -05:00
Eric Paris
c2d19e9c43
Use the HelpFunc for the --help flag
...
We were just calling Help() when a user set the --help flag. You could
overwrite how the help subcommand worked with SetHelpFunc, but not now
the --help flag worked.
2015-09-01 14:25:38 -04:00
Eric Paris
27bf24802c
Redo HelpFunc() to work things other than the help subcommand
...
Today the HelpFunc() seemed to be tailor built for the `help`
subcommand. Which has a rather weird purpose as its `Run` needs to
find the actual command we want to get help about.
Instead make the HelpFunc() for a command be about that command,
rather than having it search for some other command...
2015-09-01 14:25:32 -04:00
Eric Paris
1f92281ffc
Merge pull request #135 from akutz/feature/custom-templ-funcs
...
Template Function Injection
2015-09-01 11:55:58 -05:00
Eric Paris
e15d674de6
Merge pull request #134 from apriendeau/master
...
#67 creates RunE functions to allow for errors to populate to the top
2015-09-01 11:51:29 -05:00
Eric Paris
99d2c51143
Merge pull request #137 from eparis/fix-help-template
...
Remove spurious } from the help template
2015-09-01 11:51:12 -05:00
Eric Paris
f7b419fbe1
Merge pull request #136 from eparis/late-init-help-flag-fix
...
Fix the late init help flag
2015-09-01 11:51:03 -05:00
Eric Paris
8f9b8c7cba
Remove spurious } from the help template
2015-09-01 12:03:37 -04:00
Eric Paris
ae28810f0e
Fix the late init help flag
2015-09-01 11:31:23 -04:00
Eric Paris
4c4f2d9417
Merge pull request #133 from eparis/late-init-help-flag
...
Initialize the --help flag as late as possible
2015-08-31 09:26:37 -05:00
Eric Paris
bab6d45bc6
Initialize the --help flag as late as possible
...
This should let users overwrite it with something custom. Like the help
sub-command.
2015-08-30 12:10:14 -04:00
Eric Paris
7cd6c9c000
Merge pull request #132 from AntonioMeireles/unbrand-man
...
turn generated man pages non k8s specific.
2015-08-28 12:09:21 -05:00
Eric Paris
e4993076d8
Merge pull request #128 from eparis/genManPages
...
Auto generation of a man pages
2015-08-21 01:11:45 -07:00
Eric Paris
9e7788657f
Auto generation of a man page
2015-08-21 01:10:13 -07:00
Eric Paris
db05184446
Merge pull request #127 from eparis/show-commandline-on-parent
...
Display pflag.CommandLine flags as if they were declared on the parent
2015-08-16 22:42:27 -07:00
Eric Paris
e8bd799c1c
Display pflag.CommandLine flags as if they were declared on the parent
...
```go
package main
import (
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
func main() {
cmd := &cobra.Command{
Use: "min",
Short: "minimal command",
Run: func(_ *cobra.Command, _ []string) {},
}
pflag.String("oncmdline", "oncmdline", "oncmdline")
cmd.Execute()
}
```
Is a minimal cobra program. When --help is displayed without this patch
you only get:
But with the patch --oncmdline is shows under flags.
2015-08-16 22:31:08 -07:00
Eric Paris
c55cdf3385
Merge pull request #126 from anthonyfok/bash-completion/subdirs-in-dir
...
Add new BashCompSubdirsInDir annotation
2015-08-09 17:25:49 -05:00
Eric Paris
385fc87e43
Merge pull request #122 from eparis/cleanups
...
Update help template
2015-06-29 19:11:20 -05:00
Eric Paris
f453e878d4
Update help template
...
The template had gotten out of control. It was basically unparsable.
This does a little more work in functions and a little less in the
template. Overall it should be basically the same. It might output the
'additional help topics' in a couple of fewer places, but I doubt people
complain too much...
2015-06-29 20:06:04 -04:00
Eric Paris
8e127101ec
Merge pull request #121 from eparis/cleanups
...
Cleanups
2015-06-29 17:30:09 -05:00
Eric Paris
9a9d01c9ec
Better error message
...
Calling `cobra-test echo times one two turkey` where `one` and `two` are
valid arguments but `turkey` is not now results in.
Error: invalid argument "turkey" for "cobra-test echo times"
Run 'cobra-test echo times --help' for usage.
2015-06-29 17:09:41 -04:00
Eric Paris
0a7a850026
Make error handling more obvious
...
Again, the code looks a little more like a middle-schooler's code. But
that just makes it easier to understand and maintain.
2015-06-29 15:45:01 -04:00
Eric Paris
6f735782e0
Remove unused ErrHelp check
...
Inside Command.Execute() we were checking for pflag.ErrHelp. But
Command.execute() never returns that value. It just complicates the code
and isn't used.
2015-06-29 15:45:01 -04:00
Eric Paris
0a1a8e2e92
Remove (unused) cmdErrorBuf
...
Nothing was using it any more...
2015-06-29 15:45:01 -04:00
Eric Paris
d0bb3e33e6
rework Find() to make it more obvious what is happening
...
We had lots of quirky if statements like `commandFound.Name() ==
c.Name() && len(stripFlags(args, c)) > 0 && commandFound.Name() !=
args[0]` which embeed all sorts of artifacts which are hard to parse. So
in general, just try to simplify and make stuff readable.
2015-06-29 15:44:56 -04:00
Eric Paris
66816bcd03
Merge pull request #119 from eparis/bogus-bad-command
...
Handle grand children with the same name as the root
2015-06-22 17:06:05 -05:00
Eric Paris
07ad27d239
Handle grand children with the same name as the root
...
This fixes a problem where if you had a root command and a grand child
with the same name, the parser would break and would not run the
grandchild. The code was special casing if the immediate child had the
same name, but didn't handle grand-children
2015-06-22 17:54:08 -04:00
Eric Paris
ddd4c82b82
Merge pull request #116 from sgotti/fix_flag_as_unknown_command_in_output
...
Correctly print the unknown command name
2015-06-22 16:52:47 -05:00
Eric Paris
a8f7f3dc25
Merge pull request #118 from liggitt/file_autocomplete_helper
...
Simplify setting file/extension annotations on a flag
2015-06-22 14:56:13 -05:00
Eric Paris
8f5946caae
Merge pull request #112 from jlowdermilk/fix-genmarkdowntree
...
Don't prepend filename in default GenMarkdownTree
2015-05-20 22:43:41 -05:00
Eric Paris
c11766b405
slight typo in md_docs.md
2015-05-13 08:38:33 -05:00
Eric Paris
bba56042cf
Merge pull request #105 from eparis/minor-bash-cleanup
...
make filename extension handling a bash function
2015-05-04 22:51:16 -05:00
Eric Paris
dff410ab56
make filename extension handling a bash function
...
We were trying to call a bash function with bash stuff like @ () from a
variable. Stop that. Just call a function with an arg from a variable
instead of trying to pass around the bash.
Should fix https://github.com/spf13/cobra/pull/103
2015-05-04 18:41:53 -04:00
Eric Paris
743fa31b46
Merge pull request #106 from eparis/bash-comp-docs
...
Make the filename extension bit of docs easier to read.
2015-05-04 15:20:46 -05:00
Eric Paris
48b95d0594
Make the filename extension bit of docs easier to read.
2015-05-04 16:20:06 -04:00
Eric Paris
787b737b48
Merge pull request #104 from eparis/minor-bash-cleanup
...
Clean up minor bash complaints from shellcheck.net
2015-05-04 13:56:05 -05:00
Eric Paris
f4b3401f9e
Clean up minor bash complaints from shellcheck.net
2015-05-04 14:40:27 -04:00
Eric Paris
7fc9f148dd
Merge pull request #102 from andronat/master
...
Fixed Persistent-Run function propagation
2015-05-04 11:57:28 -05:00
Eric Paris
3ee9552eeb
Merge pull request #100 from eparis/pre-post-run
...
Pre post run fucntions
2015-04-30 13:26:01 -05:00
Eric Paris
fad5931693
Add docs, tests, and bit of rearrainging...
2015-04-30 14:08:47 -04:00
Eric Paris
9cf0f3737d
Merge pull request #90 from eparis/deprecated-subcommands
...
Deprecated subcommands
2015-04-30 10:22:48 -05:00
Eric Paris
7c7837e882
Merge pull request #85 from eparis/more-simplification
...
More simplification
2015-04-30 10:21:12 -05:00
Eric Paris
2d5fab043c
Merge pull request #75 from eparis/CommandLine
...
Make flags declared outside spf13.pflag persistent flags on the parent
2015-04-30 10:20:35 -05:00
Eric Paris
c3e48f996d
Deprecated subcommands
...
They should still work, but shouldn't show up in help or usage output
2015-04-29 13:08:20 -04:00
Eric Paris
69e5f196b5
Merge pull request #98 from eparis/markdown-quiet-test
...
quiet down to go test for markdown generation
2015-04-28 09:43:10 -05:00
Eric Paris
a112838e26
quiet down to go test for markdown generation
...
We were printing the markdown, don't ask me why.
2015-04-28 10:42:03 -04:00
Eric Paris
3c187e9045
Merge pull request #93 from kennyballou/minor_grammar_fix
...
Fix minor wording issue in README
2015-04-16 16:19:32 -05:00