You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
local Module = {}
|
|
|
|
function Module:new(obj)
|
|
obj = obj or {}
|
|
setmetatable(obj, self)
|
|
self.__index = self
|
|
return obj
|
|
end
|
|
|
|
function Module:configure(config)
|
|
self.config = config or {}
|
|
end
|
|
|
|
-- Called first to give the module a change to initialize class vars, etc
|
|
-- If any configuration is present, configure() will have been called before
|
|
-- initialize
|
|
function Module:initialize()
|
|
end
|
|
|
|
-- Give the moduel a chance to register dependencies/etc (e.g., add plugins)
|
|
function Module:register()
|
|
end
|
|
|
|
-- After all modules have had a chance to register dependencies/etc with
|
|
-- each other, commit gives all plugins a chance to take action on those.
|
|
function Module:commit()
|
|
end
|
|
|
|
-- Do any further module startup required
|
|
function Module:boot()
|
|
end
|
|
|
|
-- Do core module things, this is _always called
|
|
function Module:run()
|
|
end
|
|
|
|
-- This is _only_ called if we think we're running in a ui (e.g., neovim-qt)
|
|
function Module:gui()
|
|
end
|
|
|
|
-- For doing first-time setup/install
|
|
-- This could be called multiple times and should not lose data
|
|
-- (E.g., plug#install)
|
|
function Module:install()
|
|
end
|
|
|
|
return Module
|
|
|