summaryrefslogtreecommitdiff
path: root/fnl/plugins/editor/nvim-lint.fnl
blob: a5c1fcaebbfe704b5797b30de689cb58732d2ed3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;; Linting

(fn init []
  (let [lint-augroup (vim.api.nvim_create_augroup :lint {:clear true})
        lint (require :lint)]
    (vim.api.nvim_create_autocmd [:BufEnter :BufWritePost :InsertLeave]
                                 {:group lint-augroup
                                  :callback (lambda []
                                              (lint.try_lint))})))

(fn config []
  (let [lint (require :lint)]
    (set lint.linters_by_ft {:* [:codespell :write_good]
                             :dockerfile [:hadolint]
                             :fennel [:fennel]
                             :gitcommit [:gitlint :codespell]
                             :haskell [:hlint]
                             :json [:jsonlint]
                             :lua [:selene]
                             :python [:ruff]
                             :sh [:shellcheck]
                             :sql [:sqlfluff]
                             :yaml [:yamllint]
                             :zsh [:zsh]})))

{1 :mfussenegger/nvim-lint : init : config :event [:BufReadPost :BufNewFile]}