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

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