diff options
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()) |
