From bf07d2576ea7ea80e45a6e73b6a61d47f2fffb9f Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 12 Dec 2012 19:33:29 +0100 Subject: [PATCH] minor refactoring in highlight_range --- src/highlighters.cc | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/highlighters.cc b/src/highlighters.cc index ba2a74af..c96364ba 100644 --- a/src/highlighters.cc +++ b/src/highlighters.cc @@ -24,31 +24,31 @@ void highlight_range(DisplayBuffer& display_buffer, for (auto& line : display_buffer.lines()) { - if (line.buffer_line() >= begin.line() and line.buffer_line() <= end.line()) + if (line.buffer_line() < begin.line() or end.line() < line.buffer_line()) + continue; + + for (auto atom_it = line.begin(); atom_it != line.end(); ++atom_it) { - for (auto atom_it = line.begin(); atom_it != line.end(); ++atom_it) + bool is_replaced = atom_it->content.type() == AtomContent::ReplacedBufferRange; + + if (not atom_it->content.has_buffer_range() or + (skip_replaced and is_replaced)) + continue; + + if (end <= atom_it->content.begin() or begin >= atom_it->content.end()) + continue; + + if (not is_replaced and begin > atom_it->content.begin()) + atom_it = ++line.split(atom_it, begin); + + if (not is_replaced and end < atom_it->content.end()) { - bool is_replaced = atom_it->content.type() == AtomContent::ReplacedBufferRange; - - if (not atom_it->content.has_buffer_range() or - (skip_replaced and is_replaced)) - continue; - - if (end <= atom_it->content.begin() or begin >= atom_it->content.end()) - continue; - - if (not is_replaced and begin > atom_it->content.begin()) - atom_it = ++line.split(atom_it, begin); - - if (not is_replaced and end < atom_it->content.end()) - { - atom_it = line.split(atom_it, end); - func(*atom_it); - ++atom_it; - } - else - func(*atom_it); + atom_it = line.split(atom_it, end); + func(*atom_it); + ++atom_it; } + else + func(*atom_it); } } }