From 042b8651271c881efb01a49ecf31b38283c76499 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Fri, 27 Dec 2024 18:12:04 +0100 Subject: [PATCH] Add nvim lint --- nvim/lua/plugins/lint.lua | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 nvim/lua/plugins/lint.lua diff --git a/nvim/lua/plugins/lint.lua b/nvim/lua/plugins/lint.lua new file mode 100644 index 0000000..d9023d3 --- /dev/null +++ b/nvim/lua/plugins/lint.lua @@ -0,0 +1,37 @@ +return { + { + "nvim-lint", + lazy = false, + load = function() end, + event = { "BufReadPost", "BufWritePost", "BufNewFile" }, + opts = { + javascript = { "biomejs", "eslint_d" }, + typescript = { "biomejs", "eslint_d" }, + javascriptreact = { "biomejs", "eslint_d" }, + typescriptreact = { "biomejs", "eslint_d" }, + }, + after = function(plug) + local override_severity = function(linter) + local old_parser = linter.parser; + linter.parser = function(output) + local diags = old_parser(output); + for _, d in pairs(diags) do + d.severity = vim.diagnostic.severity.HINT + end + return diags + end + end + override_severity(require("lint").linters.eslint_d) + override_severity(require("lint").linters.biomejs) + + require("lint").linters_by_ft = plug.opts + vim.api.nvim_create_autocmd({ "BufWritePost", "BufEnter" }, { + desc = "Lint buf", + group = vim.api.nvim_create_augroup("nvim-lint", { clear = true }), + callback = function() + require("lint").try_lint(nil, { ignore_errors = true }) + end, + }) + end, + } +}