local commands = { "DBUI", "DBUIToggle", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo", } local filetypes = { "sql", "mysql", "plsql" } require("lz.n").load({ { "vim-dadbod" }, { "vim-dadbod-completion", ft = filetypes }, { "vim-dadbod-ui", cmd = commands, ft = filetypes, keys = { { "qo", "DBUIToggle", desc = "Toggle database workspace" }, { "r", "(DBUI_ExecuteQuery)", mode = { "n", "x" }, ft = filetypes, remap = true, desc = "Execute database query", }, { "s", "(DBUI_SaveQuery)", ft = filetypes, remap = true, desc = "Save database query", }, { "p", "(DBUI_EditBindParameters)", ft = filetypes, remap = true, desc = "Edit query parameters", }, { "", "(DBUI_SelectLine)", ft = "dbui", remap = true, desc = "Open database item" }, { "a", "(DBUI_AddConnection)", ft = "dbui", remap = true, desc = "Add database connection", }, { "d", "(DBUI_DeleteLine)", ft = "dbui", remap = true, desc = "Delete database item", }, { "n", "(DBUI_RenameLine)", ft = "dbui", remap = true, desc = "Rename database item", }, { "r", "(DBUI_Redraw)", ft = "dbui", remap = true, desc = "Refresh database workspace", }, { "f", "(DBUI_JumpToForeignKey)", ft = "dbout", remap = true, desc = "Follow foreign key", }, { "l", "(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 if vim.env.DATABASE_URL and vim.env.DATABASE_URL ~= "" then vim.g.db = vim.env.DATABASE_URL end end, }, })