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.
55 lines
1.0 KiB
55 lines
1.0 KiB
local NukeVim = {}
|
|
|
|
function NukeVim:new(obj)
|
|
obj = obj or {}
|
|
setmetatable(obj, self)
|
|
self.__index = self
|
|
return obj
|
|
end
|
|
|
|
function NukeVim:enableCaching()
|
|
self.lua_cache = require('impatient/impatient')
|
|
end
|
|
|
|
function NukeVim:enableProfiling()
|
|
self.lua_cache.enable_profile()
|
|
end
|
|
|
|
function NukeVim:initialize()
|
|
-- init dependencies
|
|
self.config = require('_config')
|
|
self.modules = require('modules'):new()
|
|
|
|
-- load modules based on config
|
|
for module, config in pairs(self.config) do
|
|
if (config.enable == nil or config.enable == true) then
|
|
self.modules:add(module, config)
|
|
end
|
|
end
|
|
|
|
-- Start up modules
|
|
self.modules:configure()
|
|
self.modules:call('initialize')
|
|
self.modules:call('register')
|
|
self.modules:call('commit')
|
|
self.modules:call('boot')
|
|
end
|
|
|
|
function NukeVim:run()
|
|
self.modules:call('run')
|
|
end
|
|
|
|
function NukeVim:gui()
|
|
self.modules:call('gui')
|
|
end
|
|
|
|
function NukeVim:install()
|
|
self.modules:call('install')
|
|
vim.cmd(':helptags ~/.config/nvim/doc/')
|
|
end
|
|
|
|
function NukeVim:help()
|
|
vim.cmd(':h nukevim')
|
|
end
|
|
|
|
return NukeVim
|
|
|