aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/lsp/servers/rust_analyzer.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/alpha/lsp/servers/rust_analyzer.lua')
-rw-r--r--lua/alpha/lsp/servers/rust_analyzer.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/alpha/lsp/servers/rust_analyzer.lua b/lua/alpha/lsp/servers/rust_analyzer.lua
new file mode 100644
index 0000000..c0db321
--- /dev/null
+++ b/lua/alpha/lsp/servers/rust_analyzer.lua
@@ -0,0 +1,24 @@
+local lsp_attach = require "alpha.lsp.attach"
+local lsp_flags = require "alpha.lsp.flags"
+
+return function(ops)
+ return vim.tbl_extend("force", {
+ on_attach = lsp_attach,
+ flags = lsp_flags,
+ settings = {
+ ["rust-analyzer"] = {
+ checkOnSave = {
+ allFeatures = true,
+ overrideCommand = {
+ "cargo",
+ "clippy",
+ "--workspace",
+ "--message-format=json",
+ "--all-targets",
+ "--all-features",
+ },
+ },
+ },
+ },
+ }, ops)
+end