summaryrefslogtreecommitdiffstats
path: root/shell-completion
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gentoo.org>2024-04-27 21:00:18 +0200
committerArthur Zamarin <arthurzam@gentoo.org>2024-05-01 18:17:59 +0200
commit4a06acda25fb895f65ee24c6378cb8db47577c7a (patch)
tree2e68d483425775fb5cd7b1ebda8db35b79f2d5f9 /shell-completion
parentshell-completion: add missing args to bash systemd-analyze (diff)
downloadsystemd-4a06acda25fb895f65ee24c6378cb8db47577c7a.tar.xz
systemd-4a06acda25fb895f65ee24c6378cb8db47577c7a.zip
shell-completion: add missing args to bash resolvectl
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'shell-completion')
-rw-r--r--shell-completion/bash/resolvectl16
1 files changed, 8 insertions, 8 deletions
diff --git a/shell-completion/bash/resolvectl b/shell-completion/bash/resolvectl
index 1a5febe1e3..344eaad973 100644
--- a/shell-completion/bash/resolvectl
+++ b/shell-completion/bash/resolvectl
@@ -24,7 +24,7 @@ __contains_word () {
done
}
-__get_interfaces(){
+__get_interfaces() {
local name
for name in $(cd /sys/class/net && command ls); do
[[ "$name" != "lo" ]] && echo "$name"
@@ -36,10 +36,10 @@ _resolvectl() {
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local -A OPTS=(
[STANDALONE]='-h --help --version -4 -6 --legend=no --cname=no
- --validate=no --synthesize=no --cache=no --zone=no
+ --validate=no --synthesize=no --cache=no --relax-single-label=no --zone=no
--trust-anchor=no --network=no --service-address=no
--service-txt=no --search=no --stale-data=no --no-pager'
- [ARG]='-t --type -c --class -i --interface -p --protocol --raw'
+ [ARG]='-t --type -c --class -i --interface -p --protocol --raw --json'
)
local -A VERBS=(
[DOMAIN]='query service openpgp'
@@ -50,7 +50,7 @@ _resolvectl() {
[RESOLVE]='llmnr mdns'
[DNSSEC]='dnssec'
[DNSOVERTLS]='dnsovertls'
- [STANDALONE]='statistics reset-statistics flush-caches reset-server-features show-cache'
+ [STANDALONE]='statistics reset-statistics flush-caches reset-server-features monitor show-cache show-server-state'
[LOG_LEVEL]='log-level'
)
local -A ARGS=(
@@ -60,14 +60,13 @@ _resolvectl() {
[DNSSEC]='yes no allow-downgrade'
[DNSOVERTLS]='yes no opportunistic'
)
- local interfaces=$( __get_interfaces )
if __contains_word "$prev" ${OPTS[ARG]}; then
case $prev in
--interface|-i)
- comps="$interfaces"
+ comps=$( __get_interfaces )
;;
- --protocol|-p|--type|-t|--class|-c)
+ --protocol|-p|--type|-t|--class|-c|--json)
comps=$( resolvectl --legend=no "$prev" help; echo help )
;;
--raw)
@@ -98,7 +97,7 @@ _resolvectl() {
comps=''
elif __contains_word "$verb" ${VERBS[STATUS]}; then
- comps="$interfaces"
+ comps=$( __get_interfaces )
elif __contains_word "$verb" ${VERBS[LOG_LEVEL]}; then
comps='debug info notice warning err crit alert emerg'
@@ -118,6 +117,7 @@ _resolvectl() {
fi
elif __contains_word "$verb" ${VERBS[LINK]} ${VERBS[BOOLEAN]} ${VERBS[RESOLVE]} ${VERBS[DNSSEC]} ${VERBS[DNSOVERTLS]}; then
+ local interfaces=$( __get_interfaces )
for ((i++; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" $interfaces &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then