Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: completion within a function
On 2020-12-29 8:34 p.m., Roman Perepelitsa wrote:
Where and how do you want to invoke this code?
In a function named 'c'. It's my one stop shopping wrapper around
'cd'. Mostly it offers a zcurses based (thanks Sebastian) selection of
previously visited directories from a persistent, global directory stack
, but the code I just added (thanks Bart) now gives me this pseudo
completion like this:
8 /aWorking/Zsh/Source/Wk 4 $ c N- # I could have just pressed TAB
here to complete.
Changing to N-functionsWorking ...
8 /aWorking/Zsh/Source/Wk/N-functionsWorking 4
$ 7:25AM Wed 30
... So before offering a zcurses selection from the directory stack, it
now attempts what would be almost exactly the same as:
$ cd N- [TAB]
... Bart's code just globs " N-* " so " N-functionsWorking " is found
automagically. It's sorta better than TAB anyway because there will be
no mysterious completions. Also actually using TAB on the command line
sometimes gives you several possible completions but as I have it, if
there's only one match it just 'cd's' there, if not, you get the zcurses
selection window. (And of course I still can complete using TAB if I
feel like it anyway, that option remains.) I quite love my 'c' wrapper,
life was solitary, poor, nasty brutish and short without it.
So the idea of invoking completion within a function is now a matter of
curiosity only. Still I'm surprised it can't be done. It's one of
those things where zsh smartness is hard to turn off.
Here's a real life example of 'c' being elegant. Where the hell are my
zsh distribution functions?
8 /aWorking/Zsh/Source/Wk 4 $ c ,a Functions zsh
Searching entire system for directories matching: "Functions" "zsh"
(case INsensitive, WILD) ...
Changing to /aWorking/Zsh/Zsh-5.8/share/zsh/5.8/functions ...
8 /aWorking/Zsh/Zsh-5.8/share/zsh/5.8/functions 4 $ # Sweetly found.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author