]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
blkzone: add bash-completion
authorKarel Zak <kzak@redhat.com>
Thu, 23 Feb 2017 16:01:29 +0000 (17:01 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 23 Feb 2017 16:01:29 +0000 (17:01 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
bash-completion/Makemodule.am
bash-completion/blkzone [new file with mode: 0755]

index 89ae8ddacec0b41c2584d65218aa8c12f68e731e..3ffd124dcf5d00fc15af94506bfbc632a0b2bdea 100644 (file)
@@ -252,6 +252,9 @@ endif
 if BUILD_BLKDISCARD
 dist_bashcompletion_DATA += bash-completion/blkdiscard
 endif
+if BUILD_BLKZONE
+dist_bashcompletion_DATA += bash-completion/blkzone
+endif
 if BUILD_CTRLALTDEL
 dist_bashcompletion_DATA += bash-completion/ctrlaltdel
 endif
diff --git a/bash-completion/blkzone b/bash-completion/blkzone
new file mode 100755 (executable)
index 0000000..d161cd0
--- /dev/null
@@ -0,0 +1,48 @@
+_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
+                       ;;
+               '-h'|'--help'|'-V'|'--version')
+                       return 0
+                       ;;
+       esac
+       case $cur in
+               -*)
+                       case $prev in
+                               'report'|'reset')
+                                       OPTS="--verbose --offset --length"
+                                       ;;
+                               *)
+                                       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