From de1433d30ade30c6768cefb085ff69ef7387fa2f Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 16 Mar 2016 13:48:11 +0000 Subject: Avoid the spurious newline insertion when replacing at end of buffer Add a Buffer::replace method to handle the replacements properly Fixes #633 --- src/buffer_utils.hh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/buffer_utils.hh') diff --git a/src/buffer_utils.hh b/src/buffer_utils.hh index 543e2357..97c5374d 100644 --- a/src/buffer_utils.hh +++ b/src/buffer_utils.hh @@ -21,6 +21,13 @@ inline BufferIterator erase(Buffer& buffer, const Selection& range) buffer.iterator_at(buffer.char_next(range.max()))); } +inline BufferIterator replace(Buffer& buffer, const Selection& range, StringView content) +{ + return buffer.replace(buffer.iterator_at(range.min()), + buffer.iterator_at(buffer.char_next(range.max())), + content); +} + inline CharCount char_length(const Buffer& buffer, const Selection& range) { return utf8::distance(buffer.iterator_at(range.min()), -- cgit v1.2.3