# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
_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