Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Another keep-prefix problem

In reading through the man page some more, it looks like in this case
I should be complaining about the "suffix" style:  that it requires
the word to start with a $ or a ~ for this rule to kick in.

The old expander does not require this.  I.e. it treats this as a
completion request (use expand-or-complete without _expand in your
completer setting):

  % ls -l /net/machine$path/foo<TAB>

This does not expand anything.  I think that it will cause less
confusion if the new expander would work like the old one does in
this regard.

However, I have the same complaint about keep-prefix when using

  % ls -l /net/machine$path/foo*<TAB>

I'd like to see $path left unexpanded.  In other words, I want keep-
prefix to preserve the prefix no matter where the $ expression is in
the prefix.

> Maybe you want to look at the `subst-globs-only' and/or `substitute'
> styles, if you haven't already done so.

I suppose using subst-globs-only might be a fairly good way to go
(along with changing ^Xe to something that would actually expand
variables -- using "expand-word" seems to work fine).  However, using
this setting does still "fail" my glob-expansion test above (i.e. it
does not leave the $path unexpanded when expanding wildcards).

Using "substitute false" appears to break wildcards with variables
completely, so that doesn't appear to be useful to me.


Messages sorted by: Reverse Date, Date, Thread, Author