Files
dotfiles/config/nvim/lua/plugins/linting.lua
2024-09-28 14:02:41 +02:00

44 lines
1.0 KiB
Lua

-- Linting
-- https://github.com/mfussenegger/nvim-lint
local HOME = os.getenv("HOME")
return {
"mfussenegger/nvim-lint",
event = {
"BufWritePre",
"BufNewFile",
},
keys = {
{
"<leader>L",
mode = { "n" },
function()
require("lint").try_lint()
end,
desc = "Trigger linting for current file",
},
},
opts = {
events = { "BufEnter", "BufWritePost", "BufReadPost", "InsertLeave" },
linters = {
-- https://github.com/LazyVim/LazyVim/discussions/4094#discussioncomment-10178217
["markdownlint-cli2"] = {
args = { "--config", HOME .. "/.markdownlint.yaml", "--" },
},
},
linters_by_ft = {
["*"] = { "codespell" },
["astro"] = { "eslint_d", "cspell" },
["fish"] = { "fish" },
["javascript"] = { "eslint_d", "cspell" },
["javascriptreact"] = { "eslint_d", "cspell" },
["markdown"] = { "markdownlint-cli2" },
["python"] = { "pylint" },
["ruby"] = { "rubocop" },
["svelte"] = { "eslint_d" },
["typescript"] = { "eslint_d", "cspell" },
["typescriptreact"] = { "eslint_d", "cspell" },
},
},
}