From 2270746356368eb20676bbfb26c82c2a06e694ec Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Fri, 22 Aug 2003 16:30:28 +0000 Subject: tidy up of many completions (updates, fixes, improvements and plain aesthetics) --- Completion/Debian/Command/_update-alternatives | 59 ++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Completion/Debian/Command/_update-alternatives (limited to 'Completion/Debian/Command/_update-alternatives') diff --git a/Completion/Debian/Command/_update-alternatives b/Completion/Debian/Command/_update-alternatives new file mode 100644 index 000000000..dd1d4fce3 --- /dev/null +++ b/Completion/Debian/Command/_update-alternatives @@ -0,0 +1,59 @@ +#compdef update-alternatives + +local curcontext="$curcontext" context state line alterdir + +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 -/' \ + '--install:*::alt:= ->install' \ + '--remove:*::alt:= ->remove' \ + '--auto:name:_files -W $alterdir' \ + '--display:name:_files -W $alterdir' \ + '--config:name:_files -W $alterdir' && 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 -- cgit 1.4.1