Skip to content

Commit 0d0ef81

Browse files
authored
Merge branch 'master' into fix/completion_type_narrow
2 parents 80acbaf + 180a13b commit 0d0ef81

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Unreleased
44
<!-- Add all new changes here. They will be moved under a version at release -->
55
* `FIX` Improve type narrow with **literal alias type** during completion and signature help
6+
* `NEW` Setting: `Lua.type.inferTableSize`: A Small Table array can be infered
67

78
## 3.12.0
89
`2024-10-30`

script/config/template.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ local template = {
403403
['Lua.type.weakNilCheck'] = Type.Boolean >> false,
404404
['Lua.type.inferParamType'] = Type.Boolean >> false,
405405
['Lua.type.checkTableShape'] = Type.Boolean >> false,
406+
['Lua.type.inferTableSize'] = Type.Integer >> 10,
406407
['Lua.doc.privateName'] = Type.Array(Type.String),
407408
['Lua.doc.protectedName'] = Type.Array(Type.String),
408409
['Lua.doc.packageName'] = Type.Array(Type.String),

script/vm/type.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,7 @@ end
615615
---@return vm.node?
616616
function vm.getTableValue(uri, tnode, knode, inversion)
617617
local result = vm.createNode()
618+
local inferSize = config.get(uri, "Lua.type.inferTableSize")
618619
for tn in tnode:eachObject() do
619620
if tn.type == 'doc.type.table' then
620621
for _, field in ipairs(tn.fields) do
@@ -657,7 +658,7 @@ function vm.getTableValue(uri, tnode, knode, inversion)
657658
end
658659
if field.type == 'tableexp'
659660
and field.value
660-
and field.tindex == 1 then
661+
and field.tindex <= inferSize then
661662
if inversion then
662663
if vm.isSubType(uri, 'integer', knode) then
663664
result:merge(vm.compileNode(field.value))

0 commit comments

Comments
 (0)