mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 18:10:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef which whence where type
 | |
| 
 | |
| local farg aarg cargs args state line curcontext="$curcontext" ret=1
 | |
| 
 | |
| cargs=( \
 | |
|   '(-v -c)-w[print command type]' \
 | |
|   '-p[always do a path search]' \
 | |
|   '-m[treat the arguments as patterns]' \
 | |
|   '-s[print symlink free path as well]' \
 | |
|   '*:commands:->command' )
 | |
| farg='-f[output contents of functions]'
 | |
| aarg='-a[print all occurrences in path]'
 | |
| 
 | |
| case ${service} in
 | |
|   whence)
 | |
|     _arguments -C -s -A "-*" -S \
 | |
|       '(-c -w)-v[verbose output]' \
 | |
|       '(-v -w)-c[csh-like output]' \
 | |
|       "${cargs[@]}" "$farg" "$aarg" && ret=0
 | |
|   ;;
 | |
|   where) _arguments -C -s -A "-*" -S "${cargs[@]}" && ret=0;;
 | |
|   which) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" && ret=0;;
 | |
|   type) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$farg" && ret=0;;
 | |
| esac
 | |
| 
 | |
| if [[ "$state" = command ]]; then
 | |
| 
 | |
|   args=( "$@" )
 | |
| 
 | |
|   _alternative -O args \
 | |
|     'commands:external command:compadd -k commands' \
 | |
|     'builtins:builtin command:compadd -k builtins' \
 | |
|     'functions:shell function:compadd -k functions' \
 | |
|     'aliases:alias:compadd -k aliases' \
 | |
|     'reserved-words:reserved word:compadd -k reswords' && ret=0
 | |
| 
 | |
| fi
 | |
| 
 | |
| return ret
 |