summaryrefslogtreecommitdiff
path: root/completions/op
diff options
context:
space:
mode:
Diffstat (limited to 'completions/op')
-rw-r--r--completions/op35
1 files changed, 19 insertions, 16 deletions
diff --git a/completions/op b/completions/op
index ddbe4c73..31d64758 100644
--- a/completions/op
+++ b/completions/op
@@ -3,7 +3,7 @@
_op_commands()
{
"$@" --help 2>/dev/null |
- awk "/^(Available |Sub)commands/{flag=1;next}/^ /&&flag{print \$1}"
+ awk '/^(Available |Sub)commands/{flag=1;next}/^ /&&flag{print $1}'
}
_op_command_options()
@@ -11,11 +11,11 @@ _op_command_options()
case $cur in
-*)
for i in "${!words[@]}"; do
- [[ ${words[i]} == -* || $i -eq 0 ]] && unset words[i]
+ [[ ${words[i]} == -* || $i -eq 0 ]] && unset "words[i]"
done
- COMPREPLY=( $(compgen -W \
- '$(_parse_usage "$1" "${words[*]} --help") --help' -- "$cur") )
- [[ $COMPREPLY == *= ]] && compopt -o nospace
+ COMPREPLY=($(compgen -W \
+ '$(_parse_usage "$1" "${words[*]} --help") --help' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
return 0
;;
esac
@@ -28,29 +28,32 @@ _op()
_init_completion -s || return
local command i
- for (( i=1; i < cword; i++ )); do
+ for ((i = 1; i < cword; i++)); do
case ${words[i]} in
- --help|--version) return ;;
+ --help | --version) return ;;
-*) ;;
- *) command=${words[i]}; break ;;
+ *)
+ command=${words[i]}
+ break
+ ;;
esac
done
- if [[ -z $command && $cur == -* ]]; then
- COMPREPLY=( $(compgen -W '$(_parse_usage "$1" --help)' -- "$cur") )
- [[ $COMPREPLY == *= ]] && compopt -o nospace
+ if [[ ! -v command && $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_usage "$1" --help)' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
return
fi
- [[ $command ]] && _op_command_options "$1" && return
+ [[ -v command ]] && _op_command_options "$1" && return
- if [[ -z $command || $command == $prev ]]; then
- COMPREPLY=( $(compgen -W '$(_op_commands "$1" $command)' -- "$cur") )
- [[ $COMPREPLY ]] && return
+ if [[ ! -v command || $command == "$prev" ]]; then
+ COMPREPLY=($(compgen -W '$(_op_commands "$1" ${command-})' -- "$cur"))
+ [[ ${COMPREPLY-} ]] && return
fi
# TODO specific command and subcommand completions
} &&
-complete -F _op op
+ complete -F _op op
# ex: filetype=sh