autoload/lsp/lspserver.vim | 17 +++++++++++------ diff --git a/autoload/lsp/lspserver.vim b/autoload/lsp/lspserver.vim index 42121bc730f6f9087d3cdb684f2348f0a40d8d93..69af662bb7a921a9852ab8a038be795d97f01398 100644 --- a/autoload/lsp/lspserver.vim +++ b/autoload/lsp/lspserver.vim @@ -896,12 +896,17 @@ else # textual reference propName = 'LspTextRef' endif - prop_add(docHL.range.start.line + 1, - util.GetLineByteFromPos(bnr, docHL.range.start) + 1, - {end_lnum: docHL.range.end.line + 1, - end_col: util.GetLineByteFromPos(bnr, docHL.range.end) + 1, - bufnr: bnr, - type: propName}) + try + prop_add(docHL.range.start.line + 1, + util.GetLineByteFromPos(bnr, docHL.range.start) + 1, + {end_lnum: docHL.range.end.line + 1, + end_col: util.GetLineByteFromPos(bnr, docHL.range.end) + 1, + bufnr: bnr, + type: propName}) + catch /E966\|E964/ # Invalid lnum | Invalid col + # Highlight arrive asynchronous and the document changed while they wore + # send. + endtry endfor enddef