Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/pi-hole/pi-hole.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Gill <rrobgill@protonmail.com>2018-06-06 15:37:43 +0300
committerGitHub <noreply@github.com>2018-06-06 15:37:43 +0300
commit80040806430417625fe624c58e9dd95f9c597656 (patch)
tree0987bbf3241a99a9921a751473fe0ebe6fc4af38 /advanced/bash-completion
parent13878974a61a21ef1a8f2e19015e01441361d47a (diff)
Additional command-line completion
Signed-off-by: Rob Gill <rrobgill@protonmail.com>
Diffstat (limited to 'advanced/bash-completion')
-rw-r--r--advanced/bash-completion/pihole74
1 files changed, 71 insertions, 3 deletions
diff --git a/advanced/bash-completion/pihole b/advanced/bash-completion/pihole
index fc8f2162..5a893f19 100644
--- a/advanced/bash-completion/pihole
+++ b/advanced/bash-completion/pihole
@@ -1,11 +1,79 @@
_pihole() {
- local cur prev opts
+ local cur prev opts opts_admin opts_checkout opts_chronometer opts_debug opts_interface opts_logging opts_privacy opts_query opts_update opts_version
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
- opts="admin blacklist chronometer debug disable enable flush help logging query reconfigure restartdns setupLCD status tail uninstall updateGravity updatePihole version whitelist checkout"
+ prev2="${COMP_WORDS[COMP_CWORD-2]}"
- COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+ case "${prev}" in
+ "pihole")
+ opts="admin blacklist checkout chronometer debug disable enable flush help logging query reconfigure restartdns status tail uninstall updateGravity updatePihole version wildcard whitelist"
+ COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+ ;;
+ "whitelist"|"blacklist"|"wildcard")
+ opts_lists="\--delmode \--noreload \--quiet \--list \--nuke"
+ COMPREPLY=( $(compgen -W "${opts_lists}" -- ${cur}) )
+ ;;
+ "admin")
+ opts_admin="celsius email fahrenheit hostrecord interface kelvin password privacylevel"
+ COMPREPLY=( $(compgen -W "${opts_admin}" -- ${cur}) )
+ ;;
+ "checkout")
+ opts_checkout="core ftl web master dev"
+ COMPREPLY=( $(compgen -W "${opts_checkout}" -- ${cur}) )
+ ;;
+ "chronometer")
+ opts_chronometer="\--exit \--jason \--refresh"
+ COMPREPLY=( $(compgen -W "${opts_chronometer}" -- ${cur}) )
+ ;;
+ "debug")
+ opts_debug="-a"
+ COMPREPLY=( $(compgen -W "${opts_debug}" -- ${cur}) )
+ ;;
+ "logging")
+ opts_logging="on off 'off noflush'"
+ COMPREPLY=( $(compgen -W "${opts_logging}" -- ${cur}) )
+ ;;
+ "query")
+ opts_query="-adlist -all -exact"
+ COMPREPLY=( $(compgen -W "${opts_query}" -- ${cur}) )
+ ;;
+ "updatePihole"|"-up")
+ opts_update="--check-only"
+ COMPREPLY=( $(compgen -W "${opts_update}" -- ${cur}) )
+ ;;
+ "version")
+ opts_version="\--admin \--current \--ftl \--hash \--latest \--pihole"
+ COMPREPLY=( $(compgen -W "${opts_version}" -- ${cur}) )
+ ;;
+ "interface")
+ if ( [[ "$prev2" == "admin" ]] || [[ "$prev2" == "-a" ]] ); then
+ opts_interface="$(cat /proc/net/dev | cut -d: -s -f1)"
+ COMPREPLY=( $(compgen -W "${opts_interface}" -- ${cur}) )
+ else
+ return 1
+ fi
+ ;;
+ "privacylevel")
+ if ( [[ "$prev2" == "admin" ]] || [[ "$prev2" == "-a" ]] ); then
+ opts_privacy="0 1 2 3"
+ COMPREPLY=( $(compgen -W "${opts_privacy}" -- ${cur}) )
+ else
+ return 1
+ fi
+ ;;
+ "core"|"admin"|"ftl")
+ if [[ "$prev2" == "checkout" ]]; then
+ opts_checkout="master dev"
+ COMPREPLY=( $(compgen -W "${opts_checkout}" -- ${cur}) )
+ else
+ return 1
+ fi
+ ;;
+ *)
+ return 1
+ ;;
+ esac
return 0
}
complete -F _pihole pihole