diff options
Diffstat (limited to 'completions/chgrp')
-rw-r--r-- | completions/chgrp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/completions/chgrp b/completions/chgrp new file mode 100644 index 0000000..4793a45 --- /dev/null +++ b/completions/chgrp @@ -0,0 +1,39 @@ +# chgrp(1) completion -*- shell-script -*- + +_chgrp() +{ + local cur prev words cword split + _init_completion -s || return + + cur=${cur//\\\\/} + + if [[ $prev == --reference ]]; then + _filedir + return + fi + + $split && return + + # options completion + if [[ $cur == -* ]]; then + local w opts + for w in "${words[@]}"; do + [[ $w == -@(R|-recursive) ]] && opts="-H -L -P" && break + done + COMPREPLY=($(compgen -W '-c -h -f -R -v --changes --dereference + --no-dereference --silent --quiet --reference --recursive --verbose + --help --version $opts' -- "$cur")) + return + fi + + # first parameter on line or first since an option? + if [[ $cword -eq 1 && $cur != -* || $prev == -* ]]; then + _allowed_groups "$cur" + else + _filedir + fi + +} && + complete -F _chgrp chgrp + +# ex: filetype=sh |