summaryrefslogtreecommitdiffstats
path: root/shell-completion/partx
diff options
context:
space:
mode:
authorSami Kerola2013-03-23 00:37:11 +0100
committerSami Kerola2013-04-01 17:08:02 +0200
commitbf60993cf2442f67bd47bcfcf6bd49c7392c2ba1 (patch)
tree9e45987bc2b0b429e042baa3cd714ea773e6b3b9 /shell-completion/partx
parentbash-completion: add bash completetion configure option (diff)
downloadkernel-qcow2-util-linux-bf60993cf2442f67bd47bcfcf6bd49c7392c2ba1.tar.gz
kernel-qcow2-util-linux-bf60993cf2442f67bd47bcfcf6bd49c7392c2ba1.tar.xz
kernel-qcow2-util-linux-bf60993cf2442f67bd47bcfcf6bd49c7392c2ba1.zip
bash-completion: disk-utils
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'shell-completion/partx')
-rw-r--r--shell-completion/partx38
1 files changed, 38 insertions, 0 deletions
diff --git a/shell-completion/partx b/shell-completion/partx
new file mode 100644
index 000000000..db2eded6a
--- /dev/null
+++ b/shell-completion/partx
@@ -0,0 +1,38 @@
+_partx_module()
+{
+ local cur prev OPTS OUTPUT
+ COMPREPLY=()
+ OUTPUT="NR START END SECTORS SIZE NAME UUID TYPE FLAGS SCHEME"
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-n'|'--nr')
+ return 0
+ ;;
+ '-o'|'--output')
+ # FIXME: how to append to a string with compgen?
+ compopt -o nospace
+ COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) )
+ return 0
+ ;;
+ '-t'|'--type')
+ # FIXME: some command should list type libblkid knows.
+ COMPREPLY=( $(compgen -W "aix bsd dos gpt mac minix sgi solaris_x86 sun ultrix unixware" -- $cur) )
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS="-a --add -d --delete -s --show -u --update -b --bytes -g --noheadings -n --nr -o --output -P --pairs -r --raw -t --type -v --verbose -h --help -V --version"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ esac
+ local DEV TYPE DEVICES=''
+ while read DEV TYPE; do
+ [ $TYPE = 'disk' ] && DEVICES+="$DEV "
+ done < <(lsblk -pnro name,type)
+ COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+ return 0
+}
+complete -F _partx_module partx