Fix zsh autocomplete script

Fix completion when argument startswith `-`
Merged in upstream https://github.com/urfave/cli/pull/1062

Signed-off-by: Shengjing Zhu <zhsj@debian.org>
This commit is contained in:
Shengjing Zhu 2020-02-11 19:53:17 +08:00
parent 4f348c5b5b
commit 348e683ceb
2 changed files with 12 additions and 4 deletions

2
contrib/autocomplete/ctr Executable file → Normal file
View File

@ -1,5 +1,5 @@
#! /bin/bash #! /bin/bash
## This file is a direct copy of https://github.com/urfave/cli/blob/a221e662f14fd7404302444a5c4293409a401210/autocomplete/bash_autocomplete ## This file is a direct copy of https://github.com/urfave/cli/blob/d04c0883fcc8860836ab30ade0fd29afa194ab23/autocomplete/bash_autocomplete
: ${PROG:=$(basename ${BASH_SOURCE})} : ${PROG:=$(basename ${BASH_SOURCE})}

View File

@ -1,13 +1,21 @@
#compdef ctr #compdef ctr
# This file is a direct copy of https://github.com/urfave/cli/blob/a221e662f14fd7404302444a5c4293409a401210/autocomplete/zsh_autocomplete # This file is a direct copy of https://github.com/urfave/cli/blob/d04c0883fcc8860836ab30ade0fd29afa194ab23/autocomplete/zsh_autocomplete
# With $PROG changed to ctr # With $PROG changed to ctr
_cli_zsh_autocomplete() { _cli_zsh_autocomplete() {
local -a opts local -a opts
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}") local cur
cur=${words[-1]}
if [[ "$cur" == "-"* ]]; then
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}")
else
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}")
fi
_describe 'values' opts if [[ "${opts[1]}" != "" ]]; then
_describe 'values' opts
fi
return return
} }