mirror of
https://github.com/airblade/vim-gitgutter.git
synced 2025-11-08 11:33:48 -05:00
Use matchaddpos() instead of text properties
matchaddpos() has better backward compatibility than text properties. I only used text properties inside Vim popups because I did not think there was a way to use matchaddpos(), but then I found a way.
This commit is contained in:
@@ -1,10 +1,5 @@
|
||||
let s:winid = 0
|
||||
|
||||
if exists('*prop_type_add')
|
||||
call prop_type_add('gitgutter_add_intra_line', {'highlight': 'GitGutterAddIntraLine', 'combine': 1})
|
||||
call prop_type_add('gitgutter_delete_intra_line', {'highlight': 'GitGutterDeleteIntraLine', 'combine': 1})
|
||||
endif
|
||||
|
||||
function! gitgutter#hunk#set_hunks(bufnr, hunks) abort
|
||||
call gitgutter#utility#setbufvar(a:bufnr, 'hunks', a:hunks)
|
||||
call s:reset_summary(a:bufnr)
|
||||
@@ -476,12 +471,10 @@ function! s:populate_hunk_preview_window(header, body)
|
||||
if exists('*popup_create')
|
||||
call popup_settext(s:winid, a:body)
|
||||
|
||||
if has('patch-8.1.2071')
|
||||
for region in gitgutter#diff_highlight#process(a:body)
|
||||
let type = region[1] == '+' ? 'gitgutter_add_intra_line' : 'gitgutter_delete_intra_line'
|
||||
call prop_add(region[0], region[2], {'bufnr': winbufnr(s:winid), 'type': type, 'end_col': region[3]+1})
|
||||
endfor
|
||||
endif
|
||||
for region in gitgutter#diff_highlight#process(a:body)
|
||||
let group = region[1] == '+' ? 'GitGutterAddIntraLine' : 'GitGutterDeleteIntraLine'
|
||||
call win_execute(s:winid, "call matchaddpos('".group."', [[".region[0].", ".region[2].", ".(region[3]-region[2]+1)."]])")
|
||||
endfor
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user