]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
bash-completion: fdisks
authorSami Kerola <kerolasa@iki.fi>
Sat, 23 Mar 2013 16:18:37 +0000 (16:18 +0000)
committerSami Kerola <kerolasa@iki.fi>
Mon, 1 Apr 2013 15:31:12 +0000 (16:31 +0100)
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
shell-completion/cfdisk [new file with mode: 0644]
shell-completion/fdisk [new file with mode: 0644]
shell-completion/sfdisk [new file with mode: 0644]

diff --git a/shell-completion/cfdisk b/shell-completion/cfdisk
new file mode 100644 (file)
index 0000000..4be5186
--- /dev/null
@@ -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 (file)
index 0000000..ae94f10
--- /dev/null
@@ -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 (file)
index 0000000..5498b0e
--- /dev/null
@@ -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