diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2004-01-15 17:00:20 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2004-01-15 17:00:20 +0000 |
commit | a06990cc45a47439b1527b7ced8b8aec44e65b10 (patch) | |
tree | 1ad18de2cfcf29df5750d2ab7bc64bce1009725c /Completion | |
parent | e51abdc7f4ff9088add35ab744e2e9a696d3ea16 (diff) | |
download | zsh-a06990cc45a47439b1527b7ced8b8aec44e65b10.tar.gz zsh-a06990cc45a47439b1527b7ced8b8aec44e65b10.tar.xz zsh-a06990cc45a47439b1527b7ced8b8aec44e65b10.zip |
19378: new update-rc.d completion avoid picking up README file as a service
Diffstat (limited to 'Completion')
-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 |
3 files changed, 30 insertions, 1 deletions
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 |