aboutsummaryrefslogtreecommitdiff
path: root/nvim/lua/plugins/lint.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/plugins/lint.lua')
-rw-r--r--nvim/lua/plugins/lint.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/nvim/lua/plugins/lint.lua b/nvim/lua/plugins/lint.lua
new file mode 100644
index 0000000..2bfcfc7
--- /dev/null
+++ b/nvim/lua/plugins/lint.lua
@@ -0,0 +1,31 @@
1-- Verfügbare Linter: https://github.com/mfussenegger/nvim-lint/tree/master/lua/lint/linters
2--
3-- Hier gehören nur Linter hinein, die kein Sprachserver ohnehin schon meldet:
4-- shellcheck läuft in bashls, clang-tidy in clangd, ansible-lint in ansiblels.
5
6local ruff = { "ruff" } -- bereits als Formatter installiert, siehe plugins/format.lua
7local yamllint = { "yamllint" } -- brew install yamllint, pkg install devel/py-yamllint
8local zsh = { "zsh" } -- kein zusätzliches Werkzeug: ruft `zsh --no-exec` auf
9
10return {
11 "mfussenegger/nvim-lint",
12 event = { "BufReadPre", "BufNewFile" },
13 config = function()
14 local lint = require("lint")
15
16 lint.linters_by_ft = {
17 -- ergänzt die Typprüfung von basedpyright um die Lint-Regeln (F, E, UP, B ...)
18 python = ruff,
19 -- kein Sprachserver für YAML im Einsatz; Regeln kommen aus .yamllint des Projekts
20 yaml = yamllint,
21 -- Syntaxprüfung ohne Ausführung; bashls deckt nur sh und bash ab
22 zsh = zsh,
23 }
24
25 vim.api.nvim_create_autocmd({ "BufReadPost", "BufWritePost", "InsertLeave" }, {
26 callback = function()
27 lint.try_lint()
28 end,
29 })
30 end,
31}