From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13541 invoked from network); 20 Jul 1999 13:03:31 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 20 Jul 1999 13:03:31 -0000 Received: (qmail 10265 invoked by alias); 20 Jul 1999 13:03:22 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7224 Received: (qmail 10258 invoked from network); 20 Jul 1999 13:03:21 -0000 Message-Id: <9907201232.AA24396@ibmth.df.unipi.it> To: zsh-workers@sunsite.auc.dk Subject: Re: Inserting all completions In-Reply-To: "Sven Wischnowsky"'s message of "Tue, 20 Jul 1999 09:53:25 DFT." <199907200753.JAA00773@beta.informatik.hu-berlin.de> Date: Tue, 20 Jul 1999 14:32:24 +0200 From: Peter Stephenson Sven Wischnowsky wrote: > 1) a way to get at the strings for the matches added > > Unfortunately 1) is not trivial: > > - we really have the information about the matches only *after* the > completion widget finished, because then the code that sorts the > matches and eliminates duplicates is run; changing that would make > adding matches much more expensive (checking for duplicates after > each added match) Maybe a compstate parameter could be set to give a hook function to run after completion is finished, which could simply be another completion widget. All the completion variables are available at that point and the second widget could decide what to add based on the now-existing list. Some fiddling round with compstate parameters in the first and second widgets should get this to work. It could be done as a command like _expand, calling the normal completion but with some extra things set. It could even be done in such a way that the same widget was called again by the hook mechanism and could detect the fact on the second call and perform the insertion or whatever. -- Peter Stephenson Tel: +39 050 844536 WWW: http://www.ifh.de/~pws/ Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy