]>
Commit | Line | Data |
---|---|---|
2bd3b27a SK |
1 | _fdisk_module() |
2 | { | |
3 | local cur prev OPTS | |
4 | COMPREPLY=() | |
5 | cur="${COMP_WORDS[COMP_CWORD]}" | |
6 | prev="${COMP_WORDS[COMP_CWORD-1]}" | |
7 | case $prev in | |
8 | '-s') | |
9 | local DEV TYPE DEVICES='' | |
10 | while read DEV TYPE; do | |
11 | [ $TYPE = 'part' ] && DEVICES+="$DEV " | |
12 | done < <(lsblk -pnro name,type) | |
13 | COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) ) | |
14 | return 0 | |
15 | ;; | |
16 | '-b') | |
17 | COMPREPLY=( $(compgen -W "512 1024 2048 4096" -- $cur) ) | |
18 | return 0 | |
19 | ;; | |
20 | '-c') | |
21 | COMPREPLY=( $(compgen -W "dos nondos" -- $cur) ) | |
22 | return 0 | |
23 | ;; | |
24 | '-u') | |
25 | COMPREPLY=( $(compgen -W "cylinders sectors" -- $cur) ) | |
26 | return 0 | |
27 | ;; | |
28 | '-C'|'-H'|'-S') | |
29 | COMPREPLY=( $(compgen -W "number" -- $cur) ) | |
30 | return 0 | |
31 | ;; | |
32 | esac | |
33 | case $cur in | |
34 | -*) | |
35 | OPTS="-l -s -b -c -h -u -v -C -H -S" | |
36 | COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) | |
37 | return 0 | |
38 | ;; | |
39 | esac | |
40 | local DEV TYPE DEVICES='' | |
41 | while read DEV TYPE; do | |
42 | [ $TYPE = 'disk' ] && DEVICES+="$DEV " | |
43 | done < <(lsblk -pnro name,type) | |
44 | COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) ) | |
45 | return 0 | |
46 | } | |
47 | complete -F _fdisk_module fdisk |