From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14930 invoked from network); 21 Jun 1999 07:44:43 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 21 Jun 1999 07:44:43 -0000 Received: (qmail 20337 invoked by alias); 21 Jun 1999 07:44:23 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6734 Received: (qmail 20330 invoked from network); 21 Jun 1999 07:44:22 -0000 Message-Id: <9906210715.AA16384@ibmth.df.unipi.it> To: zsh-workers@sunsite.auc.dk (Zsh hackers list) Subject: Re: pws-23 In-Reply-To: ""Bart Schaefer""'s message of "Sun, 20 Jun 1999 17:15:53 DFT." <990620171553.ZM14680@candle.brasslantern.com> Date: Mon, 21 Jun 1999 09:15:45 +0200 From: Peter Stephenson "Bart Schaefer" wrote: > There seems to be a problem in this tar file with Completion/Base/_first -- > to wit, it's a fragment of Completion/Base/_subscript, and the entire > previous contents of _first (which was nothing but a long comment) have > disappeared. Somehow applying a patch has done for it. This is how I think it should look after 6685. #compdef -first- # This function is called at the very beginning before any other # function for a specific context. # # This just gives some examples of things you might want to do here. # # # If you use the vared builtin and want completion in there to act the # way completion on the right hand side of assignments is done, add # (or un-comment) this code: # # if [[ -n $compstate[vared] ]]; then # if [[ $compstate[vared] = *\[* ]]; then # # vared on an array-element # compstate[parameter]=${compstate[vared]%%\[*} # compstate[context]=value # else # # vared on a parameter, let's see if it is an array # compstate[parameter]=$compstate[vared] # if [[ ${(tP)compstate[vared]} = *(array|assoc)* ]]; then # compstate[context]=array_value # else # compstate[context]=value # fi # fi # return # fi # # # # Other things you can do here is to complete different things if the # word on the line matches a certain pattern. This example allows # completion of words from the history by adding two commas at the end # and hitting TAB. # # if [[ "$PREFIX" = *,, ]]; then # local max i=1 # # PREFIX="$PREFIX[1,-2]" # # If a numeric prefix is given, we use it as the number of # # lines (multiplied by ten below) in the history to search. # if [[ ${NUMERIC:-1} -gt 1 ]]; then # max=$NUMERIC # unset NUMERIC # else # # The default is to search the last 100 lines. # max=10 # fi # # We first search in the last ten lines, then in the last # # twenty lines, and so on... # while [[ i -le max ]]; do # if compgen -X "%Bhistory ($n):%b" -Q -H $(( i*10 )) ''; then # # We have found at least one matching word, so we switch # # on menu-completion and make sure that no other # # completion function is called by setting _comp_skip. # compstate[insert]=menu # _comp_skip=1 # return # fi # (( i++ )) # done # fi -- Peter Stephenson Tel: +39 050 844536 WWW: http://www.ifh.de/~pws/ Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy