summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-10-21 11:49:30 +1100
committerMaxime Coste <mawww@kakoune.org>2018-10-21 11:49:30 +1100
commita383ce3045f7f397ae6f0f34cb5642513a679958 (patch)
tree5dac193a3e7baabf9229f48d8201d101a9e6fb7a /src
parentda13b5f8143a3809bb938c020b957e1c5ff8dae7 (diff)
Fix LineRangeSet::udpate not updating some traling ranges correctly
Fixes #2499
Diffstat (limited to 'src')
-rw-r--r--src/highlighters.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/highlighters.cc b/src/highlighters.cc
index 2a67375c..bcc526f3 100644
--- a/src/highlighters.cc
+++ b/src/highlighters.cc
@@ -1802,7 +1802,7 @@ struct LineRangeSet : private Vector<LineRange, MemoryDomain::Highlight>
const auto diff = (modif_beg-1)->diff();
it->begin += diff;
it->end += diff;
- break;
+ continue;
}
const auto diff = modif_beg->new_line - modif_beg->old_line;
@@ -2445,8 +2445,9 @@ UnitTest test_line_range_set{[]{
ranges.add_range({0, 1}, expect({{0, 1}}));
ranges.add_range({5, 10}, expect({{5, 10}}));
ranges.add_range({15, 20}, expect({{15, 20}}));
+ ranges.add_range({25, 30}, expect({{25, 30}}));
ranges.update(ConstArrayView<LineModification>{{2, 2, 3, 0}});
- kak_assert((ranges.view() == ConstArrayView<LineRange>{{0, 1}, {2, 7}, {12, 17}}));
+ kak_assert((ranges.view() == ConstArrayView<LineRange>{{0, 1}, {2, 7}, {12, 17}, {22, 27}}));
}
}};