rufus-lua-moon 0.4.0.1 → 0.5.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.
- checksums.yaml +4 -4
- data/vendor/leafo/moonscript/cmd/args.lua +69 -0
- data/vendor/leafo/moonscript/cmd/coverage.lua +1 -0
- data/vendor/leafo/moonscript/cmd/moonc.lua +1 -1
- data/vendor/leafo/moonscript/cmd/watchers.lua +269 -0
- data/vendor/leafo/moonscript/compile/statement.lua +6 -6
- data/vendor/leafo/moonscript/compile/value.lua +6 -3
- data/vendor/leafo/moonscript/dump.lua +1 -1
- data/vendor/leafo/moonscript/parse.lua +22 -19
- data/vendor/leafo/moonscript/parse/literals.lua +6 -1
- data/vendor/leafo/moonscript/parse/util.lua +60 -3
- data/vendor/leafo/moonscript/transform/class.lua +1 -1
- data/vendor/leafo/moonscript/transform/names.lua +12 -1
- data/vendor/leafo/moonscript/transform/statement.lua +57 -18
- data/vendor/leafo/moonscript/transform/value.lua +2 -2
- data/vendor/leafo/moonscript/version.lua +1 -1
- metadata +5 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ba945cbe870fea8680be30b884f6b9c0db0468e
|
4
|
+
data.tar.gz: 57e18176d0bdfafd8e750cb0cd0ddfd58a41bce2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef694a92dc32e88ec30f5f98974a451db8061e38763cc257d10ca7b3c5e7fc5b6a4046d7b29f88f35af5d93c5e166ddf91c461a5ccae8e96b646445ae090d090
|
7
|
+
data.tar.gz: 648090a519c07b3b559438c748bc7eb0f5dbbfbfe72c00c5da2624d7fd3c93d353a324658004c205f67d6faf1428cbc68b097a59a1c5758031314583c01a9cf8
|
@@ -0,0 +1,69 @@
|
|
1
|
+
local unpack
|
2
|
+
unpack = require("moonscript.util").unpack
|
3
|
+
local parse_spec
|
4
|
+
parse_spec = function(spec)
|
5
|
+
local flags, words
|
6
|
+
if type(spec) == "table" then
|
7
|
+
flags, words = unpack(spec), spec
|
8
|
+
else
|
9
|
+
flags, words = spec, { }
|
10
|
+
end
|
11
|
+
assert("no flags for arguments")
|
12
|
+
local out = { }
|
13
|
+
for part in flags:gmatch("%w:?") do
|
14
|
+
if part:match(":$") then
|
15
|
+
out[part:sub(1, 1)] = {
|
16
|
+
value = true
|
17
|
+
}
|
18
|
+
else
|
19
|
+
out[part] = { }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
return out
|
23
|
+
end
|
24
|
+
local parse_arguments
|
25
|
+
parse_arguments = function(spec, args)
|
26
|
+
spec = parse_spec(spec)
|
27
|
+
local out = { }
|
28
|
+
local remaining = { }
|
29
|
+
local last_flag = nil
|
30
|
+
for _index_0 = 1, #args do
|
31
|
+
local _continue_0 = false
|
32
|
+
repeat
|
33
|
+
local arg = args[_index_0]
|
34
|
+
local group = { }
|
35
|
+
if last_flag then
|
36
|
+
out[last_flag] = arg
|
37
|
+
_continue_0 = true
|
38
|
+
break
|
39
|
+
end
|
40
|
+
do
|
41
|
+
local flag = arg:match("-(%w+)")
|
42
|
+
if flag then
|
43
|
+
do
|
44
|
+
local short_name = spec[flag]
|
45
|
+
if short_name then
|
46
|
+
out[short_name] = true
|
47
|
+
else
|
48
|
+
for char in flag:gmatch(".") do
|
49
|
+
out[char] = true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
_continue_0 = true
|
54
|
+
break
|
55
|
+
end
|
56
|
+
end
|
57
|
+
table.insert(remaining, arg)
|
58
|
+
_continue_0 = true
|
59
|
+
until true
|
60
|
+
if not _continue_0 then
|
61
|
+
break
|
62
|
+
end
|
63
|
+
end
|
64
|
+
return out, remaining
|
65
|
+
end
|
66
|
+
return {
|
67
|
+
parse_arguments = parse_arguments,
|
68
|
+
parse_spec = parse_spec
|
69
|
+
}
|
@@ -0,0 +1,269 @@
|
|
1
|
+
local remove_dupes
|
2
|
+
remove_dupes = function(list, key_fn)
|
3
|
+
local seen = { }
|
4
|
+
return (function()
|
5
|
+
local _accum_0 = { }
|
6
|
+
local _len_0 = 1
|
7
|
+
for _index_0 = 1, #list do
|
8
|
+
local _continue_0 = false
|
9
|
+
repeat
|
10
|
+
local item = list[_index_0]
|
11
|
+
local key
|
12
|
+
if key_fn then
|
13
|
+
key = key_fn(item)
|
14
|
+
else
|
15
|
+
key = item
|
16
|
+
end
|
17
|
+
if seen[key] then
|
18
|
+
_continue_0 = true
|
19
|
+
break
|
20
|
+
end
|
21
|
+
seen[key] = true
|
22
|
+
local _value_0 = item
|
23
|
+
_accum_0[_len_0] = _value_0
|
24
|
+
_len_0 = _len_0 + 1
|
25
|
+
_continue_0 = true
|
26
|
+
until true
|
27
|
+
if not _continue_0 then
|
28
|
+
break
|
29
|
+
end
|
30
|
+
end
|
31
|
+
return _accum_0
|
32
|
+
end)()
|
33
|
+
end
|
34
|
+
local plural
|
35
|
+
plural = function(count, word)
|
36
|
+
return tostring(count) .. " " .. tostring(word) .. tostring(count == 1 and "" or "s")
|
37
|
+
end
|
38
|
+
local Watcher
|
39
|
+
do
|
40
|
+
local _class_0
|
41
|
+
local _base_0 = {
|
42
|
+
start_msg = "Starting watch loop (Ctrl-C to exit)",
|
43
|
+
print_start = function(self, mode, misc)
|
44
|
+
return io.stderr:write(tostring(self.start_msg) .. " with " .. tostring(mode) .. " [" .. tostring(misc) .. "]\n")
|
45
|
+
end
|
46
|
+
}
|
47
|
+
_base_0.__index = _base_0
|
48
|
+
_class_0 = setmetatable({
|
49
|
+
__init = function(self, file_list)
|
50
|
+
self.file_list = file_list
|
51
|
+
end,
|
52
|
+
__base = _base_0,
|
53
|
+
__name = "Watcher"
|
54
|
+
}, {
|
55
|
+
__index = _base_0,
|
56
|
+
__call = function(cls, ...)
|
57
|
+
local _self_0 = setmetatable({}, _base_0)
|
58
|
+
cls.__init(_self_0, ...)
|
59
|
+
return _self_0
|
60
|
+
end
|
61
|
+
})
|
62
|
+
_base_0.__class = _class_0
|
63
|
+
Watcher = _class_0
|
64
|
+
end
|
65
|
+
local InotifyWacher
|
66
|
+
do
|
67
|
+
local _class_0
|
68
|
+
local _parent_0 = Watcher
|
69
|
+
local _base_0 = {
|
70
|
+
get_dirs = function(self)
|
71
|
+
local parse_dir
|
72
|
+
parse_dir = require("moonscript.cmd.moonc").parse_dir
|
73
|
+
local dirs
|
74
|
+
do
|
75
|
+
local _accum_0 = { }
|
76
|
+
local _len_0 = 1
|
77
|
+
local _list_0 = self.file_list
|
78
|
+
for _index_0 = 1, #_list_0 do
|
79
|
+
local _des_0 = _list_0[_index_0]
|
80
|
+
local file_path
|
81
|
+
file_path = _des_0[1]
|
82
|
+
local dir = parse_dir(file_path)
|
83
|
+
if dir == "" then
|
84
|
+
dir = "./"
|
85
|
+
end
|
86
|
+
local _value_0 = dir
|
87
|
+
_accum_0[_len_0] = _value_0
|
88
|
+
_len_0 = _len_0 + 1
|
89
|
+
end
|
90
|
+
dirs = _accum_0
|
91
|
+
end
|
92
|
+
return remove_dupes(dirs)
|
93
|
+
end,
|
94
|
+
each_update = function(self)
|
95
|
+
return coroutine.wrap(function()
|
96
|
+
local dirs = self:get_dirs()
|
97
|
+
self:print_start("inotify", plural(#dirs, "dir"))
|
98
|
+
local wd_table = { }
|
99
|
+
local inotify = require("inotify")
|
100
|
+
local handle = inotify.init()
|
101
|
+
for _index_0 = 1, #dirs do
|
102
|
+
local dir = dirs[_index_0]
|
103
|
+
local wd = handle:addwatch(dir, inotify.IN_CLOSE_WRITE, inotify.IN_MOVED_TO)
|
104
|
+
wd_table[wd] = dir
|
105
|
+
end
|
106
|
+
while true do
|
107
|
+
local events = handle:read()
|
108
|
+
if not (events) then
|
109
|
+
break
|
110
|
+
end
|
111
|
+
for _index_0 = 1, #events do
|
112
|
+
local _continue_0 = false
|
113
|
+
repeat
|
114
|
+
local ev = events[_index_0]
|
115
|
+
local fname = ev.name
|
116
|
+
if not (fname:match("%.moon$")) then
|
117
|
+
_continue_0 = true
|
118
|
+
break
|
119
|
+
end
|
120
|
+
local dir = wd_table[ev.wd]
|
121
|
+
if dir ~= "./" then
|
122
|
+
fname = dir .. fname
|
123
|
+
end
|
124
|
+
coroutine.yield(fname)
|
125
|
+
_continue_0 = true
|
126
|
+
until true
|
127
|
+
if not _continue_0 then
|
128
|
+
break
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end)
|
133
|
+
end
|
134
|
+
}
|
135
|
+
_base_0.__index = _base_0
|
136
|
+
setmetatable(_base_0, _parent_0.__base)
|
137
|
+
_class_0 = setmetatable({
|
138
|
+
__init = function(self, ...)
|
139
|
+
return _class_0.__parent.__init(self, ...)
|
140
|
+
end,
|
141
|
+
__base = _base_0,
|
142
|
+
__name = "InotifyWacher",
|
143
|
+
__parent = _parent_0
|
144
|
+
}, {
|
145
|
+
__index = function(cls, name)
|
146
|
+
local val = rawget(_base_0, name)
|
147
|
+
if val == nil then
|
148
|
+
local parent = rawget(cls, "__parent")
|
149
|
+
if parent then
|
150
|
+
return parent[name]
|
151
|
+
end
|
152
|
+
else
|
153
|
+
return val
|
154
|
+
end
|
155
|
+
end,
|
156
|
+
__call = function(cls, ...)
|
157
|
+
local _self_0 = setmetatable({}, _base_0)
|
158
|
+
cls.__init(_self_0, ...)
|
159
|
+
return _self_0
|
160
|
+
end
|
161
|
+
})
|
162
|
+
_base_0.__class = _class_0
|
163
|
+
local self = _class_0
|
164
|
+
self.available = function(self)
|
165
|
+
return pcall(function()
|
166
|
+
return require("inotify")
|
167
|
+
end)
|
168
|
+
end
|
169
|
+
if _parent_0.__inherited then
|
170
|
+
_parent_0.__inherited(_parent_0, _class_0)
|
171
|
+
end
|
172
|
+
InotifyWacher = _class_0
|
173
|
+
end
|
174
|
+
local SleepWatcher
|
175
|
+
do
|
176
|
+
local _class_0
|
177
|
+
local _parent_0 = Watcher
|
178
|
+
local _base_0 = {
|
179
|
+
polling_rate = 1.0,
|
180
|
+
get_sleep_func = function(self)
|
181
|
+
local sleep
|
182
|
+
pcall(function()
|
183
|
+
sleep = require("socket").sleep
|
184
|
+
end)
|
185
|
+
sleep = sleep or require("moonscript")._sleep
|
186
|
+
if not (sleep) then
|
187
|
+
error("Missing sleep function; install LuaSocket")
|
188
|
+
end
|
189
|
+
return sleep
|
190
|
+
end,
|
191
|
+
each_update = function(self)
|
192
|
+
return coroutine.wrap(function()
|
193
|
+
local lfs = require("lfs")
|
194
|
+
local sleep = self:get_sleep_func()
|
195
|
+
self:print_start("polling", plural(#self.file_list, "files"))
|
196
|
+
local mod_time = { }
|
197
|
+
while true do
|
198
|
+
local _list_0 = self.file_list
|
199
|
+
for _index_0 = 1, #_list_0 do
|
200
|
+
local _continue_0 = false
|
201
|
+
repeat
|
202
|
+
local _des_0 = _list_0[_index_0]
|
203
|
+
local file
|
204
|
+
file = _des_0[1]
|
205
|
+
local time = lfs.attributes(file, "modification")
|
206
|
+
print(file, time)
|
207
|
+
if not (time) then
|
208
|
+
mod_time[file] = nil
|
209
|
+
_continue_0 = true
|
210
|
+
break
|
211
|
+
end
|
212
|
+
if not (mod_time[file]) then
|
213
|
+
mod_time[file] = time
|
214
|
+
_continue_0 = true
|
215
|
+
break
|
216
|
+
end
|
217
|
+
if time > mod_time[file] then
|
218
|
+
mod_time[file] = time
|
219
|
+
coroutine.yield(file)
|
220
|
+
end
|
221
|
+
_continue_0 = true
|
222
|
+
until true
|
223
|
+
if not _continue_0 then
|
224
|
+
break
|
225
|
+
end
|
226
|
+
end
|
227
|
+
sleep(self.polling_rate)
|
228
|
+
end
|
229
|
+
end)
|
230
|
+
end
|
231
|
+
}
|
232
|
+
_base_0.__index = _base_0
|
233
|
+
setmetatable(_base_0, _parent_0.__base)
|
234
|
+
_class_0 = setmetatable({
|
235
|
+
__init = function(self, ...)
|
236
|
+
return _class_0.__parent.__init(self, ...)
|
237
|
+
end,
|
238
|
+
__base = _base_0,
|
239
|
+
__name = "SleepWatcher",
|
240
|
+
__parent = _parent_0
|
241
|
+
}, {
|
242
|
+
__index = function(cls, name)
|
243
|
+
local val = rawget(_base_0, name)
|
244
|
+
if val == nil then
|
245
|
+
local parent = rawget(cls, "__parent")
|
246
|
+
if parent then
|
247
|
+
return parent[name]
|
248
|
+
end
|
249
|
+
else
|
250
|
+
return val
|
251
|
+
end
|
252
|
+
end,
|
253
|
+
__call = function(cls, ...)
|
254
|
+
local _self_0 = setmetatable({}, _base_0)
|
255
|
+
cls.__init(_self_0, ...)
|
256
|
+
return _self_0
|
257
|
+
end
|
258
|
+
})
|
259
|
+
_base_0.__class = _class_0
|
260
|
+
if _parent_0.__inherited then
|
261
|
+
_parent_0.__inherited(_parent_0, _class_0)
|
262
|
+
end
|
263
|
+
SleepWatcher = _class_0
|
264
|
+
end
|
265
|
+
return {
|
266
|
+
Watcher = Watcher,
|
267
|
+
SleepWatcher = SleepWatcher,
|
268
|
+
InotifyWacher = InotifyWacher
|
269
|
+
}
|
@@ -57,7 +57,7 @@ return {
|
|
57
57
|
end
|
58
58
|
end,
|
59
59
|
assign = function(self, node)
|
60
|
-
local
|
60
|
+
local names, values = unpack(node, 2)
|
61
61
|
local undeclared = self:declare(names)
|
62
62
|
local declare = "local " .. concat(undeclared, ", ")
|
63
63
|
local has_fndef = false
|
@@ -136,7 +136,7 @@ return {
|
|
136
136
|
current = next
|
137
137
|
end
|
138
138
|
for _index_0 = 4, #node do
|
139
|
-
cond = node[_index_0]
|
139
|
+
local cond = node[_index_0]
|
140
140
|
add_clause(cond)
|
141
141
|
end
|
142
142
|
return root
|
@@ -150,7 +150,7 @@ return {
|
|
150
150
|
end
|
151
151
|
end,
|
152
152
|
["while"] = function(self, node)
|
153
|
-
local
|
153
|
+
local cond, block = unpack(node, 2)
|
154
154
|
do
|
155
155
|
local _with_0 = self:block(self:line("while ", self:value(cond), " do"))
|
156
156
|
_with_0:stms(block)
|
@@ -158,7 +158,7 @@ return {
|
|
158
158
|
end
|
159
159
|
end,
|
160
160
|
["for"] = function(self, node)
|
161
|
-
local
|
161
|
+
local name, bounds, block = unpack(node, 2)
|
162
162
|
local loop = self:line("for ", self:name(name), " = ", self:value({
|
163
163
|
"explist",
|
164
164
|
unpack(bounds)
|
@@ -173,7 +173,7 @@ return {
|
|
173
173
|
end
|
174
174
|
end,
|
175
175
|
foreach = function(self, node)
|
176
|
-
local
|
176
|
+
local names, exps, block = unpack(node, 2)
|
177
177
|
local loop
|
178
178
|
do
|
179
179
|
local _with_0 = self:line()
|
@@ -210,7 +210,7 @@ return {
|
|
210
210
|
end
|
211
211
|
end,
|
212
212
|
export = function(self, node)
|
213
|
-
local
|
213
|
+
local names = unpack(node, 2)
|
214
214
|
if type(names) == "string" then
|
215
215
|
if names == "*" then
|
216
216
|
self.export_all = true
|
@@ -71,7 +71,7 @@ return {
|
|
71
71
|
return self:line("(", self:value(node[2]), ")")
|
72
72
|
end,
|
73
73
|
string = function(self, node)
|
74
|
-
local
|
74
|
+
local delim, inner = unpack(node, 2)
|
75
75
|
local end_delim = delim:gsub("%[", "]")
|
76
76
|
if delim == "'" or delim == '"' then
|
77
77
|
inner = inner:gsub("[\r\n]", string_chars)
|
@@ -133,7 +133,7 @@ return {
|
|
133
133
|
return self:line(callee_value, actions)
|
134
134
|
end,
|
135
135
|
fndef = function(self, node)
|
136
|
-
local
|
136
|
+
local args, whitelist, arrow, block = unpack(node, 2)
|
137
137
|
local default_args = { }
|
138
138
|
local self_args = { }
|
139
139
|
local arg_names
|
@@ -238,7 +238,7 @@ return {
|
|
238
238
|
end
|
239
239
|
end,
|
240
240
|
table = function(self, node)
|
241
|
-
local
|
241
|
+
local items = unpack(node, 2)
|
242
242
|
do
|
243
243
|
local _with_0 = self:block("{", "}")
|
244
244
|
local format_line
|
@@ -286,6 +286,9 @@ return {
|
|
286
286
|
number = function(self, node)
|
287
287
|
return node[2]
|
288
288
|
end,
|
289
|
+
bitnot = function(self, node)
|
290
|
+
return self:line("~", self:value(node[2]))
|
291
|
+
end,
|
289
292
|
length = function(self, node)
|
290
293
|
return self:line("#", self:value(node[2]))
|
291
294
|
end,
|
@@ -15,10 +15,10 @@ local wrap_env
|
|
15
15
|
wrap_env = require("moonscript.parse.env").wrap_env
|
16
16
|
local R, S, V, P, C, Ct, Cmt, Cg, Cb, Cc
|
17
17
|
R, S, V, P, C, Ct, Cmt, Cg, Cb, Cc = lpeg.R, lpeg.S, lpeg.V, lpeg.P, lpeg.C, lpeg.Ct, lpeg.Cmt, lpeg.Cg, lpeg.Cb, lpeg.Cc
|
18
|
-
local White, Break, Stop, Comment, Space, SomeSpace, SpaceBreak, EmptyLine, AlphaNum, Num, Shebang, _Name
|
18
|
+
local White, Break, Stop, Comment, Space, SomeSpace, SpaceBreak, EmptyLine, AlphaNum, Num, Shebang, L, _Name
|
19
19
|
do
|
20
20
|
local _obj_0 = require("moonscript.parse.literals")
|
21
|
-
White, Break, Stop, Comment, Space, SomeSpace, SpaceBreak, EmptyLine, AlphaNum, Num, Shebang, _Name = _obj_0.White, _obj_0.Break, _obj_0.Stop, _obj_0.Comment, _obj_0.Space, _obj_0.SomeSpace, _obj_0.SpaceBreak, _obj_0.EmptyLine, _obj_0.AlphaNum, _obj_0.Num, _obj_0.Shebang, _obj_0.Name
|
21
|
+
White, Break, Stop, Comment, Space, SomeSpace, SpaceBreak, EmptyLine, AlphaNum, Num, Shebang, L, _Name = _obj_0.White, _obj_0.Break, _obj_0.Stop, _obj_0.Comment, _obj_0.Space, _obj_0.SomeSpace, _obj_0.SpaceBreak, _obj_0.EmptyLine, _obj_0.AlphaNum, _obj_0.Num, _obj_0.Shebang, _obj_0.L, _obj_0.Name
|
22
22
|
end
|
23
23
|
local SpaceName = Space * _Name
|
24
24
|
Num = Space * (Num / function(v)
|
@@ -27,10 +27,10 @@ Num = Space * (Num / function(v)
|
|
27
27
|
v
|
28
28
|
}
|
29
29
|
end)
|
30
|
-
local Indent, Cut, ensure, extract_line, mark, pos, flatten_or_mark, is_assignable, check_assignable, format_assign, format_single_assign, sym, symx, simple_string, wrap_func_arg, join_chain, wrap_decorator, check_lua_string, self_assign
|
30
|
+
local Indent, Cut, ensure, extract_line, mark, pos, flatten_or_mark, is_assignable, check_assignable, format_assign, format_single_assign, sym, symx, simple_string, wrap_func_arg, join_chain, wrap_decorator, check_lua_string, self_assign, got
|
31
31
|
do
|
32
32
|
local _obj_0 = require("moonscript.parse.util")
|
33
|
-
Indent, Cut, ensure, extract_line, mark, pos, flatten_or_mark, is_assignable, check_assignable, format_assign, format_single_assign, sym, symx, simple_string, wrap_func_arg, join_chain, wrap_decorator, check_lua_string, self_assign = _obj_0.Indent, _obj_0.Cut, _obj_0.ensure, _obj_0.extract_line, _obj_0.mark, _obj_0.pos, _obj_0.flatten_or_mark, _obj_0.is_assignable, _obj_0.check_assignable, _obj_0.format_assign, _obj_0.format_single_assign, _obj_0.sym, _obj_0.symx, _obj_0.simple_string, _obj_0.wrap_func_arg, _obj_0.join_chain, _obj_0.wrap_decorator, _obj_0.check_lua_string, _obj_0.self_assign
|
33
|
+
Indent, Cut, ensure, extract_line, mark, pos, flatten_or_mark, is_assignable, check_assignable, format_assign, format_single_assign, sym, symx, simple_string, wrap_func_arg, join_chain, wrap_decorator, check_lua_string, self_assign, got = _obj_0.Indent, _obj_0.Cut, _obj_0.ensure, _obj_0.extract_line, _obj_0.mark, _obj_0.pos, _obj_0.flatten_or_mark, _obj_0.is_assignable, _obj_0.check_assignable, _obj_0.format_assign, _obj_0.format_single_assign, _obj_0.sym, _obj_0.symx, _obj_0.simple_string, _obj_0.wrap_func_arg, _obj_0.join_chain, _obj_0.wrap_decorator, _obj_0.check_lua_string, _obj_0.self_assign, _obj_0.got
|
34
34
|
end
|
35
35
|
local build_grammar = wrap_env(debug_grammar, function(root)
|
36
36
|
local _indent = Stack(0)
|
@@ -110,10 +110,10 @@ local build_grammar = wrap_env(debug_grammar, function(root)
|
|
110
110
|
File = Shebang ^ -1 * (Block + Ct("")),
|
111
111
|
Block = Ct(Line * (Break ^ 1 * Line) ^ 0),
|
112
112
|
CheckIndent = Cmt(Indent, check_indent),
|
113
|
-
Line = (CheckIndent * Statement + Space *
|
113
|
+
Line = (CheckIndent * Statement + Space * L(Stop)),
|
114
114
|
Statement = pos(Import + While + With + For + ForEach + Switch + Return + Local + Export + BreakLoop + Ct(ExpList) * (Update + Assign) ^ -1 / format_assign) * Space * ((key("if") * Exp * (key("else") * Exp) ^ -1 * Space / mark("if") + key("unless") * Exp / mark("unless") + CompInner / mark("comprehension")) * Space) ^ -1 / wrap_decorator,
|
115
115
|
Body = Space ^ -1 * Break * EmptyLine ^ 0 * InBlock + Ct(Statement),
|
116
|
-
Advance =
|
116
|
+
Advance = L(Cmt(Indent, advance_indent)),
|
117
117
|
PushIndent = Cmt(Indent, push_indent),
|
118
118
|
PreventIndent = Cmt(Cc(-1), push_indent),
|
119
119
|
PopIndent = Cmt("", pop_indent),
|
@@ -131,8 +131,10 @@ local build_grammar = wrap_env(debug_grammar, function(root)
|
|
131
131
|
SwitchCase = key("when") * Ct(ExpList) * key("then") ^ -1 * Body / mark("case"),
|
132
132
|
SwitchElse = key("else") * Body / mark("else"),
|
133
133
|
IfCond = Exp * Assign ^ -1 / format_single_assign,
|
134
|
-
|
135
|
-
|
134
|
+
IfElse = (Break * EmptyLine ^ 0 * CheckIndent) ^ -1 * key("else") * Body / mark("else"),
|
135
|
+
IfElseIf = (Break * EmptyLine ^ 0 * CheckIndent) ^ -1 * key("elseif") * pos(IfCond) * key("then") ^ -1 * Body / mark("elseif"),
|
136
|
+
If = key("if") * IfCond * key("then") ^ -1 * Body * IfElseIf ^ 0 * IfElse ^ -1 / mark("if"),
|
137
|
+
Unless = key("unless") * IfCond * key("then") ^ -1 * Body * IfElseIf ^ 0 * IfElse ^ -1 / mark("unless"),
|
136
138
|
While = key("while") * DisableDo * ensure(Exp, PopDo) * key("do") ^ -1 * Body / mark("while"),
|
137
139
|
For = key("for") * DisableDo * ensure(Name * sym("=") * Ct(Exp * sym(",") * Exp * (sym(",") * Exp) ^ -1), PopDo) * key("do") ^ -1 * Body / mark("for"),
|
138
140
|
ForEach = key("for") * Ct(AssignableNameList) * key("in") * DisableDo * ensure(Ct(sym("*") * Exp / mark("unpack") + ExpList), PopDo) * key("do") ^ -1 * Body / mark("foreach"),
|
@@ -140,20 +142,20 @@ local build_grammar = wrap_env(debug_grammar, function(root)
|
|
140
142
|
Comprehension = sym("[") * Exp * CompInner * sym("]") / mark("comprehension"),
|
141
143
|
TblComprehension = sym("{") * Ct(Exp * (sym(",") * Exp) ^ -1) * CompInner * sym("}") / mark("tblcomprehension"),
|
142
144
|
CompInner = Ct((CompForEach + CompFor) * CompClause ^ 0),
|
143
|
-
CompForEach = key("for") * Ct(
|
145
|
+
CompForEach = key("for") * Ct(AssignableNameList) * key("in") * (sym("*") * Exp / mark("unpack") + Exp) / mark("foreach"),
|
144
146
|
CompFor = key("for" * Name * sym("=") * Ct(Exp * sym(",") * Exp * (sym(",") * Exp) ^ -1) / mark("for")),
|
145
147
|
CompClause = CompFor + CompForEach + key("when") * Exp / mark("when"),
|
146
148
|
Assign = sym("=") * (Ct(With + If + Switch) + Ct(TableBlock + ExpListLow)) / mark("assign"),
|
147
|
-
Update = ((sym("..=") + sym("+=") + sym("-=") + sym("*=") + sym("/=") + sym("%=") + sym("or=") + sym("and=")) / trim) * Exp / mark("update"),
|
148
|
-
CharOperators = Space * C(S("
|
149
|
-
WordOperators = op("or") + op("and") + op("<=") + op(">=") + op("~=") + op("!=") + op("==") + op(".."),
|
149
|
+
Update = ((sym("..=") + sym("+=") + sym("-=") + sym("*=") + sym("/=") + sym("%=") + sym("or=") + sym("and=") + sym("&=") + sym("|=") + sym(">>=") + sym("<<=")) / trim) * Exp / mark("update"),
|
150
|
+
CharOperators = Space * C(S("+-*/%^><|&")),
|
151
|
+
WordOperators = op("or") + op("and") + op("<=") + op(">=") + op("~=") + op("!=") + op("==") + op("..") + op("<<") + op(">>") + op("//"),
|
150
152
|
BinaryOperator = (WordOperators + CharOperators) * SpaceBreak ^ 0,
|
151
153
|
Assignable = Cmt(Chain, check_assignable) + Name + SelfName,
|
152
154
|
Exp = Ct(Value * (BinaryOperator * Value) ^ 0) / flatten_or_mark("exp"),
|
153
|
-
SimpleValue = If + Unless + Switch + With + ClassDecl + ForEach + For + While + Cmt(Do, check_do) + sym("-") * -SomeSpace * Exp / mark("minus") + sym("#") * Exp / mark("length") + key("not") * Exp / mark("not") + TblComprehension + TableLit + Comprehension + FunLit + Num,
|
155
|
+
SimpleValue = If + Unless + Switch + With + ClassDecl + ForEach + For + While + Cmt(Do, check_do) + sym("-") * -SomeSpace * Exp / mark("minus") + sym("#") * Exp / mark("length") + sym("~") * Exp / mark("bitnot") + key("not") * Exp / mark("not") + TblComprehension + TableLit + Comprehension + FunLit + Num,
|
154
156
|
ChainValue = (Chain + Callable) * Ct(InvokeArgs ^ -1) / join_chain,
|
155
157
|
Value = pos(SimpleValue + Ct(KeyValueList) / mark("table") + ChainValue + String),
|
156
|
-
SliceValue =
|
158
|
+
SliceValue = Exp,
|
157
159
|
String = Space * DoubleString + Space * SingleString + LuaString,
|
158
160
|
SingleString = simple_string("'"),
|
159
161
|
DoubleString = simple_string('"', true),
|
@@ -162,7 +164,8 @@ local build_grammar = wrap_env(debug_grammar, function(root)
|
|
162
164
|
LuaStringClose = "]" * P("=") ^ 0 * "]",
|
163
165
|
Callable = pos(Name / mark("ref")) + SelfName + VarArg + Parens / mark("parens"),
|
164
166
|
Parens = sym("(") * SpaceBreak ^ 0 * Exp * SpaceBreak ^ 0 * sym(")"),
|
165
|
-
FnArgs = symx("(") * SpaceBreak ^ 0 * Ct(
|
167
|
+
FnArgs = symx("(") * SpaceBreak ^ 0 * Ct(FnArgsExpList ^ -1) * SpaceBreak ^ 0 * sym(")") + sym("!") * -P("=") * Ct(""),
|
168
|
+
FnArgsExpList = Exp * ((Break + sym(",")) * White * Exp) ^ 0,
|
166
169
|
Chain = (Callable + String + -S(".\\")) * ChainItems / mark("chain") + Space * (DotChainItem * ChainItems ^ -1 + ColonChain) / mark("chain"),
|
167
170
|
ChainItems = ChainItem ^ 1 * ColonChain ^ -1 + ColonChain,
|
168
171
|
ChainItem = Invoke + DotChainItem + Slice + symx("[") * Exp / mark("index") * sym("]"),
|
@@ -170,7 +173,7 @@ local build_grammar = wrap_env(debug_grammar, function(root)
|
|
170
173
|
ColonChainItem = symx("\\") * _Name / mark("colon"),
|
171
174
|
ColonChain = ColonChainItem * (Invoke * ChainItems ^ -1) ^ -1,
|
172
175
|
Slice = symx("[") * (SliceValue + Cc(1)) * sym(",") * (SliceValue + Cc("")) * (sym(",") * SliceValue) ^ -1 * sym("]") / mark("slice"),
|
173
|
-
Invoke = FnArgs / mark("call") + SingleString / wrap_func_arg + DoubleString / wrap_func_arg +
|
176
|
+
Invoke = FnArgs / mark("call") + SingleString / wrap_func_arg + DoubleString / wrap_func_arg + L(P("[")) * LuaString / wrap_func_arg,
|
174
177
|
TableValue = KeyValue + Ct(Exp),
|
175
178
|
TableLit = sym("{") * Ct(TableValueList ^ -1 * sym(",") ^ -1 * (SpaceBreak * TableLitLine * (sym(",") ^ -1 * SpaceBreak * TableLitLine) ^ 0 * sym(",") ^ -1) ^ -1) * White * sym("}") / mark("table"),
|
176
179
|
TableValueList = TableValue * (sym(",") * TableValue) ^ 0,
|
@@ -181,11 +184,11 @@ local build_grammar = wrap_env(debug_grammar, function(root)
|
|
181
184
|
ClassBlock = SpaceBreak ^ 1 * Advance * Ct(ClassLine * (SpaceBreak ^ 1 * ClassLine) ^ 0) * PopIndent,
|
182
185
|
ClassLine = CheckIndent * ((KeyValueList / mark("props") + Statement / mark("stm") + Exp / mark("stm")) * sym(",") ^ -1),
|
183
186
|
Export = key("export") * (Cc("class") * ClassDecl + op("*") + op("^") + Ct(NameList) * (sym("=") * Ct(ExpListLow)) ^ -1) / mark("export"),
|
184
|
-
KeyValue = (sym(":") * -SomeSpace * Name * lpeg.Cp()) / self_assign + Ct((KeyName + sym("[") * Exp * sym("]") + DoubleString + SingleString) * symx(":") * (Exp + TableBlock + SpaceBreak ^ 1 * Exp)),
|
187
|
+
KeyValue = (sym(":") * -SomeSpace * Name * lpeg.Cp()) / self_assign + Ct((KeyName + sym("[") * Exp * sym("]") + Space * DoubleString + Space * SingleString) * symx(":") * (Exp + TableBlock + SpaceBreak ^ 1 * Exp)),
|
185
188
|
KeyValueList = KeyValue * (sym(",") * KeyValue) ^ 0,
|
186
189
|
KeyValueLine = CheckIndent * KeyValueList * sym(",") ^ -1,
|
187
|
-
FnArgsDef = sym("(") * Ct(FnArgDefList ^ -1) * (key("using") * Ct(NameList + Space * "nil") + Ct("")) * sym(")") + Ct("") * Ct(""),
|
188
|
-
FnArgDefList = FnArgDef * (sym(",") * FnArgDef) ^ 0 * (sym(",") * Ct(VarArg)) ^ 0 + Ct(VarArg),
|
190
|
+
FnArgsDef = sym("(") * White * Ct(FnArgDefList ^ -1) * (key("using") * Ct(NameList + Space * "nil") + Ct("")) * White * sym(")") + Ct("") * Ct(""),
|
191
|
+
FnArgDefList = FnArgDef * ((sym(",") + Break) * White * FnArgDef) ^ 0 * ((sym(",") + Break) * White * Ct(VarArg)) ^ 0 + Ct(VarArg),
|
189
192
|
FnArgDef = Ct((Name + SelfName) * (sym("=") * Exp) ^ -1),
|
190
193
|
FunLit = FnArgsDef * (sym("->") * Cc("slim") + sym("=>") * Cc("fat")) * (Body + Ct("")) / mark("fndef"),
|
191
194
|
NameList = Name * (sym(",") * Name) ^ 0,
|
@@ -5,11 +5,15 @@ do
|
|
5
5
|
local _obj_0 = require("lpeg")
|
6
6
|
S, P, R, C = _obj_0.S, _obj_0.P, _obj_0.R, _obj_0.C
|
7
7
|
end
|
8
|
+
local lpeg = require("lpeg")
|
9
|
+
local L = lpeg.luversion and lpeg.L or function(v)
|
10
|
+
return #v
|
11
|
+
end
|
8
12
|
local White = S(" \t\r\n") ^ 0
|
9
13
|
local plain_space = S(" \t") ^ 0
|
10
14
|
local Break = P("\r") ^ -1 * P("\n")
|
11
15
|
local Stop = Break + -1
|
12
|
-
local Comment = P("--") * (1 - S("\r\n")) ^ 0 *
|
16
|
+
local Comment = P("--") * (1 - S("\r\n")) ^ 0 * L(Stop)
|
13
17
|
local Space = plain_space * Comment ^ -1
|
14
18
|
local SomeSpace = S(" \t") ^ 1 * Comment ^ -1
|
15
19
|
local SpaceBreak = Space * Break
|
@@ -19,6 +23,7 @@ local Name = C(R("az", "AZ", "__") * AlphaNum ^ 0)
|
|
19
23
|
local Num = P("0x") * R("09", "af", "AF") ^ 1 * (S("uU") ^ -1 * S("lL") ^ 2) ^ -1 + R("09") ^ 1 * (S("uU") ^ -1 * S("lL") ^ 2) + (R("09") ^ 1 * (P(".") * R("09") ^ 1) ^ -1 + P(".") * R("09") ^ 1) * (S("eE") * P("-") ^ -1 * R("09") ^ 1) ^ -1
|
20
24
|
local Shebang = P("#!") * P(1 - Stop) ^ 0
|
21
25
|
return safe_module("moonscript.parse.literals", {
|
26
|
+
L = L,
|
22
27
|
White = White,
|
23
28
|
Break = Break,
|
24
29
|
Stop = Stop,
|
@@ -41,6 +41,58 @@ extract_line = function(str, start_pos)
|
|
41
41
|
end
|
42
42
|
return str:match("^.-$")
|
43
43
|
end
|
44
|
+
local show_line_position
|
45
|
+
show_line_position = function(str, pos, context)
|
46
|
+
if context == nil then
|
47
|
+
context = true
|
48
|
+
end
|
49
|
+
local lines = {
|
50
|
+
{ }
|
51
|
+
}
|
52
|
+
for c in str:gmatch(".") do
|
53
|
+
lines[#lines] = lines[#lines] or { }
|
54
|
+
table.insert(lines[#lines], c)
|
55
|
+
if c == "\n" then
|
56
|
+
lines[#lines + 1] = { }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
for i, line in ipairs(lines) do
|
60
|
+
lines[i] = table.concat(line)
|
61
|
+
end
|
62
|
+
local out
|
63
|
+
local remaining = pos - 1
|
64
|
+
for k, line in ipairs(lines) do
|
65
|
+
if remaining < #line then
|
66
|
+
local left = line:sub(1, remaining)
|
67
|
+
local right = line:sub(remaining + 1)
|
68
|
+
out = {
|
69
|
+
tostring(left) .. "◉" .. tostring(right)
|
70
|
+
}
|
71
|
+
if context then
|
72
|
+
do
|
73
|
+
local before = lines[k - 1]
|
74
|
+
if before then
|
75
|
+
table.insert(out, 1, before)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
do
|
79
|
+
local after = lines[k + 1]
|
80
|
+
if after then
|
81
|
+
table.insert(out, after)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
break
|
86
|
+
else
|
87
|
+
remaining = remaining - #line
|
88
|
+
end
|
89
|
+
end
|
90
|
+
if not (out) then
|
91
|
+
return "-"
|
92
|
+
end
|
93
|
+
out = table.concat(out)
|
94
|
+
return (out:gsub("\n*$", ""))
|
95
|
+
end
|
44
96
|
local mark
|
45
97
|
mark = function(name)
|
46
98
|
return function(...)
|
@@ -60,9 +112,12 @@ pos = function(patt)
|
|
60
112
|
end
|
61
113
|
end
|
62
114
|
local got
|
63
|
-
got = function(what)
|
115
|
+
got = function(what, context)
|
116
|
+
if context == nil then
|
117
|
+
context = true
|
118
|
+
end
|
64
119
|
return Cmt("", function(str, pos)
|
65
|
-
print("++ got " .. tostring(what), "[" .. tostring(
|
120
|
+
print("++ got " .. tostring(what), "[" .. tostring(show_line_position(str, pos, context)) .. "]")
|
66
121
|
return true
|
67
122
|
end)
|
68
123
|
end
|
@@ -245,5 +300,7 @@ return {
|
|
245
300
|
join_chain = join_chain,
|
246
301
|
wrap_decorator = wrap_decorator,
|
247
302
|
check_lua_string = check_lua_string,
|
248
|
-
self_assign = self_assign
|
303
|
+
self_assign = self_assign,
|
304
|
+
got = got,
|
305
|
+
show_line_position = show_line_position
|
249
306
|
}
|
@@ -106,7 +106,7 @@ super_scope = function(value, t, key)
|
|
106
106
|
}
|
107
107
|
end
|
108
108
|
return function(self, node, ret, parent_assign)
|
109
|
-
local
|
109
|
+
local name, parent_val, body = unpack(node, 2)
|
110
110
|
if parent_val == "" then
|
111
111
|
parent_val = nil
|
112
112
|
end
|
@@ -101,7 +101,18 @@ do
|
|
101
101
|
_base_0.__class = _class_0
|
102
102
|
NameProxy = _class_0
|
103
103
|
end
|
104
|
+
local is_name_proxy
|
105
|
+
is_name_proxy = function(v)
|
106
|
+
if not (type(v) == "table") then
|
107
|
+
return false
|
108
|
+
end
|
109
|
+
local _exp_0 = v.__class
|
110
|
+
if LocalName == _exp_0 or NameProxy == _exp_0 then
|
111
|
+
return true
|
112
|
+
end
|
113
|
+
end
|
104
114
|
return {
|
105
115
|
NameProxy = NameProxy,
|
106
|
-
LocalName = LocalName
|
116
|
+
LocalName = LocalName,
|
117
|
+
is_name_proxy = is_name_proxy
|
107
118
|
}
|
@@ -1,7 +1,10 @@
|
|
1
1
|
local Transformer
|
2
2
|
Transformer = require("moonscript.transform.transformer").Transformer
|
3
|
-
local NameProxy
|
4
|
-
|
3
|
+
local NameProxy, LocalName, is_name_proxy
|
4
|
+
do
|
5
|
+
local _obj_0 = require("moonscript.transform.names")
|
6
|
+
NameProxy, LocalName, is_name_proxy = _obj_0.NameProxy, _obj_0.LocalName, _obj_0.is_name_proxy
|
7
|
+
end
|
5
8
|
local Run, transform_last_stm, implicitly_return, last_stm
|
6
9
|
do
|
7
10
|
local _obj_0 = require("moonscript.transform.statements")
|
@@ -201,7 +204,13 @@ return Transformer({
|
|
201
204
|
local _continue_0 = false
|
202
205
|
repeat
|
203
206
|
local name = names[_index_0]
|
204
|
-
|
207
|
+
local str_name
|
208
|
+
if ntype(name) == "ref" then
|
209
|
+
str_name = name[2]
|
210
|
+
else
|
211
|
+
str_name = name
|
212
|
+
end
|
213
|
+
if not (str_name:match("^%u")) then
|
205
214
|
_continue_0 = true
|
206
215
|
break
|
207
216
|
end
|
@@ -339,7 +348,7 @@ return Transformer({
|
|
339
348
|
end
|
340
349
|
end,
|
341
350
|
update = function(self, node)
|
342
|
-
local
|
351
|
+
local name, op, exp = unpack(node, 2)
|
343
352
|
local op_final = op:match("^(.+)=$")
|
344
353
|
if not op_final then
|
345
354
|
error("Unknown op: " .. op)
|
@@ -358,7 +367,7 @@ return Transformer({
|
|
358
367
|
})
|
359
368
|
end,
|
360
369
|
import = function(self, node)
|
361
|
-
local
|
370
|
+
local names, source = unpack(node, 2)
|
362
371
|
local table_values
|
363
372
|
do
|
364
373
|
local _accum_0 = { }
|
@@ -399,7 +408,7 @@ return Transformer({
|
|
399
408
|
}
|
400
409
|
end,
|
401
410
|
comprehension = function(self, node, action)
|
402
|
-
local
|
411
|
+
local exp, clauses = unpack(node, 2)
|
403
412
|
action = action or function(exp)
|
404
413
|
return {
|
405
414
|
exp
|
@@ -475,21 +484,39 @@ return Transformer({
|
|
475
484
|
return wrapped
|
476
485
|
end,
|
477
486
|
unless = function(self, node)
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
"not"
|
487
|
+
local clause = node[2]
|
488
|
+
if ntype(clause) == "assign" then
|
489
|
+
if destructure.has_destructure(clause[2]) then
|
490
|
+
error("destructure not allowed in unless assignment")
|
491
|
+
end
|
492
|
+
return build["do"]({
|
493
|
+
clause,
|
482
494
|
{
|
483
|
-
"
|
484
|
-
|
495
|
+
"if",
|
496
|
+
{
|
497
|
+
"not",
|
498
|
+
clause[2][1]
|
499
|
+
},
|
500
|
+
unpack(node, 3)
|
485
501
|
}
|
486
|
-
}
|
487
|
-
|
488
|
-
|
502
|
+
})
|
503
|
+
else
|
504
|
+
return {
|
505
|
+
"if",
|
506
|
+
{
|
507
|
+
"not",
|
508
|
+
{
|
509
|
+
"parens",
|
510
|
+
clause
|
511
|
+
}
|
512
|
+
},
|
513
|
+
unpack(node, 3)
|
514
|
+
}
|
515
|
+
end
|
489
516
|
end,
|
490
517
|
["if"] = function(self, node, ret)
|
491
518
|
if ntype(node[2]) == "assign" then
|
492
|
-
local
|
519
|
+
local assign, body = unpack(node, 2)
|
493
520
|
if destructure.has_destructure(assign[2]) then
|
494
521
|
local name = NameProxy("des")
|
495
522
|
body = {
|
@@ -649,6 +676,18 @@ return Transformer({
|
|
649
676
|
}
|
650
677
|
}
|
651
678
|
end
|
679
|
+
local names
|
680
|
+
do
|
681
|
+
local _accum_0 = { }
|
682
|
+
local _len_0 = 1
|
683
|
+
local _list_0 = node.names
|
684
|
+
for _index_0 = 1, #_list_0 do
|
685
|
+
local n = _list_0[_index_0]
|
686
|
+
_accum_0[_len_0] = is_name_proxy(n) and n or LocalName(n) or n
|
687
|
+
_len_0 = _len_0 + 1
|
688
|
+
end
|
689
|
+
names = _accum_0
|
690
|
+
end
|
652
691
|
return build.group({
|
653
692
|
list_name ~= list and build.assign_one(list_name, list) or NOOP,
|
654
693
|
slice_var or NOOP,
|
@@ -658,7 +697,7 @@ return Transformer({
|
|
658
697
|
body = {
|
659
698
|
{
|
660
699
|
"assign",
|
661
|
-
|
700
|
+
names,
|
662
701
|
{
|
663
702
|
NameProxy.index(list_name, index_name)
|
664
703
|
}
|
@@ -679,7 +718,7 @@ return Transformer({
|
|
679
718
|
node.body = with_continue_listener(node.body)
|
680
719
|
end,
|
681
720
|
switch = function(self, node, ret)
|
682
|
-
local
|
721
|
+
local exp, conds = unpack(node, 2)
|
683
722
|
local exp_name = NameProxy("exp")
|
684
723
|
local convert_cond
|
685
724
|
convert_cond = function(cond)
|
@@ -89,7 +89,7 @@ return Transformer({
|
|
89
89
|
return a:wrap(node)
|
90
90
|
end,
|
91
91
|
tblcomprehension = function(self, node)
|
92
|
-
local
|
92
|
+
local explist, clauses = unpack(node, 2)
|
93
93
|
local key_exp, value_exp = unpack(explist)
|
94
94
|
local accum = NameProxy("tbl")
|
95
95
|
local inner
|
@@ -234,7 +234,7 @@ return Transformer({
|
|
234
234
|
end
|
235
235
|
end,
|
236
236
|
block_exp = function(self, node)
|
237
|
-
local
|
237
|
+
local body = unpack(node, 2)
|
238
238
|
local fn = nil
|
239
239
|
local arg_list = { }
|
240
240
|
fn = smart_node(build.fndef({
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rufus-lua-moon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stas Ukolov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: appveyor-worker
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rufus-lua
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,9 +92,11 @@ files:
|
|
106
92
|
- vendor/leafo/moon/all.moon
|
107
93
|
- vendor/leafo/moon/init.moon
|
108
94
|
- vendor/leafo/moonscript/base.lua
|
95
|
+
- vendor/leafo/moonscript/cmd/args.lua
|
109
96
|
- vendor/leafo/moonscript/cmd/coverage.lua
|
110
97
|
- vendor/leafo/moonscript/cmd/lint.lua
|
111
98
|
- vendor/leafo/moonscript/cmd/moonc.lua
|
99
|
+
- vendor/leafo/moonscript/cmd/watchers.lua
|
112
100
|
- vendor/leafo/moonscript/compile.lua
|
113
101
|
- vendor/leafo/moonscript/compile/statement.lua
|
114
102
|
- vendor/leafo/moonscript/compile/value.lua
|
@@ -154,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
142
|
version: '0'
|
155
143
|
requirements: []
|
156
144
|
rubyforge_project:
|
157
|
-
rubygems_version: 2.
|
145
|
+
rubygems_version: 2.6.7
|
158
146
|
signing_key:
|
159
147
|
specification_version: 4
|
160
148
|
summary: ''
|