diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-07-23 13:58:23 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-07-23 13:58:23 +0100 |
| commit | 2946504a17a2eec949faf85c3cf148d5fcb64bae (patch) | |
| tree | d39a8560931d12872f5bef9b6a57c4c60f82ed8e /src/display_buffer.cc | |
| parent | 654904f0460cc9d7af086d034af6037844f01f42 (diff) | |
Improve column highlighter to cooperate better with other highlighters
Fixes #268
Diffstat (limited to 'src/display_buffer.cc')
| -rw-r--r-- | src/display_buffer.cc | 13 |
1 files changed, 13 insertions, 0 deletions
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()) |
