summaryrefslogtreecommitdiff
path: root/fnl/conf/pkgs/null-ls.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/conf/pkgs/null-ls.fnl')
-rw-r--r--fnl/conf/pkgs/null-ls.fnl33
1 files changed, 21 insertions, 12 deletions
diff --git a/fnl/conf/pkgs/null-ls.fnl b/fnl/conf/pkgs/null-ls.fnl
index 858d0d3..9908823 100644
--- a/fnl/conf/pkgs/null-ls.fnl
+++ b/fnl/conf/pkgs/null-ls.fnl
@@ -1,12 +1,21 @@
-(let [null-ls (require :null-ls)
- lsp-conf (require :conf.lsp)]
- (null-ls.setup {:update_on_insert false
- :on_attach (fn [client buf]
- (lsp-conf.attach client buf true))
- :sources [null-ls.builtins.formatting.black
- null-ls.builtins.formatting.goimports
- null-ls.builtins.formatting.gofumpt
- null-ls.builtins.formatting.raco_fmt
- null-ls.builtins.formatting.alejandra
- null-ls.builtins.formatting.terraform_fmt
- null-ls.builtins.formatting.fnlfmt]}))
+(local lsp-conf (require :conf.lsp))
+(local null-ls (require :null-ls))
+
+(local fmt null-ls.builtins.formatting)
+(local diag null-ls.builtins.diagnostics)
+
+(fn executable? [program]
+ (fn []
+ (= 1 (vim.fn.executable program))))
+
+(null-ls.setup {:update_in_insert false
+ :debug true
+ :on_attach (fn [client buf]
+ (lsp-conf.attach client buf true))
+ :sources [fmt.alejandra
+ fmt.fnlfmt
+ (fmt.black.with {:condition (executable? :black)})
+ (fmt.goimports.with {:condition (executable? :goimports)})
+ (fmt.gofumpt.with {:condition (executable? :gofumpt)})
+ (fmt.raco_fmt.with {:condition (executable? :raco)})
+ (fmt.terraform_fmt.with {:condition (executable? :terraform)})]})