Keep Dadbod working queries under its data directory and expose native Kulala and Dadbod statusline components. No service requests or runtime validation performed during cleanup.
104 lines
2.4 KiB
Lua
104 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_tmp_query_location = vim.fn.stdpath("data") .. "/db_ui/working"
|
|
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,
|
|
},
|
|
})
|