summaryrefslogtreecommitdiff
path: root/ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/dadbod.lua
blob: 730ebfe85f21318387338d55b1c193fab1081a83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
return {
	"kristijanhusak/vim-dadbod-ui",
	dependencies = {
		{ "tpope/vim-dadbod", lazy = true },
		{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
	},
	cmd = {
		"DBUI",
		"DBUIToggle",
		"DBUIAddConnection",
		"DBUIFindBuffer",
	},
	init = function()
		-- Your DBUI configuration
		vim.g.db_ui_use_nerd_fonts = 1
		local home = vim.fn.expand("~")
		vim.g.dbs = {
			firefox = "sqlite://" .. home .. "/.mozilla/firefox/si.default/places.sqlite",
			mysql = "mariadb://user:password@localhost/mysql",
			postsql = "postgresql://postgres:mypassword@localhost:5432/postgresql",
			qutebrowser = "sqlite://" .. home .. "/.local/share/qutebrowser/history.sqlite",
			sqlite = "sqlite://" .. home .. "/.local/share/db/sqlite.db",
		}
		local wk = require("which-key")
		wk.add({
			mode = { "n" },
			{ "<localleader>d", group = "DB" },
		})
	end,
	config = function()
		local function db_completion()
			require("cmp").setup.buffer({ sources = { { name = "vim-dadbod-completion" } } })
		end
		vim.api.nvim_create_autocmd("FileType", {
			pattern = {
				"sql",
				"mysql",
				"plsql",
			},
			callback = function()
				vim.schedule(db_completion)
			end,
		})
	end,
	keys = {
		{ "<localleader>du", "<cmd>DBUI<cr>", desc = "DB UI" },
		{ "<localleader>dt", "<cmd>DBUIToggle<cr>", desc = "Toggle DB UI" },
		{ "<localleader>da", "<cmd>DBUIAddConnection<cr>", desc = "Add connection" },
		{ "<localleader>df", "<cmd>DBUIFindBuffer<cr>", desc = "Find buffer" },
		{ "<localleader>dr", "<cmd>DBUIRenameBuffer<cr>", desc = "Rename buffer" },
		{ "<localleader>di", "<cmd>DBUILastQueryInfo<cr>", desc = "Last query info" },
	},
}