rufus-lua-moon 0.2.3.2 → 0.2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,36 +3,40 @@ local dump = require("moonscript.dump")
3
3
  local transform = require("moonscript.transform")
4
4
  local NameProxy, LocalName
5
5
  do
6
- local _table_0 = require("moonscript.transform.names")
7
- NameProxy, LocalName = _table_0.NameProxy, _table_0.LocalName
6
+ local _obj_0 = require("moonscript.transform.names")
7
+ NameProxy, LocalName = _obj_0.NameProxy, _obj_0.LocalName
8
8
  end
9
9
  local Set
10
10
  do
11
- local _table_0 = require("moonscript.data")
12
- Set = _table_0.Set
11
+ local _obj_0 = require("moonscript.data")
12
+ Set = _obj_0.Set
13
13
  end
14
14
  local ntype, has_value
15
15
  do
16
- local _table_0 = require("moonscript.types")
17
- ntype, has_value = _table_0.ntype, _table_0.has_value
16
+ local _obj_0 = require("moonscript.types")
17
+ ntype, has_value = _obj_0.ntype, _obj_0.has_value
18
18
  end
19
19
  local statement_compilers
20
20
  do
21
- local _table_0 = require("moonscript.compile.statement")
22
- statement_compilers = _table_0.statement_compilers
21
+ local _obj_0 = require("moonscript.compile.statement")
22
+ statement_compilers = _obj_0.statement_compilers
23
23
  end
24
24
  local value_compilers
25
25
  do
26
- local _table_0 = require("moonscript.compile.value")
27
- value_compilers = _table_0.value_compilers
26
+ local _obj_0 = require("moonscript.compile.value")
27
+ value_compilers = _obj_0.value_compilers
28
28
  end
29
- local concat, insert = table.concat, table.insert
30
- local pos_to_line, get_closest_line, trim, unpack = util.pos_to_line, util.get_closest_line, util.trim, util.unpack
29
+ local concat, insert
30
+ do
31
+ local _obj_0 = table
32
+ concat, insert = _obj_0.concat, _obj_0.insert
33
+ end
34
+ local pos_to_line, get_closest_line, trim, unpack
35
+ pos_to_line, get_closest_line, trim, unpack = util.pos_to_line, util.get_closest_line, util.trim, util.unpack
31
36
  local mtype = util.moon.type
32
37
  local indent_char = " "
33
38
  local Line, DelayedLine, Lines, Block, RootBlock
34
39
  do
35
- local _parent_0 = nil
36
40
  local _base_0 = {
37
41
  mark_pos = function(self, pos, line)
38
42
  if line == nil then
@@ -115,17 +119,14 @@ do
115
119
  local strip
116
120
  strip = function(t)
117
121
  if "table" == type(t) then
118
- return (function()
119
- local _accum_0 = { }
120
- local _len_0 = 1
121
- local _list_0 = t
122
- for _index_0 = 1, #_list_0 do
123
- local v = _list_0[_index_0]
124
- _accum_0[_len_0] = strip(v)
125
- _len_0 = _len_0 + 1
126
- end
127
- return _accum_0
128
- end)()
122
+ local _accum_0 = { }
123
+ local _len_0 = 1
124
+ for _index_0 = 1, #t do
125
+ local v = t[_index_0]
126
+ _accum_0[_len_0] = strip(v)
127
+ _len_0 = _len_0 + 1
128
+ end
129
+ return _accum_0
129
130
  else
130
131
  return t
131
132
  end
@@ -134,25 +135,14 @@ do
134
135
  end
135
136
  }
136
137
  _base_0.__index = _base_0
137
- if _parent_0 then
138
- setmetatable(_base_0, _parent_0.__base)
139
- end
140
138
  local _class_0 = setmetatable({
141
139
  __init = function(self)
142
140
  self.posmap = { }
143
141
  end,
144
142
  __base = _base_0,
145
- __name = "Lines",
146
- __parent = _parent_0
143
+ __name = "Lines"
147
144
  }, {
148
- __index = function(cls, name)
149
- local val = rawget(_base_0, name)
150
- if val == nil and _parent_0 then
151
- return _parent_0[name]
152
- else
153
- return val
154
- end
155
- end,
145
+ __index = _base_0,
156
146
  __call = function(cls, ...)
157
147
  local _self_0 = setmetatable({}, _base_0)
158
148
  cls.__init(_self_0, ...)
@@ -160,13 +150,9 @@ do
160
150
  end
161
151
  })
162
152
  _base_0.__class = _class_0
163
- if _parent_0 and _parent_0.__inherited then
164
- _parent_0.__inherited(_parent_0, _class_0)
165
- end
166
153
  Lines = _class_0
167
154
  end
168
155
  do
169
- local _parent_0 = nil
170
156
  local _base_0 = {
171
157
  pos = nil,
172
158
  _append_single = function(self, item)
@@ -174,9 +160,8 @@ do
174
160
  if not (self.pos) then
175
161
  self.pos = item.pos
176
162
  end
177
- local _list_0 = item
178
- for _index_0 = 1, #_list_0 do
179
- local value = _list_0[_index_0]
163
+ for _index_0 = 1, #item do
164
+ local value = item[_index_0]
180
165
  self:_append_single(value)
181
166
  end
182
167
  else
@@ -210,14 +195,13 @@ do
210
195
  buffer:add(concat(current))
211
196
  return buffer:mark_pos(self.pos)
212
197
  end
213
- local _list_0 = self
214
- for _index_0 = 1, #_list_0 do
215
- local chunk = _list_0[_index_0]
198
+ for _index_0 = 1, #self do
199
+ local chunk = self[_index_0]
216
200
  local _exp_0 = mtype(chunk)
217
201
  if Block == _exp_0 then
218
- local _list_1 = chunk:render(Lines())
219
- for _index_1 = 1, #_list_1 do
220
- local block_chunk = _list_1[_index_1]
202
+ local _list_0 = chunk:render(Lines())
203
+ for _index_1 = 1, #_list_0 do
204
+ local block_chunk = _list_0[_index_1]
221
205
  if "string" == type(block_chunk) then
222
206
  insert(current, block_chunk)
223
207
  else
@@ -240,27 +224,12 @@ do
240
224
  end
241
225
  }
242
226
  _base_0.__index = _base_0
243
- if _parent_0 then
244
- setmetatable(_base_0, _parent_0.__base)
245
- end
246
227
  local _class_0 = setmetatable({
247
- __init = function(self, ...)
248
- if _parent_0 then
249
- return _parent_0.__init(self, ...)
250
- end
251
- end,
228
+ __init = function() end,
252
229
  __base = _base_0,
253
- __name = "Line",
254
- __parent = _parent_0
230
+ __name = "Line"
255
231
  }, {
256
- __index = function(cls, name)
257
- local val = rawget(_base_0, name)
258
- if val == nil and _parent_0 then
259
- return _parent_0[name]
260
- else
261
- return val
262
- end
263
- end,
232
+ __index = _base_0,
264
233
  __call = function(cls, ...)
265
234
  local _self_0 = setmetatable({}, _base_0)
266
235
  cls.__init(_self_0, ...)
@@ -268,13 +237,9 @@ do
268
237
  end
269
238
  })
270
239
  _base_0.__class = _class_0
271
- if _parent_0 and _parent_0.__inherited then
272
- _parent_0.__inherited(_parent_0, _class_0)
273
- end
274
240
  Line = _class_0
275
241
  end
276
242
  do
277
- local _parent_0 = nil
278
243
  local _base_0 = {
279
244
  prepare = function() end,
280
245
  render = function(self)
@@ -283,25 +248,14 @@ do
283
248
  end
284
249
  }
285
250
  _base_0.__index = _base_0
286
- if _parent_0 then
287
- setmetatable(_base_0, _parent_0.__base)
288
- end
289
251
  local _class_0 = setmetatable({
290
252
  __init = function(self, fn)
291
253
  self.prepare = fn
292
254
  end,
293
255
  __base = _base_0,
294
- __name = "DelayedLine",
295
- __parent = _parent_0
256
+ __name = "DelayedLine"
296
257
  }, {
297
- __index = function(cls, name)
298
- local val = rawget(_base_0, name)
299
- if val == nil and _parent_0 then
300
- return _parent_0[name]
301
- else
302
- return val
303
- end
304
- end,
258
+ __index = _base_0,
305
259
  __call = function(cls, ...)
306
260
  local _self_0 = setmetatable({}, _base_0)
307
261
  cls.__init(_self_0, ...)
@@ -309,13 +263,9 @@ do
309
263
  end
310
264
  })
311
265
  _base_0.__class = _class_0
312
- if _parent_0 and _parent_0.__inherited then
313
- _parent_0.__inherited(_parent_0, _class_0)
314
- end
315
266
  DelayedLine = _class_0
316
267
  end
317
268
  do
318
- local _parent_0 = nil
319
269
  local _base_0 = {
320
270
  header = "do",
321
271
  footer = "end",
@@ -354,14 +304,14 @@ do
354
304
  end
355
305
  end,
356
306
  declare = function(self, names)
357
- local undeclared = (function()
307
+ local undeclared
308
+ do
358
309
  local _accum_0 = { }
359
310
  local _len_0 = 1
360
- local _list_0 = names
361
- for _index_0 = 1, #_list_0 do
311
+ for _index_0 = 1, #names do
362
312
  local _continue_0 = false
363
313
  repeat
364
- local name = _list_0[_index_0]
314
+ local name = names[_index_0]
365
315
  local is_local = false
366
316
  local real_name
367
317
  local _exp_0 = mtype(name)
@@ -391,8 +341,8 @@ do
391
341
  break
392
342
  end
393
343
  end
394
- return _accum_0
395
- end)()
344
+ undeclared = _accum_0
345
+ end
396
346
  return undeclared
397
347
  end,
398
348
  whitelist_names = function(self, names)
@@ -429,6 +379,19 @@ do
429
379
  return yes
430
380
  end
431
381
  end,
382
+ is_local = function(self, node)
383
+ local t = mtype(node)
384
+ if t == "string" then
385
+ return self:has_name(node, false)
386
+ end
387
+ if t == NameProxy or t == LocalName then
388
+ return true
389
+ end
390
+ if t == "table" and node[1] == "chain" and #node == 2 then
391
+ return self:is_local(node[2])
392
+ end
393
+ return false
394
+ end,
432
395
  free_name = function(self, prefix, dont_put)
433
396
  prefix = prefix or "moon"
434
397
  local searching = true
@@ -533,9 +496,8 @@ do
533
496
  _with_0:append_list((function()
534
497
  local _accum_0 = { }
535
498
  local _len_0 = 1
536
- local _list_0 = values
537
- for _index_0 = 1, #_list_0 do
538
- local v = _list_0[_index_0]
499
+ for _index_0 = 1, #values do
500
+ local v = values[_index_0]
539
501
  _accum_0[_len_0] = self:value(v)
540
502
  _len_0 = _len_0 + 1
541
503
  end
@@ -583,10 +545,7 @@ do
583
545
  error("deprecated stms call, use transformer")
584
546
  end
585
547
  local current_stms, current_stm_i
586
- do
587
- local _obj_0 = self
588
- current_stms, current_stm_i = _obj_0.current_stms, _obj_0.current_stm_i
589
- end
548
+ current_stms, current_stm_i = self.current_stms, self.current_stm_i
590
549
  self.current_stms = stms
591
550
  for i = 1, #stms do
592
551
  self.current_stm_i = i
@@ -606,9 +565,6 @@ do
606
565
  end
607
566
  }
608
567
  _base_0.__index = _base_0
609
- if _parent_0 then
610
- setmetatable(_base_0, _parent_0.__base)
611
- end
612
568
  local _class_0 = setmetatable({
613
569
  __init = function(self, parent, header, footer)
614
570
  self.parent, self.header, self.footer = parent, header, footer
@@ -617,10 +573,9 @@ do
617
573
  self._state = { }
618
574
  self._listeners = { }
619
575
  do
620
- local _with_0 = transform
621
576
  self.transform = {
622
- value = _with_0.Value:bind(self),
623
- statement = _with_0.Statement:bind(self)
577
+ value = transform.Value:bind(self),
578
+ statement = transform.Statement:bind(self)
624
579
  }
625
580
  end
626
581
  if self.parent then
@@ -637,17 +592,9 @@ do
637
592
  end
638
593
  end,
639
594
  __base = _base_0,
640
- __name = "Block",
641
- __parent = _parent_0
595
+ __name = "Block"
642
596
  }, {
643
- __index = function(cls, name)
644
- local val = rawget(_base_0, name)
645
- if val == nil and _parent_0 then
646
- return _parent_0[name]
647
- else
648
- return val
649
- end
650
- end,
597
+ __index = _base_0,
651
598
  __call = function(cls, ...)
652
599
  local _self_0 = setmetatable({}, _base_0)
653
600
  cls.__init(_self_0, ...)
@@ -655,9 +602,6 @@ do
655
602
  end
656
603
  })
657
604
  _base_0.__class = _class_0
658
- if _parent_0 and _parent_0.__inherited then
659
- _parent_0.__inherited(_parent_0, _class_0)
660
- end
661
605
  Block = _class_0
662
606
  end
663
607
  do
@@ -681,9 +625,7 @@ do
681
625
  end
682
626
  }
683
627
  _base_0.__index = _base_0
684
- if _parent_0 then
685
- setmetatable(_base_0, _parent_0.__base)
686
- end
628
+ setmetatable(_base_0, _parent_0.__base)
687
629
  local _class_0 = setmetatable({
688
630
  __init = function(self, options)
689
631
  self.options = options
@@ -696,7 +638,7 @@ do
696
638
  }, {
697
639
  __index = function(cls, name)
698
640
  local val = rawget(_base_0, name)
699
- if val == nil and _parent_0 then
641
+ if val == nil then
700
642
  return _parent_0[name]
701
643
  else
702
644
  return val
@@ -709,7 +651,7 @@ do
709
651
  end
710
652
  })
711
653
  _base_0.__class = _class_0
712
- if _parent_0 and _parent_0.__inherited then
654
+ if _parent_0.__inherited then
713
655
  _parent_0.__inherited(_parent_0, _class_0)
714
656
  end
715
657
  RootBlock = _class_0
@@ -769,8 +711,7 @@ tree = function(tree, options)
769
711
  end
770
712
  end
771
713
  do
772
- local _with_0 = require("moonscript.data")
773
- local data = _with_0
714
+ local data = require("moonscript.data")
774
715
  for name, cls in pairs({
775
716
  Line = Line,
776
717
  Lines = Lines,
@@ -1,17 +1,19 @@
1
- local concat, remove, insert = table.concat, table.remove, table.insert
1
+ local concat, remove, insert
2
+ do
3
+ local _obj_0 = table
4
+ concat, remove, insert = _obj_0.concat, _obj_0.remove, _obj_0.insert
5
+ end
2
6
  local Set
3
7
  Set = function(items)
4
8
  local self = { }
5
- local _list_0 = items
6
- for _index_0 = 1, #_list_0 do
7
- local key = _list_0[_index_0]
9
+ for _index_0 = 1, #items do
10
+ local key = items[_index_0]
8
11
  self[key] = true
9
12
  end
10
13
  return self
11
14
  end
12
15
  local Stack
13
16
  do
14
- local _parent_0 = nil
15
17
  local _base_0 = {
16
18
  __tostring = function(self)
17
19
  return "<Stack {" .. concat(self, ", ") .. "}>"
@@ -28,9 +30,6 @@ do
28
30
  end
29
31
  }
30
32
  _base_0.__index = _base_0
31
- if _parent_0 then
32
- setmetatable(_base_0, _parent_0.__base)
33
- end
34
33
  local _class_0 = setmetatable({
35
34
  __init = function(self, ...)
36
35
  local _list_0 = {
@@ -43,17 +42,9 @@ do
43
42
  return nil
44
43
  end,
45
44
  __base = _base_0,
46
- __name = "Stack",
47
- __parent = _parent_0
45
+ __name = "Stack"
48
46
  }, {
49
- __index = function(cls, name)
50
- local val = rawget(_base_0, name)
51
- if val == nil and _parent_0 then
52
- return _parent_0[name]
53
- else
54
- return val
55
- end
56
- end,
47
+ __index = _base_0,
57
48
  __call = function(cls, ...)
58
49
  local _self_0 = setmetatable({}, _base_0)
59
50
  cls.__init(_self_0, ...)
@@ -61,9 +52,6 @@ do
61
52
  end
62
53
  })
63
54
  _base_0.__class = _class_0
64
- if _parent_0 and _parent_0.__inherited then
65
- _parent_0.__inherited(_parent_0, _class_0)
66
- end
67
55
  Stack = _class_0
68
56
  end
69
57
  local lua_keywords = Set({
@@ -9,17 +9,17 @@ flat_value = function(op, depth)
9
9
  if type(op) ~= "table" then
10
10
  return tostring(op)
11
11
  end
12
- local items = (function()
12
+ local items
13
+ do
13
14
  local _accum_0 = { }
14
15
  local _len_0 = 1
15
- local _list_0 = op
16
- for _index_0 = 1, #_list_0 do
17
- local item = _list_0[_index_0]
16
+ for _index_0 = 1, #op do
17
+ local item = op[_index_0]
18
18
  _accum_0[_len_0] = flat_value(item, depth + 1)
19
19
  _len_0 = _len_0 + 1
20
20
  end
21
- return _accum_0
22
- end)()
21
+ items = _accum_0
22
+ end
23
23
  local pos = op[-1]
24
24
  return "{" .. (pos and "[" .. pos .. "] " or "") .. table.concat(items, ", ") .. "}"
25
25
  end
@@ -1,7 +1,12 @@
1
1
  local util = require("moonscript.util")
2
2
  local lpeg = require("lpeg")
3
- local concat, insert = table.concat, table.insert
4
- local split, pos_to_line = util.split, util.pos_to_line
3
+ local concat, insert
4
+ do
5
+ local _obj_0 = table
6
+ concat, insert = _obj_0.concat, _obj_0.insert
7
+ end
8
+ local split, pos_to_line
9
+ split, pos_to_line = util.split, util.pos_to_line
5
10
  local user_error
6
11
  user_error = function(...)
7
12
  return error({
@@ -42,18 +47,17 @@ truncate_traceback = function(traceback, chunk_func)
42
47
  end
43
48
  stop = stop - 1
44
49
  end
45
- traceback = (function()
50
+ do
46
51
  local _accum_0 = { }
47
52
  local _len_0 = 1
48
- local _list_0 = traceback
49
53
  local _max_0 = stop
50
- for _index_0 = 1, _max_0 < 0 and #_list_0 + _max_0 or _max_0 do
51
- local t = _list_0[_index_0]
54
+ for _index_0 = 1, _max_0 < 0 and #traceback + _max_0 or _max_0 do
55
+ local t = traceback[_index_0]
52
56
  _accum_0[_len_0] = t
53
57
  _len_0 = _len_0 + 1
54
58
  end
55
- return _accum_0
56
- end)()
59
+ traceback = _accum_0
60
+ end
57
61
  local rep = "function '" .. chunk_func .. "'"
58
62
  traceback[#traceback] = traceback[#traceback]:gsub(rep, "main chunk")
59
63
  return concat(traceback, "\n")
@@ -61,7 +65,8 @@ end
61
65
  local rewrite_traceback
62
66
  rewrite_traceback = function(text, err)
63
67
  local line_tables = require("moonscript.line_tables")
64
- local V, S, Ct, C = lpeg.V, lpeg.S, lpeg.Ct, lpeg.C
68
+ local V, S, Ct, C
69
+ V, S, Ct, C = lpeg.V, lpeg.S, lpeg.Ct, lpeg.C
65
70
  local header_text = "stack traceback:"
66
71
  local Header, Line = V("Header"), V("Line")
67
72
  local Break = lpeg.S("\n")
@@ -80,10 +85,10 @@ rewrite_traceback = function(text, err)
80
85
  fname,
81
86
  ":",
82
87
  reverse_line_number(fname, tbl, line, cache),
88
+ ": ",
83
89
  "(",
84
90
  line,
85
- ")",
86
- ": ",
91
+ ") ",
87
92
  msg
88
93
  })
89
94
  else
@@ -107,5 +112,6 @@ end
107
112
  return {
108
113
  rewrite_traceback = rewrite_traceback,
109
114
  truncate_traceback = truncate_traceback,
110
- user_error = user_error
115
+ user_error = user_error,
116
+ reverse_line_number = reverse_line_number
111
117
  }
@@ -1,10 +1,14 @@
1
1
  local compile = require("moonscript.compile")
2
2
  local parse = require("moonscript.parse")
3
- local concat, insert = table.concat, table.insert
3
+ local concat, insert
4
+ do
5
+ local _obj_0 = table
6
+ concat, insert = _obj_0.concat, _obj_0.insert
7
+ end
4
8
  local split, dump, get_options, unpack
5
9
  do
6
- local _table_0 = require("moonscript.util")
7
- split, dump, get_options, unpack = _table_0.split, _table_0.dump, _table_0.get_options, _table_0.unpack
10
+ local _obj_0 = require("moonscript.util")
11
+ split, dump, get_options, unpack = _obj_0.split, _obj_0.dump, _obj_0.get_options, _obj_0.unpack
8
12
  end
9
13
  local lua = {
10
14
  loadstring = loadstring,
@@ -29,15 +33,15 @@ to_lua = function(text, options)
29
33
  end
30
34
  if "string" ~= type(text) then
31
35
  local t = type(text)
32
- error("expecting string (got " .. t .. ")", 2)
36
+ return nil, "expecting string (got " .. t .. ")", 2
33
37
  end
34
38
  local tree, err = parse.string(text)
35
39
  if not tree then
36
- error(err, 2)
40
+ return nil, err
37
41
  end
38
42
  local code, ltable, pos = compile.tree(tree, options)
39
43
  if not code then
40
- error(compile.format_error(ltable, pos, text), 2)
44
+ return nil, compile.format_error(ltable, pos, text), 2
41
45
  end
42
46
  return code, ltable
43
47
  end
@@ -73,14 +77,12 @@ end
73
77
  loadstring = function(...)
74
78
  local options, str, chunk_name, mode, env = get_options(...)
75
79
  chunk_name = chunk_name or "=(moonscript.loadstring)"
76
- local passed, code, ltable = pcall(function()
77
- return to_lua(str, options)
78
- end)
79
- if not passed then
80
- error(chunk_name .. ": " .. code, 2)
80
+ local code, ltable_or_err = to_lua(str, options)
81
+ if not (code) then
82
+ return nil, ltable_or_err
81
83
  end
82
84
  if chunk_name then
83
- line_tables[chunk_name] = ltable
85
+ line_tables[chunk_name] = ltable_or_err
84
86
  end
85
87
  return (lua.loadstring or lua.load)(code, chunk_name, unpack({
86
88
  mode,
@@ -89,7 +91,7 @@ loadstring = function(...)
89
91
  end
90
92
  loadfile = function(fname, ...)
91
93
  local file, err = io.open(fname)
92
- if not file then
94
+ if not (file) then
93
95
  return nil, err
94
96
  end
95
97
  local text = assert(file:read("*a"))
@@ -227,7 +227,7 @@ local function symx(chars)
227
227
  end
228
228
 
229
229
  local function simple_string(delim, allow_interpolation)
230
- local inner = P('\\'..delim) + "\\\\" + (1 - S('\r\n'..delim))
230
+ local inner = P('\\'..delim) + "\\\\" + (1 - P(delim))
231
231
  if allow_interpolation then
232
232
  inter = symx"#{" * V"Exp" * sym"}"
233
233
  inner = (C((inner - inter)^1) + inter / mark"interpolate")^0
@@ -409,9 +409,9 @@ local build_grammar = wrap_env(function()
409
409
 
410
410
  Local = key"local" * ((op"*" + op"^") / mark"declare_glob" + Ct(NameList) / mark"declare_with_shadows"),
411
411
 
412
- Import = key"import" * Ct(ImportNameList) * key"from" * Exp / mark"import",
412
+ Import = key"import" * Ct(ImportNameList) * SpaceBreak^0 * key"from" * Exp / mark"import",
413
413
  ImportName = (sym"\\" * Ct(Cc"colon_stub" * Name) + Name),
414
- ImportNameList = ImportName * (sym"," * ImportName)^0,
414
+ ImportNameList = SpaceBreak^0 * ImportName * ((SpaceBreak^1 + sym"," * SpaceBreak^0) * ImportName)^0,
415
415
 
416
416
  NameList = Name * (sym"," * Name)^0,
417
417
 
@@ -575,7 +575,7 @@ local build_grammar = wrap_env(function()
575
575
  op"*" + op"^" +
576
576
  Ct(NameList) * (sym"=" * Ct(ExpListLow))^-1) / mark"export",
577
577
 
578
- KeyValue = (sym":" * Name) / self_assign + Ct((KeyName + sym"[" * Exp * sym"]" + DoubleString + SingleString) * symx":" * (Exp + TableBlock)),
578
+ KeyValue = (sym":" * -SomeSpace * Name) / self_assign + Ct((KeyName + sym"[" * Exp * sym"]" + DoubleString + SingleString) * symx":" * (Exp + TableBlock)),
579
579
  KeyValueList = KeyValue * (sym"," * KeyValue)^0,
580
580
  KeyValueLine = CheckIndent * KeyValueList * sym","^-1,
581
581
 
@@ -597,7 +597,7 @@ local build_grammar = wrap_env(function()
597
597
  ExpList = Exp * (sym"," * Exp)^0,
598
598
  ExpListLow = Exp * ((sym"," + sym";") * Exp)^0,
599
599
 
600
- InvokeArgs = ExpList * (sym"," * (TableBlock + SpaceBreak * Advance * ArgBlock * TableBlock^-1) + TableBlock)^-1 + TableBlock,
600
+ InvokeArgs = -P"-" * (ExpList * (sym"," * (TableBlock + SpaceBreak * Advance * ArgBlock * TableBlock^-1) + TableBlock)^-1 + TableBlock),
601
601
  ArgBlock = ArgLine * (sym"," * SpaceBreak * ArgLine)^0 * PopIndent,
602
602
  ArgLine = CheckIndent * ExpList
603
603
  }