From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15628 invoked from network); 14 Jun 2001 17:25:25 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 14 Jun 2001 17:25:25 -0000 Received: (qmail 17042 invoked by alias); 14 Jun 2001 17:24:51 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 14918 Received: (qmail 17025 invoked from network); 14 Jun 2001 17:24:50 -0000 X-Authentication-Warning: candle.brasslantern.com: schaefer set sender to lantern@shell10.ba.best.com using -f From: "Bart Schaefer" Message-Id: <1010614172355.ZM28756@candle.brasslantern.com> Date: Thu, 14 Jun 2001 17:23:55 +0000 X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.dk Subject: Skipping certain completers -- how? MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I have: zstyle ':completion:*' completer \ _oldlist _expand _complete _match _ignored _approximate _prefix I'd like to use only a subset of that list in certain instances, but the completer style is looked up with context ':completion:::::' so it's not possible to use the context to restrict the list. A specific example: When completing the cvs subcommand name (the first word after `cvs' itself) I'd rather that _expand, _ignored, and _prefix were NOT called. My guess is that this can only be accomplished with a "control function" similar to _prefix except operating sort of in reverse -- that is, you make that function your only completer, then give the "real" completers in a nother style that's looked up by the control function, which then calls them. We also have the avoid-completer style that could be used to give a list of completers to skip in such a control function. Can anyone think of anything else that would be involved, or of a better way to accomplish this? -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net