summaryrefslogtreecommitdiff
path: root/src/register_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2025-02-16 10:17:00 +1100
committerMaxime Coste <mawww@kakoune.org>2025-02-16 10:17:00 +1100
commit026284deb250ae420ea97f90a716fdda3ab6224f (patch)
tree9faadc0e33ba4c15ba12945c1590ec9dfe95aca7 /src/register_manager.cc
parent0a4bea856fe6ddd6420d6d7141b20eed8fe0bd25 (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.cc17
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);