lua/josean/plugins/linting.lua (821B)
1 return {
2 "mfussenegger/nvim-lint",
3 lazy = true,
4 event = { "BufReadPre", "BufNewFile" }, -- to disable, comment this out
5 config = function()
6 local lint = require("lint")
7
8 lint.linters_by_ft = {
9 javascript = { "eslint_d" },
10 typescript = { "eslint_d" },
11 javascriptreact = { "eslint_d" },
12 typescriptreact = { "eslint_d" },
13 svelte = { "eslint_d" },
14 python = { "pylint" },
15 }
16
17 local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
18
19 vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
20 group = lint_augroup,
21 callback = function()
22 lint.try_lint()
23 end,
24 })
25
26 vim.keymap.set("n", "<leader>l", function()
27 lint.try_lint()
28 end, { desc = "Trigger linting for current file" })
29 end,
30 }