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

Re: command completion

On 2011-08-14 15:14:53 -0700, Bart Schaefer wrote:
> Here we have the key.  In order to stop "remaining tags" from being tried,
> the value "-" must appear somewhere in the completion style.  So your
> problem is solved by:
>     zstyle ':completion:*:complete:-command-:*' tag-order 'commands' -
> (note trailing dash).

Not really. I still wish to generate a completion for directories in
the cdpath if there are no matches. Consider the following example:

autoload -U compinit
zstyle ':completion:*:complete:-command-:*' tag-order 'commands executables builtins functions aliases suffix-aliases reserved-words jobs parameters' -
mkdir temp_dir
cd temp_dir
mkdir bin dir prefix-dir
touch bin/prefix-cmd1
chmod 755 bin/prefix-cmd1
touch dir/prefix-cmd2
chmod 755 dir/prefix-cmd2
path=($PWD/bin $path)
echo $path
cdpath=(. $PWD)
setopt AUTO_CD
cd dir

If I type prefix[TAB][TAB], I get:

% prefix-cmd
prefix-cmd1   prefix-cmd2*

as more or less expected (I don't know why prefix-cmd2 as an asterisk
but not prefix-cmd1).

However, if I type prefix-d[TAB], I get no completions, while I would
like "prefix-dir".

If I remove the trailing dash from the zstyle line and I type
prefix[TAB][TAB], I get:

% prefix-
prefix-cmd1   prefix-cmd2*  prefix-dir/

which is not what I want either.

Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)

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