39 lines
1.2 KiB
Lua
39 lines
1.2 KiB
Lua
vim.pack.add({ 'https://github.com/neovim/nvim-lspconfig' })
|
|
vim.pack.add({ 'https://github.com/j-hui/fidget.nvim' })
|
|
|
|
require("fidget").setup()
|
|
|
|
vim.lsp.enable({ 'lua_ls' })
|
|
vim.lsp.enable({ 'clangd' })
|
|
vim.lsp.enable({ 'spade_ls' })
|
|
-- vim.lsp.enable({ 'metals' })
|
|
|
|
vim.lsp.config("rust_analyzer", {
|
|
settings = {
|
|
["rust-analyzer"] = {
|
|
completion =
|
|
{
|
|
postfix = { enable = true, },
|
|
},
|
|
check = {
|
|
command = "clippy",
|
|
},
|
|
}
|
|
},
|
|
}
|
|
)
|
|
vim.lsp.enable('rust_analyzer')
|
|
|
|
vim.keymap.set("n", "<leader>t", vim.diagnostic.open_float)
|
|
vim.keymap.set("n", "<leader>sr", vim.lsp.buf.rename)
|
|
vim.keymap.set("n", "<leader>gD", vim.lsp.buf.declaration, opts)
|
|
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, opts)
|
|
vim.keymap.set("n", "<leader>gi", vim.lsp.buf.implementation, opts)
|
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
|
vim.keymap.set("v", "<leader>ca", vim.lsp.buf.code_action, opts)
|
|
vim.keymap.set("n", "<leader>f", function()
|
|
vim.lsp.buf.format({ async = true })
|
|
end, opts)
|
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
|
vim.lsp.inlay_hint.enable(false, nil)
|