Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: completion for perl
- X-seq: zsh-workers 10123
- From: Adam Spiers <adam@xxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: PATCH: completion for perl
- Date: Mon, 13 Mar 2000 17:10:31 +0000
- In-reply-to: <200003131057.LAA17005@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>; from wischnow@xxxxxxxxxxxxxxxxxxxxxxx on Mon, Mar 13, 2000 at 11:57:05AM +0100
- Mail-followup-to: zsh-workers@xxxxxxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <200003131057.LAA17005@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Reply-to: Adam Spiers <adam@xxxxxxxxxx>
Sven Wischnowsky (wischnow@xxxxxxxxxxxxxxxxxxxxxxx) wrote:
>
> Adam Spiers wrote:
>
> > Whilst struggling with the mess which is _perl_config_vars below, it
> > struck me how an equivalent of compset -P which matched the /whole/ of
> > PREFIX rather than just the beginning would have come in handy.
>
> Err... `compset -P "*"' does that, but it leaves you with an empty
> $PREFIX, of course, which is probably not what one wants.
Sorry; I didn't explain myself clearly at all. I would like to be
able to do a compset -P type of operation using a pattern which is
anchored to both the start /and/ end of PREFIX, rather than just the
start, which is what currently always happens. Then again, I suppose
this can be implemented easily manually, e.g.:
if [[ "$PREFIX" == *: ]]; then
IPREFIX="$IPREFIX$PREFIX"
PREFIX=''
fi
> > Also, as you can see from the compstate[quoting] line below, I
> > tried to get completion working for
> >
> > $ perl -V:'<TAB>
> >
> > and
> >
> > $ perl -V:"<TAB>
> >
> > so that it would insert a single space after each configuration
> > variable completed while within quotes, rather than a quoted single
> > space, but I didn't fully understand how compset -q works, and
> > couldn't stop it from eating up the opening quote. Help! :-)
>
> The problem is that we check the quoting stuff at the very beginning
> of the completion code -- and detect only quotes at the beginning of
> the word. So what we could get to work is completion of
>
> $ perl '-V:<TAB>
>
> but not with the quote after the colon. That's done with first calling
> `compset -q', then the `compset -P'. Getting quotes in words to work
> is to hard to make me try it (all kinds of nasty interactions with the
> lexer). But maybe calling first `compset -P' and then `compset -q'
> should have the same effect as the other way round... I currently
> don't remember why it behaves the way it does.
So is there currently no solution? I tried using things like
compset -P '*"'
but they never matched, presumably because of the lexer interactions
you mention.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author