summaryrefslogtreecommitdiff
path: root/fnl/plugins/nvim-lint.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/plugins/nvim-lint.fnl')
-rw-r--r--fnl/plugins/nvim-lint.fnl30
1 files changed, 30 insertions, 0 deletions
diff --git a/fnl/plugins/nvim-lint.fnl b/fnl/plugins/nvim-lint.fnl
new file mode 100644
index 0000000..2ea01fa
--- /dev/null
+++ b/fnl/plugins/nvim-lint.fnl
@@ -0,0 +1,30 @@
+;; Linting
+
+(lambda callback []
+ (let [lint (require :lint)]
+ (lint.try_lint)))
+
+(fn 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})))
+
+(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]}