Skip to content

Commit 3adf33d

Browse files
committed
completions: import completions from void-packages
1 parent fc2f867 commit 3adf33d

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

completions/sv.bash

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# bash completion for runit sv(1)
2+
3+
_sv()
4+
{
5+
local cur prev words cword commands
6+
_init_completion || return
7+
8+
commands='up down status once pause cont hup alarm interrupt 1 2 term kill exit start stop restart shutdown force-stop force-reload force-restart force-shutdown'
9+
10+
case $prev in
11+
-w)
12+
return
13+
;;
14+
-* | sv)
15+
COMPREPLY=( $(compgen -W "${commands}" -- ${cur}) )
16+
return
17+
;;
18+
*)
19+
COMPREPLY=( /var/service/* )
20+
COMPREPLY=( ${COMPREPLY[@]##*/} )
21+
COMPREPLY=( $(compgen -W '${COMPREPLY[@]}' -- ${cur}) )
22+
return
23+
;;
24+
esac
25+
}
26+
complete -F _sv sv

completions/sv.zsh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#compdef sv
2+
3+
# completion for runit sv(1)
4+
# Leah Neukirchen <[email protected]>
5+
# runit 2.1.1, services in /var/service are completed by default
6+
7+
local ret=1 services
8+
9+
_arguments \
10+
'-v[verbose]' \
11+
'-w[wait]:seconds' \
12+
'1: :->cmds' \
13+
'*:: :->args' && ret=0
14+
15+
case $state in
16+
cmds)
17+
_values "sv command" \
18+
status \
19+
up \
20+
down \
21+
once \
22+
pause cont hup alarm interrupt quit 1 2 term kill \
23+
exit
24+
# above allow one-character shortcuts, complete these
25+
[[ $words[CURRENT] = [sudopchaiq12tke] ]] ||
26+
_values "sv command" \
27+
start \
28+
stop \
29+
restart \
30+
shutdown \
31+
force-stop \
32+
force-reload \
33+
force-restart \
34+
force-shutdown \
35+
check
36+
ret=0;;
37+
args)
38+
services=( /var/service/*(-/N:t) )
39+
(( $#services )) && _values services $services && ret=0
40+
[[ $words[CURRENT] = */* ]] && _directories && ret=0
41+
;;
42+
esac
43+
44+
return $ret

0 commit comments

Comments
 (0)