diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2018-12-29 13:12:58 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2018-12-29 13:12:58 +0800 |
commit | 9036106b25eeee7553d28a1b4f5e27d78ab5287c (patch) | |
tree | f97233dd9658ba670136a03b09db68f57d033042 /server/src/core/document_symbol.lua | |
parent | c01603d8bb9578db568c807061ecbca565f2a86c (diff) | |
download | lua-language-server-9036106b25eeee7553d28a1b4f5e27d78ab5287c.zip |
过滤掉没爹的field
Diffstat (limited to 'server/src/core/document_symbol.lua')
-rw-r--r-- | server/src/core/document_symbol.lua | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/server/src/core/document_symbol.lua b/server/src/core/document_symbol.lua index d4462420..f53e636d 100644 --- a/server/src/core/document_symbol.lua +++ b/server/src/core/document_symbol.lua @@ -129,7 +129,7 @@ local function buildVar(vm, var) } end -local function packChild(symbols, finish) +local function packChild(symbols, finish, kind) local t while true do local symbol = symbols[#symbols] @@ -140,11 +140,14 @@ local function packChild(symbols, finish) break end symbols[#symbols] = nil - symbol.children = packChild(symbols, symbol.range[2]) + symbol.children = packChild(symbols, symbol.range[2], symbol.kind) if not t then t = {} end - t[#t+1] = symbol + if symbol.kind == SymbolKind.Class and kind ~= SymbolKind.Variable then + else + t[#t+1] = symbol + end end return t end @@ -155,7 +158,7 @@ local function packSymbols(symbols) return a.range[1] > b.range[1] end) -- 处理嵌套 - return packChild(symbols, math.maxinteger) + return packChild(symbols, math.maxinteger, SymbolKind.Function) end return function (vm) |