From 709aa841199236a54efbfc71081e60a6e5ac4a85 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Wed, 27 May 2009 18:45:51 +0200 Subject: [PATCH] split rcs completion --- Makefile.am | 1 + bash_completion | 37 ------------------------------------- contrib/rcs | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 37 deletions(-) create mode 100644 contrib/rcs diff --git a/Makefile.am b/Makefile.am index 5dd3c170..895ffcb6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -74,6 +74,7 @@ bashcomp_DATA = contrib/ant \ contrib/rdesktop \ contrib/repomanage \ contrib/ri \ + contrib/rcs \ contrib/rpcdebug \ contrib/rpmcheck \ contrib/rrdtool \ diff --git a/bash_completion b/bash_completion index a70e9b4f..48fe52f3 100644 --- a/bash_completion +++ b/bash_completion @@ -4110,43 +4110,6 @@ _perldoc() complete -F _perldoc $default perldoc } -# rcs(1) completion -# -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 - # lilo(8) completion # have lilo && { diff --git a/contrib/rcs b/contrib/rcs new file mode 100644 index 00000000..20d13dfb --- /dev/null +++ b/contrib/rcs @@ -0,0 +1,39 @@ +# -*- 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