File: bash-completion

package info (click to toggle)
apt-file 3.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 636 kB
  • sloc: perl: 907; sh: 93; makefile: 40
file content (55 lines) | stat: -rw-r--r-- 1,344 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
_have apt-file &&
_apt_file()
{
	local cur prev indices

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case "$prev" in
	list | show)
	    COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) );
	    return 0
	    ;;
	search | find)
	    _filedir
	    return 0
	    ;;
        --architecture|-a)
            arch=$(dpkg --print-architecture)
            foreign_archs=$(dpkg --print-foreign-architectures)
            COMPREPLY=( $( compgen -W "${arch} ${forein_archs}" -- $cur) )
            return 0
            ;;
        --config-file|-c)
	    _filedir
	    return 0
	    ;;
        --index-names|-I)
            indices=$(apt-get indextargets --format '$(CREATED_BY)' | sed -n '/^Contents/ s/^Contents-//  p' | sort -u)
            COMPREPLY=( $(compgen -W "$indices" -- $cur ) )
            return 0
            ;;
        esac;
	if [[ "$cur" == -* ]]; then

		COMPREPLY=( $( compgen -W '-v -a -l -f -F -o -c -I \
				--verbose --architecture \
				--package-only --fixed-string \
				--architecture --config-file \
                                --index-names --substring-match \
                                --option --help' -- $cur ) )
	else

		COMPREPLY=( $( compgen -W 'update search list find \
	                        show' -- $cur ) )

	fi


	return 0

}
complete -f -F _apt_file apt-file