Signs: do not exceed two cells
This is only enforced for dynamically created signs, namely g:signify_sign_delete and g:signify_sign_changedelete, if g:signify_sign_show_count is on. References https://github.com/mhinz/vim-signify/issues/105
This commit is contained in:
parent
1bdf100aad
commit
ed51cb2599
@ -14,7 +14,8 @@ else
|
|||||||
let s:sign_change = ' '
|
let s:sign_change = ' '
|
||||||
let s:sign_changedelete = ' '
|
let s:sign_changedelete = ' '
|
||||||
endif
|
endif
|
||||||
let s:sign_show_count = get(g:, 'signify_sign_show_count', 1)
|
|
||||||
|
let s:sign_show_count = get(g:, 'signify_sign_show_count', 1)
|
||||||
|
|
||||||
" Function: #setup {{{1
|
" Function: #setup {{{1
|
||||||
function! sy#highlight#setup() abort
|
function! sy#highlight#setup() abort
|
||||||
@ -60,7 +61,9 @@ function! sy#highlight#line_disable() abort
|
|||||||
execute 'sign define SignifyRemoveFirstLine text='. s:sign_delete_first_line 'texthl=SignifySignDeleteFirstLine linehl='
|
execute 'sign define SignifyRemoveFirstLine text='. s:sign_delete_first_line 'texthl=SignifySignDeleteFirstLine linehl='
|
||||||
|
|
||||||
if s:sign_show_count
|
if s:sign_show_count
|
||||||
let s:sign_changedelete = substitute(s:sign_changedelete, '^.\zs.*', '', '')
|
while strwidth(s:sign_changedelete) > 1
|
||||||
|
let s:sign_changedelete = substitute(s:sign_changedelete, '.', '', '')
|
||||||
|
endwhile
|
||||||
for n in range(1, 9)
|
for n in range(1, 9)
|
||||||
execute 'sign define SignifyChangeDelete'. n 'text='. s:sign_changedelete . n 'texthl=SignifySignChangeDelete linehl='
|
execute 'sign define SignifyChangeDelete'. n 'text='. s:sign_changedelete . n 'texthl=SignifySignChangeDelete linehl='
|
||||||
endfor
|
endfor
|
||||||
|
@ -96,11 +96,10 @@ function! sy#sign#process_diff(sy, vcs, diff) abort
|
|||||||
if new_line == 0
|
if new_line == 0
|
||||||
call add(ids, s:add_sign(a:sy, 1, 'SignifyRemoveFirstLine'))
|
call add(ids, s:add_sign(a:sy, 1, 'SignifyRemoveFirstLine'))
|
||||||
elseif s:sign_show_count
|
elseif s:sign_show_count
|
||||||
if old_count <= 99
|
let text = s:sign_delete . (old_count <= 99 ? old_count : '>')
|
||||||
let text = substitute(s:sign_delete . old_count, '.*\ze..$', '', '')
|
while strwidth(text) > 2
|
||||||
else
|
let text = substitute(text, '.', '', '')
|
||||||
let text = s:sign_delete .'>'
|
endwhile
|
||||||
endif
|
|
||||||
call add(ids, s:add_sign(a:sy, new_line, 'SignifyDelete'. old_count, text))
|
call add(ids, s:add_sign(a:sy, new_line, 'SignifyDelete'. old_count, text))
|
||||||
else
|
else
|
||||||
call add(ids, s:add_sign(a:sy, new_line, 'SignifyDeleteMore', s:sign_delete))
|
call add(ids, s:add_sign(a:sy, new_line, 'SignifyDeleteMore', s:sign_delete))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user