95 lines
2.4 KiB
Lua
95 lines
2.4 KiB
Lua
local sql_ft = { "sql", "mysql", "plsql" }
|
|
|
|
return {
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
optional = true,
|
|
opts = function(_, opts)
|
|
if type(opts.ensure_installed) == "table" then
|
|
vim.list_extend(opts.ensure_installed, { "sql" })
|
|
end
|
|
end,
|
|
},
|
|
{
|
|
"folke/edgy.nvim",
|
|
optional = true,
|
|
opts = function(_, opts)
|
|
opts.right = opts.right or {}
|
|
table.insert(opts.right, {
|
|
title = "Database",
|
|
ft = "dbui",
|
|
pinned = true,
|
|
open = function()
|
|
vim.cmd("DBUI")
|
|
end,
|
|
})
|
|
|
|
opts.bottom = opts.bottom or {}
|
|
table.insert(opts.bottom, {
|
|
title = "DB Query Result",
|
|
ft = "dbout",
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"tpope/vim-dadbod",
|
|
cmd = { "DBUI", "DBUIToggle", "DBUIAddConnection", "DBUIFindBuffer" },
|
|
dependencies = {
|
|
"kristijanhusak/vim-dadbod-ui",
|
|
{ "kristijanhusak/vim-dadbod-completion", ft = sql_ft },
|
|
{ "jsborjesson/vim-uppercase-sql", ft = sql_ft },
|
|
},
|
|
init = function()
|
|
vim.g.db_ui_save_location = vim.fn.stdpath("data") .. "/db_ui"
|
|
vim.g.db_ui_use_nerd_fonts = true
|
|
vim.g.db_ui_execute_on_save = false
|
|
vim.g.db_ui_use_nvim_notify = true
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = sql_ft,
|
|
callback = function()
|
|
---@diagnostic disable-next-line: missing-fields
|
|
require("cmp").setup.buffer({ sources = { { name = "vim-dadbod-completion" } } })
|
|
end,
|
|
})
|
|
end,
|
|
keys = {
|
|
{ "<leader>Da", "<cmd>DBUIAddConnection<cr>", desc = "Add Connection" },
|
|
{ "<leader>Du", "<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 Info" },
|
|
},
|
|
},
|
|
{
|
|
"folke/which-key.nvim",
|
|
opts = {
|
|
defaults = {
|
|
["<leader>D"] = { name = " database" },
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"williamboman/mason.nvim",
|
|
opts = function(_, opts)
|
|
opts.ensure_installed = opts.ensure_installed or {}
|
|
vim.list_extend(opts.ensure_installed, { "sqlls" })
|
|
end,
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = {
|
|
servers = {
|
|
sqlls = {},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"luckasRanarison/nvim-devdocs",
|
|
optional = true,
|
|
ensure_installed = {
|
|
"sqlite",
|
|
"postgresql-16",
|
|
},
|
|
},
|
|
}
|