1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-24 05:11:08 +02:00

Alexey I. Froloff: 25459: add list-dirs-first style.

Also doc.
This commit is contained in:
Peter Stephenson 2008-08-21 15:53:00 +00:00
parent 46c4588a2b
commit c0e501d8a5
4 changed files with 38 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2008-08-21 Peter Stephenson <p.w.stephenson@ntlworld.com>
* Doc/Zsh/compsys.yo: doc for foregoing.
* Alexey I. Froloff: 25459: Completion/Unix/Type/_files: add
list-dirs-first style.
2008-08-21 Clint Adams <clint@zsh.org>
* Mikael Magnusson: 25499: Completion/Unix/Command/_git: add

View file

@ -39,6 +39,23 @@ if zstyle -a ":completion:${curcontext}:" file-patterns tmp; then
pats=( "$pats[@]" " ${i}:files " )
fi
done
elif zstyle -t ":completion:${curcontext}:" list-dirs-first; then
if [[ "$type" = *g* ]]; then
# add `^-/' after `#q' glob qualifier if not there already
if [[ "$glob" = (#b)(*\(\#q)(*\)) ]]; then
[[ $match[2] != \^-/* ]] &&
glob="${match[1]}^-/,${match[2]}"
else
glob="$glob(#q^-/)"
fi
pats=( " *(-/):directories:directories ${glob//:/\\:}:globbed-files" )
elif [[ "$type" = */* ]] then
pats=( '*(-/):directories ' '*:all-files ' )
else
pats=( '*(-/):directories:directories *(^-/):other-files ' )
fi
else
if [[ "$type" = *g* ]]; then

View file

@ -74,6 +74,7 @@ styles=(
last-prompt c:bool
list ce:listwhen
list-colors c:
list-dirs-first c:bool
list-grouped c:bool
list-packed c:bool
list-prompt c:

View file

@ -928,6 +928,11 @@ kindex(other-accounts, completion tag)
item(tt(other-accounts))(
used to look up the tt(users-hosts) style
)
kindex(other-files, completion tag)
item(tt(other-files))(
for the names of any non-directory files. This is used instead
of tt(all-files) when the tt(list-dirs-first) style is in effect.
)
kindex(packages, completion tag)
item(tt(packages))(
for packages (e.g. tt(rpm) or installed tt(Debian) packages)
@ -1854,6 +1859,14 @@ example(zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS})
The default colors are the same as for the GNU tt(ls) command and can be
obtained by setting the style to an empty string (i.e. tt('')).
)
kindex(list-dirs-first, completion style)
item(tt(list-dirs-first))(
This is used by file completion. If set, directories to be completed
are listed separately from and before completion for other files,
regardless of tag ordering. In addition, the tag tt(other-files)
is used in place of tt(all-files) for the remaining files, to indicate
that no directories are presented with that tag.
)
kindex(list-grouped, completion style)
item(tt(list-grouped))(
If this style is `true' (the default), the completion system will try to