# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*- # ex: ts=8 sw=8 noet filetype=sh # # bash completion for rcs have rcs && _rcs() { local cur prev file dir i COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} 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=( "${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 -a $1 = ci ] && _filedir || _filedir -d } && complete -F _rcs $filenames ci co rlog rcs rcsdiff