fix(vim): only register linters when there is an executable

This is mainly for stylelint, I don't always have this installed and it
throws an error when you open a sass file and it tries to lint the
buffer. Now it will not know about any linters unless they are in the
PATH.
This commit is contained in:
Ade Attwood 2023-11-20 07:57:34 +00:00
parent 7f95ee24f8
commit bfe83d49f4

View file

@ -63,15 +63,26 @@ lint.linters.cspell = {
})
}
lint.linters_by_ft = {
php = {'phpcs'},
typescript = {'eslint_d'},
javascript = {'eslint_d'},
typescriptreact = {'eslint_d'},
javascriptreact = {'eslint_d'},
lua = {'luacheck'},
scss = {'stylelint'},
}
lint.linters_by_ft = {};
if vim.fn.executable('phpcs') == 1 then
lint.linters_by_ft.php = { "phpcs" }
end
if vim.fn.executable('eslint_d') == 1 then
lint.linters_by_ft.typescript = { "eslint_d" }
lint.linters_by_ft.javascript = { "eslint_d" }
lint.linters_by_ft.typescriptreact = { "eslint_d" }
lint.linters_by_ft.javascriptreact = { "eslint_d" }
end
if vim.fn.executable('luacheck') == 1 then
lint.linters_by_ft.lua = { "luacheck" }
end
if vim.fn.executable('stylelint') == 1 then
lint.linters_by_ft.scss = { "stylelint" }
end
local file_types_map = { [ "" ] = false, qf = false, ivy = false }