From dd939deef39f017909b555d687ab390e56a5ce91 Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Mon, 18 Nov 2019 07:29:45 +0200 Subject: [PATCH] fix doc --- doc.go | 118 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 57 insertions(+), 61 deletions(-) diff --git a/doc.go b/doc.go index 6e75247..0b8776b 100644 --- a/doc.go +++ b/doc.go @@ -27,8 +27,8 @@ Install: 1. Type in your shell: - go get -u github.com/posener/complete/gocomplete - COMP_INSTALL=1 gocomplete + go get -u github.com/posener/complete/gocomplete + COMP_INSTALL=1 gocomplete 2. Restart your shell @@ -52,75 +52,71 @@ Usage Add bash completion capabilities to any Go program. See ./example/command. - import ( - "flag" - "github.com/posener/complete/v2" - "github.com/posener/complete/v2/predict" - ) - - var ( - // Add variables to the program. - name = flag.String("name", "", "") - something = flag.String("something", "", "") - nothing = flag.String("nothing", "", "") - ) - - func main() { - // Create the complete command. - // Here we define completion values for each flag. - cmd := &complete.Command{ - Flags: map[string]complete.Predictor{ - "name": predict.Set{"foo", "bar", "foo bar"}, - "something": predict.Something, - "nothing": predict.Nothing, - }, - } - // Run the completion - provide it with the binary name. - cmd.Complete("my-program") - // Parse the flags. - flag.Parse() - // Program logic... - } + import ( + "flag" + "github.com/posener/complete/v2" + "github.com/posener/complete/v2/predict" + ) + var ( + // Add variables to the program. + name = flag.String("name", "", "") + something = flag.String("something", "", "") + nothing = flag.String("nothing", "", "") + ) + func main() { + // Create the complete command. + // Here we define completion values for each flag. + cmd := &complete.Command{ + Flags: map[string]complete.Predictor{ + "name": predict.Set{"foo", "bar", "foo bar"}, + "something": predict.Something, + "nothing": predict.Nothing, + }, + } + // Run the completion - provide it with the binary name. + cmd.Complete("my-program") + // Parse the flags. + flag.Parse() + // Program logic... + } This package also enables to complete flags defined by the standard library `flag` package. To use this feature, simply call `complete.CommandLine` before `flag.Parse`. (See ./example/stdlib). - import ( - "flag" - + "github.com/posener/complete/v2" - ) - var ( - // Define flags here... - foo = flag.Bool("foo", false, "") - ) - - func main() { - // Call command line completion before parsing the flags - provide it with the binary name. - + complete.CommandLine("my-program") - flag.Parse() - } + import ( + "flag" + + "github.com/posener/complete/v2" + ) + var ( + // Define flags here... + foo = flag.Bool("foo", false, "") + ) + func main() { + // Call command line completion before parsing the flags - provide it with the binary name. + + complete.CommandLine("my-program") + flag.Parse() + } If flag value completion is desired, it can be done by providing the standard library `flag.Var` function a `flag.Value` that also implements the `complete.Predictor` interface. For standard flag with values, it is possible to use the `github.com/posener/complete/compflag` package. (See ./example/compflag). - import ( - "flag" - + "github.com/posener/complete/v2" - + "github.com/posener/complete/v2/compflag" - ) - var ( - // Define flags here... - - foo = flag.Bool("foo", false, "") - + foo = compflag.Bool("foo", false, "") - ) - - func main() { - // Call command line completion before parsing the flags. - + complete.CommandLine("my-program") - flag.Parse() - } + import ( + "flag" + + "github.com/posener/complete/v2" + + "github.com/posener/complete/v2/compflag" + ) + var ( + // Define flags here... + - foo = flag.Bool("foo", false, "") + + foo = compflag.Bool("foo", false, "") + ) + func main() { + // Call command line completion before parsing the flags. + + complete.CommandLine("my-program") + flag.Parse() + } Instead of calling both `complete.CommandLine` and `flag.Parse`, one can call just `compflag.Parse` which does them both.