From: Yu Watanabe Date: Wed, 13 Jun 2018 02:16:26 +0000 (+0900) Subject: bash-completion/resolvectl: support privatedns command X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=54a443dd8b21fc59a043f63f17e6db2d419cdacb;p=elogind.git bash-completion/resolvectl: support privatedns command --- diff --git a/shell-completion/bash/resolvectl b/shell-completion/bash/resolvectl index cb897fd65..dcacb1269 100644 --- a/shell-completion/bash/resolvectl +++ b/shell-completion/bash/resolvectl @@ -48,12 +48,14 @@ _resolvectl() { [LINK]='revert dns domain nta' [RESOLVE]='llmnr mdns' [DNSSEC]='dnssec' + [PRIVATEDNS]='privatedns' [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' + [PRIVATEDNS]='no opportunistic' ) local interfaces=$( __get_interfaces ) @@ -109,7 +111,7 @@ _resolvectl() { comps="" fi - elif __contains_word "$verb" ${VERBS[LINK]} ${VERBS[RESOLVE]} ${VERBS[DNSSEC]}; then + elif __contains_word "$verb" ${VERBS[LINK]} ${VERBS[RESOLVE]} ${VERBS[DNSSEC]} ${VERBS[PRIVATEDNS]}; then for ((i++; i < COMP_CWORD; i++)); do if __contains_word "${COMP_WORDS[i]}" $interfaces && ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then @@ -153,6 +155,22 @@ _resolvectl() { comps='' fi + elif __contains_word "$verb" ${VERBS[PRIVATEDNS]}; then + name= + for ((i++; i < COMP_CWORD; i++)); do + if __contains_word "${COMP_WORDS[i]}" ${ARGS[PRIVATEDNS]} && + ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then + name=${COMP_WORDS[i]} + break; + fi + done + + if [[ -z $name ]]; then + comps=${ARGS[PRIVATEDNS]} + else + comps='' + fi + else comps='' fi