summaryrefslogtreecommitdiff
path: root/lsp/rust-analyzer.lua
diff options
context:
space:
mode:
authorLibravatar Mora Unie Youer <[email protected]>2025-03-30 13:58:24 +0300
committerLibravatar Mora Unie Youer <[email protected]>2025-03-30 13:58:24 +0300
commit3c661562f42ad87e1aefaad163c2df6d14ab5a32 (patch)
treeeeea535b82f223b37f15a4bb18a9f531204f621e /lsp/rust-analyzer.lua
parentfeat: use `conform.nvim` for `formatexpr()` (diff)
downloadneovim-configuration-3c661562f42ad87e1aefaad163c2df6d14ab5a32.tar.gz
neovim-configuration-3c661562f42ad87e1aefaad163c2df6d14ab5a32.tar.bz2
neovim-configuration-3c661562f42ad87e1aefaad163c2df6d14ab5a32.tar.lz
neovim-configuration-3c661562f42ad87e1aefaad163c2df6d14ab5a32.tar.xz
neovim-configuration-3c661562f42ad87e1aefaad163c2df6d14ab5a32.tar.zst
neovim-configuration-3c661562f42ad87e1aefaad163c2df6d14ab5a32.zip
feat: add `rust-analyzer` as Rust LSP
Diffstat (limited to 'lsp/rust-analyzer.lua')
-rw-r--r--lsp/rust-analyzer.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/lsp/rust-analyzer.lua b/lsp/rust-analyzer.lua
new file mode 100644
index 0000000..51f5037
--- /dev/null
+++ b/lsp/rust-analyzer.lua
@@ -0,0 +1,26 @@
+return {
+ cmd = { "rust-analyzer" },
+ root_markers = { "Cargo.toml" },
+ filetypes = { "rust" },
+
+ settings = {
+ ["rust-analyzer"] = {
+ checkOnSave = { command = "clippy" },
+
+ diagnostics = {
+ enable = true,
+ experimental = { enable = true },
+ },
+
+ inlayHints = {
+ enable = true,
+ bindingModeHints = { enable = false },
+ closingBraceHints = { minLines = 10 },
+ closureReturnTypeHints = { enable = "with_block" },
+ discriminantHints = { enable = "fieldless" },
+ lifetimeElisionHints = { enable = "skip_trivial" },
+ typeHints = { hideClosureInitialization = false },
+ },
+ },
+ },
+}