local M = {} function M.setup() if lvim.lsp.default_keybinds then vim.cmd "nnoremap gd lua vim.lsp.buf.definition()" vim.cmd "nnoremap gD lua vim.lsp.buf.declaration()" vim.cmd "nnoremap gr lua vim.lsp.buf.references()" vim.cmd "nnoremap gi lua vim.lsp.buf.implementation()" vim.api.nvim_set_keymap( "n", "gl", 'lua vim.lsp.diagnostic.show_line_diagnostics({ show_header = false, border = "single" })', { noremap = true, silent = true } ) vim.cmd "nnoremap gp lua require'lsp.utils'.PeekDefinition()" vim.cmd "nnoremap K :lua vim.lsp.buf.hover()" vim.cmd "nnoremap :lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = lvim.lsp.popup_border}})" vim.cmd "nnoremap :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = lvim.lsp.popup_border}})" -- vim.cmd "nnoremap gs lua vim.lsp.buf.signature_help()" -- scroll down hover doc or scroll in definition preview -- scroll up hover doc -- vim.cmd 'command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()' end end return M