summaryrefslogtreecommitdiff
path: root/fnl/plugins/conform.fnl
blob: 834dcdc7bbabd44ee25537e3ba2f07101147ff1d (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
;; Formatting

(fn init []
  (vim.keymap.set [:n :v] :<leader>e
                  (lambda []
                    (let [conform (require :conform)]
                      (conform.format {:lsp_fallback true :async true})))
                  {:desc :Format}))

(local opts {:formatters {:fnlfmt {:command :fnlfmt
                                   :args [:--fix :$FILENAME]
                                   :stdin false}}
             :formatters_by_ft {:* [:codespell]
                                :_ [:trim_whitespace :trim_newlines]
                                :css [:stylelint]
                                :fennel [:fnlfmt]
                                :haskell [:fourmolu]
                                :html [:prettierd]
                                :json [:jq]
                                :lua [:stylua]
                                :markdown [:prettierd]
                                :ocaml [:ocamlformat]
                                :python [:ruff_format :ruff_fix]
                                :rust [:rustfmt]
                                :sh [:shfmt :shellharden]
                                :sql [:pg_format :sqlfluff]
                                :toml [:taplo]
                                :yaml [:yamlfmt]}})

{1 :stevearc/conform.nvim : init : opts :event [:BufReadPost :BufNewFile]}