소스 검색

command and keybind to toggle lsp virtual text (#146)

Axel Dahlberg 4 년 전
부모
커밋
e088a51af9
3개의 변경된 파일18개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      lua/lsp/init.lua
  2. 15 0
      lua/lsp/virtual_text.lua
  3. 1 0
      vimscript/nv-whichkey/init.vim

+ 2 - 2
lua/lsp/init.lua

@@ -32,8 +32,8 @@ vim.cmd('nnoremap <silent> <C-n> :Lspsaga diagnostic_jump_next<CR>')
 -- scroll down hover doc or scroll in definition preview
 vim.cmd('nnoremap <silent> <C-f> <cmd>lua require(\'lspsaga.action\').smart_scroll_with_saga(1)<CR>')
 -- scroll up hover doc
-vim.cmd(
-    'nnoremap <silent> <C-b> <cmd>lua require(\'lspsaga.action\').smart_scroll_with_saga(-1)<CR>')
+vim.cmd('nnoremap <silent> <C-b> <cmd>lua require(\'lspsaga.action\').smart_scroll_with_saga(-1)<CR>')
+vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle')
 
 --[[ " autoformat
 autocmd BufWritePre *.js lua vim.lsp.buf.formatting_sync(nil, 100)

+ 15 - 0
lua/lsp/virtual_text.lua

@@ -0,0 +1,15 @@
+local virtual_text = {}
+
+virtual_text.show = true
+
+virtual_text.toggle = function()
+    virtual_text.show = not virtual_text.show
+    vim.lsp.diagnostic.display(
+        vim.lsp.diagnostic.get(0, 1),
+        0,
+        1,
+        {virtual_text = virtual_text.show}
+    )
+end
+
+return virtual_text

+ 1 - 0
vimscript/nv-whichkey/init.vim

@@ -185,6 +185,7 @@ let g:which_key_map.l = {
       \ 'D' : [':Telescope lsp_workspace_diagnostics', 'workspace diagnostics'],
       \ 'f' : [':LspFormatting'                      , 'format'],
       \ 'I' : [':LspInfo'                            , 'lsp info'],
+      \ 'v' : [':LspVirtualTextToggle'               , 'lsp toggle virtual text'],
       \ 'l' : [':Lspsaga lsp_finder'                 , 'lsp finder'],
       \ 'L' : [':Lspsaga show_line_diagnostics'      , 'line_diagnostics'],
       \ 'o' : [':Vista!!'                            , 'outline'],