summaryrefslogtreecommitdiff
path: root/src/buffer.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-04-22 13:48:18 +0200
committerMaxime Coste <frrrwww@gmail.com>2013-04-22 13:49:07 +0200
commit681f30dd2869c0674b9f1d50145e9795d3c7428b (patch)
tree333592532d54747eed2d73099251d146a658b149 /src/buffer.cc
parent362e3467289b7e71a27c36e20aa5c0d19ff6cac3 (diff)
support renaming buffers
Changing buffer name allows to save a *make* or *grep* buffer when launching another one for exemple.
Diffstat (limited to 'src/buffer.cc')
-rw-r--r--src/buffer.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/buffer.cc b/src/buffer.cc
index 1d017c40..932b5532 100644
--- a/src/buffer.cc
+++ b/src/buffer.cc
@@ -72,6 +72,20 @@ String Buffer::display_name() const
return m_name;
}
+bool Buffer::set_name(String name)
+{
+ Buffer* other = BufferManager::instance().get_buffer_ifp(name);
+ if (other == nullptr or other == this)
+ {
+ if (m_flags & Flags::File)
+ m_name = real_path(name);
+ else
+ m_name = std::move(name);
+ return true;
+ }
+ return false;
+}
+
BufferIterator Buffer::iterator_at(const BufferCoord& line_and_column,
bool avoid_eol) const
{