dotfiles/.config/nvim/lua/plugins/extras/lang/sql.lua
Sergio Laín f9d52ab208
♻️ refactor(nvim): big change in adding formatters and linters
all the formatters and linters are dynamically added, and they are going to the extras modules
2023-11-16 15:00:10 +01:00

87 lines
2.3 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 = {},
},
},
},
}