diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Completion/Debian/Command/.distfiles | 1 | ||||
-rw-r--r-- | Completion/Debian/Command/_update-rc.d | 28 | ||||
-rw-r--r-- | Completion/Unix/Type/_services | 2 |
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 |