github.com/posener/complete/v2 (go): Package complete is everything for bash completion and Go.  Writing bash completion scripts is a hard work, usually done in the bash scripting language. This package provides:  * A library for bash completion for Go programs.  * A tool for writing bash completion script in the Go language. For any Go or non Go program.  * Bash completion for the `go` command line (See ./gocomplete).  * Library for bash-completion enabled flags (See ./compflag).  * Enables an easy way to install/uninstall the completion of the command.  The library and tools are extensible such that any program can add its one logic, completion types or methologies.  ./gocomplete is the script for bash completion for the `go` command line. This is an example that uses the `complete` package on the `go` command - the `complete` package can also be used to implement any completions, see #usage.  Install:  1. Type in your shell:  2. Restart your shell  Uninstall by `COMP_UNINSTALL=1 gocomplete`  Features:  - Complete `go` command, including sub commands and flags. - Complete packages names or `.go` files when necessary. - Complete test names after `-run` flag.  Supported shells:  - [x] bash - [x] zsh - [x] fish  The installation of completion for a command line tool is done automatically by this library by running the command line tool with the `COMP_INSTALL` environment variable set. Uninstalling the completion is similarly done by the `COMP_UNINSTALL` environment variable. For example, if a tool called `my-cli` uses this library, the completion can install by running `COMP_INSTALL=1 my-cli`.  Add bash completion capabilities to any Go program. See ./example/command.  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).  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/v2/compflag` package. (See ./example/compflag).  Instead of calling both `complete.CommandLine` and `flag.Parse`, one can call just `compflag.Parse` which does them both.  For command line bash completion testing use the `complete.Test` function.
Keywords: bash-completion|completion|fish-completion|go|golang|shell|zsh-completion