summaryrefslogtreecommitdiffstats
path: root/bash-completion/wdctl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bash-completion/wdctl70
1 files changed, 70 insertions, 0 deletions
diff --git a/bash-completion/wdctl b/bash-completion/wdctl
new file mode 100644
index 0000000..f1a870e
--- /dev/null
+++ b/bash-completion/wdctl
@@ -0,0 +1,70 @@
+_wdctl_module()
+{
+ local cur prev OPTS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-f'|'--flags')
+ local FLAGS
+ FLAGS="ALARMONLY
+ CARDRESET
+ EXTERN1
+ EXTERN2
+ FANFAULT
+ KEEPALIVEPING
+ MAGICCLOSE
+ OVERHEAT
+ POWEROVER
+ POWERUNDER
+ PRETIMEOUT
+ SETTIMEOUT"
+ COMPREPLY=( $(compgen -W "$FLAGS" -- $cur) )
+ return 0
+ ;;
+ '-o'|'--output')
+ local prefix realcur OUTPUT_ALL OUTPUT
+ realcur="${cur##*,}"
+ prefix="${cur%$realcur}"
+ OUTPUT_ALL="FLAG DESCRIPTION STATUS BOOT-STATUS DEVICE"
+ for WORD in $OUTPUT_ALL; do
+ if ! [[ $prefix == *"$WORD"* ]]; then
+ OUTPUT="$WORD ${OUTPUT:-""}"
+ fi
+ done
+ compopt -o nospace
+ COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
+ return 0
+ ;;
+ '-s'|'--settimeout')
+ COMPREPLY=( $(compgen -W "seconds" -- $cur) )
+ return 0
+ ;;
+ '-h'|'--help'|'-V'|'--version')
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS="--flags
+ --noflags
+ --noident
+ --noheadings
+ --oneline
+ --output
+ --raw
+ --notimeouts
+ --settimeout
+ --flags-only
+ --help
+ --version"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ esac
+ local IFS=$'\n'
+ compopt -o filenames
+ COMPREPLY=( $(compgen -f -- ${cur:-"/dev/"}) )
+ return 0
+}
+complete -F _wdctl_module wdctl