Skip to content

Commit c4bae1f

Browse files
ryu-ichirohryicoh
andauthored
Allow adjustable options of prop_add() for virtual text (prabirshrestha#1412)
Co-authored-by: ryicoh <[email protected]>
1 parent 3f6e23f commit c4bae1f

File tree

3 files changed

+49
-3
lines changed

3 files changed

+49
-3
lines changed

autoload/lsp/internal/diagnostics/virtual_text.vim

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,14 @@ function! s:place_virtual_text(server, diagnostics_response, bufnr) abort
177177
if l:line <= getbufinfo(a:bufnr)[0].linecount
178178
let l:type = 'vim_lsp_' . l:name . '_virtual_text'
179179
call prop_remove({'all': v:true, 'type': l:type, 'bufnr': a:bufnr}, l:line)
180-
call prop_add(l:line, 0, {'type': l:type, 'text': l:text, 'text_padding_left': 1, 'bufnr': a:bufnr, 'text_align': 'below', 'text_wrap': 'wrap'})
180+
call prop_add(
181+
\ l:line, 0,
182+
\ {
183+
\ 'type': l:type, 'text': l:text, 'bufnr': a:bufnr,
184+
\ 'text_align': g:lsp_diagnostics_virtual_text_align,
185+
\ 'text_padding_left': g:lsp_diagnostics_virtual_text_padding_left,
186+
\ 'text_wrap': g:lsp_diagnostics_virtual_text_wrap,
187+
\ })
181188
endif
182189
endif
183190
endfor

doc/vim-lsp.txt

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,12 @@ CONTENTS *vim-lsp-contents*
4949
|g:lsp_diagnostics_virtual_text_insert_mode_enabled|
5050
g:lsp_diagnostics_virtual_text_delay
5151
|g:lsp_diagnostics_virtual_text_delay|
52-
g:lsp_diagnostics_virtual_text_prefix
53-
|g:lsp_diagnostics_virtual_text_prefix|
52+
g:lsp_diagnostics_virtual_text_align
53+
|g:lsp_diagnostics_virtual_text_align|
54+
g:lsp_diagnostics_virtual_text_padding_left
55+
|g:lsp_diagnostics_virtual_text_padding_left|
56+
g:lsp_diagnostics_virtual_text_wrap
57+
|g:lsp_diagnostics_virtual_text_wrap|
5458
g:lsp_document_code_action_signs_enabled
5559
|g:lsp_document_code_actions_signs_enabled|
5660
g:lsp_document_code_action_signs_delay
@@ -720,6 +724,38 @@ g:lsp_diagnostics_virtual_text_prefix *g:lsp_diagnostics_virtual_text_prefix*
720724
let g:lsp_diagnostics_virtual_text_prefix = "> "
721725
let g:lsp_diagnostics_virtual_text_prefix = " ‣ "
722726
727+
g:lsp_diagnostics_virtual_text_align *g:lsp_diagnostics_virtual_text_align*
728+
Type: |String|
729+
Default: `"below"`
730+
731+
Determines the align of the diagnostics virtual text. Requires
732+
|g:lsp_diagnostics_virtual_text_enabled|.
733+
734+
Example: >
735+
let g:lsp_diagnostics_virtual_text_align = "right"
736+
737+
g:lsp_diagnostics_virtual_text_padding_left
738+
*g:lsp_diagnostics_virtual_text_padding_left*
739+
Type: |Number|
740+
Default: `1`
741+
742+
Determines the left padding of the diagnostics virtual text. Requires
743+
|g:lsp_diagnostics_virtual_text_enabled|.
744+
745+
Example: >
746+
let g:lsp_diagnostics_virtual_text_padding_left = 2
747+
748+
g:lsp_diagnostics_virtual_text_wrap *g:lsp_diagnostics_virtual_text_wrap*
749+
Type: |String|
750+
Default: `"wrap"`
751+
752+
Determines whether or not to wrap the diagnostics virtual text. Possible
753+
values are one of `'wrap'`, `'truncate'`. Requires
754+
|g:lsp_diagnostics_virtual_text_enabled|.
755+
756+
Example: >
757+
let g:lsp_diagnostics_virtual_text_wrap = "truncate"
758+
723759
g:lsp_document_code_action_signs_enabled
724760
*g:lsp_document_code_action_signs_enabled*
725761
Type: |Number|

plugin/lsp.vim

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ let g:lsp_diagnostics_virtual_text_enabled = get(g:, 'lsp_diagnostics_virtual_te
3737
let g:lsp_diagnostics_virtual_text_insert_mode_enabled = get(g:, 'lsp_diagnostics_virtual_text_insert_mode_enabled', 0)
3838
let g:lsp_diagnostics_virtual_text_delay = get(g:, 'lsp_diagnostics_virtual_text_delay', 500)
3939
let g:lsp_diagnostics_virtual_text_prefix = get(g:, 'lsp_diagnostics_virtual_text_prefix', '')
40+
let g:lsp_diagnostics_virtual_text_align = get(g:, 'lsp_diagnostics_virtual_text_align', 'below')
41+
let g:lsp_diagnostics_virtual_text_wrap = get(g:, 'lsp_diagnostics_virtual_text_wrap', 'wrap')
42+
let g:lsp_diagnostics_virtual_text_padding_left = get(g:, 'lsp_diagnostics_virtual_text_padding_left', 1)
4043

4144
let g:lsp_document_code_action_signs_enabled = get(g:, 'lsp_document_code_action_signs_enabled', 1)
4245
let g:lsp_document_code_action_signs_delay = get(g:, 'lsp_document_code_action_signs_delay', 500)

0 commit comments

Comments
 (0)