mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-18 15:21:16 +02:00
41825/0002: _stat: Complete -x options to zsh/stat's 'zstat'.
This commit is contained in:
parent
c68cfb1c36
commit
57cfa8b160
2 changed files with 24 additions and 15 deletions
|
@ -1,5 +1,8 @@
|
|||
2017-10-11 Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
|
||||
|
||||
* 41825/0002: Completion/Zsh/Command/_stat: Complete -x options
|
||||
to zsh/stat's 'zstat'.
|
||||
|
||||
* 41825/0001: Completion/Zsh/Command/_stat: Only complete 'stat'
|
||||
if it's provided by the zsh/stat builtin.
|
||||
|
||||
|
|
|
@ -2,24 +2,30 @@
|
|||
|
||||
local expl ret=1
|
||||
|
||||
if [[ "$words[CURRENT-1]" = -[AH] ]]; then
|
||||
_arrays
|
||||
elif [[ $service == zstat ]] ||
|
||||
if [[ $service == zstat ]] ||
|
||||
(( ${+builtins[stat]} )) ||
|
||||
{ (( ! ${+builtins} )) && [[ $(type -w stat) == '*: builtin' ]] }
|
||||
then
|
||||
_tags files options || return 1
|
||||
|
||||
while _tags; do
|
||||
_requested files && _files && ret=0
|
||||
_requested options &&
|
||||
{ ! zstyle -T ":completion:${curcontext}:options" prefix-needed ||
|
||||
[[ "$PREFIX[1]" = + || ret -eq 1 ]] } &&
|
||||
_all_labels options expl 'inode element' \
|
||||
compadd - +device +inode +mode +nlink +uid +gid +rdev \
|
||||
+size +atime +mtime +ctime +blksize +block +link
|
||||
(( ret )) || return 0
|
||||
done
|
||||
_arguments -s -S : \
|
||||
'(-H)-A[assign the results to array, don'\''t print]:array variable:_parameters -g "*array*"' \
|
||||
- set1 \
|
||||
+device +inode +mode +nlink +uid +gid +rdev \
|
||||
+size +atime +mtime +ctime +blksize +block +link \
|
||||
'(-A)-H[assign the results to associative array, don'\''t print]:associative array variable:_parameters -g "*association*"' \
|
||||
'(:)-f[stat a file descriptor]:file descriptor:_file_descriptors' \
|
||||
'(-s)-F:strftime(3) format string:_date_formats zsh' \
|
||||
'(-s)-g[show times in GMT/UTC]' \
|
||||
'-L[don'\''t dereference symbolic links; use lstat(2)]' \
|
||||
'(-N)-n[always show names of files]' \
|
||||
'(-n)-N[never show names of files]' \
|
||||
'-o[print file modes in octal rather than decimal]' \
|
||||
'-r[print raw data]' \
|
||||
'-s[print mode,uid,gid and times as strings]' \
|
||||
'(-T)-t[always show type names]' \
|
||||
'(-t)-T[never show type names]' \
|
||||
'*:files to stat:_files' \
|
||||
- set2 \
|
||||
'-l[list stat types]'
|
||||
else
|
||||
# TODO: system-specific completion
|
||||
# TODO: choose this codepath if 'command stat ...' or '=stat ...' is used
|
||||
|
|
Loading…
Reference in a new issue