From efcda5cf6f7f47bc09a74c37d0906525d9e701a9 Mon Sep 17 00:00:00 2001 From: Li Peng Date: Fri, 3 Jan 2025 14:46:53 +0800 Subject: [PATCH] Setup LSP for Rust Signed-off-by: Li Peng --- lua/config/lsp.lua | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index f2c8492..77baa3e 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -278,6 +278,32 @@ if utils.executable("lua-language-server") then } end +-- settings for rust-analyzer is copied from https://rust-analyzer.github.io/manual.html#nvim-lsp +if utils.executable("rust-analyzer") then + lspconfig.rust_analyzer.setup { + on_attach = custom_attach, + settings = { + ['rust-analyzer'] = { + imports = { + granularity = { + group = "module", + }, + prefix = "self", + }, + cargo = { + buildScripts = { + enable = true, + }, + }, + procMacro = { + enable = true + }, + }, + }, + capabilities = capabilities, + } +end + -- Change diagnostic signs. fn.sign_define("DiagnosticSignError", { text = "🆇", texthl = "DiagnosticSignError" }) fn.sign_define("DiagnosticSignWarn", { text = "⚠️", texthl = "DiagnosticSignWarn" })