summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf.d/etc/bash_completion.d/xds-cli12
-rw-r--r--main.go1
2 files changed, 13 insertions, 0 deletions
diff --git a/conf.d/etc/bash_completion.d/xds-cli b/conf.d/etc/bash_completion.d/xds-cli
new file mode 100644
index 0000000..9778180
--- /dev/null
+++ b/conf.d/etc/bash_completion.d/xds-cli
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+_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 xds-cli
diff --git a/main.go b/main.go
index 7d1f5e1..a6f8104 100644
--- a/main.go
+++ b/main.go
@@ -141,6 +141,7 @@ func main() {
app.Metadata["version"] = AppVersion
app.Metadata["git-tag"] = AppSubVersion
app.Metadata["logger"] = Log
+ app.EnableBashCompletion = true
// Create env vars help
dynDesc := "\nENVIRONMENT VARIABLES:"