return { { "mfussenegger/nvim-lint", lazy = true, event = { "BufReadPre", "BufNewFile" }, config = function() local lint = require("lint") -- Linters are only required for dynamically typed languages lint.linters_by_ft = { dockerfile = { "hadolint", "trivy" }, markdown = { "markdownlint" }, python = { "ruff" }, terraform = { "trivy" }, yaml = { "yamllint", "trivy" }, ["*"] = { "codespell" }, } local markdownlint = lint.linters.markdownlint markdownlint.args = { "--config", vim.loop.os_homedir() .. "/.config/templates/markdownlint.json", "--", } 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, }) end, }, }