Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Completion of dirs confused over cursor position
- X-seq: zsh-users 5658
- From: Phil Pennock <phil.pennock@xxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: Completion of dirs confused over cursor position
- Date: Thu, 9 Jan 2003 16:06:46 +0000
- In-reply-to: <6134254DE87BD411908B00A0C99B044F03A0B5CE@MOWD019A>
- Mail-followup-to: zsh-users@xxxxxxxxxx
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- Organisation: Demon Internet Netherlands
- References: <20030109145133.GA22171@xxxxxxxxxxx> <6134254DE87BD411908B00A0C99B044F03A0B5CE@MOWD019A>
On 2003-01-09 at 18:02 +0300, Borzenkov Andrey wrote:
> function _foo {
> _files -W /some/directory
> }
> compadd _foo commandname
>
> does it work?
No:
compadd: can only be called from completion function
However, that's looking much simpler than anything in the manual pages
or the examples I looked at in the distributed completions. :^) I was
getting lost in functions calling functions calling functions
maintaining various levels of state, with reference man-pages and no
tutorial.
Is there a tutorial somewhere which I've missed? The manual pages are
some of the most daunting I've seen. I do read manual-pages, but
looking at these I can't get a mental handle on the frameword and what
fits where, to get started.
> And doing it automatically:
>
> echo > ~/functions/_foo << EOF
> #compadd commandname
> _files -W /some/directory
> EOF
That general structure I had (although I suspect that you meant cat,
since echo doesn't use its stdin). And the supplied versions use
"#compdef". If I use "#compadd", it's not auto-loaded.
> fpath=($fpath ~/functions)
> compinit
And that I had.
> the last part obviously goes into .zshrc or whatever. Try running
> compinstall as well.
Yup, tried that.
Okay, logging in again, forcing a rebuild of .zcompdump (after changing
to "#compdef", it now works. :^)
Thanks,
-Phil
Messages sorted by:
Reverse Date,
Date,
Thread,
Author