summaryrefslogtreecommitdiff
path: root/dot_config/nvim/lsp
diff options
context:
space:
mode:
authorChloƩ Vulquin <code@toast.bunkerlabs.net>2025-04-02 13:55:07 +0200
committerChloƩ Vulquin <code@toast.bunkerlabs.net>2025-04-02 13:55:07 +0200
commitd2f4d5dec7eededffc956fe6745139d98d695509 (patch)
treeacd79555cdd16ae02794ce8b36bd0f153ee9d6b9 /dot_config/nvim/lsp
parentnvim/conjure: move fennel support to nfnl (diff)
nvim: upgrade configs for v0.11
Bunch of stuff bundled with it. `lsp/` subject to changes.
Diffstat (limited to '')
-rw-r--r--dot_config/nvim/lsp/clangd.fnl8
-rw-r--r--dot_config/nvim/lsp/clangd.lua2
-rw-r--r--dot_config/nvim/lsp/clojure_lsp.fnl5
-rw-r--r--dot_config/nvim/lsp/clojure_lsp.lua2
-rw-r--r--dot_config/nvim/lsp/denols.fnl3
-rw-r--r--dot_config/nvim/lsp/denols.lua2
-rw-r--r--dot_config/nvim/lsp/gopls.fnl13
-rw-r--r--dot_config/nvim/lsp/gopls.lua15
-rw-r--r--dot_config/nvim/lsp/lua_ls.fnl4
-rw-r--r--dot_config/nvim/lsp/lua_ls.lua2
-rw-r--r--dot_config/nvim/lsp/pyright.fnl5
-rw-r--r--dot_config/nvim/lsp/pyright.lua2
-rw-r--r--dot_config/nvim/lsp/ruff.fnl6
-rw-r--r--dot_config/nvim/lsp/ruff.lua2
-rw-r--r--dot_config/nvim/lsp/texlab.fnl5
-rw-r--r--dot_config/nvim/lsp/texlab.lua2
-rw-r--r--dot_config/nvim/lsp/tinymist.fnl4
-rw-r--r--dot_config/nvim/lsp/tinymist.lua2
-rw-r--r--dot_config/nvim/lsp/ts_ls.fnl3
-rw-r--r--dot_config/nvim/lsp/ts_ls.lua2
-rw-r--r--dot_config/nvim/lsp/uiua.fnl4
-rw-r--r--dot_config/nvim/lsp/uiua.lua2
-rw-r--r--dot_config/nvim/lsp/zls.fnl4
-rw-r--r--dot_config/nvim/lsp/zls.lua2
24 files changed, 101 insertions, 0 deletions
diff --git a/dot_config/nvim/lsp/clangd.fnl b/dot_config/nvim/lsp/clangd.fnl
new file mode 100644
index 0000000..c41824e
--- /dev/null
+++ b/dot_config/nvim/lsp/clangd.fnl
@@ -0,0 +1,8 @@
+{:cmd [:clangd :--background-index]
+ :filetypes [:c :cpp]
+ :root_markers [:.clangd
+ :.clang-format
+ :compile_commands.json :compile_flags.txt]
+ :flags {:debounce_text_changes 20}
+ :capabilities {:textDocument {:completion {:editsNearCursor true}}
+ :offsetEncoding [:utf-8 :utf-16]}}
diff --git a/dot_config/nvim/lsp/clangd.lua b/dot_config/nvim/lsp/clangd.lua
new file mode 100644
index 0000000..0a4f4e5
--- /dev/null
+++ b/dot_config/nvim/lsp/clangd.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/clangd.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"clangd", "--background-index"}, filetypes = {"c", "cpp"}, root_markers = {".clangd", ".clang-format", "compile_commands.json", "compile_flags.txt"}, flags = {debounce_text_changes = 20}, capabilities = {textDocument = {completion = {editsNearCursor = true}}, offsetEncoding = {"utf-8", "utf-16"}}}
diff --git a/dot_config/nvim/lsp/clojure_lsp.fnl b/dot_config/nvim/lsp/clojure_lsp.fnl
new file mode 100644
index 0000000..b618d35
--- /dev/null
+++ b/dot_config/nvim/lsp/clojure_lsp.fnl
@@ -0,0 +1,5 @@
+{:cmd [:clojure-lsp :listen]
+ :filetypes [:clojure]
+ :root_markers [:project.clj
+ :deps.edn :bb.edn
+ :build.boot :shadow-cljs.edn]}
diff --git a/dot_config/nvim/lsp/clojure_lsp.lua b/dot_config/nvim/lsp/clojure_lsp.lua
new file mode 100644
index 0000000..1c9ded1
--- /dev/null
+++ b/dot_config/nvim/lsp/clojure_lsp.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/clojure_lsp.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"clojure-lsp", "listen"}, filetypes = {"clojure"}, root_markers = {"project.clj", "deps.edn", "bb.edn", "build.boot", "shadow-cljs.edn"}}
diff --git a/dot_config/nvim/lsp/denols.fnl b/dot_config/nvim/lsp/denols.fnl
new file mode 100644
index 0000000..785c69a
--- /dev/null
+++ b/dot_config/nvim/lsp/denols.fnl
@@ -0,0 +1,3 @@
+{:cmd [:deno :lsp]
+ :filetypes [:javascript :typescript]
+ :root_markers [:deno.json :deno.jsonc]}
diff --git a/dot_config/nvim/lsp/denols.lua b/dot_config/nvim/lsp/denols.lua
new file mode 100644
index 0000000..56b64b4
--- /dev/null
+++ b/dot_config/nvim/lsp/denols.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/denols.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"deno", "lsp"}, filetypes = {"javascript", "typescript"}, root_markers = {"deno.json", "deno.jsonc"}}
diff --git a/dot_config/nvim/lsp/gopls.fnl b/dot_config/nvim/lsp/gopls.fnl
new file mode 100644
index 0000000..8a7fdd7
--- /dev/null
+++ b/dot_config/nvim/lsp/gopls.fnl
@@ -0,0 +1,13 @@
+{:cmd [:gopls]
+ :filetypes [:go :gomod :gowork :gosum]
+ :root_dir (fn [buf cb]
+ (cb (let [modr (vim.fs.root buf :go.mod)]
+ (or (when modr (vim.fs.root modr :go.work))
+ modr))))
+ :settings {:autoformat true
+ :gopls {:analyses {:unusedparams true
+ :unusedwrite true
+ :nilness true}
+ :gofumpt true
+ :semanticTokens true
+ :staticcheck true}}}
diff --git a/dot_config/nvim/lsp/gopls.lua b/dot_config/nvim/lsp/gopls.lua
new file mode 100644
index 0000000..dd32055
--- /dev/null
+++ b/dot_config/nvim/lsp/gopls.lua
@@ -0,0 +1,15 @@
+-- [nfnl] Compiled from lsp/gopls.fnl by https://github.com/Olical/nfnl, do not edit.
+local function _1_(buf, cb)
+ local function _2_()
+ local modr = vim.fs.root(buf, "go.mod")
+ local _3_
+ if modr then
+ _3_ = vim.fs.root(modr, "go.work")
+ else
+ _3_ = nil
+ end
+ return (_3_ or modr)
+ end
+ return cb(_2_())
+end
+return {cmd = {"gopls"}, filetypes = {"go", "gomod", "gowork", "gosum"}, root_dir = _1_, settings = {autoformat = true, gopls = {analyses = {unusedparams = true, unusedwrite = true, nilness = true}, gofumpt = true, semanticTokens = true, staticcheck = true}}}
diff --git a/dot_config/nvim/lsp/lua_ls.fnl b/dot_config/nvim/lsp/lua_ls.fnl
new file mode 100644
index 0000000..6f6af08
--- /dev/null
+++ b/dot_config/nvim/lsp/lua_ls.fnl
@@ -0,0 +1,4 @@
+{:cmd [:lua-language-server]
+ :filetypes [:lua]
+ :root_markers [:.luarc.json]
+ :settings {:Lua {:telemetry {:enable false}}}}
diff --git a/dot_config/nvim/lsp/lua_ls.lua b/dot_config/nvim/lsp/lua_ls.lua
new file mode 100644
index 0000000..5032430
--- /dev/null
+++ b/dot_config/nvim/lsp/lua_ls.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/lua_ls.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"lua-language-server"}, filetypes = {"lua"}, root_markers = {".luarc.json"}, settings = {Lua = {telemetry = {enable = false}}}}
diff --git a/dot_config/nvim/lsp/pyright.fnl b/dot_config/nvim/lsp/pyright.fnl
new file mode 100644
index 0000000..4209625
--- /dev/null
+++ b/dot_config/nvim/lsp/pyright.fnl
@@ -0,0 +1,5 @@
+{:cmd [:basedpyright-langserver :--stdio]
+ :filetypes [:python]
+ :root_markers vim.lsp.config.ruff.root_markers
+ :settings {:python {:analysis {:diagnosticMode :openFilesonly}
+ :logLevel :Warning}}}
diff --git a/dot_config/nvim/lsp/pyright.lua b/dot_config/nvim/lsp/pyright.lua
new file mode 100644
index 0000000..e491965
--- /dev/null
+++ b/dot_config/nvim/lsp/pyright.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/pyright.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"basedpyright-langserver", "--stdio"}, filetypes = {"python"}, root_markers = vim.lsp.config.ruff.root_markers, settings = {python = {analysis = {diagnosticMode = "openFilesonly"}, logLevel = "Warning"}}}
diff --git a/dot_config/nvim/lsp/ruff.fnl b/dot_config/nvim/lsp/ruff.fnl
new file mode 100644
index 0000000..1de206a
--- /dev/null
+++ b/dot_config/nvim/lsp/ruff.fnl
@@ -0,0 +1,6 @@
+{:cmd [:ruff :server :--preview]
+ :filetypes [:python]
+ :root_markers [:pyproject.toml
+ :setup.cfg :setup.py
+ :pyrightconfig.json
+ :requirements.txt]}
diff --git a/dot_config/nvim/lsp/ruff.lua b/dot_config/nvim/lsp/ruff.lua
new file mode 100644
index 0000000..9e6640d
--- /dev/null
+++ b/dot_config/nvim/lsp/ruff.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/ruff.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"ruff", "server", "--preview"}, filetypes = {"python"}, root_markers = {"pyproject.toml", "setup.cfg", "setup.py", "pyrightconfig.json", "requirements.txt"}}
diff --git a/dot_config/nvim/lsp/texlab.fnl b/dot_config/nvim/lsp/texlab.fnl
new file mode 100644
index 0000000..2a7e08a
--- /dev/null
+++ b/dot_config/nvim/lsp/texlab.fnl
@@ -0,0 +1,5 @@
+{:cmd [:texlab :run]
+ :filetypes [:plaintex :tex :bib :latex]
+ ; if there's no main then it's probably an external project
+ ; realistically, I have a tendency to use a different editor for these anyway
+ :root_markers [:main.latex :main.tex]}
diff --git a/dot_config/nvim/lsp/texlab.lua b/dot_config/nvim/lsp/texlab.lua
new file mode 100644
index 0000000..8ba65cf
--- /dev/null
+++ b/dot_config/nvim/lsp/texlab.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/texlab.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"texlab", "run"}, filetypes = {"plaintex", "tex", "bib", "latex"}, root_markers = {"main.latex", "main.tex"}}
diff --git a/dot_config/nvim/lsp/tinymist.fnl b/dot_config/nvim/lsp/tinymist.fnl
new file mode 100644
index 0000000..4781bdf
--- /dev/null
+++ b/dot_config/nvim/lsp/tinymist.fnl
@@ -0,0 +1,4 @@
+{:cmd [:tinymist :lsp]
+ :filetypes [:typst]
+ ; if there's no main.typ, it's probably not a project anyway
+ :root_markers [:main.typ]}
diff --git a/dot_config/nvim/lsp/tinymist.lua b/dot_config/nvim/lsp/tinymist.lua
new file mode 100644
index 0000000..aa043a3
--- /dev/null
+++ b/dot_config/nvim/lsp/tinymist.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/tinymist.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"tinymist", "lsp"}, filetypes = {"typst"}, root_markers = {"main.typ"}}
diff --git a/dot_config/nvim/lsp/ts_ls.fnl b/dot_config/nvim/lsp/ts_ls.fnl
new file mode 100644
index 0000000..89ebb68
--- /dev/null
+++ b/dot_config/nvim/lsp/ts_ls.fnl
@@ -0,0 +1,3 @@
+{:cmd [:typescript-language-server :--stdio]
+ :filetypes [:javascript :typescript :typescriptreact]
+ :root_markers [:tsconfig.json :jsconfig.json :package.json]}
diff --git a/dot_config/nvim/lsp/ts_ls.lua b/dot_config/nvim/lsp/ts_ls.lua
new file mode 100644
index 0000000..f228f8f
--- /dev/null
+++ b/dot_config/nvim/lsp/ts_ls.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/ts_ls.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"typescript-language-server", "--stdio"}, filetypes = {"javascript", "typescript", "typescriptreact"}, root_markers = {"tsconfig.json", "jsconfig.json", "package.json"}}
diff --git a/dot_config/nvim/lsp/uiua.fnl b/dot_config/nvim/lsp/uiua.fnl
new file mode 100644
index 0000000..217096f
--- /dev/null
+++ b/dot_config/nvim/lsp/uiua.fnl
@@ -0,0 +1,4 @@
+{:cmd [:uiua :lsp]
+ :filetypes [:uiua]
+ ; no marker but I don't tend to have subdirs
+ :root_markers [:*.uiua]}
diff --git a/dot_config/nvim/lsp/uiua.lua b/dot_config/nvim/lsp/uiua.lua
new file mode 100644
index 0000000..c6ba460
--- /dev/null
+++ b/dot_config/nvim/lsp/uiua.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/uiua.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"uiua", "lsp"}, filetypes = {"uiua"}, root_markers = {"*.uiua"}}
diff --git a/dot_config/nvim/lsp/zls.fnl b/dot_config/nvim/lsp/zls.fnl
new file mode 100644
index 0000000..221e86e
--- /dev/null
+++ b/dot_config/nvim/lsp/zls.fnl
@@ -0,0 +1,4 @@
+{:cmd [:zls]
+ :filetypes [:zig]
+ :root_markers [:zls.json :build.zig]
+ :settings {:autoformat true}}
diff --git a/dot_config/nvim/lsp/zls.lua b/dot_config/nvim/lsp/zls.lua
new file mode 100644
index 0000000..69fbd6a
--- /dev/null
+++ b/dot_config/nvim/lsp/zls.lua
@@ -0,0 +1,2 @@
+-- [nfnl] Compiled from lsp/zls.fnl by https://github.com/Olical/nfnl, do not edit.
+return {cmd = {"zls"}, filetypes = {"zig"}, root_markers = {"zls.json", "build.zig"}, settings = {autoformat = true}}