summaryrefslogtreecommitdiffstats
path: root/completions/tune2fs
blob: 66d629c48ef8ea9740349e2e97af772f288d27ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# tune2fs(8) completion                                    -*- shell-script -*-

_tune2fs()
{
    local cur prev words cword
    _init_completion || return

    case $prev in
        -*[cCEiJLmrT])
            return
            ;;
        -*e)
            COMPREPLY=($(compgen -W 'continue remount-ro panic' -- "$cur"))
            return
            ;;
        -*g)
            _gids
            COMPREPLY=($(compgen -g -W '${COMPREPLY[@]}' -- "$cur"))
            return
            ;;
        -*M)
            _filedir -d
            return
            ;;
        -*o)
            local -a opts=(^debug ^bsdgroups ^user_xattr ^acl ^uid16
                ^journal_data ^journal_data_ordered ^journal_data_writeback
                ^nobarrier ^block_validity ^discard ^nodelalloc)
            COMPREPLY=($(compgen -W '${opts[@]} ${opts[@]#^}' -- "$cur"))
            return
            ;;
        -*O)
            local -a opts=(^dir_index ^dir_nlink ^encrypt ^extent ^extra_isize
                ^filetype ^flex_bg ^has_journal ^huge_file ^large_file
                ^metadata_csum ^mmp ^project ^quota ^read-only ^resize_inode
                ^sparse_super ^uninit_bg)
            COMPREPLY=($(compgen -W '${opts[@]} ${opts[@]#^}' -- "$cur"))
            return
            ;;
        -*u)
            _uids
            COMPREPLY=($(compgen -u -W '${COMPREPLY[@]}' -- "$cur"))
            return
            ;;
        -*U)
            COMPREPLY=($(compgen -W 'clear random time' -- "$cur"))
            return
            ;;
    esac

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '$(_parse_usage "$1")' -- "$cur"))
        return
    fi

    cur=${cur:=/dev/}
    _filedir
} &&
    complete -F _tune2fs tune2fs

# ex: filetype=sh