# bash completion for rcs -*- shell-script -*- _rcs() { local cur prev words cword _init_completion || return local file dir i file=${cur##*/} dir=${cur%/*} # deal with relative directory [[ $file == "$dir" ]] && dir=. COMPREPLY=($(compgen -f -- "$dir/RCS/$file")) for i in ${!COMPREPLY[*]}; do file=${COMPREPLY[i]##*/} dir=${COMPREPLY[i]%RCS/*} COMPREPLY[i]=$dir$file done COMPREPLY+=($(compgen -G "$dir/$file*,v")) for i in ${!COMPREPLY[*]}; do COMPREPLY[i]=${COMPREPLY[i]%,v} done # default to files if nothing returned and we're checking in. # otherwise, default to directories [[ ${#COMPREPLY[@]} -eq 0 && $1 == *ci ]] && _filedir || _filedir -d } && complete -F _rcs ci co rlog rcs rcsdiff # ex: filetype=sh