Files
keycodex/lua/plugins/lint.lua
T

46 lines
1.4 KiB
Lua

return {
'mfussenegger/nvim-lint',
dependencies = { 'rshkarin/mason-nvim-lint' },
event = { 'BufReadPost', 'BufNewFile' },
keys = {
{
'<leader>cL',
mode = { 'n' },
function()
require('lint').try_lint()
end,
desc = 'Trigger linting for current file',
},
},
config = function()
require('lint').linters_by_ft = {
['*'] = { 'codespell' },
['javascript'] = { 'eslint_d', 'cspell' },
['typescript'] = { 'eslint_d', 'cspell' },
['javascriptreact'] = { 'eslint_d', 'cspell' },
['typescriptreact'] = { 'eslint_d', 'cspell' },
['dockerfile'] = { 'hadolint' },
['markdown'] = { 'write_good', 'markdownlint' },
['text'] = { 'write_good' },
['sh'] = { 'shellcheck' },
['yaml'] = { 'actionlint' },
['python'] = { 'ruff' },
}
require('mason-nvim-lint').setup({
ensure_installed = {
'eslint_d',
'hadolint',
'write_good',
'markdownlint',
'shellcheck',
'actionlint',
'djlint',
'ruff',
'codespell',
'cspell',
},
automatic_installation = false,
})
end,
}