summaryrefslogtreecommitdiff
path: root/server/src/core/hover
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2019-06-28 15:47:48 +0800
committer最萌小汐 <sumneko@hotmail.com>2019-06-28 15:47:48 +0800
commitef00d018e5f3292dd08deeeabfc77e6c75492a67 (patch)
treeaa1e4500d9e122027762935721c1adbc59cfc45d /server/src/core/hover
parentdaee93fb17e8f206e63ab8573566762011a3f1cd (diff)
downloadlua-language-server-ef00d018e5f3292dd08deeeabfc77e6c75492a67.zip
支持返回值命名
Diffstat (limited to 'server/src/core/hover')
-rw-r--r--server/src/core/hover/function.lua19
1 files changed, 17 insertions, 2 deletions
diff --git a/server/src/core/hover/function.lua b/server/src/core/hover/function.lua
index 620eb054..c5c7a118 100644
--- a/server/src/core/hover/function.lua
+++ b/server/src/core/hover/function.lua
@@ -106,9 +106,24 @@ local function buildValueReturns(func)
return ''
end
local strs = {}
+ local n = 0
+ func:eachEmmyReturn(function (emmy)
+ n = n + 1
+ local name = ''
+ if emmy.option and emmy.option.name then
+ name = emmy.option.name .. ': '
+ end
+ local rtn = func:getReturn(n)
+ if not rtn then
+ strs[#strs+1] = name .. 'any'
+ return
+ end
+ strs[#strs+1] = name .. rtn:getType()
+ end)
if func.returns then
- for i, rtn in ipairs(func.returns) do
- strs[i] = rtn:getType()
+ for i = n + 1, #func.returns do
+ local rtn = func:getReturn(i)
+ strs[#strs+1] = rtn:getType()
end
end
if #strs == 0 then