diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:14:42 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:14:42 +0000 |
commit | 0bc58b66a4850cdb8458a86c3d9a2fc81de82aa3 (patch) | |
tree | ea0fe36eb5e6f40e0a1f765d44c4b0c0b2bfb089 /completions/mysql | |
parent | Initial commit. (diff) | |
download | bash-completion-0bc58b66a4850cdb8458a86c3d9a2fc81de82aa3.tar.xz bash-completion-0bc58b66a4850cdb8458a86c3d9a2fc81de82aa3.zip |
Adding upstream version 1:2.11.upstream/1%2.11upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | completions/mysql | 99 | ||||
-rw-r--r-- | completions/mysqladmin | 63 |
2 files changed, 162 insertions, 0 deletions
diff --git a/completions/mysql b/completions/mysql new file mode 100644 index 0000000..9363133 --- /dev/null +++ b/completions/mysql @@ -0,0 +1,99 @@ +# mysql(1) completion -*- shell-script -*- + +_mysql_character_sets() +{ + local IFS=$' \t\n' reset=$(shopt -p failglob) + shopt -u failglob + local -a charsets=(/usr/share/m{ariadb,ysql}/charsets/*.xml) + $reset + charsets=("${charsets[@]##*/}") + charsets=("${charsets[@]%%?(Index|\*).xml}" utf8) + COMPREPLY+=($(compgen -W '${charsets[@]}' -- "$cur")) +} + +_mysql() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --user | -!(-*)u) + COMPREPLY=($(compgen -u -- "$cur")) + return + ;; + --database | -!(-*)D) + COMPREPLY=($(compgen -W "$(mysqlshow 2>/dev/null | command sed -ne '2d' -e 's/^|.\([^|]*\)|.*/\1/p')" -- "$cur")) + return + ;; + + --host | -!(-*)h) + _known_hosts_real -- "$cur" + return + ;; + --default-character-set) + _mysql_character_sets + return + ;; + + --character-sets-dir | --ssl-capath) + _filedir -d + return + ;; + --socket | -!(-*)S) + _filedir sock + return + ;; + --protocol) + COMPREPLY=($(compgen -W 'tcp socket pipe memory' -- "$cur")) + return + ;; + --defaults-file | --defaults-extra-file | --tee) + _filedir + return + ;; + --ssl-ca | --ssl-cert) + _filedir '@(pem|cer|c?(e)rt)' + return + ;; + --ssl-key) + _filedir '@(pem|key)' + return + ;; + --port | --set-variable | --ssl-cipher | --connect_timeout | \ + --max_allowed_packet | --prompt | --net_buffer_length | --select_limit | \ + --max_join_size | --server-arg | --debug | --delimiter | --execute | --pager | \ + -!(-*)[Pe]) + return + ;; + --help | --version | -!(-*)[?IV]) + return + ;; + esac + + $split && return + + case $cur in + --*) + local help=$(_parse_help "$1") + help+=" --skip-comments --skip-ssl" + + COMPREPLY=($(compgen -W "$help" -- "$cur")) + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace + return + ;; + + # only complete long options + -) + compopt -o nospace + COMPREPLY=(--) + return + ;; + esac + + COMPREPLY=($(compgen -W \ + "$(mysqlshow 2>/dev/null | command sed -ne '2d' -e 's/^|.\([^|]*\)|.*/\1/p')" \ + -- "$cur")) +} && + complete -F _mysql mysql + +# ex: filetype=sh diff --git a/completions/mysqladmin b/completions/mysqladmin new file mode 100644 index 0000000..5329534 --- /dev/null +++ b/completions/mysqladmin @@ -0,0 +1,63 @@ +# bash completion for mysqladmin -*- shell-script -*- + +_mysqladmin() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --user | -!(-*)u) + COMPREPLY=($(compgen -u -- "$cur")) + return + ;; + --host | -!(-*)h) + _known_hosts_real -- "$cur" + return + ;; + --character-sets-dir | --ssl-capath) + _filedir -d + return + ;; + --default-character-set) + _xfunc mysql _mysql_character_sets + return + ;; + --socket | -!(-*)S) + _filedir sock + return + ;; + --defaults-file | --defaults-extra-file) + _filedir + return + ;; + --ssl-ca | --ssl-cert) + _filedir '@(pem|cer|c?(e)rt)' + return + ;; + --ssl-key) + _filedir '@(pem|key)' + return + ;; + --count | --port | --set-variable | --sleep | --ssl-cipher | --wait | \ + --connect_timeout | --shutdown_timeout | -!(-*)[cPOiw]) + return + ;; + --help | --version | -!(-*)[?V]) + return + ;; + esac + + $split && return + + COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + + COMPREPLY+=($(compgen -W 'create debug drop extended-status flush-hosts + flush-logs flush-status flush-tables flush-threads flush-privileges + kill password old-password ping processlist reload refresh shutdown + status start-slave stop-slave variables version' -- "$cur")) + + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace +} && + complete -F _mysqladmin mysqladmin + +# ex: filetype=sh |