summaryrefslogtreecommitdiffstats
path: root/completions/tune2fs
blob: 6d62aa22b6bf832064249ba10ad86c151dc36be1 (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
# tune2fs(8) completion                                    -*- shell-script -*-

_comp_cmd_tune2fs()
{
    local cur prev words cword comp_args
    _comp_initialize -- "$@" || return

    case $prev in
        -*[cCEiJLmrT])
            return
            ;;
        -*e)
            _comp_compgen -- -W 'continue remount-ro panic'
            return
            ;;
        -*g)
            _comp_compgen_gids
            _comp_compgen -a -- -g
            return
            ;;
        -*M)
            _comp_compgen_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)
            _comp_compgen -- -W '"${opts[@]}" "${opts[@]#^}"'
            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)
            _comp_compgen -- -W '"${opts[@]}" "${opts[@]#^}"'
            return
            ;;
        -*u)
            _comp_compgen_uids
            _comp_compgen -a -- -u
            return
            ;;
        -*U)
            _comp_compgen -- -W 'clear random time'
            return
            ;;
    esac

    if [[ $cur == -* ]]; then
        _comp_compgen_usage
        return
    fi

    _comp_compgen -c "${cur:-/dev/}" filedir
} &&
    complete -F _comp_cmd_tune2fs tune2fs

# ex: filetype=sh