# chgrp(1) completion -*- shell-script -*- proc _chgrp { local cur prev words cword split _init_completion -s || return setglobal cur = $(cur//\\\\/) if [[ "$prev" == --reference ]] { _filedir return 0 } $split && return 0 # options completion if [[ "$cur" == -* ]] { local w opts for w in [$(words[@])] { [[ "$w" == -@(R|-recursive) ]] && setglobal opts = '"-H -L -P'" && break } setglobal COMPREPLY = ''( $( compgen -W '-c -h -f -R -v --changes --dereference --no-dereference --silent --quiet --reference --recursive --verbose --help --version $opts' -- "$cur" ) ) return 0 } # first parameter on line or first since an option? if [[ $cword -eq 1 && "$cur" != -* || "$prev" == -* ]] { _allowed_groups $cur } else { _filedir || return 0 } return 0 } && complete -F _chgrp chgrp # ex: ts=4 sw=4 et filetype=sh