summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Debian/Command/.distfiles1
-rw-r--r--Completion/Debian/Command/_update-rc.d28
-rw-r--r--Completion/Unix/Type/_services2
4 files changed, 34 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c6fd6c10a..21dea7d74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2004-01-15 Oliver Kiddle <opk@zsh.org>
+ * 19378: Completion/Debian/Command/_update-rc.d,
+ Completion/Unix/Type/_services: complete for update-rc.d and avoid
+ picking up README files as services
+
* 19377 based on 19375 (Laurent Rineau):
Completion/Unix/Type/_email_addresses: handle better
situation where MH is not installed
diff --git a/Completion/Debian/Command/.distfiles b/Completion/Debian/Command/.distfiles
index bed75015a..5a4a6ce87 100644
--- a/Completion/Debian/Command/.distfiles
+++ b/Completion/Debian/Command/.distfiles
@@ -5,4 +5,5 @@ _bts _bug
_debchange _dpkg _dpkg_source _dput _dupload
_update-alternatives _make-kpkg _debfoster
_auto-apt _debsign
+_update-rc.d
'
diff --git a/Completion/Debian/Command/_update-rc.d b/Completion/Debian/Command/_update-rc.d
new file mode 100644
index 000000000..68b81dc72
--- /dev/null
+++ b/Completion/Debian/Command/_update-rc.d
@@ -0,0 +1,28 @@
+#compdef update-rc.d
+
+local curcontext="$curcontext" state line expl
+
+_arguments -C \
+ '-n[show actions without performing them]' \
+ '-f[force removal of symlinks]' \
+ '1:service:_services' \
+ '2:command:(remove defaults start stop)' \
+ '*::args:->args' && return
+
+case $words[2] in
+ defaults)
+ _message -e number 'sequence number'
+ ;;
+ remove)
+ _message 'no more arguments'
+ ;;
+ st*)
+ case ${words[CURRENT-1]} in
+ .) _wanted commands expl commands compadd start stop && return ;;
+ start|stop) _message -e number 'sequence number' ;;
+ *) _message -e runlevels run\ level ;;
+ esac
+ ;;
+esac
+
+return 1
diff --git a/Completion/Unix/Type/_services b/Completion/Unix/Type/_services
index 670aed05b..8e682bd52 100644
--- a/Completion/Unix/Type/_services
+++ b/Completion/Unix/Type/_services
@@ -8,7 +8,7 @@ if chkconfig --list > /dev/null 2>&1; then
inits=( ${${${alls[1,(r)xinetd based*]}[1,-2]}/%[[:space:]]*/} )
xinetds=( ${${${${alls[(r)xinetd based*,-1]}[2,-1]}/#[[:space:]]#}/%:*} )
else
- inits=( /etc/init.d/*(:t) )
+ inits=( /etc/init.d/*(-*:t) )
fi
_tags init xinetd