diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/src/core/document_symbol.lua | 6 | ||||
-rw-r--r-- | server/src/parser/ast.lua | 12 | ||||
-rw-r--r-- | server/test/document_symbol/init.lua | 22 |
3 files changed, 28 insertions, 12 deletions
diff --git a/server/src/core/document_symbol.lua b/server/src/core/document_symbol.lua index 3c349246..48e01332 100644 --- a/server/src/core/document_symbol.lua +++ b/server/src/core/document_symbol.lua @@ -141,9 +141,6 @@ local function buildLocalFunction(vm, source, used, callback) return end local name = getName(source.name) - if name == '' then - return - end local hvr = hoverFunction(name, value:getFunction()) if not hvr then return @@ -169,9 +166,6 @@ local function buildFunction(vm, source, used, callback) return end local name = getName(source.name) - if name == '' then - return - end local func = value:getFunction() if not func then return diff --git a/server/src/parser/ast.lua b/server/src/parser/ast.lua index bf8f5dab..f361021b 100644 --- a/server/src/parser/ast.lua +++ b/server/src/parser/ast.lua @@ -738,8 +738,8 @@ local Defs = { local last = args[max] pushError { type = 'MISS_NAME', - start = last+1, - finish = last+1, + start = last, + finish = last, } end if #list == 0 then @@ -1276,13 +1276,13 @@ local Defs = { DirtyName = function (pos) pushError { type = 'MISS_NAME', - start = pos, - finish = pos, + start = pos-1, + finish = pos-1, } return { type = 'name', - start = pos, - finish = pos, + start = pos-1, + finish = pos-1, [1] = '' } end, diff --git a/server/test/document_symbol/init.lua b/server/test/document_symbol/init.lua index 09e533ac..3955a54f 100644 --- a/server/test/document_symbol/init.lua +++ b/server/test/document_symbol/init.lua @@ -444,6 +444,28 @@ local v = t }, } +TEST [[ +local x +local function +]]{ + [1] = { + name = 'x', + detail = EXISTS, + kind = SymbolKind.Variable, + range = {7, 7}, + selectionRange = {7, 7}, + valueRange = {7, 7}, + }, + [2] = { + name = '', + detail = EXISTS, + kind = SymbolKind.Function, + range = {9, 22}, + selectionRange = {22, 22}, + valueRange = {9, 22}, + } +} + -- 临时 local fs = require 'bee.filesystem' local function testIfExit(path) |