diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2019-06-28 15:47:48 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2019-06-28 15:47:48 +0800 |
commit | ef00d018e5f3292dd08deeeabfc77e6c75492a67 (patch) | |
tree | aa1e4500d9e122027762935721c1adbc59cfc45d /server/src/core/hover | |
parent | daee93fb17e8f206e63ab8573566762011a3f1cd (diff) | |
download | lua-language-server-ef00d018e5f3292dd08deeeabfc77e6c75492a67.zip |
支持返回值命名
Diffstat (limited to 'server/src/core/hover')
-rw-r--r-- | server/src/core/hover/function.lua | 19 |
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 |