]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - shell-completion/bash/resolvectl
shell-completion: use 4 space indentation too
[thirdparty/systemd.git] / shell-completion / bash / resolvectl
index f8167c63d54c8d546ae31b0cebc692604eb2b420..161ac4d3c577a38c8b8b31063c958592b1bcc85e 100644 (file)
@@ -3,7 +3,6 @@
 #
 # This file is part of systemd.
 #
-#
 # systemd is free software; you can redistribute it and/or modify it
 # under the terms of the GNU Lesser General Public License as published by
 # the Free Software Foundation; either version 2.1 of the License, or
 # along with systemd; If not, see <http://www.gnu.org/licenses/>.
 
 __contains_word () {
-        local w word=$1; shift
-        for w in "$@"; do
-                [[ $w = "$word" ]] && return
-        done
+    local w word=$1; shift
+    for w in "$@"; do
+        [[ $w = "$word" ]] && return
+    done
 }
 
 __get_interfaces(){
-        local name
-        for name in $(cd /sys/class/net && ls); do
-                [[ "$name" != "lo" ]] && echo "$name"
-        done
+    local name
+    for name in $(cd /sys/class/net && ls); do
+        [[ "$name" != "lo" ]] && echo "$name"
+    done
 }
 
 _resolvectl() {
-        local i comps verb name
-        local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
-        local -A OPTS=(
-               [STANDALONE]='-h --help --version --no-pager -4 -6
-                             --service-address=no --service-txt=no
-                             --cname=no --search=no --legend=no'
-                      [ARG]='-i --interface -p --protocol -t --type -c --class --raw'
-        )
-        local -A VERBS=(
-                   [DOMAIN]='query service openpgp'
-                   [FAMILY]='tlsa'
-                   [STATUS]='status'
-                     [LINK]='revert dns domain nta'
-                  [RESOLVE]='llmnr mdns'
-                   [DNSSEC]='dnssec'
-               [DNSOVERTLS]='dnsovertls'
-               [STANDALONE]='statistics reset-statistics flush-caches reset-server-features'
-        )
-        local -A ARGS=(
-                   [FAMILY]='tcp udp sctp'
-                  [RESOLVE]='yes no resolve'
-                   [DNSSEC]='yes no allow-downgrade'
-               [DNSOVERTLS]='no opportunistic'
-        )
-        local interfaces=$( __get_interfaces )
-
-        if __contains_word "$prev" ${OPTS[ARG]}; then
-                case $prev in
-                        --interface|-i)
-                                comps="$interfaces"
-                                ;;
-                        --protocol|-p|--type|-t|--class|-c)
-                                comps=$( resolvectl --legend=no "$prev" help; echo help )
-                                ;;
-                        --raw)
-                                comps="payload packet"
-                                ;;
-                esac
-                COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
-                return 0
-        fi
+    local i comps verb name
+    local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+    local -A OPTS=(
+        [STANDALONE]='-h --help --version --no-pager -4 -6
+                      --service-address=no --service-txt=no
+                      --cname=no --search=no --legend=no'
+        [ARG]='-i --interface -p --protocol -t --type -c --class --raw'
+    )
+    local -A VERBS=(
+        [DOMAIN]='query service openpgp'
+        [FAMILY]='tlsa'
+        [STATUS]='status'
+        [LINK]='revert dns domain nta'
+        [RESOLVE]='llmnr mdns'
+        [DNSSEC]='dnssec'
+        [DNSOVERTLS]='dnsovertls'
+        [STANDALONE]='statistics reset-statistics flush-caches reset-server-features'
+    )
+    local -A ARGS=(
+        [FAMILY]='tcp udp sctp'
+        [RESOLVE]='yes no resolve'
+        [DNSSEC]='yes no allow-downgrade'
+        [DNSOVERTLS]='no opportunistic'
+    )
+    local interfaces=$( __get_interfaces )
+
+    if __contains_word "$prev" ${OPTS[ARG]}; then
+        case $prev in
+            --interface|-i)
+                comps="$interfaces"
+                ;;
+            --protocol|-p|--type|-t|--class|-c)
+                comps=$( resolvectl --legend=no "$prev" help; echo help )
+                ;;
+            --raw)
+                comps="payload packet"
+                ;;
+        esac
+        COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+        return 0
+    fi
 
-        if [[ "$cur" = -* ]]; then
-                COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
-                return 0
+    if [[ "$cur" = -* ]]; then
+        COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+        return 0
+    fi
+
+    for ((i=0; i < COMP_CWORD; i++)); do
+        if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
+                ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+            verb=${COMP_WORDS[i]}
+            break
         fi
+    done
 
-        for ((i=0; i < COMP_CWORD; i++)); do
-                if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
-                 ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
-                        verb=${COMP_WORDS[i]}
-                        break
-                fi
+    if [[ -z $verb ]]; then
+        comps="${VERBS[*]}"
+
+    elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[DOMAIN]}; then
+        comps=''
+
+    elif __contains_word "$verb" ${VERBS[STATUS]}; then
+        comps="$interfaces"
+
+    elif __contains_word "$verb" ${VERBS[FAMILY]}; then
+        for ((i++; i < COMP_CWORD; i++)); do
+            if __contains_word "${COMP_WORDS[i]}" ${ARGS[FAMILY]} &&
+                    ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+                name=${COMP_WORDS[i]}
+                break;
+            fi
         done
+        if [[ -z $name ]]; then
+            comps=${ARGS[FAMILY]}
+        else
+            comps=""
+        fi
 
-        if [[ -z $verb ]]; then
-                comps="${VERBS[*]}"
+    elif __contains_word "$verb" ${VERBS[LINK]} ${VERBS[RESOLVE]} ${VERBS[DNSSEC]} ${VERBS[DNSOVERTLS]}; then
+        for ((i++; i < COMP_CWORD; i++)); do
+            if __contains_word "${COMP_WORDS[i]}" $interfaces &&
+                    ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+                name=${COMP_WORDS[i]}
+                break;
+            fi
+        done
 
-        elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[DOMAIN]}; then
-                comps=''
+        if [[ -z $name ]]; then
+            comps="$interfaces"
 
-        elif __contains_word "$verb" ${VERBS[STATUS]}; then
-                comps="$interfaces"
+        elif __contains_word "$verb" ${VERBS[RESOLVE]}; then
+            name=
+            for ((i++; i < COMP_CWORD; i++)); do
+                if __contains_word "${COMP_WORDS[i]}" ${ARGS[RESOLVE]} &&
+                        ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+                    name=${COMP_WORDS[i]}
+                    break;
+                fi
+            done
 
-        elif __contains_word "$verb" ${VERBS[FAMILY]}; then
-                for ((i++; i < COMP_CWORD; i++)); do
-                        if __contains_word "${COMP_WORDS[i]}" ${ARGS[FAMILY]} &&
-                         ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
-                                name=${COMP_WORDS[i]}
-                                break;
-                        fi
-                done
-                if [[ -z $name ]]; then
-                        comps=${ARGS[FAMILY]}
-                else
-                        comps=""
+            if [[ -z $name ]]; then
+                comps=${ARGS[RESOLVE]}
+            else
+                comps=''
+            fi
+
+        elif __contains_word "$verb" ${VERBS[DNSSEC]}; then
+            name=
+            for ((i++; i < COMP_CWORD; i++)); do
+                if __contains_word "${COMP_WORDS[i]}" ${ARGS[DNSSEC]} &&
+                        ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+                    name=${COMP_WORDS[i]}
+                    break;
                 fi
+            done
 
-        elif __contains_word "$verb" ${VERBS[LINK]} ${VERBS[RESOLVE]} ${VERBS[DNSSEC]} ${VERBS[DNSOVERTLS]}; then
-                for ((i++; i < COMP_CWORD; i++)); do
-                        if __contains_word "${COMP_WORDS[i]}" $interfaces &&
-                         ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
-                                name=${COMP_WORDS[i]}
-                                break;
-                        fi
-                done
-
-                if [[ -z $name ]]; then
-                        comps="$interfaces"
-
-                elif __contains_word "$verb" ${VERBS[RESOLVE]}; then
-                        name=
-                        for ((i++; i < COMP_CWORD; i++)); do
-                                if __contains_word "${COMP_WORDS[i]}" ${ARGS[RESOLVE]} &&
-                                 ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
-                                        name=${COMP_WORDS[i]}
-                                        break;
-                                fi
-                        done
-
-                        if [[ -z $name ]]; then
-                                comps=${ARGS[RESOLVE]}
-                        else
-                                comps=''
-                        fi
-
-                elif __contains_word "$verb" ${VERBS[DNSSEC]}; then
-                        name=
-                        for ((i++; i < COMP_CWORD; i++)); do
-                                if __contains_word "${COMP_WORDS[i]}" ${ARGS[DNSSEC]} &&
-                                 ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
-                                        name=${COMP_WORDS[i]}
-                                        break;
-                                fi
-                        done
-
-                        if [[ -z $name ]]; then
-                                comps=${ARGS[DNSSEC]}
-                        else
-                                comps=''
-                        fi
-
-                elif __contains_word "$verb" ${VERBS[DNSOVERTLS]}; then
-                        name=
-                        for ((i++; i < COMP_CWORD; i++)); do
-                                if __contains_word "${COMP_WORDS[i]}" ${ARGS[DNSOVERTLS]} &&
-                                 ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
-                                        name=${COMP_WORDS[i]}
-                                        break;
-                                fi
-                        done
-
-                        if [[ -z $name ]]; then
-                                comps=${ARGS[DNSOVERTLS]}
-                        else
-                                comps=''
-                        fi
-
-                else
-                        comps=''
+            if [[ -z $name ]]; then
+                comps=${ARGS[DNSSEC]}
+            else
+                comps=''
+            fi
+
+        elif __contains_word "$verb" ${VERBS[DNSOVERTLS]}; then
+            name=
+            for ((i++; i < COMP_CWORD; i++)); do
+                if __contains_word "${COMP_WORDS[i]}" ${ARGS[DNSOVERTLS]} &&
+                        ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
+                    name=${COMP_WORDS[i]}
+                    break;
                 fi
+            done
+
+            if [[ -z $name ]]; then
+                comps=${ARGS[DNSOVERTLS]}
+            else
+                comps=''
+            fi
+
+        else
+            comps=''
         fi
+    fi
 
-        COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
-        return 0
+    COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+    return 0
 }
 
 complete -F _resolvectl resolvectl