From: Sami Kerola Date: Sat, 23 Mar 2013 16:18:37 +0000 (+0000) Subject: bash-completion: fdisks X-Git-Tag: v2.23-rc2~48^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2bd3b27a254e3cb9bb250fd9e69397355d51c075;p=thirdparty%2Futil-linux.git bash-completion: fdisks Signed-off-by: Sami Kerola --- diff --git a/shell-completion/cfdisk b/shell-completion/cfdisk new file mode 100644 index 0000000000..4be5186c44 --- /dev/null +++ b/shell-completion/cfdisk @@ -0,0 +1,35 @@ +_cfdisk_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-c') + COMPREPLY=( $(compgen -W "cylinders" -- $cur) ) + return 0 + ;; + '-h') + COMPREPLY=( $(compgen -W "heads" -- $cur) ) + return 0 + ;; + '-s') + COMPREPLY=( $(compgen -W "sectors" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-a -z -c -h -s" + 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 _cfdisk_module cfdisk diff --git a/shell-completion/fdisk b/shell-completion/fdisk new file mode 100644 index 0000000000..ae94f10c67 --- /dev/null +++ b/shell-completion/fdisk @@ -0,0 +1,47 @@ +_fdisk_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-s') + local DEV TYPE DEVICES='' + while read DEV TYPE; do + [ $TYPE = 'part' ] && DEVICES+="$DEV " + done < <(lsblk -pnro name,type) + COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) ) + return 0 + ;; + '-b') + COMPREPLY=( $(compgen -W "512 1024 2048 4096" -- $cur) ) + return 0 + ;; + '-c') + COMPREPLY=( $(compgen -W "dos nondos" -- $cur) ) + return 0 + ;; + '-u') + COMPREPLY=( $(compgen -W "cylinders sectors" -- $cur) ) + return 0 + ;; + '-C'|'-H'|'-S') + COMPREPLY=( $(compgen -W "number" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-l -s -b -c -h -u -v -C -H -S" + 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 _fdisk_module fdisk diff --git a/shell-completion/sfdisk b/shell-completion/sfdisk new file mode 100644 index 0000000000..5498b0e909 --- /dev/null +++ b/shell-completion/sfdisk @@ -0,0 +1,79 @@ +_sfdisk_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-u'|'--unit') + COMPREPLY=( $(compgen -W "S C B M" -- $cur) ) + return 0 + ;; + '-n'|'-C'|'--cylinders'|'-H'|'--heads'|'-S'|'--sectors') + COMPREPLY=( $(compgen -W "number" -- $cur) ) + return 0 + ;; + '-O'|'-I') + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 + ;; + esac + case $cur in + '=') + cur=${cur#=} + ;; + -*) + OPTS="-s --show-size + -c --id + --change-id + --print-id + -l --list + -d --dump + -i --increment + -u --unit + -1 --one-only + -T --list-types + -D --DOS + -E --DOS-extended + -R --re-read + -N + -n + -O + -I + -V --verify + -v --version + -h --help + -f --force + --no-reread + -q --quiet + -L --Linux + -g --show-geometry + -G --show-pt-geometry + -A= --activate= + -U= --unhide= + -x --show-extended + --leave-last + --IBM + --in-order + --not-in-order + --inside-outer + --not-inside-outer + --nested + --chained + --onesector + -C --cylinders + -H --heads + -S --sectors" + 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 _sfdisk_module sfdisk