summaryrefslogtreecommitdiff
path: root/script/core/diagnostics/count-down-loop.lua
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2022-07-25 23:14:35 +0800
committer最萌小汐 <sumneko@hotmail.com>2022-07-25 23:14:35 +0800
commit26732327848c0eaa8dd76abbd127d4a7a5a12121 (patch)
treef7d60b5e2137288c471025b530a859638f01f221 /script/core/diagnostics/count-down-loop.lua
parent3783510c5b2e7288035d95dd6109eeeeb6435f6d (diff)
downloadlua-language-server-26732327848c0eaa8dd76abbd127d4a7a5a12121.zip
fix #1365
Diffstat (limited to 'script/core/diagnostics/count-down-loop.lua')
-rw-r--r--script/core/diagnostics/count-down-loop.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/script/core/diagnostics/count-down-loop.lua b/script/core/diagnostics/count-down-loop.lua
index 9bc4b273..88cb06ab 100644
--- a/script/core/diagnostics/count-down-loop.lua
+++ b/script/core/diagnostics/count-down-loop.lua
@@ -10,12 +10,15 @@ return function (uri, callback)
end
guide.eachSourceType(state.ast, 'loop', function (source)
- local maxNumer = source.max and tonumber(source.max[1])
- if maxNumer ~= 1 then
+ local maxNumber = source.max and tonumber(source.max[1])
+ if not maxNumber then
return
end
local minNumber = source.init and tonumber(source.init[1])
- if minNumber and minNumber <= 1 then
+ if minNumber and maxNumber and minNumber <= maxNumber then
+ return
+ end
+ if not minNumber and maxNumber > 1 then
return
end
if not source.step then
@@ -24,7 +27,7 @@ return function (uri, callback)
finish = source.max.finish,
message = lang.script('DIAG_COUNT_DOWN_LOOP'
, ('%s, %s'):format(text:sub(
- guide.positionToOffset(state, source.init.start),
+ guide.positionToOffset(state, source.init.start + 1),
guide.positionToOffset(state, source.max.finish)
), '-1')
)
@@ -37,7 +40,7 @@ return function (uri, callback)
finish = source.step.finish,
message = lang.script('DIAG_COUNT_DOWN_LOOP'
, ('%s, -%s'):format(text:sub(
- guide.positionToOffset(state, source.init.start),
+ guide.positionToOffset(state, source.init.start + 1),
guide.positionToOffset(state, source.max.finish)
), source.step[1])
)