Преглед на файлове

Add setting to enable/disable the default lsp keybinds (#896)

Ben Goldberg преди 4 години
родител
ревизия
849b28f153
променени са 2 файла, в които са добавени 21 реда и са изтрити 18 реда
  1. 1 0
      lua/default-config.lua
  2. 20 18
      lua/lsp/init.lua

+ 1 - 0
lua/default-config.lua

@@ -72,6 +72,7 @@ O = {
     },
     document_highlight = true,
     popup_border = "single",
+    default_keybinds = true,
   },
 
   disabled_built_ins = {

+ 20 - 18
lua/lsp/init.lua

@@ -37,25 +37,27 @@ vim.fn.sign_define(
 --   { noremap = true, silent = true }
 -- )
 
-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 }
-)
+if O.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'.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 = O.lsp.popup_border}})<CR>"
-vim.cmd "nnoremap <silent> <C-n> :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.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()'
+  vim.cmd "nnoremap <silent> gp <cmd>lua require'lsp'.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 = O.lsp.popup_border}})<CR>"
+  vim.cmd "nnoremap <silent> <C-n> :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.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
 
 -- Set Default Prefix.
 -- Note: You can set a prefix per lsp server in the lv-globals.lua file