@@ -15,6 +15,7 @@ local function getHover(source, level)
1515 local defMark = {}
1616 local labelMark = {}
1717 local descMark = {}
18+ local totalMaxLevel = 0
1819
1920 if source .type == ' doc.see.name' then
2021 for _ , symbol in ipairs (wssymbol (source [1 ], guide .getUri (source ))) do
@@ -33,7 +34,10 @@ local function getHover(source, level)
3334 defMark [def ] = true
3435
3536 if checkLable then
36- local label = getLabel (def , oop , level )
37+ local label , maxLevel = getLabel (def , oop , level )
38+ if maxLevel and totalMaxLevel < maxLevel then
39+ totalMaxLevel = maxLevel
40+ end
3741 if not labelMark [tostring (label )] then
3842 labelMark [tostring (label )] = true
3943 md :add (' lua' , label )
@@ -104,7 +108,7 @@ local function getHover(source, level)
104108 end
105109 end
106110
107- return md
111+ return md , totalMaxLevel
108112end
109113
110114local accept = {
@@ -137,7 +141,7 @@ local function getHoverByUri(uri, position, level)
137141 if not source then
138142 return nil
139143 end
140- local hover = getHover (source , level )
144+ local hover , maxLevel = getHover (source , level )
141145 if SHOWSOURCE then
142146 hover :splitLine ()
143147 hover :add (' md' , ' Source Info' )
@@ -152,7 +156,7 @@ local function getHoverByUri(uri, position, level)
152156 deep = 1 ,
153157 }))
154158 end
155- return hover , source
159+ return hover , source , maxLevel
156160end
157161
158162return {
0 commit comments