summaryrefslogtreecommitdiff
path: root/lua/lsp/keybinds.lua
blob: 2ca930c71e50e285cf2603b66e728b7555f5142b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
local M = {}

function M.setup()
  function M.setup_default_bindings()
    if lvim.lsp.default_keybinds then
      vim.cmd "nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>"
      vim.cmd "nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>"
      vim.cmd "nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>"
      vim.cmd "nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>"
      vim.api.nvim_set_keymap(
        "n",
        "gl",
        '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics({ show_header = false, border = "single" })<CR>',
        { noremap = true, silent = true }
      )

      vim.cmd "nnoremap <silent> gp <cmd>lua require'lsp.utils'.PeekDefinition()<CR>"
      vim.cmd "nnoremap <silent> K :lua vim.lsp.buf.hover()<CR>"
      vim.cmd "nnoremap <silent> <C-p> :lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = lvim.lsp.popup_border}})<CR>"
      vim.cmd "nnoremap <silent> <C-n> :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = lvim.lsp.popup_border}})<CR>"
      -- vim.cmd "nnoremap <silent> <tab> <cmd>lua vim.lsp.buf.signature_help()<CR>"
      -- 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
end

return M