1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-05-20 06:56:05 +02:00

49645: when completing for the path_dirs option, add a / suffix and follow symlinks

This commit is contained in:
Oliver Kiddle 2021-12-13 20:59:25 +01:00
parent 78c51b34c0
commit 7791a6876c
2 changed files with 10 additions and 6 deletions

View File

@ -1,5 +1,8 @@
2021-12-13 Oliver Kiddle <opk@zsh.org>
* 49645: Completion/Unix/Type/_path_commands: when completing for
the path_dirs option, add a / suffix and follow symlinks
* 49643: Completion/Zsh/Type/_command_names: facilitate use
of the fake style by always calling _description with the
executables tag

View File

@ -87,18 +87,19 @@ fi
# 'if' block move up to the "_command_names -" branch of _command_names?
if [[ -o path_dirs ]]; then
local -a path_dirs
path_dirs=(${^path}/*(/N:t))
(( ${#path_dirs} )) &&
_wanted path-dirs expl 'directory in path' compadd "$@" -a path_dirs && ret=0
if [[ $PREFIX$SUFFIX = */* ]]; then
path_dirs=( ${path:#.} )
# Find command from path, not hashed
_wanted commands expl 'external command' _path_files -W path -g '*(*)' &&
ret=0
_wanted commands expl 'external command' _path_files -W path_dirs -g '*(-*)' && ret=0
else
path_dirs=(${^path}/*(/N:t))
(( ${#path_dirs} )) &&
_wanted path-dirs expl 'directory in path' compadd "$@" -S / -a path_dirs && ret=0
fi
fi
return $ret
return ret
}
_path_commands "$@"