diff options
-rw-r--r-- | script/parser/guide.lua | 6 | ||||
-rw-r--r-- | script/workspace/workspace.lua | 20 |
2 files changed, 17 insertions, 9 deletions
diff --git a/script/parser/guide.lua b/script/parser/guide.lua index 1f1ab48a..4ce41963 100644 --- a/script/parser/guide.lua +++ b/script/parser/guide.lua @@ -17,6 +17,7 @@ local setmetatable = setmetatable local assert = assert local select = select local osClock = os.clock +local tonumber = tonumber local DEVELOP = _G.DEVELOP local log = log local _G = _G @@ -3287,6 +3288,11 @@ local function mathCheck(status, a, b) or m.getInferLiteral(status, a, 'number') local v2 = m.getInferLiteral(status, b, 'integer') or m.getInferLiteral(status, a, 'number') + v1 = tonumber(v1) + v2 = tonumber(v2) + if not v1 or not v2 then + return nil + end local int = m.hasType(status, a, 'integer') and m.hasType(status, b, 'integer') and not m.hasType(status, a, 'number') diff --git a/script/workspace/workspace.lua b/script/workspace/workspace.lua index 10e4b2c9..fc6e90bd 100644 --- a/script/workspace/workspace.lua +++ b/script/workspace/workspace.lua @@ -144,16 +144,18 @@ function m.getLibraryMatchers() end m.libraryMatchers = {} for path, pattern in pairs(librarys) do - local nPath = fs.absolute(fs.path(path)):string() - local matcher = glob.gitignore(pattern, m.matchOption) - if platform.OS == 'Windows' then - matcher:setOption 'ignoreCase' + if fs.exists(fs.path(path)) then + local nPath = fs.absolute(fs.path(path)):string() + local matcher = glob.gitignore(pattern, m.matchOption) + if platform.OS == 'Windows' then + matcher:setOption 'ignoreCase' + end + log.debug('getLibraryMatchers', path, nPath) + m.libraryMatchers[#m.libraryMatchers+1] = { + path = nPath, + matcher = matcher + } end - log.debug('getLibraryMatchers', path, nPath) - m.libraryMatchers[#m.libraryMatchers+1] = { - path = nPath, - matcher = matcher - } end m.libraryVersion = config.version |