summaryrefslogtreecommitdiffstats
path: root/completions/psql
diff options
context:
space:
mode:
Diffstat (limited to 'completions/psql')
-rw-r--r--completions/psql150
1 files changed, 81 insertions, 69 deletions
diff --git a/completions/psql b/completions/psql
index 4bc6049..b05b3a4 100644
--- a/completions/psql
+++ b/completions/psql
@@ -1,97 +1,104 @@
# bash completion for Postgresql -*- shell-script -*-
-_pg_databases()
+_comp_cmd_psql__databases()
{
# -w was introduced in 8.4, https://launchpad.net/bugs/164772
# "Access privileges" in output may contain linefeeds, hence the NF > 1
- COMPREPLY=($(compgen -W "$(psql -XAtqwlF $'\t' 2>/dev/null |
- awk 'NF > 1 { print $1 }')" -- "$cur"))
+ _comp_compgen_split -- "$(psql -XAtqwlF $'\t' 2>/dev/null |
+ _comp_awk 'NF > 1 { print $1 }')"
}
-_pg_users()
+_comp_cmd_psql__users()
{
# -w was introduced in 8.4, https://launchpad.net/bugs/164772
- COMPREPLY=($(compgen -W "$(psql -XAtqwc 'select usename from pg_user' \
- template1 2>/dev/null)" -- "$cur"))
- ((${#COMPREPLY[@]} == 0)) && COMPREPLY=($(compgen -u -- "$cur"))
+ _comp_compgen_split -- "$(psql -XAtqwc 'select usename from pg_user' \
+ template1 2>/dev/null)" ||
+ _comp_compgen -- -u
}
# createdb(1) completion
#
-_createdb()
+_comp_cmd_createdb()
{
- local cur prev words cword split
- _init_completion -s || return
+ local cur prev words cword was_split comp_args
+ _comp_initialize -s -- "$@" || return
+ local noargopts='!(-*|*[hUOpDET]*)'
+ # shellcheck disable=SC2254
case $prev in
- --host | -!(-*)h)
- _known_hosts_real -- "$cur"
+ --host | -${noargopts}h)
+ _comp_compgen_known_hosts -- "$cur"
return
;;
- --username | --owner | -!(-*)[UO])
- _pg_users
+ --username | --owner | -${noargopts}[UO])
+ _comp_cmd_psql__users
return
;;
- --help | --version | --port | --tablespace | --encoding | --template | -!(-*)[pDET])
+ --help | --version | --port | --tablespace | --encoding | --template | \
+ -${noargopts}[pDET])
return
;;
esac
- $split && return
+ [[ $was_split ]] && return
if [[ $cur == -* ]]; then
- COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ _comp_compgen_help
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
else
- _pg_databases
+ _comp_cmd_psql__databases
fi
} &&
- complete -F _createdb createdb
+ complete -F _comp_cmd_createdb createdb
# createuser(1) completion
#
-_createuser()
+_comp_cmd_createuser()
{
- local cur prev words cword split
- _init_completion -s || return
+ local cur prev words cword was_split comp_args
+ _comp_initialize -s -- "$@" || return
+ local noargopts='!(-*|*[pchU]*)'
+ # shellcheck disable=SC2254
case $prev in
- --help | --version | --port | --connection-limit | -!(-*)[pc])
+ --help | --version | --port | --connection-limit | -${noargopts}[pc])
return
;;
- --host | -!(-*)h)
- _known_hosts_real -- "$cur"
+ --host | -${noargopts}h)
+ _comp_compgen_known_hosts -- "$cur"
return
;;
- --username | -!(-*)U)
- _pg_users
+ --username | -${noargopts}U)
+ _comp_cmd_psql__users
return
;;
esac
- $split && return
+ [[ $was_split ]] && return
if [[ $cur == -* ]]; then
- COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ _comp_compgen_help
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
fi
} &&
- complete -F _createuser createuser
+ complete -F _comp_cmd_createuser createuser
# dropdb(1) completion
#
-_dropdb()
+_comp_cmd_dropdb()
{
- local cur prev words cword split
- _init_completion -s || return
+ local cur prev words cword was_split comp_args
+ _comp_initialize -s -- "$@" || return
+ local noargopts='!(-*|*[hU]*)'
+ # shellcheck disable=SC2254
case $prev in
- --host | -!(-*)h)
- _known_hosts_real -- "$cur"
+ --host | -${noargopts}h)
+ _comp_compgen_known_hosts -- "$cur"
return
;;
- --username | -!(-*)U)
- _pg_users
+ --username | -${noargopts}U)
+ _comp_cmd_psql__users
return
;;
--help | --version)
@@ -99,90 +106,95 @@ _dropdb()
;;
esac
- $split && return
+ [[ $was_split ]] && return
if [[ $cur == -* ]]; then
- COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ _comp_compgen_help
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
else
- _pg_databases
+ _comp_cmd_psql__databases
fi
} &&
- complete -F _dropdb dropdb
+ complete -F _comp_cmd_dropdb dropdb
# dropuser(1) completion
#
-_dropuser()
+_comp_cmd_dropuser()
{
- local cur prev words cword split
- _init_completion -s || return
+ local cur prev words cword was_split comp_args
+ _comp_initialize -s -- "$@" || return
+ local noargopts='!(-*|*[phU]*)'
+ # shellcheck disable=SC2254
case $prev in
- --help | --version | --port | -!(-*)p)
+ --help | --version | --port | -${noargopts}p)
return
;;
- --host | -!(-*)h)
- _known_hosts_real -- "$cur"
+ --host | -${noargopts}h)
+ _comp_compgen_known_hosts -- "$cur"
return
;;
- --username | -!(-*)U)
- _pg_users
+ --username | -${noargopts}U)
+ _comp_cmd_psql__users
return
;;
esac
- $split && return
+ [[ $was_split ]] && return
if [[ $cur == -* ]]; then
- COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ _comp_compgen_help
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
else
- _pg_users
+ _comp_cmd_psql__users
fi
} &&
- complete -F _dropuser dropuser
+ complete -F _comp_cmd_dropuser dropuser
# psql(1) completion
#
-_psql()
+_comp_cmd_psql()
{
- local cur prev words cword split
- _init_completion -s || return
+ local cur prev words cword was_split comp_args
+ _comp_initialize -s -- "$@" || return
+ local noargopts='!(-*|*[hUdofLcFpPRTv]*)'
+ # shellcheck disable=SC2254
case $prev in
- --host | -!(-*)h)
- _known_hosts_real -- "$cur"
+ --host | -${noargopts}h)
+ _comp_compgen_known_hosts -- "$cur"
return
;;
- --username | -!(-*)U)
- _pg_users
+ --username | -${noargopts}U)
+ _comp_cmd_psql__users
return
;;
- --dbname | -!(-*)d)
- _pg_databases
+ --dbname | -${noargopts}d)
+ _comp_cmd_psql__databases
return
;;
- --output | --file | --log-file | -!(-*)[ofL])
- _filedir
+ --output | --file | --log-file | -${noargopts}[ofL])
+ _comp_compgen_filedir
return
;;
--help | --version | --command | --field-separator | --port | --pset | \
- --record-separator | --table-attr | --set | --variable | -!(-*)[?VcFpPRTv])
+ --record-separator | --table-attr | --set | --variable | \
+ -${noargopts}[?VcFpPRTv])
return
;;
esac
- $split && return
+ [[ $was_split ]] && return
if [[ $cur == -* ]]; then
# return list of available options
- COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ _comp_compgen_help
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
else
# return list of available databases
- _pg_databases
+ _comp_cmd_psql__databases
fi
} &&
- complete -F _psql psql
+ complete -F _comp_cmd_psql psql
# ex: filetype=sh