summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsumneko <sumneko@hotmail.com>2022-03-11 02:12:50 +0800
committersumneko <sumneko@hotmail.com>2022-03-11 02:12:50 +0800
commitc979f901d19440c6f2cdc899ea38e7c9dc204405 (patch)
tree4df0079c3b4b7d98e4e8f38d62e9e7d412c43652
parent9512eec020d1ee186d3fe684cd9c2493c5672fc7 (diff)
downloadlua-language-server-c979f901d19440c6f2cdc899ea38e7c9dc204405.zip
update
-rw-r--r--script/vm/infer.lua5
-rw-r--r--test/type_inference/init.lua5
2 files changed, 10 insertions, 0 deletions
diff --git a/script/vm/infer.lua b/script/vm/infer.lua
index d5ab2d46..f393306c 100644
--- a/script/vm/infer.lua
+++ b/script/vm/infer.lua
@@ -49,6 +49,7 @@ local viewNodeMap = util.switch()
end)
: case 'doc.type.name'
: call(function (source, options)
+ options['hasClass'] = true
if source.signs then
local buf = {}
for i, sign in ipairs(source.signs) do
@@ -64,6 +65,10 @@ local viewNodeMap = util.switch()
options['hasClass'] = true
return m.viewType(source.node) .. '[]'
end)
+ : case 'doc.type.table'
+ : call(function (source, options)
+ options['hasTable'] = true
+ end)
: case 'doc.type.enum'
: call(function (source, options)
return ('%q'):format(source[1])
diff --git a/test/type_inference/init.lua b/test/type_inference/init.lua
index 07a3e2f0..188ca06b 100644
--- a/test/type_inference/init.lua
+++ b/test/type_inference/init.lua
@@ -481,6 +481,11 @@ TEST 'fun(a: string, b: any, c?: boolean, ...: any):c, d?, ...' [[
local <?x?>
]]
+TEST 'table' [[
+---@type { [string]: string }
+local <?x?>
+]]
+
TEST 'table<string, number>' [[
---@class string
---@class number