summaryrefslogtreecommitdiff
path: root/fnl/plugins/nvim-lint.fnl
blob: caa8d007f614de998a83cbf1c29dbcd9c0c0a9d0 (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
27
28
29
30
;; Linting

(lambda callback []
  (let [lint (require :lint)]
    (lint.try_lint)))

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

(λ 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]}