Make mysql completions work with log-in (#7397)

Complete databases using credentials specified on the commandline.
This commit is contained in:
Jan-Jaap Korpershoek
2020-10-30 18:34:23 +01:00
committed by GitHub
parent 3471db51c8
commit 4b74fbf1b7
3 changed files with 29 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
function __fish_mysql_query -a query
argparse -i 'u/user=' 'P/port=' 'h/host=' 'p/password=?' 'S/socket=' -- (commandline -po)
set -l mysql_cmd mysql
for flag in u P h S
if set -q _flag_$flag
set -l flagvar _flag_$flag
set -a mysql_cmd -$flag $$flagvar
end
end
if [ -n "$_flag_p" ]
set -a mysql_cmd -p$_flag_p
end
echo $query | $mysql_cmd 2>/dev/null
end
function __fish_complete_mysql_databases
__fish_mysql_query 'show databases'
end
function __fish_complete_mysql
set -l command $argv[1]
complete -c $command -s D -l database -x -d 'The database to use' -a '(__fish_complete_mysql_databases)'
complete -c $command -a '(__fish_complete_mysql_databases)'
end