_dust() { local i cur prev opts cmd COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" cmd="" opts="" for i in ${COMP_WORDS[@]} do case "${cmd},${i}" in ",$1") cmd="dust" ;; *) ;; esac done case "${cmd}" in dust) opts="-d -T -n -p -X -I -L -x -s -r -c -C -b -B -z -R -f -i -v -e -t -w -P -D -F -o -S -j -M -A -y -h -V --depth --threads --number-of-lines --full-paths --ignore-directory --ignore-all-in-file --dereference-links --limit-filesystem --apparent-size --reverse --no-colors --force-colors --no-percent-bars --bars-on-right --min-size --screen-reader --skip-total --filecount --ignore_hidden --invert-filter --filter --file_types --terminal_width --no-progress --print-errors --only-dir --only-file --output-format --stack-size --output-json --mtime --atime --ctime --files0-from --help --version [PATH]..." if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --depth) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -d) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --threads) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -T) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --number-of-lines) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -n) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --ignore-directory) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -X) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --ignore-all-in-file) local oldifs if [[ -v IFS ]]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [[ -v oldifs ]]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; -I) local oldifs if [[ -v IFS ]]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [[ -v oldifs ]]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --min-size) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -z) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --invert-filter) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -v) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -e) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --terminal_width) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -w) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --output-format) COMPREPLY=($(compgen -W "si b k m g t kb mb gb tb" -- "${cur}")) return 0 ;; -o) COMPREPLY=($(compgen -W "si b k m g t kb mb gb tb" -- "${cur}")) return 0 ;; --stack-size) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -S) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --mtime) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -M) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --atime) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -A) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --ctime) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -y) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --files0-from) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; esac } if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then complete -F _dust -o nosort -o bashdefault -o default dust else complete -F _dust -o bashdefault -o default dust fi