_abidw_module() { local cur prev OPTS COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" case $prev in '-d'|'--debug-info-dir') local IFS=$'\n' compopt -o dirnames COMPREPLY=( $(compgen -d -- $cur) ) return 0 ;; '--check-alternative-debug-info' | '--check-alternative-debug-info-base-name') # TODO: perhaps limit this to ar-s and elf-s local IFS=$'\n' compopt -o filenames COMPREPLY=( $(compgen -f -- $cur) ) return 0 ;; '--out-file') local IFS=$'\n' compopt -o filenames COMPREPLY=( $(compgen -f -- $cur) ) return 0 ;; esac case $cur in -*) OPTS=" --abidiff --debug-info-dir --check-alternative-debug-info --check-alternative-debug-info-base-name --help --load-all-types --no-architecture --noout --out-file --no-show-locs --stats" COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;; esac local IFS=$'\n' compopt -o filenames COMPREPLY=( $(compgen -f -- $cur) ) return 0 } complete -F _abidw_module abidw