From edf74856f908260fdbe40b6db135d8d96306b73e Mon Sep 17 00:00:00 2001 From: Stefan Imhoff Date: Tue, 27 Feb 2024 18:23:32 +0100 Subject: [PATCH] feat(nvim): configure nvim-lint --- nvim/lazyvim.json | 3 +-- nvim/lua/config/options.lua | 2 -- nvim/lua/plugins/legendary.lua | 4 ++-- nvim/lua/plugins/linting.lua | 34 ++++++++++++++++++++++++++++++++++ nvim/lua/plugins/mason.lua | 1 + nvim/lua/plugins/none-ls.lua | 18 ------------------ 6 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 nvim/lua/plugins/linting.lua delete mode 100644 nvim/lua/plugins/none-ls.lua diff --git a/nvim/lazyvim.json b/nvim/lazyvim.json index 896c968..f1255b9 100644 --- a/nvim/lazyvim.json +++ b/nvim/lazyvim.json @@ -4,8 +4,7 @@ "lazyvim.plugins.extras.editor.aerial", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.tailwind", - "lazyvim.plugins.extras.lang.yaml", - "lazyvim.plugins.extras.lsp.none-ls" + "lazyvim.plugins.extras.lang.yaml" ], "news": { "NEWS.md": "2123" diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index 88d7e56..44bb84e 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua @@ -25,8 +25,6 @@ vim.opt.iskeyword:append("-") -- Add dashes to words vim.opt.wildignore:append({ "*/node_modules/*" }) -- Wildignore vim.opt.complete:append({ "i", "k", "s", "kspell" }) -vim.g.nonels_supress_issue58 = true - -- Undercurl vim.cmd([[let &t_Cs = "\e[4:3m"]]) vim.cmd([[let &t_Ce = "\e[4:0m"]]) diff --git a/nvim/lua/plugins/legendary.lua b/nvim/lua/plugins/legendary.lua index 851ecbd..badfb6a 100644 --- a/nvim/lua/plugins/legendary.lua +++ b/nvim/lua/plugins/legendary.lua @@ -6,8 +6,8 @@ return { "kkharji/sqlite.lua", }, keys = { - -- stylua: ignore - { "L", "Legendary", desc = "Legendary" }, + -- stylua: ignore + -- { "L", "Legendary", desc = "Legendary" }, }, config = function() require("legendary").setup({ diff --git a/nvim/lua/plugins/linting.lua b/nvim/lua/plugins/linting.lua new file mode 100644 index 0000000..d760ee7 --- /dev/null +++ b/nvim/lua/plugins/linting.lua @@ -0,0 +1,34 @@ +-- Linting +-- https://github.com/mfussenegger/nvim-lint +return { + "mfussenegger/nvim-lint", + event = { + "BufWritePre", + "BufNewFile", + }, + config = function() + local lint = require("lint") + + lint.linters_by_ft = { + astro = { "eslint_d" }, + javascript = { "eslint_d" }, + javascriptreact = { "eslint_d" }, + python = { "pylint" }, + svelte = { "eslint_d" }, + typescript = { "eslint_d" }, + typescriptreact = { "eslint_d" }, + } + + local lint_augrup = vim.api.nvim_create_augroup("lint", { clear = true }) + vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { + group = lint_augrup, + callback = function() + lint.try_lint() + end, + }) + + vim.keymap.set("n", "L", function() + lint.try_lint() + end, { desc = "Trigger linting for current file" }) + end, +} diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua index f05c904..6d96c2d 100644 --- a/nvim/lua/plugins/mason.lua +++ b/nvim/lua/plugins/mason.lua @@ -10,6 +10,7 @@ return { "cssmodules-language-server", "diagnostic-languageserver", "emmet-ls", + "eslint-lsp", "eslint_d", "html-lsp", "json-lsp", diff --git a/nvim/lua/plugins/none-ls.lua b/nvim/lua/plugins/none-ls.lua deleted file mode 100644 index a47c2e5..0000000 --- a/nvim/lua/plugins/none-ls.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - "nvimtools/none-ls.nvim", - enabled = true, - event = "LazyFile", - dependencies = { "mason.nvim" }, - opts = function(_, opts) - local nls = require("null-ls") - opts.root_dir = opts.root_dir - or require("null-ls.utils").root_pattern(".null-ls-root", ".neoconf.json", "Makefile", ".git") - opts.sources = vim.list_extend(opts.sources or {}, { - nls.builtins.formatting.fish_indent, - nls.builtins.diagnostics.fish, - nls.builtins.diagnostics.eslint, -- TODO: How to get this feature in eslint-lsp? - nls.builtins.formatting.stylua, - nls.builtins.formatting.shfmt, - }) - end, -}