return { "mfussenegger/nvim-lint", event = { "BufReadPre", "BufNewFile" }, config = function() local lint = require("lint") lint.linters_by_ft = { javascript = { "eslint_d" }, typescript = { "eslint_d" }, javascriptreact = { "eslint_d" }, typescriptreact = { "eslint_d" }, git = { "gitlint" }, json = { "jsonlint" }, markdown = { "vale" }, fish = { "fish" }, php = { "php" }, yaml = { "yamllint" }, css = { "stylelint" }, sh = { "shellcheck" }, } 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, }) vim.keymap.set("n", "l", function() lint.try_lint() end, { desc = "Trigger linting for current file" }) end, }