# tune2fs(8) completion                                    -*- shell-script -*-

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

    case $prev in
        -c|-C|-E|-i|-J|-L|-m|-r|-T)
            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)
            COMPREPLY=( $( compgen -W '${opts[@]} ${opts[@]#^}' -- "$cur" ) )
            return
            ;;
        -O)
            local -a opts=(^dir_index ^dir_nlink ^extent ^extra_isize ^filetype
                ^flex_bg ^has_journal ^huge_file ^large_file ^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
