mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef aptitude
 | |
| 
 | |
| local curcontext="$curcontext" state line cmds ret=1
 | |
| 
 | |
| function _aptitude_release() {
 | |
|   #{{{
 | |
|   local expl releases
 | |
|   releases=(
 | |
| ${${(M)${(f)"$(</etc/apt/sources.list)"}\
 | |
| :#[ $'\t']#deb(|-src)*}/(#b)[ $'\t']#[^ $'\t']##[ $'\t']##[^ $'\t']##[ $'\t']##([^ $'\t']##)*/$match[1]}
 | |
|   )
 | |
|   _wanted list expl release compadd ${expl} - ${(u)releases}
 | |
|   #}}}
 | |
| }
 | |
| 
 | |
| _arguments -C \
 | |
|   '(- 1 *)'{-h,--help}'[display help information]' \
 | |
|   '(- 1 *)--version[display version information]' \
 | |
|   '(-s --simulate)'{-s,--simulate}'[print actions without performing them]' \
 | |
|   '(-d --download-only)'{-d,--download-only}"[just download packages - don\'t install]" \
 | |
|   '(-P --prompt)'{-P,--prompt}'[always display a prompt]' \
 | |
|   '(-y --assume-yes)'{-y,--assume-yes}'[assume yes answer to questions]' \
 | |
|   '(-F --display-format)'{-F,--display-format}'[specify output format for search command]:format' \
 | |
|   '(-O --sort)'{-O,--sort}'[specify sort order]:sort order:()' \
 | |
|   '(-w --width)'{-w,--width}'[specify output width]:width' \
 | |
|   '-f[aggressivley try to fix dependencies of broken packages]' \
 | |
|   '(-V --show-versions)'{-V,--show-versions}'[show which versions of packages will be installed]' \
 | |
|   '(-D --show-deps)'{-D,--show-deps}'[show brief explanations of automatic installations and removals]' \
 | |
|   '-Z[show disk space changes for each package]' \
 | |
|   '(-v --verbose)'{-v,--verbose}'[causes some commands to display extra information]' \
 | |
|   '(-R --without-recommends)'{-R,--with-recommends}'[install recommended packages when installing new packages]' \
 | |
|   '(--without-suggests)--with-suggests[install suggested packages when installing new packages]' \
 | |
|   '(-r --with-recommends)'{-r,--without-recommends}'[ignore recommended packages when installing new packages]' \
 | |
|   '(--with-suggests)--without-suggests[ignore suggested packages when installing new packages]' \
 | |
|   '(-t --target-release)'{-t,--target-release}'[set the release from which packages should be installed]:release:_aptitude_release' \
 | |
|   '(-q --quiet)'{-q=,--quiet=}'[less Output]:level' \
 | |
|   '--schedule-only[schedule operations to be performed in the future]' \
 | |
|   '--purge-unused[purge unused packages instead of removing]' \
 | |
|   '--visual-preview[start up the visual interface and display its preview screen]' \
 | |
|   '-S[load the extended state information from non-standard state file]:state file:_files' \
 | |
|   '-u[begin updating the package lists as soon as the program starts]' \
 | |
|   '-i[displays a download preview when the program starts]' \
 | |
|   '1: :->cmds' \
 | |
|   '*: :->args' && ret=0
 | |
| 
 | |
| case $state in
 | |
|   cmds)
 | |
|     cmds=( ${${(M)${(f)"$(LC_ALL=C _call_program commands aptitude -h 2>/dev/null)"}:#* - *}/(#b) (*[^ ]) #- (*)/$match[1]:$match[2]:l})
 | |
| 
 | |
|     _describe -t commands 'aptitude command' cmds && ret=0
 | |
|   ;;
 | |
|   args)
 | |
|     case $line[1] in
 | |
|       search)
 | |
|         _message -e patterns pattern
 | |
|       ;;
 | |
|       (download|show|changelog|why|why-not)
 | |
|         _deb_packages avail && ret=0
 | |
|       ;;
 | |
|       (remove|purge|hold|unhold|reinstall|forbid-version|markauto|unmarkauto)
 | |
|         _deb_packages installed && ret=0
 | |
|       ;;
 | |
|       install)
 | |
|         _deb_packages uninstalled && ret=0
 | |
|       ;;
 | |
|       *)
 | |
|         (( ret )) && _message 'no more arguments'
 | |
|       ;;
 | |
|     esac
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| return ret
 |