blob: af30ffdd2d47a45f1debc3c630526c90cd084eae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
local library = require 'core.library'
local libraryBuilder = require 'vm.library'
local sourceMgr = require 'vm.source'
return function (lsp)
local global = lsp and lsp.globalValue
if not global then
libraryBuilder.clear()
local t = {}
for name, lib in pairs(library.global) do
t[name] = libraryBuilder.value(lib)
end
global = t._G
global:markGlobal()
global:set('ENV', true)
for k, v in pairs(t) do
global:setChild(k, v, sourceMgr.dummy())
end
end
if lsp then
lsp.globalValue = global
end
return global
end
|