From bf60993cf2442f67bd47bcfcf6bd49c7392c2ba1 Mon Sep 17 00:00:00 2001 From: Sami Kerola Date: Fri, 22 Mar 2013 23:37:11 +0000 Subject: bash-completion: disk-utils Signed-off-by: Sami Kerola --- shell-completion/partx | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 shell-completion/partx (limited to 'shell-completion/partx') 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 -- cgit v1.2.3-55-g7522