comparison contrib/bash_completion @ 1152:ff560ce0c635

bash_completion: small cleanup and bugfix _hg_count_non_option wasn't taking global options into account while counting non-option arguments. It also used only its first argument.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Mon, 29 Aug 2005 20:37:07 +0200
parents 10b4f2a5ce17
children fa9ae7df88a9
comparison
equal deleted inserted replaced
1151:10b4f2a5ce17 1152:ff560ce0c635
39 local i count=0 39 local i count=0
40 local filters="$1" 40 local filters="$1"
41 41
42 for (( i=1; $i<=$COMP_CWORD; i++ )); do 42 for (( i=1; $i<=$COMP_CWORD; i++ )); do
43 if [[ "${COMP_WORDS[i]}" != -* ]]; then 43 if [[ "${COMP_WORDS[i]}" != -* ]]; then
44 for f in $filters; do 44 if [[ ${COMP_WORDS[i-1]} == @($filters|$global_args) ]]; then
45 if [[ ${COMP_WORDS[i-1]} == $f ]]; then 45 continue
46 continue 2 46 fi
47 fi
48 done
49 count=$(($count + 1)) 47 count=$(($count + 1))
50 fi 48 fi
51 done 49 done
52 50
53 echo $(($count - 1)) 51 echo $(($count - 1))
152 ;; 150 ;;
153 debugdata) 151 debugdata)
154 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "!*.d" -- "$cur" )) 152 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "!*.d" -- "$cur" ))
155 ;; 153 ;;
156 cat) 154 cat)
157 local count=$(_hg_count_non_option -o --output) 155 local count=$(_hg_count_non_option '-o|--output')
158 if [ $count = 2 ]; then 156 if [ $count = 2 ]; then
159 _hg_tags 157 _hg_tags
160 else 158 else
161 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" )) 159 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
162 fi 160 fi