# bash completion for e2fsprogs have badblocks && _badblocks() { local cur prev words cword _init_completion || return case $prev in -b|-c|-e|-d|-p|-t) return 0 ;; -i|-o) _filedir return 0 ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) ) # Filter out -w (dangerous) and -X (internal use) for i in ${!COMPREPLY[@]}; do [[ ${COMPREPLY[i]} == -[wX] ]] && unset COMPREPLY[i] done return 0 fi cur=${cur:=/dev/} _filedir } && complete -F _badblocks badblocks have dumpe2fs && _dumpe2fs() { local cur prev words cword _init_completion || return case $prev in -o|-V) return 0 ;; -i) _filedir return 0 ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) ) return 0 fi cur=${cur:=/dev/} _filedir } && complete -F _dumpe2fs dumpe2fs have e2freefrag && _e2freefrag() { local cur prev words cword _init_completion || return case $prev in -c|-h) return 0 ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_usage "$1" -h )' -- "$cur" ) ) return 0 fi cur=${cur:=/dev/} _filedir } && complete -F _e2freefrag e2freefrag have e2label && _e2label() { local cur prev words cword _init_completion || return if [ $cword -eq 1 ]; then cur=${cur:=/dev/} _filedir fi } && complete -F _e2label e2label have filefrag && _filefrag() { local cur prev words cword _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) ) return 0 fi _filedir } && complete -F _filefrag filefrag have tune2fs && _tune2fs() { local cur prev words cword _init_completion || return case $prev in -c|-C|-E|-i|-J|-L|-m|-r|-T) return 0 ;; -e) COMPREPLY=( $( compgen -W 'continue remount-ro panic' -- "$cur" ) ) return 0 ;; -g) _gids COMPREPLY=( $( compgen -g -W '${COMPREPLY[@]}' -- "$cur" ) ) return 0 ;; -M) _filedir -d ;; -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 0 ;; -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 0 ;; -u) _uids COMPREPLY=( $( compgen -u -W '${COMPREPLY[@]}' -- "$cur" ) ) return 0 ;; -U) COMPREPLY=( $( compgen -W 'clear random time' -- "$cur" ) ) return 0 ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) ) return fi cur=${cur:=/dev/} _filedir } && complete -F _tune2fs tune2fs # Local variables: # mode: shell-script # sh-basic-offset: 4 # sh-indent-comment: t # indent-tabs-mode: nil # End: # ex: ts=4 sw=4 et filetype=sh