nvim/init.lua
2026-04-13 16:03:54 -03:00

47 lines
1.3 KiB
Lua

require("config.lazy")
-- Enables LSPs
vim.lsp.enable({
"lua_ls",
"nixd",
"angularls",
"ts_ls",
"sqls",
"jsonls",
"html",
"bashls",
"yamlls",
"dockerls",
"marksman",
"clangd",
"pyright",
"taplo",
"astro",
"volar",
"tailwindcss",
"cssls",
})
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client and client:supports_method('textDocument/inlayHint') then
vim.lsp.inlay_hint.enable(true, { bufnr = ev.buf })
end
local opts = { buffer = ev.buf }
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<leader>r", vim.lsp.buf.rename, opts)
vim.keymap.set("n", "<leader>a", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>lf", function()
vim.lsp.buf.format({ async = true })
end, opts)
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, opts)
vim.keymap.set("n", "[d", function() vim.diagnostic.jump({ count = -1 }) end)
vim.keymap.set("n", "]d", function() vim.diagnostic.jump({ count = 1 }) end)
end,
})
vim.cmd.colorscheme("gruvbox")