mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Reduction of moose.lua sizing working now!
This commit is contained in:
47
Utils/luarocks/share/lua/5.1/pl/init.lua
Normal file
47
Utils/luarocks/share/lua/5.1/pl/init.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
--------------
|
||||
-- entry point for loading all PL libraries only on demand.
|
||||
-- Requiring 'pl' means that whenever a module is accesssed (e.g. utils.split)
|
||||
-- then that module is dynamically loaded. The submodules are all brought into
|
||||
-- the global space.
|
||||
-- @class module
|
||||
-- @name pl
|
||||
|
||||
local modules = {
|
||||
utils = true,path=true,dir=true,tablex=true,stringio=true,sip=true,
|
||||
input=true,seq=true,lexer=true,stringx=true,
|
||||
config=true,pretty=true,data=true,func=true,text=true,
|
||||
operator=true,lapp=true,array2d=true,
|
||||
comprehension=true,xml=true,
|
||||
test = true, app = true, file = true, class = true, List = true,
|
||||
Map = true, Set = true, OrderedMap = true, MultiMap = true,
|
||||
Date = true,
|
||||
-- classes --
|
||||
}
|
||||
_G.utils = require 'pl.utils'
|
||||
|
||||
for name,klass in pairs(_G.utils.stdmt) do
|
||||
klass.__index = function(t,key)
|
||||
return require ('pl.'..name)[key]
|
||||
end;
|
||||
end
|
||||
|
||||
local _hook
|
||||
setmetatable(_G,{
|
||||
hook = function(handler)
|
||||
_hook = handler
|
||||
end,
|
||||
__index = function(t,name)
|
||||
local found = modules[name]
|
||||
-- either true, or the name of the module containing this class.
|
||||
-- either way, we load the required module and make it globally available.
|
||||
if found then
|
||||
-- e..g pretty.dump causes pl.pretty to become available as 'pretty'
|
||||
rawset(_G,name,require('pl.'..name))
|
||||
return _G[name]
|
||||
elseif _hook then
|
||||
return _hook(t,name)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
if _G.PENLIGHT_STRICT then require 'pl.strict' end
|
||||
Reference in New Issue
Block a user