]> git.ipfire.org Git - thirdparty/util-linux.git/blame - bash-completion/losetup
build-sys: release++ (v2.29.2)
[thirdparty/util-linux.git] / bash-completion / losetup
CommitLineData
c6f8c3f5
SK
1_losetup_module()
2{
3 local cur prev OPTS ARG
4 COMPREPLY=()
5 cur="${COMP_WORDS[COMP_CWORD]}"
6 prev="${COMP_WORDS[COMP_CWORD-1]}"
7 case $prev in
8 '-d'|'--detach')
396a6d7d 9 ARG="$($1 --output NAME | awk '{if (1 < NR) {print}}')"
c6f8c3f5
SK
10 COMPREPLY=( $(compgen -W "$ARG" -- $cur) )
11 return 0
12 ;;
13 '-j'|'--associated')
396a6d7d 14 ARG="$($1 --output BACK-FILE | awk '{if (1 < NR) {print}}')"
c6f8c3f5
SK
15 COMPREPLY=( $(compgen -W "$ARG" -- $cur) )
16 return 0
17 ;;
18 '-c'|'--set-capacity')
19 ARG="$(for I in /dev/loop[0-9]*; do if [ -e $I ]; then echo $I; fi; done)"
20 COMPREPLY=( $(compgen -W "$ARG" -- $cur) )
21 return 0
22 ;;
23 '-o'|'--offset'|'--sizelimit')
24 COMPREPLY=( $(compgen -W "number" -- $cur) )
25 return 0
26 ;;
27 '-O'|'--output')
b5b80e5a
BE
28 local prefix realcur OUTPUT_ALL OUTPUT
29 realcur="${cur##*,}"
30 prefix="${cur%$realcur}"
31 OUTPUT_ALL="NAME AUTOCLEAR BACK-FILE BACK-INO
c6f8c3f5
SK
32 BACK-MAJ:MIN MAJ:MIN OFFSET PARTSCAN RO
33 SIZELIMIT"
b5b80e5a
BE
34 for WORD in $OUTPUT_ALL; do
35 if ! [[ $prefix == *"$WORD"* ]]; then
36 OUTPUT="$WORD $OUTPUT"
37 fi
38 done
c6f8c3f5 39 compopt -o nospace
b5b80e5a 40 COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
c6f8c3f5
SK
41 return 0
42 ;;
d4f9b8d7
VS
43 '-h'|'--help'|'-V'|'--version')
44 return 0
45 ;;
c6f8c3f5
SK
46 esac
47 case $cur in
48 -*)
0d5b9b8a
VS
49 OPTS="--all
50 --detach
51 --detach-all
52 --find
53 --set-capacity
54 --associated
55 --list
56 --offset
57 --output
58 --sizelimit
59 --partscan
60 --read-only
61 --show
62 --verbose
63 --help
64 --version"
c6f8c3f5
SK
65 COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
66 return 0
67 ;;
68 esac
ce3e6b15 69 local IFS=$'\n'
c6f8c3f5
SK
70 compopt -o filenames
71 COMPREPLY=( $(compgen -f -- $cur) )
72 return 0
73}
74complete -F _losetup_module losetup