From 35bdf0da3e378421c3c6206c550192713c3e10eb Mon Sep 17 00:00:00 2001 From: Shidong Wang Date: Wed, 6 Oct 2021 22:56:47 +0800 Subject: [PATCH] feat(lsp): make SPC e c support to clear diagnostics If lsp is enabled for current buffer. SPC e c should be able to clear diagnostics. --- autoload/SpaceVim/layers/checkers.vim | 9 ++++++++- autoload/SpaceVim/lsp.vim | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/autoload/SpaceVim/layers/checkers.vim b/autoload/SpaceVim/layers/checkers.vim index 5b060c663..e4d280307 100644 --- a/autoload/SpaceVim/layers/checkers.vim +++ b/autoload/SpaceVim/layers/checkers.vim @@ -391,5 +391,12 @@ endif " TODO clear errors function! s:clear_errors() abort - sign unplace * + if SpaceVim#lsp#buf_server_ready() + call SpaceVim#lsp#diagnostic_clear() + if get(getloclist(0, {'title': 0}), 'title', '') ==# 'Language Server' + call setloclist(0, [], 'r') + endif + else + sign unplace * + endif endfunction diff --git a/autoload/SpaceVim/lsp.vim b/autoload/SpaceVim/lsp.vim index 8dabf0dc3..16f6169c5 100644 --- a/autoload/SpaceVim/lsp.vim +++ b/autoload/SpaceVim/lsp.vim @@ -71,6 +71,9 @@ if (has('nvim-0.5.0') && s:NVIM_VERSION.is_release_version()) || has('nvim-0.6.0 function! SpaceVim#lsp#diagnostic_goto_prev() abort lua vim.lsp.diagnostic.goto_prev() endfunction + function! SpaceVim#lsp#diagnostic_clear() abort + lua vim.lsp.diagnostic.clear(0) + endfunction elseif SpaceVim#layers#isLoaded('autocomplete') && get(g:, 'spacevim_autocomplete_method') ==# 'coc' " use coc.nvim let s:coc_language_servers = {}