File: _update-alternatives

package info (click to toggle)
zsh 5.8-6%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 23,708 kB
  • sloc: ansic: 107,536; sh: 6,871; makefile: 726; perl: 687; awk: 389; sed: 16
file content (69 lines) | stat: -rw-r--r-- 1,771 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#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