18949: new completion for du

This commit is contained in:
Oliver Kiddle 2003-08-20 10:41:51 +00:00
parent baa21b02ad
commit ea412fbe4b
4 changed files with 50 additions and 3 deletions

View file

@ -5,7 +5,10 @@
2003-08-20 Oliver Kiddle <opk@zsh.org>
* 18947: Completion/Unix/Command/_chown: also complete options using
* 18949: Completion/Unix/Command/_du,
Completion/Unix/Type/_directories: new completion for du
* 18947: Completion/Unix/Command/_chown: also complete options using
_arguments
2003-08-19 Adam Spiers <adam@spiers.net>

View file

@ -21,5 +21,5 @@ _netcat _larch _texinfo _figlet _elinks _tidy
_global _ant _lsof _mt _xmlsoft
_perforce _python _antiword _screen _renice _apm
_ecasound _gpg _subversion _aap _sablotron _nmap
_chmod
_chmod _du
'

View file

@ -0,0 +1,44 @@
#compdef du
if _pick_variant gnu=Free\ Soft unix --version; then
_arguments -s \
'(-a --all -s --summarize)'{-a,--all}'[write counts for all files]' \
'--apparent-size[print apparent sizes rather than disc usage]' \
'(-B --block-size -k)'{-B,--block-size=}'[specify block size]:size (bytes)' \
'(-B --block-size -k --apparent-size -b --bytes)'{-b,--bytes}'[equivalent to --apparent-size --block-size=1]' \
'(-c --total)'{-c,--total}'[produce a grand total]' \
'(-D --dereference-args -L --dereference)'{-D,--dereference-args}'[dereference arguments that are symlinks]' \
'(-h --human-readable -H --si)'{-h,--human-readable}'[print sizes in human readable format]' \
'(-H --si -h --human-readable)'{-H,--si}'[human readable form using powers of 1000]' \
'(-B --block-size)-k[use block size of 1k]' \
'(-l --count-links)'{-l,--count-links}'[count sizes many times if hard linked]' \
'(-L --dereference -D --dereference-args)'{-L,--dereference}'[dereference all symlinks]' \
'(-S --separate-dirs)'{-S,--seperate-dirs}'[do not include size of subdirectories]' \
'(-s --summarize --max-depth -a --all)'{-s,--summarize}'[only display total for each argument]' \
'(-x --one-file-system)'{-x,--one-file-system}'[skip directories on different filesystems]' \
\*{-X+,--exclude-from=}'[exclude files matching any pattern in file]:file:_files' \
'*--exclude=[exclude files matching pattern]:pattern' \
'(-s --summarize)--max-depth=[maximum levels to recurse]:levels' \
'(* -)--help[display help information]' \
'(* -)--version[display version information]' \
'*:file:_files'
return
else
# based on $OSTYPE = solaris2.8
local xdev='[skip directories on different filesystems]'
if [[ ${commands[$words[1]]:-$words[1]} = *xpg4* ]]; then
args=( -x$xdev )
else
args=( -d$xdev
'-L[dereference symlinks]'
"(-a)-o[do not add child directories' usage to parent's total]"
)
fi
_arguments -s "$args[@]" \
'(-s -o)-a[write counts for all files]' \
'-k[use block size of 1k]' \
'-r[notify about unreadable files/directories]' \
'(-a)-s[only display total for each argument]' \
'*:file:_files'
return
fi

View file

@ -1,4 +1,4 @@
#compdef rmdir df du dircmp -P -value-,*path,-default-
#compdef rmdir df dircmp -P -value-,*path,-default-
local expl