mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			598 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			598 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef -P */X11(|R[456])/*
 | |
| 
 | |
| local ret long xargs opts rawret nm="$compstate[nmatches]"
 | |
| 
 | |
| xargs=(
 | |
|   '-display:display:_x_display'
 | |
|   '-geometry:geometry:_x_geometry'
 | |
| )
 | |
| 
 | |
| (( $# )) || xargs=( "$xargs[@]" '*:default: _default' )
 | |
| 
 | |
| long=$argv[(I)--]
 | |
| if (( long )); then
 | |
|   argv[long]=( "$xargs[@]" -- )
 | |
| else
 | |
|   set -- "$@" "$xargs[@]"
 | |
| fi
 | |
| 
 | |
| opts=()
 | |
| while [[ $1 = -(O*|[CR]) ]]; do
 | |
|   opts=($opts $1)
 | |
|   [[ $1 = -R ]] && rawret=yes
 | |
|   shift
 | |
| done
 | |
| 
 | |
| _arguments -R "$opts[@]" "$@"
 | |
| 
 | |
| ret=$?
 | |
| 
 | |
| if [[ "$ret" = 300 ]]; then
 | |
|   compstate[restore]=''
 | |
|   [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] ))
 | |
| fi
 | |
| 
 | |
| return ret
 |