From ae9edf06025efcdc8fc74903ce9ec7cdece5abc2 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Mon, 23 Sep 2019 13:19:49 +0100 Subject: [PATCH] Fix non-empty suffix condition --- autoload/gitgutter/diff_highlight.vim | 4 ++-- test/test_gitgutter.vim | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/autoload/gitgutter/diff_highlight.vim b/autoload/gitgutter/diff_highlight.vim index 9004a78..e097704 100644 --- a/autoload/gitgutter/diff_highlight.vim +++ b/autoload/gitgutter/diff_highlight.vim @@ -40,11 +40,11 @@ function! gitgutter#diff_highlight#process(hunk_body) let prefix = s:common_prefix(rline, aline) let [rsuffix, asuffix] = s:common_suffix(rline, aline, prefix+1) - if (prefix != 0 || rsuffix != 0) && prefix+1 < rsuffix + if (prefix != 0 || rsuffix != len(rline)) && prefix+1 < rsuffix call add(regions, [i+1, '-', prefix+1+1, rsuffix+1-1]) endif - if (prefix != 0 || asuffix != 0) && prefix+1 < asuffix + if (prefix != 0 || asuffix != len(aline)) && prefix+1 < asuffix call add(regions, [i+1+removed, '+', prefix+1+1, asuffix+1-1]) endif endfor diff --git a/test/test_gitgutter.vim b/test/test_gitgutter.vim index f978f2d..103a007 100644 --- a/test/test_gitgutter.vim +++ b/test/test_gitgutter.vim @@ -947,6 +947,11 @@ function Test_diff_highlight() call assert_equal([], gitgutter#diff_highlight#process(['+foo'])) call assert_equal([], gitgutter#diff_highlight#process(['-foo','-bar','+baz'])) + " everything changed + let hunk = ['-foo', '+cat'] + let expected = [] + call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) + " change in middle let hunk = ['-foo bar baz', '+foo (bar) baz'] let expected = [[1, '-', 6, 8], [2, '+', 6, 10]]