Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: completer that first expands global aliases (Re: dsf)
Thanks for your time, this is all a bit above me, and perhaps I should learn
more about zle and all to deserve the fancy and particular things I want...
> You can insert _expand_alias before _files in the list of completer
> functions. I'm not sure if that works in the way you want: a global
> alias will simply be expanded. If you tried that and it didn't work then
> I would suspect that your default completer style is getting precedence
> over this one. Try using more colons instead of a *:
Yes, it just expands the global alias, and then quits (?!). I would like it to
first expand, and then proceed with matching, or whatever it should do.
I have a couple of global aliases for directories:
alias -g DL="~/dl/"
I tried out your most-recent-* and it seems fine and more robust. I can't get
it to work the way I want though.
> zstyle ':completion:most-recent-*::::' completer _menu _complete _match
If I add the _expand_alias like below, hitting ^Xm gives the expansion with a
trailing space. And nothing more happens. The hash is the cursor position:
zstyle ':completion:most-recent-*::::' completer _expand_alias _menu _complete _match
$ cat ~/dl/ #
And if I add it after _menu, I get the expansion without a trailing space.
Hitting ^Xm again then sure enough gives me the newest file in "DL".
zstyle ':completion:most-recent-*::::' completer _menu _expand_alias _complete _match
$ cat ~/dl/#
Maybe the problem is related to alias expansion being inherently based on
words, and will typically expand with a trailing space. Is these directory
shortcuts I want a reasonable use of global aliases, or do I want something
else...?
Messages sorted by:
Reverse Date,
Date,
Thread,
Author