From a050d87439bdee9f0b3d18bac8464c995132e4c5 Mon Sep 17 00:00:00 2001 From: Mathias Scheider Date: Wed, 2 Sep 2026 16:29:47 +0200 Subject: [PATCH] rust linting --- term/.config/nvim/lua/plugins/lsp-config.lua | 11 +++++ term/.config/nvim/lua/plugins/none-ls.lua | 1 + term/.config/nvim/lua/plugins/nvim-lint.lua | 45 ++++++++++---------- term/.config/nvim/lua/plugins/treesitter.lua | 1 + 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/term/.config/nvim/lua/plugins/lsp-config.lua b/term/.config/nvim/lua/plugins/lsp-config.lua index ed89daf..a0ef7b0 100644 --- a/term/.config/nvim/lua/plugins/lsp-config.lua +++ b/term/.config/nvim/lua/plugins/lsp-config.lua @@ -52,6 +52,7 @@ return { "cssls", -- CSS "bashls", -- Bash "lua_ls", -- Lua + "rust_analyzer", -- Rust --"stylua", }, }) @@ -147,6 +148,15 @@ return { -- filetypes and tsserver/request forwarding to ts_ls (hybrid mode) vim.lsp.config("vue_ls", {}) + -- Rust + vim.lsp.config("rust_analyzer", { + setting = { + ["rust-analyzer"] = { + checkOnSave = { command = "clippy" }, + }, + }, + }) + -- Other languages vim.lsp.config("jsonls", {}) vim.lsp.config("yamlls", {}) @@ -164,6 +174,7 @@ return { vim.lsp.enable("html") vim.lsp.enable("cssls") vim.lsp.enable("bashls") + vim.lsp.enable("rust_analyzer") end, }, } diff --git a/term/.config/nvim/lua/plugins/none-ls.lua b/term/.config/nvim/lua/plugins/none-ls.lua index 1ea413d..3e32926 100644 --- a/term/.config/nvim/lua/plugins/none-ls.lua +++ b/term/.config/nvim/lua/plugins/none-ls.lua @@ -20,6 +20,7 @@ return { markdown = { "prettier" }, sh = { "shfmt" }, bash = { "shfmt" }, + rust = { "rustfmt" }, }, }) diff --git a/term/.config/nvim/lua/plugins/nvim-lint.lua b/term/.config/nvim/lua/plugins/nvim-lint.lua index e2b4d66..28d3d2c 100644 --- a/term/.config/nvim/lua/plugins/nvim-lint.lua +++ b/term/.config/nvim/lua/plugins/nvim-lint.lua @@ -1,25 +1,26 @@ return { - "mfussenegger/nvim-lint", - config = function() - require("lint").linters_by_ft = { - javascript = { "eslint_d" }, - javascriptreact = { "eslint_d" }, - typescript = { "eslint_d" }, - typescriptreact = { "eslint_d" }, - vue = { "eslint_d" }, - python = { "ruff" }, - -- lua = { "selene" }, -- Disabled: lua_ls provides diagnostics - sh = { "shellcheck" }, - bash = { "shellcheck" }, - json = { "jsonlint" }, - yaml = { "yamllint" }, - markdown = { "markdownlint" }, - } + "mfussenegger/nvim-lint", + config = function() + require("lint").linters_by_ft = { + javascript = { "eslint_d" }, + javascriptreact = { "eslint_d" }, + typescript = { "eslint_d" }, + typescriptreact = { "eslint_d" }, + vue = { "eslint_d" }, + python = { "ruff" }, + -- lua = { "selene" }, -- Disabled: lua_ls provides diagnostics + sh = { "shellcheck" }, + bash = { "shellcheck" }, + json = { "jsonlint" }, + yaml = { "yamllint" }, + markdown = { "markdownlint" }, + rust = { "clippy" }, + } - vim.api.nvim_create_autocmd({ "BufWritePost" }, { - callback = function() - require("lint").try_lint() - end, - }) - end, + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + require("lint").try_lint() + end, + }) + end, } diff --git a/term/.config/nvim/lua/plugins/treesitter.lua b/term/.config/nvim/lua/plugins/treesitter.lua index 4cf3b55..80cb0d1 100644 --- a/term/.config/nvim/lua/plugins/treesitter.lua +++ b/term/.config/nvim/lua/plugins/treesitter.lua @@ -52,6 +52,7 @@ return { "bash", "markdown", "markdown_inline", + "rust", } -- Install parsers