HooksManager: extract the Singleton version as GlobalHooksManager
This commit is contained in:
parent
73ae3d292f
commit
db9040e29e
|
@ -27,7 +27,7 @@ Buffer::Buffer(const std::string& name, Type type,
|
|||
{
|
||||
BufferManager::instance().register_buffer(this);
|
||||
|
||||
HooksManager::instance().run_hook("BufCreate", name, Context(*this));
|
||||
GlobalHooksManager::instance().run_hook("BufCreate", name, Context(*this));
|
||||
compute_lines();
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Kakoune
|
|||
|
||||
typedef std::function<void (const std::string&, const Context&)> HookFunc;
|
||||
|
||||
class HooksManager : public Singleton<HooksManager>
|
||||
class HooksManager
|
||||
{
|
||||
public:
|
||||
void add_hook(const std::string& hook_name, HookFunc hook);
|
||||
|
@ -22,6 +22,11 @@ private:
|
|||
std::unordered_map<std::string, std::vector<HookFunc>> m_hooks;
|
||||
};
|
||||
|
||||
class GlobalHooksManager : public HooksManager,
|
||||
public Singleton<GlobalHooksManager>
|
||||
{
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // hooks_manager_hh_INCLUDED
|
||||
|
|
|
@ -575,7 +575,7 @@ void add_hook(const CommandParameters& params, const Context& context)
|
|||
|
||||
CommandParameters hook_params(params.begin()+2, params.end());
|
||||
|
||||
HooksManager::instance().add_hook(
|
||||
GlobalHooksManager::instance().add_hook(
|
||||
params[0],
|
||||
[=](const std::string& param, const Context& context) {
|
||||
if (boost::regex_match(param, boost::regex(params[1])))
|
||||
|
@ -955,7 +955,7 @@ int main(int argc, char* argv[])
|
|||
RegisterManager register_manager;
|
||||
HighlighterRegistry highlighter_registry;
|
||||
FilterRegistry filter_registry;
|
||||
HooksManager hooks_manager;
|
||||
GlobalHooksManager hooks_manager;
|
||||
|
||||
command_manager.register_command(std::vector<std::string>{ "e", "edit" }, edit,
|
||||
CommandManager::None,
|
||||
|
|
|
@ -57,8 +57,8 @@ Window::Window(Buffer& buffer)
|
|||
|
||||
HighlighterRegistry& registry = HighlighterRegistry::instance();
|
||||
|
||||
HooksManager::instance().run_hook("WinCreate", buffer.name(),
|
||||
Context(*this));
|
||||
GlobalHooksManager::instance().run_hook("WinCreate", buffer.name(),
|
||||
Context(*this));
|
||||
|
||||
registry.add_highlighter_to_window(*this, "expand_tabs", HighlighterParameters());
|
||||
registry.add_highlighter_to_window(*this, "highlight_selections", HighlighterParameters());
|
||||
|
@ -465,7 +465,7 @@ IncrementalInserter::~IncrementalInserter()
|
|||
m_window.push_selections();
|
||||
try
|
||||
{
|
||||
HooksManager::instance().run_hook("WinInsertEnd", "", Context(m_window));
|
||||
GlobalHooksManager::instance().run_hook("WinInsertEnd", "", Context(m_window));
|
||||
}
|
||||
catch (runtime_error& e) {}
|
||||
m_window.pop_selections();
|
||||
|
|
Loading…
Reference in New Issue
Block a user