summaryrefslogtreecommitdiff
path: root/completions/secret-tool
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gabriel@inconstante.net.br>2020-08-03 18:43:14 -0300
committerGabriel F. T. Gomes <gabriel@inconstante.net.br>2020-08-03 18:43:14 -0300
commitcc81eb120ad1a456f030f7b828697013a9b2b66a (patch)
treebb61702f98b407b2f7987faa846190fb3f002e55 /completions/secret-tool
parent8394526300cc384e53c470303aeb8b4fdcaf84a3 (diff)
parent95623d39d6029ba78ec96ad5ea08e9ac12629b91 (diff)
downloadbash-completion-cc81eb120ad1a456f030f7b828697013a9b2b66a.tar.gz
Update upstream source from tag 'upstream/2.11'
Update to upstream version '2.11' with Debian dir 932c2c1a6192441f3cd8897e72d737f2f0277f60
Diffstat (limited to 'completions/secret-tool')
-rw-r--r--completions/secret-tool50
1 files changed, 50 insertions, 0 deletions
diff --git a/completions/secret-tool b/completions/secret-tool
new file mode 100644
index 00000000..5462fc06
--- /dev/null
+++ b/completions/secret-tool
@@ -0,0 +1,50 @@
+# bash completion for secret-tool(1) -*- shell-script -*-
+
+_secret_tool()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ $split && return
+
+ local -i i
+ local mode word
+ for i in ${!words[*]}; do
+ if [[ $i -gt 0 && ${words[i]} != -* ]]; then
+ ((i != cword)) && mode=${words[i]}
+ break
+ fi
+ done
+ if [[ ! -v mode ]]; then
+ local -a modes
+ modes=($("$1" nonexistent-mode 2>&1 |
+ while read -r first second third rest; do
+ if [[ $first == "${1##*/}" ]]; then
+ printf "%s\n" "$second"
+ elif [[ $first == usage: && $second == "${1##*/}" ]]; then
+ printf "%s\n" "$third"
+ fi
+ done))
+ COMPREPLY=($(compgen -W '${modes[@]}' -- "$cur"))
+ return
+ fi
+
+ case $mode in
+ store)
+ if [[ ${words[*]} != *\ --label[\ =]* ]]; then
+ COMPREPLY=($(compgen -W "--label=" -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ fi
+ ;;
+ search)
+ local -A opts=([--all]="" [--unlock]="")
+ for word in "${words[@]:2}"; do
+ [[ $word ]] && unset opts["$word"]
+ done
+ COMPREPLY=($(compgen -W '${opts[@]}' -- "$cur"))
+ ;;
+ esac
+} &&
+ complete -F _secret_tool secret-tool
+
+# ex: filetype=sh