diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2019-11-30 01:21:42 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2019-11-30 01:21:42 +0800 |
commit | b237d03564a8fd7a4c458468262a20882f9426d0 (patch) | |
tree | d8b8cf7eca01d36694491ea121ed2e23907a5d30 | |
parent | 27a141bb779c3e048b17b2d49071ac1f072662af (diff) | |
download | lua-language-server-b237d03564a8fd7a4c458468262a20882f9426d0.zip |
#110 更新cpath计算方式
-rw-r--r-- | platform.lua | 20 | ||||
-rw-r--r-- | script-beta/debugger.lua | 2 |
2 files changed, 16 insertions, 6 deletions
diff --git a/platform.lua b/platform.lua index 5a4751b7..db62f939 100644 --- a/platform.lua +++ b/platform.lua @@ -9,11 +9,21 @@ local function findExePath() end local exePath = findExePath() -local exeDir = exePath:gsub('[^/\\]-$', '') -local dll = exePath:sub(-4) == '.exe' and '.dll' or '.so' -package.cpath = exeDir .. '?' .. dll -if not package.loadlib(exeDir..'bee'..dll, 'luaopen_bee_platform') 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]]) +local exeDir = exePath:match('(.+)[/\\][%w_.-]+$') +local dll = package.cpath:match '[/\\]%?%.([a-z]+)' +package.cpath = ('%s/?.%s'):format(exeDir, dll) +if not package.loadlib(exeDir..'/bee.'..dll, 'luaopen_bee_platform') 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 +exePath: %s +exeDir: %s +dll: %s +cpath: %s +]]):format( + exePath, + exeDir, + dll, + package.cpath +)) end local fs = require 'bee.filesystem' diff --git a/script-beta/debugger.lua b/script-beta/debugger.lua index 113fa687..b77cbb0f 100644 --- a/script-beta/debugger.lua +++ b/script-beta/debugger.lua @@ -1,6 +1,6 @@ local wait = ... local fs = require 'bee.filesystem' -local extensionPath = fs.path(os.getenv 'USERPROFILE') / '.vscode' / 'extensions' +local extensionPath = fs.path(os.getenv 'USERPROFILE' or '') / '.vscode' / 'extensions' log.debug('Search extensions at:', extensionPath:string()) if not fs.is_directory(extensionPath) then log.debug('Extension path is not a directory.') |