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
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, |
|
}
|
|
|