mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-30 17:50:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef lsdev
 | |
| 
 | |
| local curcontext="${curcontext}" state line expl
 | |
| 
 | |
| _arguments -C \
 | |
|   '(-P)-C[list info about device in customized devices object class]' \
 | |
|   '(-C -l)-P[list info about device in predefined object class]' \
 | |
|   '-c[specify a device class]:device class:->class' \
 | |
|   '-f[read flags from file]:files:_files' \
 | |
|   '-F[specify output format]:format:->columnname' \
 | |
|   '-H[display headers above columns]' \
 | |
|   '-h[display command usage]' \
 | |
|   '(-P)-l[specify device logical name]:device logical name' \
 | |
|   '-r[display set of values in a column]:columnname:->columnname' \
 | |
|   '(-P)-S[specify a device state]:device state:(Available Defined Stopped)' \
 | |
|   '-s[specify a device subclass]:device subclass:->subclass' \
 | |
|   '-t[specify a device type name]:device type name:->devtype' && return 0
 | |
| 
 | |
| case $state in
 | |
|   class)
 | |
|     _wanted devclass expl 'device class names' \
 | |
|         compadd - $(lsdev ${words[(r)-[CP]]:--P} -r class)
 | |
|   ;;
 | |
|   subclass)
 | |
|     _wanted devsubclass expl 'device subclass names' \
 | |
|         compadd - $(lsdev ${words[(r)-[CP]]:--P} -r subclass)
 | |
|   ;;
 | |
|   devtype)
 | |
|     _wanted devtype expl 'device type names' \
 | |
|         compadd - $(lsdev ${words[(r)-[CP]]:--P} -r type)
 | |
|   ;;
 | |
|   columnname)
 | |
|     [[ $words[CURRENT-1] = -F ]] && compset -P '*[^a-zA-Z]'
 | |
|     _wanted devcolumnname expl 'column names' \
 | |
|         compadd - ${(s: :)words[(r)-C]:+name status location} \
 | |
| 	  class subclass description type
 | |
|   ;;
 | |
| esac
 |