# 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=0; i < ${#COMPREPLY[@]}; i++ )); do file=${COMPREPLY[$i]##*/} dir=${COMPREPLY[$i]%RCS/*} COMPREPLY[$i]=$dir$file done COMPREPLY+=( $( compgen -G "$dir/$file*,v" ) ) for (( i=0; i < ${#COMPREPLY[@]}; i++ )); 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: ts=4 sw=4 et filetype=sh