From df98c064c0b6bdc611c2635631bfb67884e3337e Mon Sep 17 00:00:00 2001
From: Arthur Zamarin <arthurzam@gentoo.org>
Date: Sat, 27 Apr 2024 22:00:18 +0300
Subject: [PATCH 0587/1160] shell-completion: add missing args to bash
 resolvectl

Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
(cherry picked from commit 4a06acda25fb895f65ee24c6378cb8db47577c7a)
---
 shell-completion/bash/resolvectl | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/shell-completion/bash/resolvectl b/shell-completion/bash/resolvectl
index bd3e8bf939..810af40c28 100644
--- a/shell-completion/bash/resolvectl
+++ b/shell-completion/bash/resolvectl
@@ -23,7 +23,7 @@ __contains_word () {
     done
 }
 
-__get_interfaces(){
+__get_interfaces() {
     local name
     for name in $(cd /sys/class/net && command ls); do
         [[ "$name" != "lo" ]] && echo "$name"
@@ -35,10 +35,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'
@@ -49,7 +49,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=(
@@ -59,14 +59,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)
@@ -97,7 +96,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'
@@ -117,6 +116,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
-- 
2.33.0