You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB

return {
"mfussenegger/nvim-lint",
event = { "BufReadPre", "BufNewFile" },
config = function()
local lint = require("lint")
-- Configure linters by filetype
lint.linters_by_ft = {
-- javascript = { "eslint_d" },
-- typescript = { "eslint_d" },
-- javascriptreact = { "eslint_d" },
-- typescriptreact = { "eslint_d" },
-- svelte = { "eslint_d" },
-- python = { "pylint" },
-- markdown = { "markdownlint" },
-- json = { "jsonlint" },
-- yaml = { "yamllint" },
-- dockerfile = { "hadolint" },
-- terraform = { "tflint" },
-- go = { "golangcilint" },
-- lua = { "luacheck" },
sh = { "shellcheck" },
bash = { "shellcheck" },
zsh = { "shellcheck" },
}
-- Create autocommand to trigger linting
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
group = lint_augroup,
callback = function()
lint.try_lint()
end,
})
-- Create a keymap to manually trigger linting
vim.keymap.set("n", "<leader>ll", function()
lint.try_lint()
end, { desc = "Trigger linting for current file" })
end,
}