mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-11 13:01:28 +02:00
make expand style (file completion) work again; no more special behaviour with menu completion; try to make docs clearer (15944)
This commit is contained in:
parent
7a1139b5e0
commit
22d506ed6b
3 changed files with 22 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
|||
2001-10-05 Sven Wischnowsky <wischnow@zsh.org>
|
||||
|
||||
* 15944: Completion/Unix/Type/_path_files, Doc/Zsh/compsys.yo:
|
||||
make expand style (file completion) work again; no more special
|
||||
behaviour with menu completion; try to make docs clearer
|
||||
|
||||
2001-10-05 Geoff Wing <gcw@zsh.org>
|
||||
|
||||
* unposted: Doc/Zsh/options.yo: typo
|
||||
|
|
|
@ -332,6 +332,8 @@ for prepath in "$prepaths[@]"; do
|
|||
|
||||
# Get the matching files by globbing.
|
||||
|
||||
tmp2=( "$tmp1[@]" )
|
||||
|
||||
if [[ "$tpre$tsuf" = */* ]]; then
|
||||
compfiles -P$cfopt tmp1 accex "$skipped" "$_matcher" "$sdirs" fake
|
||||
elif [[ "$sopt" = *[/f]* ]]; then
|
||||
|
@ -344,7 +346,9 @@ for prepath in "$prepaths[@]"; do
|
|||
if [[ -n "$PREFIX$SUFFIX" ]]; then
|
||||
# See which of them match what's on the line.
|
||||
|
||||
if [[ "$tmp1[1]" = */* ]]; then
|
||||
if (( ! $#tmp1 )); then
|
||||
tmp2=( ${^tmp2}/$PREFIX$SUFFIX )
|
||||
elif [[ "$tmp1[1]" = */* ]]; then
|
||||
if [[ -n "$_comp_correct" ]]; then
|
||||
tmp2=( "$tmp1[@]" )
|
||||
builtin compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp1:t}"
|
||||
|
@ -505,12 +509,15 @@ for prepath in "$prepaths[@]"; do
|
|||
SUFFIX="$osuf"
|
||||
fi
|
||||
|
||||
if [[ -n $menu || -z "$compstate[insert]" ]] ||
|
||||
! zstyle -t ":completion:${curcontext}:paths" expand suffix ||
|
||||
# This once tested `-n $menu ||' but our menu-completion expert says
|
||||
# that's not what we want.
|
||||
|
||||
if [[ -z "$compstate[insert]" ]] ||
|
||||
{ ! zstyle -t ":completion:${curcontext}:paths" expand suffix &&
|
||||
[[ -z "$listsfx" &&
|
||||
( -n "$_comp_correct" ||
|
||||
-z "$compstate[pattern_match]" || "$SUFFIX" != */* ||
|
||||
"${SUFFIX#*/}" = (|*[^\\])[][*?#~^\|\<\>]* ) ]]; then
|
||||
"${SUFFIX#*/}" = (|*[^\\])[][*?#~^\|\<\>]* ) ]] }; then
|
||||
(( tmp4 )) && zstyle -t ":completion:${curcontext}:paths" ambiguous &&
|
||||
compstate[to_end]=
|
||||
if [[ "$tmp3" = */* ]]; then
|
||||
|
|
|
@ -1070,15 +1070,15 @@ the file tt(/etc/resolv.conf).
|
|||
kindex(expand, completion style)
|
||||
item(tt(expand))(
|
||||
This style is used when completing strings consisting of multiple
|
||||
parts, such as path names. If its
|
||||
value contains the string `tt(prefix)', the partially typed word from
|
||||
parts, such as path names. If one of its values is
|
||||
the string `tt(prefix)', the partially typed word from
|
||||
the line will be expanded as far as possible even if trailing parts
|
||||
cannot be completed. If it contains the string `tt(suffix)'
|
||||
and normal (non-menu-) completion is used, matching names for
|
||||
cannot be completed. If one of its values is the string `tt(suffix)',
|
||||
matching names for
|
||||
components after the first ambiguous one will also be added. This
|
||||
means that the resulting string is the longest unambiguous string
|
||||
possible, but if menu completion is started on the list of matches
|
||||
generated this way (e.g. due to the option tt(AUTO_MENU) being set),
|
||||
generated this way,
|
||||
this will also cycle through the names of the files in pathname
|
||||
components after the first ambiguous one.
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue