Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Manual entry for compctl -M
- X-seq: zsh-workers 5181
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: Manual entry for compctl -M
- Date: Tue, 2 Feb 1999 15:54:19 +0100 (MET)
- In-reply-to: Peter Stephenson's message of Tue, 02 Feb 1999 15:27:36 +0100
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
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<TAB> as a partial word? I
> tried something like
>
> % compctl -M 'r:[.,_-]|=* r:|=*' -k '(comp sources unix)' foo
> % foo c.s.u<TAB>
>
> 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<TAB>' 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@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author