support bash completion for commands, not for flags

This commit is contained in:
ngtuna 2016-07-17 02:21:15 +07:00
parent dc6c23238e
commit f09b640e90
3 changed files with 22 additions and 0 deletions

View File

@ -181,6 +181,13 @@ WARNING: Unsupported key ContainerName - ignoring
WARNING: Unsupported key Dockerfile - ignoring WARNING: Unsupported key Dockerfile - ignoring
``` ```
## Bash completion
Running this below command in order to benefit from bash completion
```
$ PROG=kompose source script/bash_autocomplete
```
## Building ## Building
### Building with `go` ### Building with `go`

View File

@ -35,6 +35,7 @@ func main() {
app.Version = version.VERSION + " (" + version.GITCOMMIT + ")" app.Version = version.VERSION + " (" + version.GITCOMMIT + ")"
app.Author = "Skippbox Compose Contributors" app.Author = "Skippbox Compose Contributors"
app.Email = "https://github.com/skippbox/kompose" app.Email = "https://github.com/skippbox/kompose"
app.EnableBashCompletion = true
app.Before = cliApp.BeforeApp app.Before = cliApp.BeforeApp
app.Flags = append(command.CommonFlags()) app.Flags = append(command.CommonFlags())
app.Commands = []cli.Command{ app.Commands = []cli.Command{

14
script/bash_autocomplete Normal file
View File

@ -0,0 +1,14 @@
#! /bin/bash
: ${PROG:=$(basename ${BASH_SOURCE})}
_cli_bash_autocomplete() {
local cur opts base
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
}
complete -F _cli_bash_autocomplete $PROG