summaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
diff options
context:
space:
mode:
authorChloe Kudryavtsev <code@toast.bunkerlabs.net>2023-04-13 00:39:31 -0400
committerChloe Kudryavtsev <code@toast.bunkerlabs.net>2023-04-13 00:39:31 -0400
commit6273b6d43aedc6b00b82e1081db14c39194da765 (patch)
treec6b1b1e6f9391696001375cb93ecd34449eefe0c /dot_config/nvim/lua/plugins/nvim-lspconfig.lua
parentnvim: add rudimentary treesitter folding support (diff)
nvim: redo the whole thing
reasons tm
Diffstat (limited to '')
-rw-r--r--dot_config/nvim/lua/plugins/nvim-lspconfig.lua88
1 files changed, 0 insertions, 88 deletions
diff --git a/dot_config/nvim/lua/plugins/nvim-lspconfig.lua b/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
deleted file mode 100644
index bdde781..0000000
--- a/dot_config/nvim/lua/plugins/nvim-lspconfig.lua
+++ /dev/null
@@ -1,88 +0,0 @@
----@diagnostic disable: undefined-global
-
-local lspc = require 'lspconfig'
-local lspu = require 'lspconfig.util'
-
-local function plist(...)
- local p = lspu.root_pattern(...)
- 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'},
- d = {lbf.definition, 'goto definition'},
- k = {lbf.hover, 'hover'},
- K = {lbf.signature_help, 'signature help'},
- i = {lbf.implementation, 'goto implementation'},
- t = {lbf.type_definition, 'goto type definition'},
- r = {lbf.rename, 'rename'},
- c = {lbf.code_action, 'code action'},
- R = {lbf.references, 'list references'},
- w = {
- name = '+workspace',
- a = {lbf.add_workspace_folder, 'add folder'},
- r = {lbf.remove_workspace_folder, 'remove folder'},
- l = {
- function() print(vim.inspect(lbf.list_workspace_folders())) end,
- 'list folders'
- },
- },
- }, {
- prefix = '<localleader><localleader>',
- buffer = b,
- })
- wk.register({
- ['<leader>F'] = {
- function() vim.lsp.buf.format {async = true} end,
- 'run format',
- },
- }, { buffer = b })
-end
-
--- configs
-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)
- opts = opts or common
- local s = lspc[name]
- local c = opts.cmd or s.document_config.default_config.cmd
- if vim.fn.executable(c[1]) ~= 0 then
- s.setup(opts)
- end
-end
-
-enable('clojure_lsp', clojure)
-enable('denols', deno)
-enable 'gopls'
-enable 'ltex'
-enable 'lua_ls'
-enable('tsserver', tss)