mirror of
https://github.com/airblade/vim-gitgutter.git
synced 2025-11-08 11:33:48 -05:00
@@ -374,8 +374,10 @@ endfunction
|
|||||||
function! s:write_buffer(bufnr, file)
|
function! s:write_buffer(bufnr, file)
|
||||||
let bufcontents = getbufline(a:bufnr, 1, '$')
|
let bufcontents = getbufline(a:bufnr, 1, '$')
|
||||||
|
|
||||||
" Special case: empty buffer; do not write an empty line in this case.
|
if bufcontents == [''] && line2byte(1) == -1
|
||||||
if len(bufcontents) > 1 || bufcontents != ['']
|
" Special case: empty buffer; do not write an empty line in this case.
|
||||||
|
" A nearly empty buffer of only a newline has line2byte(1) == 1.
|
||||||
|
else
|
||||||
if getbufvar(a:bufnr, '&endofline')
|
if getbufvar(a:bufnr, '&endofline')
|
||||||
\ || (!getbufvar(a:bufnr, '&binary')
|
\ || (!getbufvar(a:bufnr, '&binary')
|
||||||
\ && (!exists('+fixendofline') || getbufvar(a:bufnr, '&fixendofline')))
|
\ && (!exists('+fixendofline') || getbufvar(a:bufnr, '&fixendofline')))
|
||||||
|
|||||||
@@ -648,3 +648,33 @@ function Test_encoding()
|
|||||||
|
|
||||||
call assert_equal([], s:signs('cp932.txt'))
|
call assert_equal([], s:signs('cp932.txt'))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
function Test_empty_file()
|
||||||
|
" 0-byte file
|
||||||
|
call system('touch empty.txt && git add empty.txt')
|
||||||
|
edit empty.txt
|
||||||
|
|
||||||
|
call s:trigger_gitgutter()
|
||||||
|
call assert_equal([], s:signs('empty.txt'))
|
||||||
|
|
||||||
|
|
||||||
|
" File consisting only of a newline
|
||||||
|
call system('echo "" > newline.txt && git add newline.txt')
|
||||||
|
edit newline.txt
|
||||||
|
|
||||||
|
call s:trigger_gitgutter()
|
||||||
|
call assert_equal([], s:signs('newline.txt'))
|
||||||
|
|
||||||
|
|
||||||
|
" 1 line file without newline
|
||||||
|
" Vim will force a newline unless we tell it not to.
|
||||||
|
call system('echo -n "a" > oneline.txt && git add oneline.txt')
|
||||||
|
set noeol nofixeol
|
||||||
|
edit! oneline.txt
|
||||||
|
|
||||||
|
call s:trigger_gitgutter()
|
||||||
|
call assert_equal([], s:signs('oneline.txt'))
|
||||||
|
|
||||||
|
set eol fixeol
|
||||||
|
endfunction
|
||||||
|
|||||||
Reference in New Issue
Block a user