diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-09-01 13:59:40 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-09-01 20:49:47 +0100 |
| commit | e9d7d70e47fd57476797508cc3ee415c54e86646 (patch) | |
| tree | 28fdf57686a1fca4a1436b5e65c96e6dd1b385c0 /src/buffer.cc | |
| parent | ae7dc3c576a0b44ed8eed7ace23b8ebedee3fdf2 (diff) | |
Cache buffer display name
Diffstat (limited to 'src/buffer.cc')
| -rw-r--r-- | src/buffer.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/buffer.cc b/src/buffer.cc index 3f76f20c..0685e5b3 100644 --- a/src/buffer.cc +++ b/src/buffer.cc @@ -20,7 +20,8 @@ namespace Kakoune Buffer::Buffer(String name, Flags flags, BufferLines lines, time_t fs_timestamp) : Scope(GlobalScope::instance()), - m_name(flags & Flags::File ? real_path(parse_filename(name)) : std::move(name)), + m_name((flags & Flags::File) ? real_path(parse_filename(name)) : std::move(name)), + m_display_name((flags & Flags::File) ? compact_path(m_name) : m_name), m_flags(flags | Flags::NoUndo), m_history(), m_history_cursor(m_history.begin()), m_last_save_undo_index(0), @@ -71,22 +72,21 @@ Buffer::~Buffer() m_values.clear(); } -String Buffer::display_name() const -{ - if (m_flags & Flags::File) - return compact_path(m_name); - 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); + m_display_name = compact_path(m_name); + } else + { m_name = std::move(name); + m_display_name = m_name; + } return true; } return false; |
