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 = {}