28 lines
1.1 KiB
Lua
28 lines
1.1 KiB
Lua
require("config.lazy")
|
|
|
|
-- Enables LSPs
|
|
vim.lsp.enable({ "lua_ls", "nixd" })
|
|
|
|
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>for", 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")
|