From f2621414ee5f2f601424c22f00e207903e3b6104 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 03:03:18 +0200 Subject: Merging upstream version 1:2.12.0. Signed-off-by: Daniel Baumann --- completions/chmod | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'completions/chmod') diff --git a/completions/chmod b/completions/chmod index d3fc349..3dbc16f 100644 --- a/completions/chmod +++ b/completions/chmod @@ -1,41 +1,40 @@ # chmod(1) completion -*- shell-script -*- -_chmod() +_comp_cmd_chmod() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return case $prev in --help | --version) return ;; --reference) - _filedir + _comp_compgen_filedir return ;; esac - $split && return + [[ $was_split ]] && return # Adapted from coreutils 8.28 chmod man page local modearg="-@(@(+([rwxXst])|[ugo])|+([0-7]))" # shellcheck disable=SC2053 if [[ $cur == -* && $cur != $modearg ]]; then - local opts=$(_parse_help "$1") - COMPREPLY=($(compgen -W '${opts:-$(_parse_usage "$1")}' -- "$cur")) + _comp_compgen_help || _comp_compgen_usage [[ ${COMPREPLY-} == *= ]] && compopt -o nospace return fi - local args - _count_args "" "" "$modearg" + local REPLY + _comp_count_args -i "$modearg" - case $args in + case $REPLY in 1) ;; # mode - *) _filedir ;; + *) _comp_compgen_filedir ;; esac } && - complete -F _chmod chmod + complete -F _comp_cmd_chmod chmod # ex: filetype=sh -- cgit v1.2.3