From mboxrd@z Thu Jan 1 00:00:00 1970 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes Date: Tue, 2 Feb 1999 15:54:19 +0100 (MET) Message-Id: <199902021454.PAA09317@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Peter Stephenson's message of Tue, 02 Feb 1999 15:27:36 +0100 Subject: Re: Manual entry for compctl -M X-Mailing-List: 5181 Peter Stephenson wrote: > I'm just trying to tidy up the zshcomptl manual page a bit, since it's > changed quite a lot (now I'll have to try and work the latest patch > in). Oops, sorry. > The difficult bit is -M. In particular I don't understand what > is going on the partial completion example at all, nor can I get it to > work. The incantation given is: > > compctl -M 'r:|[.,_-]=* r:|=*' > > First, according to the description above this, it means that the > `line pattern' is blank and the anchor is one of the set in [...]. Is > that right? Wouldn't I need to ignore what's on the left? That's exactly what happens. The (first) pattern means: an empty string to the left of (the anchor) `[.,_-]' matches any number of characters. I.e.: any character on the left of the anchor `will be ignored'. > How does > that help me complete, say comp.sources.u as a partial word? I > tried something like > > % compctl -M 'r:[.,_-]|=* r:|=*' -k '(comp sources unix)' foo > % foo c.s.u > > but nothing happened. I can get the c on its own to work, as usual, > but nothing else. The words have to contain the anchors: compctl -M 'r:|[.,_-]=* r:|=*' \ -k '(comp.sources.unix comp.sources.misc)' foo or just compctl -M 'r:|[.,_-]=* r:|=*' as a global matcher and you can get `Zle/z_tr.c' to complete to `Zle/zle_tricky.c'. (Note also that I put the anchor in its place again, after the `|'.) Bye Sven -- Sven Wischnowsky wischnow@informatik.hu-berlin.de