dotfiles

custom linux config files managed with gnu stow

dotfiles

neovim/.config/nvim/lua/plugins/dadbod.lua


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,
		})
	end,
	init = function()
		require("utils.remaps").map_virtual({
			{ "<leader>D", group = "database", icon = { icon = " ", hl = "Constant" } },
			{ "<leader>Dt", group = "toggle dadbod", icon = { icon = " ", hl = "Constant" } },
			{ "<leader>Df", group = "find buffer", icon = { icon = " ", hl = "Constant" } },
			{ "<leader>Dr", group = "rename buffer", icon = { icon = "󰑕 ", hl = "Constant" } },
			{ "<leader>Dq", group = "last query", icon = { icon = " ", hl = "Constant" } },
		})
	end,
	keys = {
		{ "<leader>Dt", "<cmd>DBUIToggle<cr>", desc = "toggle ui" },
		{ "<leader>Df", "<cmd>DBUIFindBuffer<cr>", desc = "find buffer" },
		{ "<leader>Dr", "<cmd>DBUIRenameBuffer<cr>", desc = "rename buffer" },
		{ "<leader>Dq", "<cmd>DBUILastQueryInfo<cr>", desc = "last query " },
	},
}

Download

raw zip tar