File tree 2 files changed +26
-3
lines changed
2 files changed +26
-3
lines changed Original file line number Diff line number Diff line change 1
- PROG = doas
2
- MAN = doas.1 doas.conf.5
1
+ PROG = doas
2
+ MAN = doas.1 doas.conf.5
3
+ COMPLETION = doas.completion
3
4
4
- SRCS = parse.y doas.c env.c
5
+ SRCS = parse.y doas.c env.c
5
6
6
7
include config.mk
7
8
@@ -19,17 +20,20 @@ install: ${PROG} ${MAN}
19
20
mkdir -p -m 0755 ${DESTDIR}${BINDIR}
20
21
mkdir -p -m 0755 ${DESTDIR}${MANDIR} /man1
21
22
mkdir -p -m 0755 ${DESTDIR}${MANDIR} /man5
23
+ mkdir -p -m 0755 ${DESTDIR} /share/bash-completion/completions
22
24
cp -f ${PROG} ${DESTDIR}${BINDIR}
23
25
chown ${BINOWN} :${BINGRP} ${DESTDIR}${BINDIR} /${PROG}
24
26
chmod ${BINMODE} ${DESTDIR}${BINDIR} /${PROG}
25
27
cp -f doas.1 ${DESTDIR}${MANDIR} /man1
26
28
cp -f doas.conf.5 ${DESTDIR}${MANDIR} /man5
29
+ cp -f doas.completion ${DESTDIR} /share/bash-completion/completions/doas
27
30
28
31
uninstall :
29
32
rm -f ${DESTDIR}${BINDIR} /${PROG}
30
33
rm -f ${DESTDIR}${PAMDIR} /doas
31
34
rm -f ${DESTDIR}${MANDIR} /man1/doas.1
32
35
rm -f ${DESTDIR}${MANDIR} /man5/doas.conf.5
36
+ rm -f ${DESTDIR} /share/bash-completion/completions/doas
33
37
34
38
clean :
35
39
rm -f ${PROG} ${OBJS} ${OBJS: .o=.d} parse.c
Original file line number Diff line number Diff line change
1
+ # bash completion for doas(1) -*- shell-script -*-
2
+
3
+ _doas () {
4
+ local cur prev words cword split
5
+ _init_completion -s || return
6
+
7
+ for (( i = 1 ; i <= cword; i++ )) ; do
8
+ if [[ ${words[i]} != -* ]]; then
9
+ local PATH=$PATH :/sbin:/usr/sbin:/usr/local/sbin
10
+ local root_command=${words[i]}
11
+ _command_offset $i
12
+ return
13
+ fi
14
+
15
+ [[ ${words[i]} == -u ]] || [[ ${words[i]} == -C ]] && (( i++ ))
16
+ done
17
+ } && complete -F _doas doas
18
+
19
+ # ex: filetype=sh
You can’t perform that action at this time.
0 commit comments