Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: completion within a function
On Wed, Dec 30, 2020 at 2:43 PM Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
>
> On Wed, Dec 30, 2020 at 9:22 AM Felipe Contreras
> <felipe.contreras@xxxxxxxxx> wrote:
> >
> > After removing all the unnecessary stuff from the tests, I came up
> > with this script that does list completions:
>
> I think it might be possible to do something even less complicated.
> The basic idea is to first borrow this from the manual:
>
> zle -C all-matches complete-word _generic
> bindkey '^Xa' all-matches
> zstyle ':completion:all-matches::::' completer \
> _all_matches _complete
> zstyle ':completion:all-matches:*' insert true
>
> And then:
>
> do-complete() { zle -U $'\Cxa\n' }
> zle -N do-complete
> run-complete () {
> vared -i do-complete argv
> }
> complete() {
> local -i n=$argc
> zpty complete-tty run-complete "$@"
> zpty -r complete-tty
> zpty -d complete-tty
> }
>
> There is likely some additional quoting needed on $@ to assure the
> right arguments are passed to run-complete, and some more could be
> done to separate the context from the results.
I don't know what that's supposed to do, but nothing happens when I
run: complete "g" (other than the fact that "g" is printed).
--
Felipe Contreras
Messages sorted by:
Reverse Date,
Date,
Thread,
Author