summaryrefslogtreecommitdiff
path: root/src/buffer.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-10-23 08:15:53 +1100
committerMaxime Coste <mawww@kakoune.org>2018-10-23 08:15:53 +1100
commitdfc11d1c43b898394df8fda52a8079b34058de27 (patch)
tree8d1923461be03b1d0eab5706740d22986a86997d /src/buffer.cc
parente399bf7562475c92f4f9e983d2261c12903072d4 (diff)
Refactor Hook management to have a well defined list of hooks
Hooks are now an enum class instead of passing strings around.
Diffstat (limited to 'src/buffer.cc')
-rw-r--r--src/buffer.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/buffer.cc b/src/buffer.cc
index 8ef76a09..5d3702eb 100644
--- a/src/buffer.cc
+++ b/src/buffer.cc
@@ -114,16 +114,16 @@ void Buffer::on_registered()
return;
}
- run_hook_in_own_context("BufCreate", m_name);
+ run_hook_in_own_context(Hook::BufCreate, m_name);
if (m_flags & Flags::File)
{
if (m_flags & Buffer::Flags::New)
- run_hook_in_own_context("BufNewFile", m_name);
+ run_hook_in_own_context(Hook::BufNewFile, m_name);
else
{
kak_assert(m_fs_timestamp != InvalidTime);
- run_hook_in_own_context("BufOpenFile", m_name);
+ run_hook_in_own_context(Hook::BufOpenFile, m_name);
}
}
@@ -139,7 +139,7 @@ void Buffer::on_unregistered()
return;
options().unregister_watcher(*this);
- run_hook_in_own_context("BufClose", m_name);
+ run_hook_in_own_context(Hook::BufClose, m_name);
}
Buffer::~Buffer()
@@ -687,11 +687,11 @@ void Buffer::on_option_changed(const Option& option)
else
m_flags &= ~Flags::ReadOnly;
}
- run_hook_in_own_context("BufSetOption",
+ run_hook_in_own_context(Hook::BufSetOption,
format("{}={}", option.name(), option.get_as_string(Quoting::Kakoune)));
}
-void Buffer::run_hook_in_own_context(StringView hook_name, StringView param, String client_name)
+void Buffer::run_hook_in_own_context(Hook hook, StringView param, String client_name)
{
if (m_flags & Buffer::Flags::NoHooks)
return;
@@ -699,7 +699,7 @@ void Buffer::run_hook_in_own_context(StringView hook_name, StringView param, Str
InputHandler hook_handler{{ *this, Selection{} },
Context::Flags::Draft,
std::move(client_name)};
- hooks().run_hook(hook_name, param, hook_handler.context());
+ hooks().run_hook(hook, param, hook_handler.context());
}
Optional<BufferCoord> Buffer::last_modification_coord() const