blob: 6c9d7c09ae8e3996c04d91c735210f9af8e6ba17 (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
local script = ...
local function findExePath()
local n = 0
while arg[n-1] do
n = n - 1
end
return arg[n]
end
local exePath = findExePath()
local exeDir = exePath:match('(.+)[/\\][%w_.-]+$')
local dll = package.cpath:match '[/\\]%?%.([a-z]+)'
package.cpath = ('%s/?.%s'):format(exeDir, dll)
local ok, err = package.loadlib(exeDir..'/bee.'..dll, 'luaopen_bee_platform')
if not ok then
error(([[It doesn't seem to support your OS, please build it in your OS, see https://github.com/sumneko/vscode-lua/wiki/Build
errorMsg: %s
exePath: %s
exeDir: %s
dll: %s
cpath: %s
]]):format(
err,
exePath,
exeDir,
dll,
package.cpath
))
end
local currentPath = debug.getinfo(1, 'S').source:sub(2)
local fs = require 'bee.filesystem'
local rootPath = fs.path(currentPath):remove_filename():string()
if dll == '.dll' then
rootPath = rootPath:gsub('/', '\\')
package.path = rootPath .. script .. '\\?.lua'
.. ';' .. rootPath .. script .. '\\?\\init.lua'
else
rootPath = rootPath:gsub('\\', '/')
package.path = rootPath .. script .. '/?.lua'
.. ';' .. rootPath .. script .. '/?/init.lua'
end
|