@@ -6,26 +6,16 @@ _comp_cmd_rndc__list_commands()
6
6
rndc 2>&1 | awk ' /^ / {print $1}' | sort -u
7
7
}
8
8
9
- _comp_cmd_rndc__list_parameters ()
10
- {
11
- local SUBCMD=$1
12
- rndc 2>&1 | awk " /^ ${SUBCMD} / { print \$ 2 }"
13
- if [[ $cur == @* ]]; then
14
- _comp_compgen_known_hosts -- " $cur "
15
- return
16
- fi
17
-
18
- }
19
-
20
- # TODO: not used yet, useful for dnssec-signzone etc.
21
9
_comp_cmd_named_checkconf__list_zones ()
22
10
{
23
11
named-checkconf -l | awk ' {print $1}'
24
12
}
25
13
26
- # TODO: named-rrchecker provides -T -C listings of supported query types.
27
- # should replace _comp_cmd_nslookup__queryclass, _comp_cmd_nslookup__querytype
28
- # when command is present.
14
+ _comp_cmd_rndc__list_parameters ()
15
+ {
16
+ local SUBCMD=$1
17
+ rndc 2>&1 | awk " /^ ${SUBCMD} / { print \$ 2 }"
18
+ }
29
19
30
20
_comp_cmd_rndc ()
31
21
{
@@ -37,19 +27,29 @@ _comp_cmd_rndc()
37
27
_comp_compgen -a filedir
38
28
return
39
29
;;
30
+ -s)
31
+ _comp_compgen_known_hosts -- " $cur "
32
+ return
33
+ ;;
40
34
esac
41
35
42
36
local REPLY
43
37
_comp_count_args
44
- if [[ $cur == -* ]]; then
45
- _comp_compgen_usage
46
- return
47
- fi
48
38
if (( REPLY == 1 )) ; then
49
39
_comp_compgen -- -W " $( _comp_cmd_rndc__list_commands) "
50
40
fi
51
41
if (( REPLY == 2 )) ; then
52
- _comp_compgen -- -W " $( _comp_cmd_rndc__list_parameters $prev ) "
42
+ local PARAMS=" $( _comp_cmd_rndc__list_parameters $prev ) "
43
+ if [[ " $PARAMS " == zone ]]; then
44
+ _comp_compgen -- -W " $( _comp_cmd_named_checkconf__list_zones) "
45
+ return
46
+ else
47
+ _comp_compgen -- -W " $PARAMS "
48
+ fi
49
+ fi
50
+ if [[ $cur == -* ]]; then
51
+ _comp_compgen_usage
52
+ return
53
53
fi
54
54
} && complete -F _comp_cmd_rndc rndc
55
55
@@ -87,16 +87,16 @@ _comp_cmd_dig()
87
87
;;
88
88
esac
89
89
90
- if [[ $cur == @* ]]; then
91
- _comp_compgen_known_hosts -- " $cur "
92
- return
93
- fi
94
90
if [[ $cur == -* ]]; then
95
91
_comp_compgen_usage
96
92
return
97
93
fi
94
+ if [[ $cur == @* ]]; then
95
+ _comp_compgen_known_hosts -- " $cur "
96
+ return
97
+ fi
98
98
if [[ $cur == +* ]]; then
99
- _comp_compgen -- -W " $( _comp_cmd_dig__list_plusopts dig ) "
99
+ _comp_compgen -- -W " $( _comp_cmd_dig__list_plusopts) "
100
100
[[ ${COMPREPLY-} == * = ]] && compopt -o nospace
101
101
102
102
fi
@@ -142,7 +142,6 @@ _comp_cmd_mdig()
142
142
_comp_compgen_known_hosts -- " $cur "
143
143
return
144
144
fi
145
-
146
145
if [[ $cur == +* ]]; then
147
146
_comp_compgen -- -W " $( _comp_cmd_dig__list_plusopts mdig) "
148
147
[[ ${COMPREPLY-} == * = ]] && compopt -o nospace
@@ -190,7 +189,6 @@ _comp_cmd_delv()
190
189
_comp_compgen_known_hosts -- " $cur "
191
190
return
192
191
fi
193
-
194
192
if [[ $cur == +* ]]; then
195
193
_comp_compgen -- -W " $( _comp_cmd_dig__list_plusopts delv) "
196
194
[[ ${COMPREPLY-} == * = ]] && compopt -o nospace
0 commit comments