diff options
Diffstat (limited to 'nvim/lua/plugins/lint.lua')
| -rw-r--r-- | nvim/lua/plugins/lint.lua | 31 |
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 | |||
| 6 | local ruff = { "ruff" } -- bereits als Formatter installiert, siehe plugins/format.lua | ||
| 7 | local yamllint = { "yamllint" } -- brew install yamllint, pkg install devel/py-yamllint | ||
| 8 | local zsh = { "zsh" } -- kein zusätzliches Werkzeug: ruft `zsh --no-exec` auf | ||
| 9 | |||
| 10 | return { | ||
| 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 | } | ||
