blob: e43b24e46710e81b808d4239df83dc13c5d62423 [file] [log] [blame]
Needs a little more thought, or some method which would allow for an upstream
push without affecting the non-Gentoo users.
--- i/surfraw-bash-completion.IN
+++ w/surfraw-bash-completion.IN
@@ -4,6 +4,22 @@
# installing the bash-completion package which sets this explicitly.
shopt -s extglob
+_srpkgname()
+{
+ local pd
+ local dir=$(sed -n -e '/^PORTDIR=/ { s/^[^=]\+="\?\([^"]\+\|\S\+\).*/\1/p ; q }' \
+ /etc/make.{conf,globals})/*
+ local cur="$1"
+
+ COMPREPLY=($(compgen -W "$(
+ for pd in $dir
+ do
+ [ ! -d ${pd} ] && continue
+ builtin cd ${pd}
+ echo *
+ done)" -- ${cur})
+ )
+}
_surfraw()
{ COMPREPLY=()
local cur=${COMP_WORDS[COMP_CWORD]}
@@ -20,7 +36,7 @@ _surfraw()
then COMPREPLY=( $( compgen -W "$elvi" -- $cur ) )
# "sr go<tab>" for google
elif [[ $prev == @(alioth|deb@(bugs|contents|packages|pts|sec)|freshmeat|fsfdir|sourceforge) ]]
- then COMPREPLY=( $(apt-cache --generate pkgnames $cur) )
+ then _srpkgname ${cur}
# "sr debbugs 4<tab>" to check 44bsd-rdist bugs...
elif [[ -x /usr/bin/look ]] # in bsdmainutils, "important"
then COMPREPLY=( $(/usr/bin/look ${cur:-''}) )