mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01: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…
	
	Add table
		Add a link
		
	
		Reference in a new issue