summaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
diff options
context:
space:
mode:
authorChloe Kudryavtsev <code@toast.bunkerlabs.net>2023-01-18 10:11:34 +0100
committerChloe Kudryavtsev <code@toast.bunkerlabs.net>2023-01-18 10:11:34 +0100
commit3e7075f8944ac56b78c82f68835722807ad62e18 (patch)
treee35b911315a079ba78b2138c4fd4a8f6e1a19094 /dot_config/nvim/lua/plugins/nvim-lspconfig.lua
parentnvim: add clojure qol (diff)
nvim: update config (checkpoint)
Diffstat (limited to 'dot_config/nvim/lua/plugins/nvim-lspconfig.lua')
-rw-r--r--dot_config/nvim/lua/plugins/nvim-lspconfig.lua28
1 files changed, 22 insertions, 6 deletions
diff --git a/dot_config/nvim/lua/plugins/nvim-lspconfig.lua b/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
index f8fae9f..07d9988 100644
--- a/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
+++ b/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
@@ -8,13 +8,27 @@ local function plist(...)
return function(f) return p(f) end
end
+-- completion
+local cap = require 'cmp_nvim_lsp'.default_capabilities()
+
-- mappings
local wk = require 'which-key'
+
+-- signature help
+local sg = require 'lsp_signature'
+local sgconf = {
+ zindex = 50,
+ hint_enable = false,
+ extra_trigger_chars = {' '},
+ toggle_key = '<M-x>',
+}
+
---@diagnostic disable-next-line: unused-local
local on_attach = function(c, b)
local lsp = vim.lsp
local lbf = lsp.buf
vim.api.nvim_buf_set_option(b, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
+ sg.on_attach(sgconf, b)
wk.register({
name = '+lsp',
D = {lbf.declaration, 'goto declaration'},
@@ -48,11 +62,13 @@ local on_attach = function(c, b)
end
-- configs
-local common = { on_attach = on_attach }
-local deno = vim.deepcopy(common)
-local tss = vim.deepcopy(common)
-deno.root_dir = plist('deno.json', 'deno.jsonc')
-tss.root_dir = plist('tsconfig.json', 'package.json')
+local common = { on_attach = on_attach, capabilities = cap }
+local clojure = vim.deepcopy(common)
+local deno = vim.deepcopy(common)
+local tss = vim.deepcopy(common)
+clojure.root_dir = plist('project.clj', 'deps.edn', 'bb.edn', 'build.boot', 'shadow-cljs.edn', '.git')
+deno.root_dir = plist('deno.json', 'deno.jsonc')
+tss.root_dir = plist('tsconfig.json', 'package.json')
-- servers
local function enable(name, opts)
@@ -64,7 +80,7 @@ local function enable(name, opts)
end
end
-enable 'clojure_lsp'
+enable('clojure_lsp', clojure)
enable('denols', deno)
enable 'gopls'
enable 'ltex'