|
|
@ -1,4 +1,4 @@
|
|
|
|
local hooks, overrides, M = {}, {}, {};
|
|
|
|
local hooks, overrides, M = {}, {}, {}
|
|
|
|
local allowed_hooks = {
|
|
|
|
local allowed_hooks = {
|
|
|
|
"install_plugins",
|
|
|
|
"install_plugins",
|
|
|
|
"setup_mappings",
|
|
|
|
"setup_mappings",
|
|
|
@ -22,12 +22,12 @@ M.add = function(name, fn)
|
|
|
|
if hooks[name] == nil then
|
|
|
|
if hooks[name] == nil then
|
|
|
|
hooks[name] = {}
|
|
|
|
hooks[name] = {}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
table.insert(hooks[name], fn);
|
|
|
|
table.insert(hooks[name], fn)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
M.run = function(name, args)
|
|
|
|
M.run = function(name, args)
|
|
|
|
if hooks[name] == nil then
|
|
|
|
if hooks[name] == nil then
|
|
|
|
return;
|
|
|
|
return
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
for _, hook in pairs(hooks[name]) do
|
|
|
|
for _, hook in pairs(hooks[name]) do
|
|
|
@ -36,10 +36,10 @@ M.run = function(name, args)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
M.createOverrides = function(module)
|
|
|
|
M.createOverrides = function(module)
|
|
|
|
local O = {};
|
|
|
|
local O = {}
|
|
|
|
|
|
|
|
|
|
|
|
O.get = function(name, default)
|
|
|
|
O.get = function(name, default)
|
|
|
|
local current = default;
|
|
|
|
local current = default
|
|
|
|
if overrides[module] and overrides[module][name] then
|
|
|
|
if overrides[module] and overrides[module][name] then
|
|
|
|
if type(overrides[module][name]) == "function" then
|
|
|
|
if type(overrides[module][name]) == "function" then
|
|
|
|
current = overrides[module][name]
|
|
|
|
current = overrides[module][name]
|
|
|
@ -49,21 +49,20 @@ M.createOverrides = function(module)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return current;
|
|
|
|
return current
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
return O;
|
|
|
|
return O
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
M.override = function(module, name, overwrite)
|
|
|
|
M.override = function(module, name, overwrite)
|
|
|
|
if overrides[module] == nil then
|
|
|
|
if overrides[module] == nil then
|
|
|
|
overrides[module] = {};
|
|
|
|
overrides[module] = {}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
if overrides[module][name] == nil then
|
|
|
|
if overrides[module][name] == nil then
|
|
|
|
overrides[module][name] = {};
|
|
|
|
overrides[module][name] = {}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
table.insert(overrides[module][name], overwrite)
|
|
|
|
table.insert(overrides[module][name], overwrite)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return M
|
|
|
|
return M;
|
|
|
|
|
|
|
|