11# Debian apt-cache(8) completion -*- shell-script -*-
22
33# List APT binary packages
4- # TODO:API: make it a generator
54# @since 2.12
6- _comp_xfunc_apt_cache_packages ()
5+ _comp_xfunc_apt_cache_compgen_packages ()
76{
8- _comp_cmd_apt_cache__packages apt-cache
7+ _comp_cmd_apt_cache__compgen_packages apt-cache
98}
109
11- # TODO:API: make it a generator
12- _comp_cmd_apt_cache__packages ()
10+ # List APT binary packages
11+ # @param $1 Name of executable
12+ _comp_cmd_apt_cache__compgen_packages ()
1313{
14- " $ 1" --no-generate pkgnames " $cur " 2> /dev/null || :
14+ _comp_compgen_split -- " $( " $ 1" --no-generate pkgnames " $cur " 2> /dev/null) "
1515}
1616
1717# List APT source packages
18- # TODO:API: make it a generator
1918# @since 2.12
20- _comp_xfunc_apt_cache_sources ()
19+ _comp_xfunc_apt_cache_compgen_sources ()
20+ {
21+ _comp_cmd_apt_cache__compgen_sources apt-cache
22+ }
23+
24+ # List APT source packages
25+ # @param $1 Name of executable
26+ _comp_cmd_apt_cache__compgen_sources ()
2127{
22- _comp_cmd_apt_cache__sources apt-cache " $1 "
28+ _comp_compgen_split -- " $( " $1 " dumpavail |
29+ awk ' $1 == "Source:" { print $2 }' | sort -u) "
2330}
2431
25- # TODO:API: make it a generator
26- _comp_cmd_apt_cache__sources ()
32+ # List APT binary packages
33+ # @deprecated 2.12
34+ _apt_cache_packages ()
2735{
28- local ret
29- _comp_compgen -c " $2 " -v ret split -- " $( " $1 " dumpavail |
30- awk ' $1 == "Source:" { print $2 }' | sort -u) " &&
31- printf ' %s\n' " ${ret[@]} "
36+ local packages
37+ _comp_compgen -v packages -i apt-cache packages apt-cache &&
38+ printf ' %s\n' " ${packages[@]} "
3239}
3340
3441# List APT source packages
35- # TODO:API: make it a generator
36- # @since 2.12
37- _comp_xfunc_apt_cache_src_packages ()
42+ # @deprecated 2.12
43+ _apt_cache_sources ()
3844{
39- local ret
40- _comp_compgen -v ret split -- \
41- " $( _comp_cmd_apt_cache__sources apt-cache " $cur " ) " &&
42- printf ' %s\n' " ${ret[@]} "
45+ local sources
46+ _comp_compgen -v sources -c " $1 " -i apt-cache sources apt-cache &&
47+ printf ' %s\n' " ${sources[@]} "
4348}
4449
45- _comp_deprecate_func 2.12 _apt_cache_packages _comp_xfunc_apt_cache_packages
46- _comp_deprecate_func 2.12 _apt_cache_sources _comp_xfunc_apt_cache_sources
47- _comp_deprecate_func 2.12 _apt_cache_src_packages \
48- _comp_xfunc_apt_cache_src_packages
50+ # List APT source packages
51+ # @deprecated 2.12
52+ _apt_cache_src_packages ()
53+ {
54+ local sources
55+ _comp_compgen -v sources -i apt-cache sources apt-cache &&
56+ printf ' %s\n' " ${sources[@]} "
57+ }
4958
5059_comp_cmd_apt_cache ()
5160{
@@ -69,11 +78,11 @@ _comp_cmd_apt_cache()
6978 ;;
7079
7180 showsrc)
72- COMPREPLY=( $( _comp_cmd_apt_cache__sources " $1 " " $cur " ) )
81+ _comp_cmd_apt_cache__compgen_sources " $1 "
7382 ;;
7483
7584 * )
76- COMPREPLY=( $( _comp_cmd_apt_cache__packages " $1 " ) )
85+ _comp_cmd_apt_cache__compgen_packages " $1 "
7786 ;;
7887
7988 esac
0 commit comments