81 lines
No EOL
3.8 KiB
Text
Executable file
81 lines
No EOL
3.8 KiB
Text
Executable file
#compdef lsd
|
|
|
|
autoload -U is-at-least
|
|
|
|
_lsd() {
|
|
typeset -A opt_args
|
|
typeset -a _arguments_options
|
|
local ret=1
|
|
|
|
if is-at-least 5.2; then
|
|
_arguments_options=(-s -S -C)
|
|
else
|
|
_arguments_options=(-s -C)
|
|
fi
|
|
|
|
local context curcontext="$curcontext" state line
|
|
_arguments "${_arguments_options[@]}" \
|
|
'*--color=[When to use terminal colours]: :(always auto never)' \
|
|
'*--icon=[When to print the icons]: :(always auto never)' \
|
|
'*--icon-theme=[Whether to use fancy or unicode icons]: :(fancy unicode)' \
|
|
'--config-file=[Provide a custom lsd configuration file]' \
|
|
'*--depth=[Stop recursing into directories after reaching specified depth]' \
|
|
'*--size=[How to display size]: :(default short bytes)' \
|
|
'*--date=[How to display date \[possible values: date, relative, +date-time-format\]]' \
|
|
'*--sort=[sort by WORD instead of name]: :(size time version extension)' \
|
|
'*--group-dirs=[Sort the directories then the files]: :(none first last)' \
|
|
'*--blocks=[Specify the blocks that will be displayed and in what order]: :(permission user group size date name inode links)' \
|
|
'*-I+[Do not display files/directories with names matching the glob pattern(s). More than one can be specified by repeating the argument]' \
|
|
'*--ignore-glob=[Do not display files/directories with names matching the glob pattern(s). More than one can be specified by repeating the argument]' \
|
|
'*-a[Do not ignore entries starting with .]' \
|
|
'*--all[Do not ignore entries starting with .]' \
|
|
'*-A[Do not list implied . and ..]' \
|
|
'*--almost-all[Do not list implied . and ..]' \
|
|
'*-F[Append indicator (one of */=>@|) at the end of the file names]' \
|
|
'*--classify[Append indicator (one of */=>@|) at the end of the file names]' \
|
|
'*-l[Display extended file metadata as a table]' \
|
|
'*--long[Display extended file metadata as a table]' \
|
|
'--ignore-config[Ignore the configuration file]' \
|
|
'*-1[Display one entry per line]' \
|
|
'*--oneline[Display one entry per line]' \
|
|
'(--tree)*-R[Recurse into directories]' \
|
|
'(--tree)*--recursive[Recurse into directories]' \
|
|
'*-h[For ls compatibility purposes ONLY, currently set by default]' \
|
|
'*--human-readable[For ls compatibility purposes ONLY, currently set by default]' \
|
|
'(-R --recursive)*--tree[Recurse into directories and present the result as a tree]' \
|
|
'(--depth -R --recursive)-d[Display directories themselves, and not their contents (recursively when used with --tree)]' \
|
|
'(--depth -R --recursive)--directory-only[Display directories themselves, and not their contents (recursively when used with --tree)]' \
|
|
'*--total-size[Display the total size of directories]' \
|
|
'*-t[Sort by time modified]' \
|
|
'*--timesort[Sort by time modified]' \
|
|
'*-S[Sort by size]' \
|
|
'*--sizesort[Sort by size]' \
|
|
'*-X[Sort by file extension]' \
|
|
'*--extensionsort[Sort by file extension]' \
|
|
'*-v[Natural sort of (version) numbers within text]' \
|
|
'*--versionsort[Natural sort of (version) numbers within text]' \
|
|
'*-r[Reverse the order of the sort]' \
|
|
'*--reverse[Reverse the order of the sort]' \
|
|
'--classic[Enable classic mode (display output similar to ls)]' \
|
|
'*--no-symlink[Do not display symlink target]' \
|
|
'*-i[Display the index number of each file]' \
|
|
'*--inode[Display the index number of each file]' \
|
|
'*-L[When showing file information for a symbolic link, show information for the file the link references rather than for the link itself]' \
|
|
'*--dereference[When showing file information for a symbolic link, show information for the file the link references rather than for the link itself]' \
|
|
'--help[Prints help information]' \
|
|
'-V[Prints version information]' \
|
|
'--version[Prints version information]' \
|
|
'::FILE:_files' \
|
|
&& ret=0
|
|
|
|
}
|
|
|
|
(( $+functions[_lsd_commands] )) ||
|
|
_lsd_commands() {
|
|
local commands; commands=(
|
|
|
|
)
|
|
_describe -t commands 'lsd commands' commands "$@"
|
|
}
|
|
|
|
_lsd "$@" |