[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1bfaacd1a0a79b26b682ed8676341ee88f4ee92d
Guillaume Rousse
guillomovitch at zarb.org
Wed May 20 23:42:43 UTC 2009
The following commit has been merged in the master branch:
commit 35302e458f28be1629cc773c1d66cc05ee253cbd
Author: Guillaume Rousse <guillomovitch at zarb.org>
Date: Thu May 21 01:21:31 2009 +0200
split postgresql completion
diff --git a/Makefile.am b/Makefile.am
index d06c4ac..28057e5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -57,6 +57,7 @@ bashcomp_DATA = contrib/ant \
contrib/openssl \
contrib/p4 \
contrib/pkg-config \
+ contrib/postgresql \
contrib/povray \
contrib/qdbus \
contrib/qemu \
diff --git a/bash_completion b/bash_completion
index a52cb8d..b83f403 100644
--- a/bash_completion
+++ b/bash_completion
@@ -3493,135 +3493,6 @@ _openssl_sections()
-- $cur ) )
}
-# Postgresql completion
-#
-have psql && {
-_pg_databases()
-{
- return # intentionally disabled in 7ebed6af (TODO: why?)
- COMPREPLY=( $( compgen -W "$( psql -l 2>/dev/null | \
- sed -e '1,/^-/d' -e '/^(/,$d' | \
- awk '{print $1}' )" -- $cur ) )
-}
-
-_pg_users()
-{
- #COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
- # grep "^ $cur" ) )
- #[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
- COMPREPLY=( $( compgen -u -- $cur ) )
-}
-
-# createdb(1) completion
-#
-_createdb()
-{
- local cur prev
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- case "$prev" in
- -@(h|-host=))
- _known_hosts
- return 0
- ;;
- -@(U|-username=))
- _pg_users
- return 0
- ;;
- esac
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-D -T -E -h -p -U -W -e -q \
- --location= --template= --encoding= --host= --port= \
- --username= --password --echo --quiet --help' -- $cur ))
- else
- _pg_databases
- fi
-}
-complete -F _createdb $default createdb
-
-# dropdb(1) completion
-#
-_dropdb()
-{
- local cur prev
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- case "$prev" in
- -@(h|-host=))
- _known_hosts
- return 0
- ;;
- -@(U|-username=))
- _pg_users
- return 0
- ;;
- esac
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-h -p -U -W -e -q \
- --host= --port= --username= --password \
- --interactive --echo --quiet --help' -- $cur ) )
- else
- _pg_databases
- fi
-}
-complete -F _dropdb $default dropdb
-
-# psql(1) completion
-#
-_psql()
-{
- local cur prev
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- case "$prev" in
- -h|--host)
- _known_hosts
- return 0
- ;;
- -U|--username)
- _pg_users
- return 0
- ;;
- -d|--dbname)
- _pg_databases
- return 0
- ;;
- -@(o|f)|--output|--file)
- _filedir
- return 0
- ;;
- esac
-
- if [[ "$cur" == -* ]]; then
- # return list of available options
- COMPREPLY=( $( compgen -W '-a --echo-all -A --no-align \
- -c --command -d --dbname -e --echo-queries \
- -E --echo-hidden -f --file -F --filed-separator \
- -h --host -H --html -l --list -n -o --output \
- -p --port -P --pset -q -R --record-separator \
- -s --single-step -S --single-line -t --tuples-only \
- -T --table-attr -U --username -v --variable \
- -V --version -W --password -x --expanded -X --nopsqlrc \
- -? --help ' -- $cur ) )
- else
- # return list of available databases
- _pg_databases
- fi
-}
-complete -F _psql $default psql
-}
-
_longopt()
{
local cur prev
diff --git a/contrib/postgresql b/contrib/postgresql
new file mode 100644
index 0000000..d0b974e
--- /dev/null
+++ b/contrib/postgresql
@@ -0,0 +1,131 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for Postgresql
+
+have psql && {
+_pg_databases()
+{
+ return # intentionally disabled in 7ebed6af (TODO: why?)
+ COMPREPLY=( $( compgen -W "$( psql -l 2>/dev/null | \
+ sed -e '1,/^-/d' -e '/^(/,$d' | \
+ awk '{print $1}' )" -- $cur ) )
+}
+
+_pg_users()
+{
+ #COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
+ # grep "^ $cur" ) )
+ #[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
+ COMPREPLY=( $( compgen -u -- $cur ) )
+}
+
+# createdb(1) completion
+#
+_createdb()
+{
+ local cur prev
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ case "$prev" in
+ -@(h|-host=))
+ _known_hosts
+ return 0
+ ;;
+ -@(U|-username=))
+ _pg_users
+ return 0
+ ;;
+ esac
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-D -T -E -h -p -U -W -e -q \
+ --location= --template= --encoding= --host= --port= \
+ --username= --password --echo --quiet --help' -- $cur ))
+ else
+ _pg_databases
+ fi
+}
+complete -F _createdb $default createdb
+
+# dropdb(1) completion
+#
+_dropdb()
+{
+ local cur prev
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ case "$prev" in
+ -@(h|-host=))
+ _known_hosts
+ return 0
+ ;;
+ -@(U|-username=))
+ _pg_users
+ return 0
+ ;;
+ esac
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-h -p -U -W -e -q \
+ --host= --port= --username= --password \
+ --interactive --echo --quiet --help' -- $cur ) )
+ else
+ _pg_databases
+ fi
+}
+complete -F _dropdb $default dropdb
+
+# psql(1) completion
+#
+_psql()
+{
+ local cur prev
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ case "$prev" in
+ -h|--host)
+ _known_hosts
+ return 0
+ ;;
+ -U|--username)
+ _pg_users
+ return 0
+ ;;
+ -d|--dbname)
+ _pg_databases
+ return 0
+ ;;
+ -@(o|f)|--output|--file)
+ _filedir
+ return 0
+ ;;
+ esac
+
+ if [[ "$cur" == -* ]]; then
+ # return list of available options
+ COMPREPLY=( $( compgen -W '-a --echo-all -A --no-align \
+ -c --command -d --dbname -e --echo-queries \
+ -E --echo-hidden -f --file -F --filed-separator \
+ -h --host -H --html -l --list -n -o --output \
+ -p --port -P --pset -q -R --record-separator \
+ -s --single-step -S --single-line -t --tuples-only \
+ -T --table-attr -U --username -v --variable \
+ -V --version -W --password -x --expanded -X --nopsqlrc \
+ -? --help ' -- $cur ) )
+ else
+ # return list of available databases
+ _pg_databases
+ fi
+}
+complete -F _psql $default psql
+}
--
bash-completion
More information about the Bash-completion-commits
mailing list