Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
RE: Completion of dirs confused over cursor position
- X-seq: zsh-users 5659
- From: Borzenkov Andrey <Andrey.Borzenkov@xxxxxxxxxxx>
- To: "'Phil Pennock'" <phil.pennock@xxxxxxxxxxx>, zsh-users@xxxxxxxxxx
- Subject: RE: Completion of dirs confused over cursor position
- Date: Thu, 9 Jan 2003 19:01:50 +0300
- Importance: Normal
- In-reply-to: <20030109160645.GA22637@xxxxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
> 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
>
compdef. Shame on me :(
bor@itsrm2% compdef _foo foo
bor@itsrm2% function _foo { _files -W ~/test }
bor@itsrm2% foo a\ b/
Completing file
a\ b/ c\\\ d/ radius/ uudecode/
> 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?
http://zsh.sunsite.dk/Guide/
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.
>
what we need is splitting current documentation into development guide and
user stuff. Completion manual pages are more of the former but they lack too
much to be of any real use. And average user needs mostly just _arguments,
_files and possibly _values to generate own completions and exactly these
have to poor documentation (and nightmare syntax :)).
-andrej
> > 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).
Urgh :))
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