summaryrefslogtreecommitdiffstats
path: root/completions/mktemp
diff options
context:
space:
mode:
Diffstat (limited to 'completions/mktemp')
-rw-r--r--completions/mktemp21
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