fennel things
change
commit 985fa54b409d5c8ba40500002728d9ca9efd11f1
author Alpha Chen <alpha@kejadlen.dev>
date
parent 106c596b
diff --git a/.config/nvim/fnl/lsp.fnl b/.config/nvim/fnl/lsp.fnl
index 8c0fda4f..4635c76c 100644
--- a/.config/nvim/fnl/lsp.fnl
+++ b/.config/nvim/fnl/lsp.fnl
@@ -12,9 +12,9 @@
 
 ;; rounded borders
 (let [{: hover} lsp.handlers]
-  (tset lsp.handlers :textDocument/hover (lsp.with hover {:border :rounded}))
-  (tset lsp.handlers :textDocument/signatureHelp
-        (lsp.with hover {:border :rounded})))
+  (set lsp.handlers.textDocument/hover (lsp.with hover {:border :rounded}))
+  (set lsp.handlers.textDocument/signatureHelp
+       (lsp.with hover {:border :rounded})))
 
 ;; set up key mappings
 (let [{: keymap} vim
@@ -54,12 +54,12 @@
 (let [fmt #{:formatCommand $1 :formatStdin true}
       lint #{:lintCommand $1 :lintFormats $2 :lintStdin true}
       fennel [(fmt "fnlfmt /dev/stdin")
-              (lint (let [x (iter [:fennel
-                                   "--globals vim,hs,spoon"
-                                   :--raw-errors
-                                   "$(realpath --relative-to . ${INPUT})"
-                                   :2>&1])]
-                      (x:join " ")) ["%f:%l: %m"])]
+              (lint (: (iter [:fennel
+                              "--globals vim,hs,spoon"
+                              :--raw-errors
+                              "$(realpath --relative-to . ${INPUT})"
+                              :2>&1]) :join " ")
+                    ["%f:%l: %m"])]
       js [{:formatCommand (let [x (iter ["prettier --stdin --stdin-filepath ${INPUT}"
                                          "${--range-start:charStart} ${--range-end:charEnd}"
                                          "${--tab-width:tabWidth} ${--use-tabs:!insertSpaces}"])]
@@ -81,68 +81,3 @@
                                    ;; since otherwise eslint goes haywire
                                    :lintDebounce 1000000000}
                         :filetypes [:fennel :typescriptreact :yaml]}))
-
-; (fn on-attach-do [...]
-;   (let [fns [...]] ; https://benaiah.me/posts/everything-you-didnt-want-to-know-about-lua-multivals/
-;     (fn [client bufnr]
-;       (on-attach client bufnr)
-;       (each [_ f (ipairs fns)]
-;         (f client bufnr)))))
-;
-; (fn attach-navic [client bufnr]
-;   ((. (require :nvim-navic) :attach) client bufnr))
-;
-; (fn enable-fmt [client bufnr]
-;   (let [bufopts {:noremap true :silent true :buffer bufnr}]
-;     (vim.keymap.set :n :<leader>lf #(lsp.buf.format {:async true}) bufopts)))
-;
-; (fn disable-rename [client]
-;   (set client.server_capabilities.rename false))
-;
-; (fn setup-lsp [lsp config]
-;   (let [{: setup} (. lspconfig lsp)]
-;     (setup (or config {:on_attach on-attach}))))
-;
-; (local eslint
-;        {:lintCommand "eslint -f visualstudio --stdin --stdin-filename ${INPUT}"
-;         :lintIgnoreExitCode true
-;         :lintStdin true
-;         :lintFormats ["%f(%l,%c): %tarning %m" "%f(%l,%c): %rror %m"]})
-;
-; (local eslintd-fmt
-;        (fmt "eslint_d --stdin --fix-to-stdout --stdin-filename=${INPUT}"))
-
-; (setup-lsp :ruby_lsp)
-;
-; (setup-lsp :rust_analyzer
-;            {:on_attach on-attach
-;             :cmd [:rustup :run :stable :rust-analyzer]
-;             :settings {:rust-analyzer {:checkOnSave {:command :clippy}}}})
-;
-; (setup-lsp :ts_ls {:on_attach (on-attach-do attach-navic)})
-; (setup-lsp :vuels {:on_attach (on-attach-do attach-navic)})
-
-;; TODO
-;; https://github.com/Shopify/ruby-lsp/issues/188#issuecomment-1268932965
-; (local request-diagnostics
-;        (fn [client buffer]
-;          (let [{: util : diagnostic} lsp
-;                params (util.make_text_document_params buffer)
-;                publish-diagnostics #(diagnostic.on_publish_diagnostics nil
-;                                                                        (vim.tbl_extend :keep
-;                                                                                        params
-;                                                                                        {:diagnostics $1.items})
-;                                                                        {:client_id client.id})
-;                update-diagnostics #(when (not $1)
-;                                      (publish-diagnostics $2))
-;                callback #(client.request :textDocument/diagnostic
-;                                          {:textDocument params}
-;                                          update-diagnostics)]
-;            (vim.api.nvim_create_autocmd [:BufEnter :BufWritePre :CursorHold]
-;                                         {: buffer : callback}))))
-
-; (fn setup-ruby-ls []
-;   (let []
-;     (setup-lsp :ruby_ls {:on_attach (on-attach-do request-diagnostics)})))
-
-; {: setup-lsp}
diff --git a/flsproject.fnl b/flsproject.fnl
new file mode 100644
index 00000000..5886a9ef
--- /dev/null
+++ b/flsproject.fnl
@@ -0,0 +1,2 @@
+{:extra-globals "hs spoon vim"}
+