103 lines
2.4 KiB
Lua
103 lines
2.4 KiB
Lua
local commands = {
|
|
"DBUI",
|
|
"DBUIToggle",
|
|
"DBUIAddConnection",
|
|
"DBUIFindBuffer",
|
|
"DBUIRenameBuffer",
|
|
"DBUILastQueryInfo",
|
|
}
|
|
local sql_filetypes = { "sql", "mysql", "plsql" }
|
|
local query_filetypes = { "sql", "mysql", "plsql", "javascript" }
|
|
|
|
require("lz.n").load({
|
|
{ "vim-dadbod" },
|
|
{ "vim-dadbod-completion", ft = sql_filetypes },
|
|
{
|
|
"vim-dadbod-ui",
|
|
cmd = commands,
|
|
ft = query_filetypes,
|
|
keys = {
|
|
{ "<leader>qo", "<cmd>DBUIToggle<cr>", desc = "Toggle database workspace" },
|
|
{
|
|
"<localleader>r",
|
|
"<Plug>(DBUI_ExecuteQuery)",
|
|
mode = { "n", "x" },
|
|
ft = query_filetypes,
|
|
remap = true,
|
|
desc = "Execute database query",
|
|
},
|
|
{
|
|
"<localleader>s",
|
|
"<Plug>(DBUI_SaveQuery)",
|
|
ft = query_filetypes,
|
|
remap = true,
|
|
desc = "Save database query",
|
|
},
|
|
{
|
|
"<localleader>p",
|
|
"<Plug>(DBUI_EditBindParameters)",
|
|
ft = query_filetypes,
|
|
remap = true,
|
|
desc = "Edit query parameters",
|
|
},
|
|
{ "<CR>", "<Plug>(DBUI_SelectLine)", ft = "dbui", remap = true, desc = "Open database item" },
|
|
{
|
|
"<localleader>a",
|
|
"<Plug>(DBUI_AddConnection)",
|
|
ft = "dbui",
|
|
remap = true,
|
|
desc = "Add database connection",
|
|
},
|
|
{
|
|
"<localleader>d",
|
|
"<Plug>(DBUI_DeleteLine)",
|
|
ft = "dbui",
|
|
remap = true,
|
|
desc = "Delete database item",
|
|
},
|
|
{
|
|
"<localleader>n",
|
|
"<Plug>(DBUI_RenameLine)",
|
|
ft = "dbui",
|
|
remap = true,
|
|
desc = "Rename database item",
|
|
},
|
|
{
|
|
"<localleader>r",
|
|
"<Plug>(DBUI_Redraw)",
|
|
ft = "dbui",
|
|
remap = true,
|
|
desc = "Refresh database workspace",
|
|
},
|
|
{
|
|
"<localleader>f",
|
|
"<Plug>(DBUI_JumpToForeignKey)",
|
|
ft = "dbout",
|
|
remap = true,
|
|
desc = "Follow foreign key",
|
|
},
|
|
{
|
|
"<localleader>l",
|
|
"<Plug>(DBUI_ToggleResultLayout)",
|
|
ft = "dbout",
|
|
remap = true,
|
|
desc = "Toggle result layout",
|
|
},
|
|
},
|
|
before = function()
|
|
vim.g.db_ui_execute_on_save = 0
|
|
vim.g.db_ui_disable_mappings = 1
|
|
vim.g.db_ui_show_help = 0
|
|
vim.g.dbs = {
|
|
["MySQL — TEST"] = vim.env.YOOKR_MYSQL_TEST_DATABASE_URL,
|
|
["MySQL — LIVE"] = vim.env.YOOKR_MYSQL_LIVE_DATABASE_URL,
|
|
["MongoDB — TEST"] = vim.env.YOOKR_MONGODB_TEST_DATABASE_URL,
|
|
["MongoDB — LIVE"] = vim.env.YOOKR_MONGODB_LIVE_DATABASE_URL,
|
|
}
|
|
if vim.env.DATABASE_URL and vim.env.DATABASE_URL ~= "" then
|
|
vim.g.db = vim.env.DATABASE_URL
|
|
end
|
|
end,
|
|
},
|
|
})
|