Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh -<TAB> dose not use menu completion

On Feb 2, 10:56pm, Jun T. wrote:
} Subject: zsh -<TAB> dose not use menu completion
} if I type 'ls -<TAB><TAB>' then it goes into the menu completion. But
} for 'zsh -<TAB><TAB>' or 'zsh --a<TAB><TAB>' automenu does not work.


} If I replace
} 	_arguments -S -s -- '*:'	(line 27 of _sh)
} by
} 	_arguments -S -s --
} then 'zsh -^Xh' gives
}     options    (_arguments _sh)    # i.e., no argument-1
} and 'zsh -<TAB>' works as expected without the zstyle above.
} But I don't know why '*:' makes this difference.

Doc says (last sentence of this paragraph):

     In addition to options, `_arguments --' will try to deduce the
     types of arguments available for options when the form `--OPT=VAL'
     is valid.  It is also possible to provide hints by examining the
     help text of the command and adding HELPSPEC of the form
     `PATTERN:MESSAGE:ACTION'; note that other _arguments SPEC forms
     are not used.  The PATTERN is matched against the help text for an
     option, and if it matches the MESSAGE and ACTION are used as for
     other argument specifiers.  The special case of `*:' means both
     MESSAGE and ACTION are empty, which has the effect of causing
     options having no description in the help output to be ordered in
     listings ahead of options that have a description.

With "zstyle ':completion:*:zsh:*' tag-order options" all the --optname
options are listed *after* all the single-letter options.  So there is
something going on with the sort order that causes the menu not to be
entered when the --optname list comes first.

Messages sorted by: Reverse Date, Date, Thread, Author