From 886e3cdbe4b408f6691d2beabb16b16279b4e2c1 Mon Sep 17 00:00:00 2001 From: Shadow Cat Date: Sun, 12 Mar 2023 17:45:14 -0400 Subject: [PATCH] use telescope for lsp searching, fix tsserver / denolsp root_dir / single file stuff so they don't conflict --- lua/config/lsp-settings.lua | 9 ++++++--- lua/plugins/lsp.lua | 30 +++++++++++++++++------------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/lua/config/lsp-settings.lua b/lua/config/lsp-settings.lua index c569c8d..e57317f 100644 --- a/lua/config/lsp-settings.lua +++ b/lua/config/lsp-settings.lua @@ -8,9 +8,12 @@ local on_attach = function(_, bufnr) ) end - map("gd", vim.lsp.buf.definition) - map("gr", vim.lsp.buf.references) - map("gi", vim.lsp.buf.implementation) + local builtin = require('telescope.builtin') + + map("gd", builtin.lsp_definitions) + map("gr", builtin.lsp_references) + map("gi", builtin.lsp_implementations) + map("gs", builtin.lsp_document_symbols) map("gD", vim.lsp.buf.declaration) map("K", vim.lsp.buf.hover) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index c3c7698..b2ed310 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -25,33 +25,37 @@ local config = function() vim.g.markdown_fenced_languages = { "ts=typescript" } - --require("lspconfig").denols.setup { - -- on_attach = on_attach, - -- capabilities = capabilities, - --} - require("lspconfig").clangd.setup { + local c = require("lspconfig") + c.clangd.setup { on_attach = on_attach, capabilities = capabilities, } - require("lspconfig").asm_lsp.setup { + c.asm_lsp.setup { on_attach = on_attach, capabilities = capabilities, } - require("lspconfig").pylsp.setup { + c.pylsp.setup { on_attach = on_attach, capabilities = capabilities, } - require("lspconfig").kotlin_language_server.setup { + c.kotlin_language_server.setup { on_attach = on_attach, - capabilities = capabilities + capabilities = capabilities, } - require("lspconfig").angularls.setup { + c.denols.setup { on_attach = on_attach, - capabilities = capabilities + capabilities = capabilities, + root_dir = c.util.root_pattern("deno.json", "deno.jsonc"), } - require("lspconfig").tsserver.setup { + c.angularls.setup { on_attach = on_attach, - capabilities = capabilities + capabilities = capabilities, + } + c.tsserver.setup { + on_attach = on_attach, + capabilities = capabilities, + root_dir = c.util.root_pattern("package.json", "tsconfig.json", "jsconfig.json"), + single_file_support = false, } end