Re-enable postgresql database and user completion (Alioth: #312914, Ubuntu: #164772).

This implementation uses -w which is available only in psql >= 8.4,
but the net effect with earlier versions should be the same as when
the completions were disabled.
This commit is contained in:
Ville Skyttä 2011-01-08 23:28:38 +02:00
parent b1dbd1d712
commit fe2d7645df
2 changed files with 10 additions and 9 deletions

View File

@ -42,6 +42,8 @@ bash-completion (2.x)
* Add *.apk to unzip and jar filename completions. * Add *.apk to unzip and jar filename completions.
* Do not load bash_completion in profile.d script if progcomp is not enabled. * Do not load bash_completion in profile.d script if progcomp is not enabled.
* Ignore muttrc source entries that are not files (Alioth: #312881). * Ignore muttrc source entries that are not files (Alioth: #312881).
* Re-enable postgresql database and user completion (Alioth: #312914,
Ubuntu: #164772).
[ Freddy Vulto ] [ Freddy Vulto ]
* Added _tilde(), fix ~username completion (Alioth: #312613, Debian: #587095) * Added _tilde(), fix ~username completion (Alioth: #312613, Debian: #587095)

View File

@ -3,19 +3,18 @@
have psql && { have psql && {
_pg_databases() _pg_databases()
{ {
return # See https://launchpad.net/bugs/164772 # -w was introduced in 8.4, https://launchpad.net/bugs/164772
COMPREPLY=( $( compgen -W "$( psql -l 2>/dev/null | \ # "Access privileges" in output may contain linefeeds, hence the NF > 1
sed -e '1,/^-/d' -e '/^(/,$d' | \ COMPREPLY=( $( compgen -W "$( psql -AtqwlF $'\t' 2>/dev/null | \
awk '{print $1}' )" -- "$cur" ) ) awk 'NF > 1 { print $1 }' )" -- "$cur" ) )
} }
_pg_users() _pg_users()
{ {
# See https://launchpad.net/bugs/164772 # -w was introduced in 8.4, https://launchpad.net/bugs/164772
#COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \ COMPREPLY=( $( compgen -W "$( psql -Atqwc 'select usename from pg_user' \
# command grep "^ $cur" ) ) template1 2>/dev/null )" -- "$cur" ) )
#[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) ) [ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- "$cur" ) )
COMPREPLY=( $( compgen -u -- "$cur" ) )
} }
# createdb(1) completion # createdb(1) completion