blob: 63db8487656d3100b37e96eab204e786fa97487d (
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 createValue = require 'vm.value'
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()
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
|