mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-11-04 07:21:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#compdef update-alternatives
 | 
						|
 | 
						|
local curcontext="$curcontext" state line alterdir ret
 | 
						|
 | 
						|
if [[ -d /var/lib/dpkg/alternatives ]]; then
 | 
						|
  alterdir=/var/lib/dpkg/alternatives
 | 
						|
elif [[ -d /var/lib/rpm/alternatives/ ]]; then
 | 
						|
  alterdir=/var/lib/rpm/alternatives
 | 
						|
fi
 | 
						|
 | 
						|
_arguments -C \
 | 
						|
  '--verbose' \
 | 
						|
  '--quiet' \
 | 
						|
  '--test' \
 | 
						|
  '--help' \
 | 
						|
  '--version' \
 | 
						|
  '--altdir:altdir:_files -/' \
 | 
						|
  '--admindir:admindir:_files -/' \
 | 
						|
  '--log:log file:_files -/' \
 | 
						|
  '--force' \
 | 
						|
  '--skip-auto' \
 | 
						|
  '--install:*::alt:= ->install' \
 | 
						|
  '--remove:*::alt:= ->remove' \
 | 
						|
  '--remove-all:name:_files -W "$alterdir"' \
 | 
						|
  '--auto:name:_files -W "$alterdir"' \
 | 
						|
  '--display:name:_files -W "$alterdir"' \
 | 
						|
  '--query:name:_files -W "$alterdir"' \
 | 
						|
  '--list:name:_files -W "$alterdir"' \
 | 
						|
  '--get-selections' \
 | 
						|
  '--set-selections' \
 | 
						|
  '--config:name:_files -W "$alterdir"' \
 | 
						|
  '--set:name:_files -W "$alterdir":path:_files -/' \
 | 
						|
  '--all' && return
 | 
						|
 | 
						|
while true; do
 | 
						|
  case "$state" in
 | 
						|
    islave)
 | 
						|
      _call_function ret _update_alternatives_$state && return ret
 | 
						|
      state=
 | 
						|
      _arguments -C \
 | 
						|
        '1:link:_files' \
 | 
						|
        '2:name:_files -W "$alterdir"' \
 | 
						|
        '3:path:_files' \
 | 
						|
        '--slave:*::more:= ->islave' && return
 | 
						|
      [[ -z $state ]] && return 1
 | 
						|
    ;;
 | 
						|
 | 
						|
    install)
 | 
						|
      _call_function ret _update_alternatives_$state && return ret
 | 
						|
      _arguments -C \
 | 
						|
        '1:link:_files' \
 | 
						|
        '2:name:_files -W "$alterdir"' \
 | 
						|
        '3:path:_files' \
 | 
						|
        '4:priority:' \
 | 
						|
        '--slave:*::slave:= ->islave' && return
 | 
						|
      [[ -z $state ]] && return 1
 | 
						|
    ;;
 | 
						|
 | 
						|
    remove)
 | 
						|
      _call_function ret _update_alternatives_$state && return ret
 | 
						|
      _arguments \
 | 
						|
        '1:name:_files -W "$alterdir"' \
 | 
						|
        '2:path:_files'
 | 
						|
      return
 | 
						|
    ;;
 | 
						|
 | 
						|
    *) return 1 ;;
 | 
						|
  esac
 | 
						|
done
 |