Skip to content

Commit 7a8ffbb

Browse files
committed
fix #876
1 parent 4be30dd commit 7a8ffbb

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
* `CHG` completion: can be triggered in `LuaDoc` and strings
1313
* `CHG` diagnostic: smoother
1414
* `CHG` settings `Lua.color.mode` removed
15+
* `FIX` [#876](https://github.com/sumneko/lua-language-server/issues/876)
1516
* `FIX` [#879](https://github.com/sumneko/lua-language-server/issues/879)
1617
* `FIX` [#884](https://github.com/sumneko/lua-language-server/issues/884)
1718
* `FIX` [#885](https://github.com/sumneko/lua-language-server/issues/885)

script/core/hover/table.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,24 @@ local function getOptionalMap(fields)
122122
if field.type == 'doc.field.name' then
123123
if field.parent.optional then
124124
local key = vm.getKeyName(field)
125+
local tp = vm.getKeyType(field)
126+
if tp == 'number' or tp == 'integer' then
127+
key = tonumber(key)
128+
elseif tp == 'boolean' then
129+
key = key == 'true'
130+
end
125131
optionals[key] = true
126132
end
127133
end
128134
if field.type == 'doc.type.field' then
129135
if field.optional then
130136
local key = vm.getKeyName(field)
137+
local tp = vm.getKeyType(field)
138+
if tp == 'number' or tp == 'integer' then
139+
key = tonumber(key)
140+
elseif tp == 'boolean' then
141+
key = key == 'true'
142+
end
131143
optionals[key] = true
132144
end
133145
end

test/hover/init.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1644,6 +1644,7 @@ TEST [[
16441644
---@field x number
16451645
---@field y number
16461646
---@field z? number
1647+
---@field [3]? number
16471648
local <?t?>
16481649
16491650
t.z = any
@@ -1653,6 +1654,7 @@ local t: Position {
16531654
x: number,
16541655
y: number,
16551656
z?: number,
1657+
[3]?: number,
16561658
}
16571659
]]
16581660

0 commit comments

Comments
 (0)