summaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2019-07-29 16:35:51 +0800
committer最萌小汐 <sumneko@hotmail.com>2019-07-29 16:35:51 +0800
commit5f17d7f521273a1d085ba025071f6687056e3660 (patch)
treecbb290fb79de95358fc6ec41be0c43d76b4acb78 /server/src
parentefb8e40a5dcad11c80a2573a52032b8f64ab2580 (diff)
downloadlua-language-server-5f17d7f521273a1d085ba025071f6687056e3660.zip
fix #68 优化大table的解析
Diffstat (limited to 'server/src')
-rw-r--r--server/src/parser/ast.lua4
-rw-r--r--server/src/parser/grammar.lua2
2 files changed, 3 insertions, 3 deletions
diff --git a/server/src/parser/ast.lua b/server/src/parser/ast.lua
index 019cbb5c..a83f5abf 100644
--- a/server/src/parser/ast.lua
+++ b/server/src/parser/ast.lua
@@ -751,7 +751,7 @@ local Defs = {
checkMissEnd(start)
return obj
end,
- Table = function (start, ...)
+ RTTable = function (_, _, start, ...)
local args = {...}
local max = #args
local finish = args[max] - 1
@@ -790,7 +790,7 @@ local Defs = {
start = arg
end
end
- return table
+ return true, table
end,
NewField = function (key, value)
return {
diff --git a/server/src/parser/grammar.lua b/server/src/parser/grammar.lua
index 4b12c81c..a923e5eb 100644
--- a/server/src/parser/grammar.lua
+++ b/server/src/parser/grammar.lua
@@ -346,7 +346,7 @@ ArgList <- (DOTS -> DotsAsArg / Name / Sp {} COMMA)*
-> ArgList
Table <- Sp ({} TL TableFields? DirtyTR)
- -> Table
+ => RTTable
TableFields <- (Emmy / TableSep {} / TableField)+
TableSep <- COMMA / SEMICOLON
TableField <- NewIndex / NewField / Exp