blob: d860e51026f0c470ff28a543957c5295a39cb53a (
plain)
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
|
#compdef rc.d
_rc.d () {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments "1: :->action" "*: :->service" {-s,--started} {-S,--stopped} {-a,--auto} {-A,--noauto}
case $state in
action)
_arguments "*:action:(list help start stop restart)"
;;
service)
local action="$words[2]"
curcontext="${curcontext%:*:*}:rc.d-${action}:"
case $action in
help)
_arguments "*: :"
;;
start)
_arguments "*: :($(comm -23 <(echo /etc/rc.d/*(N-*:t)|tr ' ' '\n') <(echo /run/daemons/*(N:t)|tr ' ' '\n')))"
;;
stop|restart|reload)
_arguments "*: :(/run/daemons/*(N:t))"
;;
*)
_arguments "*: :(/etc/rc.d/*(N-*:t))"
;;
esac
;;
esac
}
_rc.d "$@"
# vim: set ts=2 sw=2 ft=sh noet:
|