mochiscript 0.4.3.pre1 → 0.4.3.pre2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/mochiscript/core.rb +23 -17
- data/lib/mochiscript.rb +1 -1
- data/vendor/assets/javascripts/mochiscript.js +8 -5
- metadata +5 -5
data/lib/mochiscript/core.rb
CHANGED
@@ -241,7 +241,7 @@ var JS2 = $m;
|
|
241
241
|
});
|
242
242
|
|
243
243
|
$m.out = function () {
|
244
|
-
for (
|
244
|
+
for (i=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[i])||i<_len_0;i++){
|
245
245
|
$m.ADAPTER.out(arg);
|
246
246
|
if (i < arguments.length-1) {
|
247
247
|
$m.ADAPTER.out(',');
|
@@ -250,7 +250,7 @@ var JS2 = $m;
|
|
250
250
|
};
|
251
251
|
|
252
252
|
$m.outs = function () {
|
253
|
-
for (
|
253
|
+
for (_i_0=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
254
254
|
$m.ADAPTER.outs(arg);
|
255
255
|
}
|
256
256
|
};
|
@@ -269,7 +269,8 @@ $m.Class.extend("JSML", function(KLASS, OO){
|
|
269
269
|
this.root = new $c.JSMLElement();
|
270
270
|
this.stack = [ this.root ];
|
271
271
|
|
272
|
-
for (var
|
272
|
+
for (var i=0; i<lines.length; i++) {
|
273
|
+
var l = lines[i];
|
273
274
|
if (l.match(/^\s*$/)) continue;
|
274
275
|
this.processLine(l);
|
275
276
|
}
|
@@ -398,9 +399,11 @@ $m.Class.extend("JSMLElement", function(KLASS, OO){
|
|
398
399
|
OO.addMember("flatten", function(){
|
399
400
|
var out = [];
|
400
401
|
|
401
|
-
for (var
|
402
|
+
for (var i=0; i<this.children.length; i++) {
|
403
|
+
var c = this.children[i];
|
402
404
|
var arr = c.flatten();
|
403
|
-
for (var
|
405
|
+
for (var j=0; j<arr.length; j++) {
|
406
|
+
var item = arr[j];
|
404
407
|
out.push(item);
|
405
408
|
}
|
406
409
|
}
|
@@ -510,7 +513,7 @@ var REGEXES = [];
|
|
510
513
|
var MAIN_REGEX = null;
|
511
514
|
var RTYPES = {};
|
512
515
|
|
513
|
-
for (
|
516
|
+
for (i=0,t=null,_list_0=TOKENS,_len_0=_list_0.length;(t=_list_0[i])||i<_len_0;i++){
|
514
517
|
TYPES[t[0]] = i;
|
515
518
|
RTYPES[i] = t[0];
|
516
519
|
REGEXES.push("(" + t[1] + ")");
|
@@ -537,7 +540,7 @@ $m.Class.extend("Tokens", function(KLASS, OO){
|
|
537
540
|
var m = this.str.match(MAIN_REGEX);
|
538
541
|
if (!m) return null;
|
539
542
|
|
540
|
-
for (
|
543
|
+
for (i=0,ele=null,_list_0=TOKENS,_len_0=_list_0.length;(ele=_list_0[i])||i<_len_0;i++){
|
541
544
|
if (m[i+1]) return this._peek = [ i, m[i+1], ele[2] ];
|
542
545
|
}
|
543
546
|
});
|
@@ -611,7 +614,6 @@ $m.pp = function (str) {
|
|
611
614
|
};
|
612
615
|
|
613
616
|
|
614
|
-
|
615
617
|
$m.Class.extend("RootParser", function(KLASS, OO){
|
616
618
|
OO.addMember("handlers", {});
|
617
619
|
|
@@ -673,7 +675,8 @@ $m.Class.extend("RootParser", function(KLASS, OO){
|
|
673
675
|
|
674
676
|
OO.addMember("toString", function(){
|
675
677
|
var ret = [];
|
676
|
-
for (var
|
678
|
+
for (var i=0; i<this.out.length; i++) {
|
679
|
+
var ele = this.out[i];
|
677
680
|
ret.push(ele === undefined ? '' : ele.toString());
|
678
681
|
}
|
679
682
|
return ret.join("");
|
@@ -688,7 +691,7 @@ $m.Class.extend("RootParser", function(KLASS, OO){
|
|
688
691
|
|
689
692
|
var ret = [ space + (this._TYPE || 'NODE') ];
|
690
693
|
var generic = [];
|
691
|
-
for (
|
694
|
+
for (_i_0=0,ele=null,_list_0=this.out,_len_0=_list_0.length;(ele=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
692
695
|
if (ele === undefined) {
|
693
696
|
ret.push(space + " UNDEFINED!");
|
694
697
|
continue;
|
@@ -716,7 +719,7 @@ $m.Class.extend("RootParser", function(KLASS, OO){
|
|
716
719
|
|
717
720
|
OO.addMember("toStruct", function(){
|
718
721
|
var ret = [];
|
719
|
-
for (
|
722
|
+
for (_i_0=0,ele=null,_list_0=this.out,_len_0=_list_0.length;(ele=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
720
723
|
ret.push(ele.toStruct ? ele.toStruct() : ele);
|
721
724
|
}
|
722
725
|
return ret;
|
@@ -956,22 +959,25 @@ RootParser.extend("HereDocParser", function(KLASS, OO){
|
|
956
959
|
|
957
960
|
|
958
961
|
OO.addMember("parse", function(tokens){
|
959
|
-
var beginning
|
962
|
+
var beginning = tokens.match(/^<<(\w+)(?::(\w+))?\s*([;\)])*\n/);
|
963
|
+
var terminator = beginning[1];
|
964
|
+
|
960
965
|
tokens.consume(beginning[0].length);
|
961
966
|
|
962
|
-
var spacing
|
967
|
+
var spacing = tokens.match(/^(\s*)/);
|
963
968
|
var regexSub = new RegExp("^" + (spacing[0] || ''), "mg");
|
964
969
|
|
965
|
-
|
966
|
-
var strMatch = tokens.match(new RegExp("^([\\s\\S]*?)\\n\\s*" + beginning[1] + "\\s*\\n"));
|
970
|
+
var strMatch = tokens.match(new RegExp("^([\\s\\S]*?)\\n\\s*" + terminator + "\\b"));
|
967
971
|
var toParse = strMatch[1] || '';
|
968
972
|
|
969
973
|
toParse = toParse.replace(regexSub, '');
|
970
974
|
toParse = toParse.replace(/\n/g, "\\n");
|
971
975
|
|
972
|
-
|
976
|
+
// TODO handle options for interpolation
|
977
|
+
var string = '"' + toParse.replace(/"/g, '\\"') + '"';
|
973
978
|
tokens.consume(strMatch[0] ? strMatch[0].length : 0);
|
974
979
|
|
980
|
+
// TODO put this in register
|
975
981
|
if (beginning[2]) {
|
976
982
|
this.out = [ '$m.JSML.process(', string, ')', beginning[3] || ';' ];
|
977
983
|
} else {
|
@@ -1130,7 +1136,7 @@ $m.Class.extend("CLI", function(KLASS, OO){
|
|
1130
1136
|
|
1131
1137
|
var endedArgs = false;
|
1132
1138
|
|
1133
|
-
for (
|
1139
|
+
for (i=0,arg=null,_list_0=args,_len_0=_list_0.length;(arg=_list_0[i])||i<_len_0;i++){
|
1134
1140
|
if (endedArgs) {
|
1135
1141
|
files.push(arg);
|
1136
1142
|
}
|
data/lib/mochiscript.rb
CHANGED
@@ -204,7 +204,7 @@ window.$m = $m;
|
|
204
204
|
});
|
205
205
|
|
206
206
|
$m.out = function () {
|
207
|
-
for (
|
207
|
+
for (i=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[i])||i<_len_0;i++){
|
208
208
|
$m.ADAPTER.out(arg);
|
209
209
|
if (i < arguments.length-1) {
|
210
210
|
$m.ADAPTER.out(',');
|
@@ -213,7 +213,7 @@ window.$m = $m;
|
|
213
213
|
};
|
214
214
|
|
215
215
|
$m.outs = function () {
|
216
|
-
for (
|
216
|
+
for (_i_0=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
217
217
|
$m.ADAPTER.outs(arg);
|
218
218
|
}
|
219
219
|
};
|
@@ -232,7 +232,8 @@ $m.Class.extend("JSML", function(KLASS, OO){
|
|
232
232
|
this.root = new $c.JSMLElement();
|
233
233
|
this.stack = [ this.root ];
|
234
234
|
|
235
|
-
for (var
|
235
|
+
for (var i=0; i<lines.length; i++) {
|
236
|
+
var l = lines[i];
|
236
237
|
if (l.match(/^\s*$/)) continue;
|
237
238
|
this.processLine(l);
|
238
239
|
}
|
@@ -361,9 +362,11 @@ $m.Class.extend("JSMLElement", function(KLASS, OO){
|
|
361
362
|
OO.addMember("flatten", function(){
|
362
363
|
var out = [];
|
363
364
|
|
364
|
-
for (var
|
365
|
+
for (var i=0; i<this.children.length; i++) {
|
366
|
+
var c = this.children[i];
|
365
367
|
var arr = c.flatten();
|
366
|
-
for (var
|
368
|
+
for (var j=0; j<arr.length; j++) {
|
369
|
+
var item = arr[j];
|
367
370
|
out.push(item);
|
368
371
|
}
|
369
372
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mochiscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.3.
|
4
|
+
version: 0.4.3.pre2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-11-14 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: therubyracer
|
16
|
-
requirement: &
|
16
|
+
requirement: &70119397417580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70119397417580
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70119397416740 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70119397416740
|
36
36
|
description: Javascript Dessert
|
37
37
|
email:
|
38
38
|
- me@jeffsu.com
|