From 2946504a17a2eec949faf85c3cf148d5fcb64bae Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Thu, 23 Jul 2015 13:58:23 +0100 Subject: Improve column highlighter to cooperate better with other highlighters Fixes #268 --- src/display_buffer.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/display_buffer.cc') diff --git a/src/display_buffer.cc b/src/display_buffer.cc index 55772b6b..8cda0c47 100644 --- a/src/display_buffer.cc +++ b/src/display_buffer.cc @@ -94,6 +94,19 @@ DisplayLine::iterator DisplayLine::split(iterator it, ByteCoord pos) return m_atoms.insert(it, std::move(atom)); } +DisplayLine::iterator DisplayLine::split(iterator it, CharCount pos) +{ + kak_assert(it->type() == DisplayAtom::Text); + kak_assert(pos > 0); + kak_assert(pos < it->length()); + + DisplayAtom atom(it->m_text.substr(0, pos).str()); + it->m_text = it->m_text.substr(pos).str(); + atom.check_invariant(); + it->check_invariant(); + return m_atoms.insert(it, std::move(atom)); +} + DisplayLine::iterator DisplayLine::insert(iterator it, DisplayAtom atom) { if (atom.has_buffer_range()) -- cgit v1.2.3