/bash_completion_lib/complete -o filenames/rcs
http://github.com/brinkman83/bashrc · #! · 38 lines · 26 code · 12 blank · 0 comment · 0 complexity · 4c0885c00351c4a332eae73e4a67838e MD5 · raw file
- # rcs(1) completion
- comp_include _filedir _get_cword
- _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
- } # _rcs()