summaryrefslogtreecommitdiffstats
path: root/shell-completion/blkdiscard
diff options
context:
space:
mode:
Diffstat (limited to 'shell-completion/blkdiscard')
-rw-r--r--shell-completion/blkdiscard25
1 files changed, 25 insertions, 0 deletions
diff --git a/shell-completion/blkdiscard b/shell-completion/blkdiscard
new file mode 100644
index 000000000..757480c08
--- /dev/null
+++ b/shell-completion/blkdiscard
@@ -0,0 +1,25 @@
+_blkdiscard_module()
+{
+ local cur prev OPTS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-o'|'--offset'|'-l'|'--length')
+ COMPREPLY=( $(compgen -W "num" -- $cur) )
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS="-o --offset -l --length -s --secure -v --verbose -h --help -V --version"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ esac
+ local DEVS
+ DEVS=''; while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
+ COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+ return 0
+}
+complete -F _blkdiscard_module blkdiscard