return { "tpope/vim-dadbod", dependencies = { "kristijanhusak/vim-dadbod-ui", "kristijanhusak/vim-dadbod-completion", }, opts = { db_competion = function() ---@diagnostic disable-next-line require("cmp").setup.buffer({ sources = { { name = "vim-dadbod-completion" } } }) end, }, config = function(_, opts) vim.g.db_ui_save_location = vim.fn.stdpath("config") .. require("plenary.path").path.sep .. "db_ui" vim.api.nvim_create_autocmd("FileType", { pattern = { "sql", }, command = [[setlocal omnifunc=vim_dadbod_completion#omni]], }) vim.api.nvim_create_autocmd("FileType", { pattern = { "sql", "mysql", "plsql", }, callback = function() vim.schedule(opts.db_completion) end, }) require("which-key").add({ { "D", group = "database", icon = { icon = " ", hl = "Constant" } }, { "Dt", group = "Toggle UI", icon = { icon = " ", hl = "Constant" } }, { "Df", group = "Find Buffer", icon = { icon = " ", hl = "Constant" } }, { "Dr", group = "Rename Buffer", icon = { icon = " ", hl = "Constant" } }, { "Dq", group = "Last Query Info", icon = { icon = " ", hl = "Constant" } }, }) end, keys = { { "Dt", "DBUIToggle", desc = "Toggle UI" }, { "Df", "DBUIFindBuffer", desc = "Find Buffer" }, { "Dr", "DBUIRenameBuffer", desc = "Rename Buffer" }, { "Dq", "DBUILastQueryInfo", desc = "Last Query Info" }, }, }