summaryrefslogtreecommitdiffstats
path: root/bash-completion/blkzone
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xbash-completion/blkzone52
1 files changed, 52 insertions, 0 deletions
diff --git a/bash-completion/blkzone b/bash-completion/blkzone
new file mode 100755
index 0000000..a50684d
--- /dev/null
+++ b/bash-completion/blkzone
@@ -0,0 +1,52 @@
+_blkzone_module()
+{
+ local cur prev OPTS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-o'|'--offset')
+ COMPREPLY=( $(compgen -W "sector" -- $cur) )
+ return 0
+ ;;
+ '-l'|'--length')
+ COMPREPLY=( $(compgen -W "size" -- $cur) )
+ return 0
+ ;;
+ '-c'|'--count')
+ COMPREPLY=( $(compgen -W "number" -- $cur) )
+ return 0
+ ;;
+ '-h'|'--help'|'-V'|'--version')
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ case $prev in
+ 'report'|'reset')
+ OPTS="--verbose --offset --length --count"
+ ;;
+ *)
+ OPTS="--help --version"
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ *)
+ case $prev in
+ 'report'|'reset')
+ ;;
+ *)
+ OPTS="report reset"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ ;;
+ esac
+ return 0
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
+ return 0
+}
+complete -F _blkzone_module blkzone