# bash completion for rcs -*- shell-script -*- proc _rcs { var cur = '', prev = '', words = '', cword = '' _init_completion || return var file = '', dir = '', i = '' set file = $(cur##*/) set dir = $(cur%/*) # deal with relative directory [[ $file == $dir ]] && set dir = '.' setglobal 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 setglobal 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