summaryrefslogtreecommitdiff
path: root/src/buffer_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-09-28 14:14:49 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-09-28 14:14:49 +0200
commitf230feec7f18fcea705cd4d6e507d2256d1658f8 (patch)
tree95872aeeac6df720255d8e08391a473e966acefc /src/buffer_manager.cc
parent79d8d082bd83782c2f0236b753af71cf3934818b (diff)
Change buffer order based on the last one used
Diffstat (limited to 'src/buffer_manager.cc')
-rw-r--r--src/buffer_manager.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc
index 75d0e94c..d2f7857f 100644
--- a/src/buffer_manager.cc
+++ b/src/buffer_manager.cc
@@ -52,6 +52,16 @@ Buffer* BufferManager::get_buffer(const String& name)
return nullptr;
}
+void BufferManager::set_last_used_buffer(Buffer& buffer)
+{
+ auto it = m_buffers.begin();
+ while (*it != &buffer and it != m_buffers.end())
+ ++it;
+ assert(it != m_buffers.end());
+ m_buffers.erase(it);
+ m_buffers.emplace(m_buffers.begin(), &buffer);
+}
+
CandidateList BufferManager::complete_buffername(const String& prefix,
CharCount cursor_pos)
{