diff options
Diffstat (limited to 'completions/mktemp')
-rw-r--r-- | completions/mktemp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/completions/mktemp b/completions/mktemp index e063810..a13542a 100644 --- a/completions/mktemp +++ b/completions/mktemp @@ -1,29 +1,30 @@ # mktemp(1) completion -*- shell-script -*- -_mktemp() +_comp_cmd_mktemp() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return + local noargopts='!(-*|*[p]*)' + # shellcheck disable=SC2254 case "$prev" in --help | --version | --suffix) return ;; - --tmpdir | -!(-*)p) - _filedir -d + --tmpdir | -${noargopts}p) + _comp_compgen_filedir -d return ;; esac - $split && return + [[ $was_split ]] && return if [[ $cur == -* ]]; then - local opts=$(_parse_help "$1") - [[ $opts ]] || opts="-d -u -q -p -t" # non-GNU fallback - COMPREPLY=($(compgen -W "$opts" -- "$cur")) + _comp_compgen_help || + _comp_compgen -- -W '-d -u -q -p -t' # non-GNU fallback [[ ${COMPREPLY-} == *= ]] && compopt -o nospace fi } && - complete -F _mktemp mktemp + complete -F _comp_cmd_mktemp mktemp # ex: filetype=sh |