From d2c7d4a064917ee71fd062746f3350393d008e59 Mon Sep 17 00:00:00 2001 From: Gabe Farrell Date: Wed, 10 Apr 2024 23:18:33 -0400 Subject: [PATCH] use telescope for [g]et [r]eferences --- lua/configs/lspconfig.lua | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/lua/configs/lspconfig.lua b/lua/configs/lspconfig.lua index 863f0dc..8c90fcd 100644 --- a/lua/configs/lspconfig.lua +++ b/lua/configs/lspconfig.lua @@ -1,5 +1,37 @@ --- EXAMPLE -local on_attach = require("nvchad.configs.lspconfig").on_attach +local map = vim.keymap.set +local conf = require("nvconfig").ui.lsp + +local on_attach = function(client, bufnr) + local function opts(desc) + return { buffer = bufnr, desc = desc } + end + + map("n", "gD", vim.lsp.buf.declaration, opts "Lsp Go to declaration") + map("n", "gd", vim.lsp.buf.definition, opts "Lsp Go to definition") + map("n", "K", vim.lsp.buf.hover, opts "Lsp hover information") + map("n", "gi", vim.lsp.buf.implementation, opts "Lsp Go to implementation") + map("n", "sh", vim.lsp.buf.signature_help, opts "Lsp Show signature help") + map("n", "wa", vim.lsp.buf.add_workspace_folder, opts "Lsp Add workspace folder") + map("n", "wr", vim.lsp.buf.remove_workspace_folder, opts "Lsp Remove workspace folder") + + map("n", "wl", function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts "Lsp List workspace folders") + + map("n", "D", vim.lsp.buf.type_definition, opts "Lsp Go to type definition") + + map("n", "ra", function() + require "nvchad.lsp.renamer"() + end, opts "Lsp NvRenamer") + + map({ "n", "v" }, "ca", vim.lsp.buf.code_action, opts "Lsp Code action") + map("n", "gr", "Telescope lsp_references", opts "[G]et [R]eferences") + + -- setup signature popup + if conf.signature and client.server_capabilities.signatureHelpProvider then + require("nvchad.lsp.signature").setup(client, bufnr) + end +end local on_init = require("nvchad.configs.lspconfig").on_init local capabilities = require("nvchad.configs.lspconfig").capabilities