autoload/lsp/diag.vim | 6 +++++- diff --git a/autoload/lsp/diag.vim b/autoload/lsp/diag.vim index c0dffc47532587462b5bffc18f3fcab04d76ef22..df2a25e9c13f61079ed4589305805ba7f0e8ee1c 100644 --- a/autoload/lsp/diag.vim +++ b/autoload/lsp/diag.vim @@ -137,11 +137,15 @@ type: DiagSevToInlineHLName(diag.severity)}) endif if opt.lspOptions.showDiagWithVirtualText + var padding = diag.range.start.character + if padding > 0 + padding = strdisplaywidth(getline(diag.range.start.line + 1)[ : diag.range.start.character - 1]) + endif prop_add(lnum, 0, {bufnr: bnr, type: 'LspDiagVirtualText', text: $'┌─ {diag.message}', text_align: 'above', - text_padding_left: diag.range.start.character}) + text_padding_left: padding}) endif catch /E966\|E964/ # Invalid lnum | Invalid col # Diagnostics arrive asynchronous and the document changed while they wore