1e01aa904Sopenharmony_ci# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
2e01aa904Sopenharmony_ci_abidiff_module()
3e01aa904Sopenharmony_ci{
4e01aa904Sopenharmony_ci	local cur prev OPTS
5e01aa904Sopenharmony_ci	COMPREPLY=()
6e01aa904Sopenharmony_ci	cur="${COMP_WORDS[COMP_CWORD]}"
7e01aa904Sopenharmony_ci	prev="${COMP_WORDS[COMP_CWORD-1]}"
8e01aa904Sopenharmony_ci	case $prev in
9e01aa904Sopenharmony_ci	  '--d1'|'--d2'|'--debug-info-dir1'|'--debug-info-dir2')
10e01aa904Sopenharmony_ci	    local IFS=$'\n'
11e01aa904Sopenharmony_ci	    compopt -o dirnames
12e01aa904Sopenharmony_ci	    COMPREPLY=( $(compgen -d -- $cur) )
13e01aa904Sopenharmony_ci	    return 0
14e01aa904Sopenharmony_ci	    ;;
15e01aa904Sopenharmony_ci	  '--suppressions'|'--suppr')
16e01aa904Sopenharmony_ci	    local IFS=$'\n'
17e01aa904Sopenharmony_ci	    compopt -o filenames
18e01aa904Sopenharmony_ci	    COMPREPLY=( $(compgen -f -- $cur) )
19e01aa904Sopenharmony_ci	    return 0
20e01aa904Sopenharmony_ci	    ;;
21e01aa904Sopenharmony_ci	  '--drop' | '--drop-fn' | '--drop-var' | '--keep' | '--keep-fn' | '--keep-var')
22e01aa904Sopenharmony_ci	  #'--{drop,keep}{,-fn,-var}')
23e01aa904Sopenharmony_ci	    COMPREPLY=( $(compgen -W "string" -- $cur) )
24e01aa904Sopenharmony_ci	    return 0
25e01aa904Sopenharmony_ci	    ;;
26e01aa904Sopenharmony_ci	esac
27e01aa904Sopenharmony_ci	case $cur in
28e01aa904Sopenharmony_ci	  -*)
29e01aa904Sopenharmony_ci	    OPTS="  --added-fns
30e01aa904Sopenharmony_ci		    --added-vars
31e01aa904Sopenharmony_ci		    --changed-fns
32e01aa904Sopenharmony_ci		    --changed-vars
33e01aa904Sopenharmony_ci		    --d1
34e01aa904Sopenharmony_ci		    --d2
35e01aa904Sopenharmony_ci		    --debug-info-dir1
36e01aa904Sopenharmony_ci		    --debug-info-dir2
37e01aa904Sopenharmony_ci		    --deleted-fns
38e01aa904Sopenharmony_ci		    --deleted-vars
39e01aa904Sopenharmony_ci		    --drop
40e01aa904Sopenharmony_ci		    --drop-fn
41e01aa904Sopenharmony_ci		    --drop-var
42e01aa904Sopenharmony_ci		    --dump-diff-tree
43e01aa904Sopenharmony_ci		    --harmless
44e01aa904Sopenharmony_ci		    --help
45e01aa904Sopenharmony_ci		    --keep
46e01aa904Sopenharmony_ci		    --keep-fn
47e01aa904Sopenharmony_ci		    --keep-var
48e01aa904Sopenharmony_ci		    --no-harmful
49e01aa904Sopenharmony_ci		    --no-linkage-name
50e01aa904Sopenharmony_ci		    --no-redundant
51e01aa904Sopenharmony_ci		    --no-unreferenced-symbols
52e01aa904Sopenharmony_ci		    --redundant
53e01aa904Sopenharmony_ci		    --no-show-locs
54e01aa904Sopenharmony_ci		    --stat
55e01aa904Sopenharmony_ci		    --symtabs"
56e01aa904Sopenharmony_ci	    COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
57e01aa904Sopenharmony_ci	    return 0
58e01aa904Sopenharmony_ci	    ;;
59e01aa904Sopenharmony_ci	esac
60e01aa904Sopenharmony_ci	local IFS=$'\n'
61e01aa904Sopenharmony_ci	compopt -o filenames
62e01aa904Sopenharmony_ci	COMPREPLY=( $(compgen -f -- $cur) )
63e01aa904Sopenharmony_ci	return 0
64e01aa904Sopenharmony_ci}
65e01aa904Sopenharmony_cicomplete -F _abidiff_module abidiff
66