aboutsummaryrefslogtreecommitdiffstats
path: root/src/_pgsql_utils
diff options
context:
space:
mode:
authorStefano Zacchiroli <zack@upsilon.cc>2015-11-06 09:56:40 -0800
committerStefano Zacchiroli <zack@upsilon.cc>2015-11-06 09:56:40 -0800
commita812877745d4d3c1cedc66a8351f1b9909517f6c (patch)
treeaeb942913abcded2fe5f5ebd6740d02857177903 /src/_pgsql_utils
parentMerge pull request #345 from termoshtt/stack (diff)
downloadzsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.tar
zsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.tar.gz
zsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.tar.bz2
zsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.tar.lz
zsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.tar.xz
zsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.tar.zst
zsh-completions-a812877745d4d3c1cedc66a8351f1b9909517f6c.zip
Add service=... support to PostgreSQL completion
Diffstat (limited to 'src/_pgsql_utils')
-rw-r--r--src/_pgsql_utils12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/_pgsql_utils b/src/_pgsql_utils
index 64cd527..f59a101 100644
--- a/src/_pgsql_utils
+++ b/src/_pgsql_utils
@@ -121,11 +121,21 @@ _pgsql_databases () {
local _pgsql_user _pgsql_port _pgsql_host _pgsql_params
_pgsql_get_identity
+ local _pgsql_services _pgsql_service_files
+ _pgsql_service_files=(
+ ~/.pg_service.conf
+ $(pg_config --sysconfdir)/pg_service.conf
+ )
+ _pgsql_services=$( grep -h '^\[.*\]' $_pgsql_service_files 2>/dev/null \
+ | sed -e 's/^\[/service=/' -e 's/\].*$//' )
+
local _pgsql_db_sql
_pgsql_db_sql="select d.datname from pg_catalog.pg_database d \
where d.datname <> 'template0'"
- compadd "$@" - $( psql $_pgsql_params[@] -Atq -c $_pgsql_db_sql template1 2>/dev/null )
+ compadd "$@" - \
+ ${(f)_pgsql_services} \
+ $( psql $_pgsql_params[@] -Atq -c $_pgsql_db_sql template1 2>/dev/null )
}
_pgsql_encodings () {