if(consume(self, TokenKind.Symbol, "[")) then
local key = self:expression(scope);
expect(self, TokenKind.Symbol, "]");
expect(self, TokenKind.Symbol, "=");
local value = self:expression(scope);
local tbl = Ast.KeyedTableEntry(key, value)
tbl.IsStringKey = true
table.insert(entries, tbl);
elseif(is(self, TokenKind.Ident, 0) and is(self, TokenKind.Symbol, "=", 1)) then
local key = Ast.StringExpression(get(self).value);
expect(self, TokenKind.Symbol, "=");
local value = self:expression(scope);
table.insert(entries, Ast.KeyedTableEntry(key, value));
else
local value = self:expression(scope);
table.insert(entries, Ast.TableEntry(value));
end
unparser.lua
line : 952 to 961
if(entry.kind == AstKind.KeyedTableEntry) the
if(entry.key.kind == AstKind.StringExpression and self:isValidIdentifier(entry.key.value)) and not entry.IsStringKey then
code = code .. entry.key.value;
else
code = code .. "[" .. self:unparseExpression(entry.key, tableTabbing) .. "]";
end
code = code .. self:optionalWhitespace() .. "=" .. self:optionalWhitespace() ..
self:unparseExpression(entry.value, tableTabbing);
else
code = code .. self:unparseExpression(entry.value, tableTabbing);
end
Hey i have this issue my input was
output
i was fix it in parser.lua line 943 to 959:
unparser.lua line : 952 to 961