X-Spam-Check-By: sourceware.org Message-ID: Date: Tue, 30 Jan 2007 09:49:23 -0500 From: "Jared Silva" To: cygwin Subject: Re: /etc/bash_completion & svn/svk completion In-Reply-To: <45BEC132.6000006@byu.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <45BEC132 DOT 6000006 AT byu DOT net> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Eric Blake wrote: > You can also try debugging it yourself. At the command line, turn on the > options 'set -xv', then when you hit TAB, you will see what bash is trying > to do during the tab completion. I don't personally use svn, so I'm not > the best candidate to help you fix the _svn() helper function used when > tab-completing svn, but compgen is loaded with options to try to help > decipher when to use directories with or without a trailing slash. Any idea what this means? $ svn update Con+ local cur prev commands options command + COMPREPLY=() + cur=Con + commands='add blame praise annotate ann cat checkout co cleanup commit \ ci copy cp delete del remove rm diff di export help ? h import \ info list ls lock log merge mkdir move mv rename ren \ propdel pdel pd propedit pedit pe propget pget pg \ proplist plist pl propset pset ps resolved revert \ status stat st switch sw unlock update up' + [[ 2 -eq 1 ]] + prev=update + case $prev in + command=update + [[ Con == -* ]] + [[ update == @(help|h|\?) ]] + _filedir + local 'IFS= ' xspec + _expand + '[' Con '!=' Con ']' + [[ Con == \~*/* ]] + [[ Con == \~* ]] + '[' '' = -d ']' + xspec= + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "$xspec" -- "$cur" ) $( compgen -d -- "$cur" )) compgen -f -X "$xspec" -- "$cur" ++ compgen -f -X '' -- Con compgen -d -- "$cur" ++ compgen -d -- Con + return 0 fig Here is "cd", which works. $ cd Con+ local 'IFS= ' cur=Con i j k + [[ Con == ?(\\)\$* ]] + '[' -z '' ']' + _filedir -d + local 'IFS= ' xspec + _expand + '[' Con '!=' Con ']' + [[ Con == \~*/* ]] + [[ Con == \~* ]] + '[' -d = -d ']' + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- $cur )) compgen -d -- $cur ++ compgen -d -- Con + return 0 + return 0 fig/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/