diff options
-rw-r--r-- | changelog.md | 1 | ||||
-rw-r--r-- | script/core/completion.lua | 5 | ||||
-rw-r--r-- | test/completion/init.lua | 11 |
3 files changed, 15 insertions, 2 deletions
diff --git a/changelog.md b/changelog.md index 9d88fed2..4c5ef3eb 100644 --- a/changelog.md +++ b/changelog.md @@ -5,6 +5,7 @@ `FIX` [#483](https://github.com/sumneko/lua-language-server/issues/483) `FIX` [#485](https://github.com/sumneko/lua-language-server/issues/485) `FIX` [#487](https://github.com/sumneko/lua-language-server/issues/487) +`FIX` [#488](https://github.com/sumneko/lua-language-server/issues/488) ## 1.20.2 `2021-4-2` diff --git a/script/core/completion.lua b/script/core/completion.lua index b01699a6..a8a881a7 100644 --- a/script/core/completion.lua +++ b/script/core/completion.lua @@ -1333,7 +1333,7 @@ local function checkTableLiteralField(ast, text, offset, tbl, fields, results) end end -local function checkTableLiteralFieldByCall(ast, text, offset, call, funcs, index, results) +local function checkTableLiteralFieldByCall(ast, text, offset, call, defs, index, results) local source = findNearestSource(ast, offset) if not source then return @@ -1354,7 +1354,8 @@ local function checkTableLiteralFieldByCall(ast, text, offset, call, funcs, inde if tbl.parent ~= call.args then return end - for _, func in ipairs(funcs) do + for _, def in ipairs(defs) do + local func = guide.getObjectValue(def) or def local param = getFuncParamByCallIndex(func, index) if not param then goto CONTINUE diff --git a/test/completion/init.lua b/test/completion/init.lua index c648d379..b07fda90 100644 --- a/test/completion/init.lua +++ b/test/completion/init.lua @@ -2513,3 +2513,14 @@ local t = { $ ]] (EXISTS) + +TEST [[ +---@class A +---@field a '"hello"'|'"world"' + +---@param t A +function api(t) end + +api({$}) +]] +(EXISTS) |