diff options
| author | Maxime Coste <mawww@kakoune.org> | 2025-02-16 10:17:00 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2025-02-16 10:17:00 +1100 |
| commit | 026284deb250ae420ea97f90a716fdda3ab6224f (patch) | |
| tree | 9faadc0e33ba4c15ba12945c1590ec9dfe95aca7 /src/register_manager.cc | |
| parent | 0a4bea856fe6ddd6420d6d7141b20eed8fe0bd25 (diff) | |
Revert "WIP history register"
This is not finished yet, and pushed by accident, again...
This reverts commit 22b461c3a0b22dd4501943230f0774c34f0b4b35.
Diffstat (limited to 'src/register_manager.cc')
| -rw-r--r-- | src/register_manager.cc | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/register_manager.cc b/src/register_manager.cc index 987849e1..b9d09a52 100644 --- a/src/register_manager.cc +++ b/src/register_manager.cc @@ -70,7 +70,7 @@ const String& HistoryRegister::get_main(const Context&, size_t) return m_content.empty() ? String::ms_empty : m_content.front(); } -static const HashMap<StringView, char> reg_names { +static const HashMap<StringView, Codepoint> reg_names { { "slash", '/' }, { "dquote", '"' }, { "pipe", '|' }, @@ -83,23 +83,18 @@ static const HashMap<StringView, char> reg_names { { "colon", ':' } }; -char RegisterManager::parse_register_name(StringView reg) +Register& RegisterManager::operator[](StringView reg) const { if (reg.length() == 1) - return reg[0_byte]; + return (*this)[reg[0_byte]]; auto it = reg_names.find(reg); if (it == reg_names.end()) throw runtime_error(format("no such register: '{}'", reg)); - return it->value; -} - -Register& RegisterManager::operator[](StringView reg) const -{ - return (*this)[parse_register_name(reg)]; + return (*this)[it->value]; } -Register& RegisterManager::operator[](char c) const +Register& RegisterManager::operator[](Codepoint c) const { c = to_lower(c); auto it = m_registers.find(c); @@ -109,7 +104,7 @@ Register& RegisterManager::operator[](char c) const return *(it->value); } -void RegisterManager::add_register(char c, std::unique_ptr<Register> reg) +void RegisterManager::add_register(Codepoint c, std::unique_ptr<Register> reg) { auto& reg_ptr = m_registers[c]; kak_assert(not reg_ptr); |
