codemirror-rails 2.32 → 2.33
Sign up to get free protection for your applications and to get access to all the features.
- data/codemirror-rails.gemspec +1 -1
- data/lib/codemirror/rails/version.rb +2 -2
- data/vendor/assets/javascripts/codemirror.js +355 -349
- data/vendor/assets/javascripts/codemirror/keymaps/vim.js +6 -5
- data/vendor/assets/javascripts/codemirror/modes/clike.js +6 -2
- data/vendor/assets/javascripts/codemirror/modes/clojure.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/coffeescript.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/css.js +52 -2
- data/vendor/assets/javascripts/codemirror/modes/ecl.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/gfm.js +4 -3
- data/vendor/assets/javascripts/codemirror/modes/go.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/groovy.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/haskell.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/haxe.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/htmlembedded.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/javascript.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/less.js +94 -60
- data/vendor/assets/javascripts/codemirror/modes/markdown.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/ntriples.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/ocaml.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/pascal.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/perl.js +71 -71
- data/vendor/assets/javascripts/codemirror/modes/php.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/pig.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/python.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/scheme.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/shell.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/sieve.js +156 -0
- data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/smarty.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/stex.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/tiki.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/velocity.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/verilog.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/xml.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/xquery.js +7 -4
- data/vendor/assets/javascripts/codemirror/utils/dialog.js +4 -1
- data/vendor/assets/javascripts/codemirror/utils/formatting.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/javascript-hint.js +3 -3
- data/vendor/assets/javascripts/codemirror/utils/loadmode.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/multiplex.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/pig-hint.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/runmode.js +8 -4
- data/vendor/assets/javascripts/codemirror/utils/search.js +4 -4
- data/vendor/assets/javascripts/codemirror/utils/searchcursor.js +13 -11
- data/vendor/assets/javascripts/codemirror/utils/simple-hint.js +89 -68
- data/vendor/assets/javascripts/codemirror/utils/xml-hint.js +8 -8
- data/vendor/assets/stylesheets/codemirror.css +15 -11
- metadata +13 -13
@@ -38,6 +38,8 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
|
38
38
|
state.em = false;
|
39
39
|
// Reset STRONG state
|
40
40
|
state.strong = false;
|
41
|
+
// Reset state.quote
|
42
|
+
state.quote = false;
|
41
43
|
if (!htmlFound && state.f == htmlBlock) {
|
42
44
|
state.f = inlineNormal;
|
43
45
|
state.block = blockNormal;
|
@@ -106,7 +108,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
|
106
108
|
}
|
107
109
|
|
108
110
|
function inlineNormal(stream, state) {
|
109
|
-
var style = state.text(stream, state)
|
111
|
+
var style = state.text(stream, state);
|
110
112
|
if (typeof style !== 'undefined')
|
111
113
|
return style;
|
112
114
|
|
@@ -119,7 +121,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
|
119
121
|
if (ch === '`') {
|
120
122
|
return switchInline(stream, state, inlineElement(code, '`'));
|
121
123
|
}
|
122
|
-
if (ch === '[') {
|
124
|
+
if (ch === '[' && stream.match(/.*\](?:\(|\[)/, false)) {
|
123
125
|
return switchInline(stream, state, linkText);
|
124
126
|
}
|
125
127
|
if (ch === '<' && stream.match(/^\w/, false)) {
|
@@ -246,8 +248,6 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
|
246
248
|
|
247
249
|
// Reset state.header
|
248
250
|
state.header = false;
|
249
|
-
// Reset state.quote
|
250
|
-
state.quote = false;
|
251
251
|
|
252
252
|
state.f = state.block;
|
253
253
|
var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, ' ').length;
|
@@ -27,7 +27,7 @@
|
|
27
27
|
*/
|
28
28
|
CodeMirror.defineMode("ntriples", function() {
|
29
29
|
|
30
|
-
Location = {
|
30
|
+
var Location = {
|
31
31
|
PRE_SUBJECT : 0,
|
32
32
|
WRITING_SUB_URI : 1,
|
33
33
|
WRITING_BNODE_URI : 2,
|
@@ -87,8 +87,8 @@ CodeMirror.defineMode("ntriples", function() {
|
|
87
87
|
currState.location=ret;
|
88
88
|
}
|
89
89
|
|
90
|
-
untilSpace = function(c) { return c != ' '; };
|
91
|
-
untilEndURI = function(c) { return c != '>'; };
|
90
|
+
var untilSpace = function(c) { return c != ' '; };
|
91
|
+
var untilEndURI = function(c) { return c != '>'; };
|
92
92
|
return {
|
93
93
|
startState: function() {
|
94
94
|
return {
|
@@ -114,7 +114,7 @@ CodeMirror.defineMode("ntriples", function() {
|
|
114
114
|
}
|
115
115
|
if(ch == '#') {
|
116
116
|
var parsedAnchor = '';
|
117
|
-
stream.eatWhile(function(c) { if(c != '>' && c != ' ') { parsedAnchor+= c; return true; } return false});
|
117
|
+
stream.eatWhile(function(c) { if(c != '>' && c != ' ') { parsedAnchor+= c; return true; } return false;});
|
118
118
|
state.anchors.push(parsedAnchor);
|
119
119
|
return 'variable-2';
|
120
120
|
}
|
@@ -103,7 +103,7 @@ CodeMirror.defineMode('ocaml', function(config) {
|
|
103
103
|
}
|
104
104
|
|
105
105
|
return {
|
106
|
-
startState: function() {return {tokenize: tokenBase, commentLevel: 0}},
|
106
|
+
startState: function() {return {tokenize: tokenBase, commentLevel: 0};},
|
107
107
|
token: function(stream, state) {
|
108
108
|
if (stream.eatSpace()) return null;
|
109
109
|
return state.tokenize(stream, state);
|
@@ -477,22 +477,22 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
477
477
|
if(chain[++i]!==undefined){
|
478
478
|
state.chain=chain[i];
|
479
479
|
state.style=style;
|
480
|
-
state.tail=tail}
|
480
|
+
state.tail=tail;}
|
481
481
|
else if(tail)
|
482
482
|
stream.eatWhile(tail);
|
483
483
|
state.tokenize=tokenPerl;
|
484
|
-
return style}
|
485
|
-
e=!e&&c=="\\"}
|
486
|
-
return style};
|
487
|
-
return state.tokenize(stream,state)}
|
484
|
+
return style;}
|
485
|
+
e=!e&&c=="\\";}
|
486
|
+
return style;};
|
487
|
+
return state.tokenize(stream,state);}
|
488
488
|
|
489
489
|
function tokenSOMETHING(stream,state,string){
|
490
490
|
state.tokenize=function(stream,state){
|
491
491
|
if(stream.string==string)
|
492
492
|
state.tokenize=tokenPerl;
|
493
493
|
stream.skipToEnd();
|
494
|
-
return "string"};
|
495
|
-
return state.tokenize(stream,state)}
|
494
|
+
return "string";};
|
495
|
+
return state.tokenize(stream,state);}
|
496
496
|
|
497
497
|
function tokenPerl(stream,state){
|
498
498
|
if(stream.eatSpace())
|
@@ -504,9 +504,9 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
504
504
|
return 'number';
|
505
505
|
if(stream.match(/^<<(?=\w)/)){ // NOTE: <<SOMETHING\n...\nSOMETHING\n
|
506
506
|
stream.eatWhile(/\w/);
|
507
|
-
return tokenSOMETHING(stream,state,stream.current().substr(2))}
|
507
|
+
return tokenSOMETHING(stream,state,stream.current().substr(2));}
|
508
508
|
if(stream.sol()&&stream.match(/^\=item(?!\w)/)){// NOTE: \n=item...\n=cut\n
|
509
|
-
return tokenSOMETHING(stream,state,'=cut')}
|
509
|
+
return tokenSOMETHING(stream,state,'=cut');}
|
510
510
|
var ch=stream.next();
|
511
511
|
if(ch=='"'||ch=="'"){ // NOTE: ' or " or <<'SOMETHING'\n...\nSOMETHING\n or <<"SOMETHING"\n...\nSOMETHING\n
|
512
512
|
if(stream.prefix(3)=="<<"+ch){
|
@@ -515,8 +515,8 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
515
515
|
var n=stream.current().substr(1);
|
516
516
|
if(n&&stream.eat(ch))
|
517
517
|
return tokenSOMETHING(stream,state,n);
|
518
|
-
stream.pos=p}
|
519
|
-
return tokenChain(stream,state,[ch],"string")}
|
518
|
+
stream.pos=p;}
|
519
|
+
return tokenChain(stream,state,[ch],"string");}
|
520
520
|
if(ch=="q"){
|
521
521
|
var c=stream.look(-2);
|
522
522
|
if(!(c&&/\w/.test(c))){
|
@@ -525,100 +525,100 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
525
525
|
c=stream.look(1);
|
526
526
|
if(c=="("){
|
527
527
|
stream.eatSuffix(2);
|
528
|
-
return tokenChain(stream,state,[")"],RXstyle,RXmodifiers)}
|
528
|
+
return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);}
|
529
529
|
if(c=="["){
|
530
530
|
stream.eatSuffix(2);
|
531
|
-
return tokenChain(stream,state,["]"],RXstyle,RXmodifiers)}
|
531
|
+
return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);}
|
532
532
|
if(c=="{"){
|
533
533
|
stream.eatSuffix(2);
|
534
|
-
return tokenChain(stream,state,["}"],RXstyle,RXmodifiers)}
|
534
|
+
return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);}
|
535
535
|
if(c=="<"){
|
536
536
|
stream.eatSuffix(2);
|
537
|
-
return tokenChain(stream,state,[">"],RXstyle,RXmodifiers)}
|
537
|
+
return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}
|
538
538
|
if(/[\^'"!~\/]/.test(c)){
|
539
539
|
stream.eatSuffix(1);
|
540
|
-
return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers)}}
|
540
|
+
return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}}
|
541
541
|
else if(c=="q"){
|
542
542
|
c=stream.look(1);
|
543
543
|
if(c=="("){
|
544
544
|
stream.eatSuffix(2);
|
545
|
-
return tokenChain(stream,state,[")"],"string")}
|
545
|
+
return tokenChain(stream,state,[")"],"string");}
|
546
546
|
if(c=="["){
|
547
547
|
stream.eatSuffix(2);
|
548
|
-
return tokenChain(stream,state,["]"],"string")}
|
548
|
+
return tokenChain(stream,state,["]"],"string");}
|
549
549
|
if(c=="{"){
|
550
550
|
stream.eatSuffix(2);
|
551
|
-
return tokenChain(stream,state,["}"],"string")}
|
551
|
+
return tokenChain(stream,state,["}"],"string");}
|
552
552
|
if(c=="<"){
|
553
553
|
stream.eatSuffix(2);
|
554
|
-
return tokenChain(stream,state,[">"],"string")}
|
554
|
+
return tokenChain(stream,state,[">"],"string");}
|
555
555
|
if(/[\^'"!~\/]/.test(c)){
|
556
556
|
stream.eatSuffix(1);
|
557
|
-
return tokenChain(stream,state,[stream.eat(c)],"string")}}
|
557
|
+
return tokenChain(stream,state,[stream.eat(c)],"string");}}
|
558
558
|
else if(c=="w"){
|
559
559
|
c=stream.look(1);
|
560
560
|
if(c=="("){
|
561
561
|
stream.eatSuffix(2);
|
562
|
-
return tokenChain(stream,state,[")"],"bracket")}
|
562
|
+
return tokenChain(stream,state,[")"],"bracket");}
|
563
563
|
if(c=="["){
|
564
564
|
stream.eatSuffix(2);
|
565
|
-
return tokenChain(stream,state,["]"],"bracket")}
|
565
|
+
return tokenChain(stream,state,["]"],"bracket");}
|
566
566
|
if(c=="{"){
|
567
567
|
stream.eatSuffix(2);
|
568
|
-
return tokenChain(stream,state,["}"],"bracket")}
|
568
|
+
return tokenChain(stream,state,["}"],"bracket");}
|
569
569
|
if(c=="<"){
|
570
570
|
stream.eatSuffix(2);
|
571
|
-
return tokenChain(stream,state,[">"],"bracket")}
|
571
|
+
return tokenChain(stream,state,[">"],"bracket");}
|
572
572
|
if(/[\^'"!~\/]/.test(c)){
|
573
573
|
stream.eatSuffix(1);
|
574
|
-
return tokenChain(stream,state,[stream.eat(c)],"bracket")}}
|
574
|
+
return tokenChain(stream,state,[stream.eat(c)],"bracket");}}
|
575
575
|
else if(c=="r"){
|
576
576
|
c=stream.look(1);
|
577
577
|
if(c=="("){
|
578
578
|
stream.eatSuffix(2);
|
579
|
-
return tokenChain(stream,state,[")"],RXstyle,RXmodifiers)}
|
579
|
+
return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);}
|
580
580
|
if(c=="["){
|
581
581
|
stream.eatSuffix(2);
|
582
|
-
return tokenChain(stream,state,["]"],RXstyle,RXmodifiers)}
|
582
|
+
return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);}
|
583
583
|
if(c=="{"){
|
584
584
|
stream.eatSuffix(2);
|
585
|
-
return tokenChain(stream,state,["}"],RXstyle,RXmodifiers)}
|
585
|
+
return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);}
|
586
586
|
if(c=="<"){
|
587
587
|
stream.eatSuffix(2);
|
588
|
-
return tokenChain(stream,state,[">"],RXstyle,RXmodifiers)}
|
588
|
+
return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}
|
589
589
|
if(/[\^'"!~\/]/.test(c)){
|
590
590
|
stream.eatSuffix(1);
|
591
|
-
return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers)}}
|
591
|
+
return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}}
|
592
592
|
else if(/[\^'"!~\/(\[{<]/.test(c)){
|
593
593
|
if(c=="("){
|
594
594
|
stream.eatSuffix(1);
|
595
|
-
return tokenChain(stream,state,[")"],"string")}
|
595
|
+
return tokenChain(stream,state,[")"],"string");}
|
596
596
|
if(c=="["){
|
597
597
|
stream.eatSuffix(1);
|
598
|
-
return tokenChain(stream,state,["]"],"string")}
|
598
|
+
return tokenChain(stream,state,["]"],"string");}
|
599
599
|
if(c=="{"){
|
600
600
|
stream.eatSuffix(1);
|
601
|
-
return tokenChain(stream,state,["}"],"string")}
|
601
|
+
return tokenChain(stream,state,["}"],"string");}
|
602
602
|
if(c=="<"){
|
603
603
|
stream.eatSuffix(1);
|
604
|
-
return tokenChain(stream,state,[">"],"string")}
|
604
|
+
return tokenChain(stream,state,[">"],"string");}
|
605
605
|
if(/[\^'"!~\/]/.test(c)){
|
606
|
-
return tokenChain(stream,state,[stream.eat(c)],"string")}}}}
|
606
|
+
return tokenChain(stream,state,[stream.eat(c)],"string");}}}}
|
607
607
|
if(ch=="m"){
|
608
608
|
var c=stream.look(-2);
|
609
609
|
if(!(c&&/\w/.test(c))){
|
610
610
|
c=stream.eat(/[(\[{<\^'"!~\/]/);
|
611
611
|
if(c){
|
612
612
|
if(/[\^'"!~\/]/.test(c)){
|
613
|
-
return tokenChain(stream,state,[c],RXstyle,RXmodifiers)}
|
613
|
+
return tokenChain(stream,state,[c],RXstyle,RXmodifiers);}
|
614
614
|
if(c=="("){
|
615
|
-
return tokenChain(stream,state,[")"],RXstyle,RXmodifiers)}
|
615
|
+
return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);}
|
616
616
|
if(c=="["){
|
617
|
-
return tokenChain(stream,state,["]"],RXstyle,RXmodifiers)}
|
617
|
+
return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);}
|
618
618
|
if(c=="{"){
|
619
|
-
return tokenChain(stream,state,["}"],RXstyle,RXmodifiers)}
|
619
|
+
return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);}
|
620
620
|
if(c=="<"){
|
621
|
-
return tokenChain(stream,state,[">"],RXstyle,RXmodifiers)}}}}
|
621
|
+
return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}}}}
|
622
622
|
if(ch=="s"){
|
623
623
|
var c=/[\/>\]})\w]/.test(stream.look(-2));
|
624
624
|
if(!c){
|
@@ -632,7 +632,7 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
632
632
|
return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers);
|
633
633
|
if(c=="(")
|
634
634
|
return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers);
|
635
|
-
return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers)}}}
|
635
|
+
return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}
|
636
636
|
if(ch=="y"){
|
637
637
|
var c=/[\/>\]})\w]/.test(stream.look(-2));
|
638
638
|
if(!c){
|
@@ -646,7 +646,7 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
646
646
|
return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers);
|
647
647
|
if(c=="(")
|
648
648
|
return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers);
|
649
|
-
return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers)}}}
|
649
|
+
return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}
|
650
650
|
if(ch=="t"){
|
651
651
|
var c=/[\/>\]})\w]/.test(stream.look(-2));
|
652
652
|
if(!c){
|
@@ -661,65 +661,65 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
661
661
|
return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers);
|
662
662
|
if(c=="(")
|
663
663
|
return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers);
|
664
|
-
return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers)}}}}
|
664
|
+
return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}}
|
665
665
|
if(ch=="`"){
|
666
|
-
return tokenChain(stream,state,[ch],"variable-2")}
|
666
|
+
return tokenChain(stream,state,[ch],"variable-2");}
|
667
667
|
if(ch=="/"){
|
668
668
|
if(!/~\s*$/.test(stream.prefix()))
|
669
669
|
return "operator";
|
670
670
|
else
|
671
|
-
return tokenChain(stream,state,[ch],RXstyle,RXmodifiers)}
|
671
|
+
return tokenChain(stream,state,[ch],RXstyle,RXmodifiers);}
|
672
672
|
if(ch=="$"){
|
673
673
|
var p=stream.pos;
|
674
674
|
if(stream.eatWhile(/\d/)||stream.eat("{")&&stream.eatWhile(/\d/)&&stream.eat("}"))
|
675
675
|
return "variable-2";
|
676
676
|
else
|
677
|
-
stream.pos=p}
|
677
|
+
stream.pos=p;}
|
678
678
|
if(/[$@%]/.test(ch)){
|
679
679
|
var p=stream.pos;
|
680
680
|
if(stream.eat("^")&&stream.eat(/[A-Z]/)||!/[@$%&]/.test(stream.look(-2))&&stream.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){
|
681
681
|
var c=stream.current();
|
682
682
|
if(PERL[c])
|
683
|
-
return "variable-2"}
|
684
|
-
stream.pos=p}
|
683
|
+
return "variable-2";}
|
684
|
+
stream.pos=p;}
|
685
685
|
if(/[$@%&]/.test(ch)){
|
686
686
|
if(stream.eatWhile(/[\w$\[\]]/)||stream.eat("{")&&stream.eatWhile(/[\w$\[\]]/)&&stream.eat("}")){
|
687
687
|
var c=stream.current();
|
688
688
|
if(PERL[c])
|
689
689
|
return "variable-2";
|
690
690
|
else
|
691
|
-
return "variable"}}
|
691
|
+
return "variable";}}
|
692
692
|
if(ch=="#"){
|
693
693
|
if(stream.look(-2)!="$"){
|
694
694
|
stream.skipToEnd();
|
695
|
-
return "comment"}}
|
695
|
+
return "comment";}}
|
696
696
|
if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(ch)){
|
697
697
|
var p=stream.pos;
|
698
698
|
stream.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/);
|
699
699
|
if(PERL[stream.current()])
|
700
700
|
return "operator";
|
701
701
|
else
|
702
|
-
stream.pos=p}
|
702
|
+
stream.pos=p;}
|
703
703
|
if(ch=="_"){
|
704
704
|
if(stream.pos==1){
|
705
705
|
if(stream.suffix(6)=="_END__"){
|
706
|
-
return tokenChain(stream,state,['\0'],"comment")}
|
706
|
+
return tokenChain(stream,state,['\0'],"comment");}
|
707
707
|
else if(stream.suffix(7)=="_DATA__"){
|
708
|
-
return tokenChain(stream,state,['\0'],"variable-2")}
|
708
|
+
return tokenChain(stream,state,['\0'],"variable-2");}
|
709
709
|
else if(stream.suffix(7)=="_C__"){
|
710
|
-
return tokenChain(stream,state,['\0'],"string")}}}
|
710
|
+
return tokenChain(stream,state,['\0'],"string");}}}
|
711
711
|
if(/\w/.test(ch)){
|
712
712
|
var p=stream.pos;
|
713
713
|
if(stream.look(-2)=="{"&&(stream.look(0)=="}"||stream.eatWhile(/\w/)&&stream.look(0)=="}"))
|
714
714
|
return "string";
|
715
715
|
else
|
716
|
-
stream.pos=p}
|
716
|
+
stream.pos=p;}
|
717
717
|
if(/[A-Z]/.test(ch)){
|
718
718
|
var l=stream.look(-2);
|
719
719
|
var p=stream.pos;
|
720
720
|
stream.eatWhile(/[A-Z_]/);
|
721
721
|
if(/[\da-z]/.test(stream.look(0))){
|
722
|
-
stream.pos=p}
|
722
|
+
stream.pos=p;}
|
723
723
|
else{
|
724
724
|
var c=PERL[stream.current()];
|
725
725
|
if(!c)
|
@@ -738,9 +738,9 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
738
738
|
else if(c==5)
|
739
739
|
return "variable-2";
|
740
740
|
else
|
741
|
-
return "meta"}
|
741
|
+
return "meta";}
|
742
742
|
else
|
743
|
-
return "meta"}}
|
743
|
+
return "meta";}}
|
744
744
|
if(/[a-zA-Z_]/.test(ch)){
|
745
745
|
var l=stream.look(-2);
|
746
746
|
stream.eatWhile(/\w/);
|
@@ -761,10 +761,10 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
761
761
|
else if(c==5)
|
762
762
|
return "variable-2";
|
763
763
|
else
|
764
|
-
return "meta"}
|
764
|
+
return "meta";}
|
765
765
|
else
|
766
|
-
return "meta"}
|
767
|
-
return null}
|
766
|
+
return "meta";}
|
767
|
+
return null;}
|
768
768
|
|
769
769
|
return{
|
770
770
|
startState:function(){
|
@@ -772,37 +772,37 @@ CodeMirror.defineMode("perl",function(config,parserConfig){
|
|
772
772
|
tokenize:tokenPerl,
|
773
773
|
chain:null,
|
774
774
|
style:null,
|
775
|
-
tail:null}},
|
775
|
+
tail:null};},
|
776
776
|
token:function(stream,state){
|
777
|
-
return (state.tokenize||tokenPerl)(stream,state)},
|
778
|
-
electricChars:"{}"}});
|
777
|
+
return (state.tokenize||tokenPerl)(stream,state);},
|
778
|
+
electricChars:"{}"};});
|
779
779
|
|
780
780
|
CodeMirror.defineMIME("text/x-perl", "perl");
|
781
781
|
|
782
782
|
// it's like "peek", but need for look-ahead or look-behind if index < 0
|
783
783
|
CodeMirror.StringStream.prototype.look=function(c){
|
784
|
-
return this.string.charAt(this.pos+(c||0))};
|
784
|
+
return this.string.charAt(this.pos+(c||0));};
|
785
785
|
|
786
786
|
// return a part of prefix of current stream from current position
|
787
787
|
CodeMirror.StringStream.prototype.prefix=function(c){
|
788
788
|
if(c){
|
789
789
|
var x=this.pos-c;
|
790
|
-
return this.string.substr((x>=0?x:0),c)}
|
790
|
+
return this.string.substr((x>=0?x:0),c);}
|
791
791
|
else{
|
792
|
-
return this.string.substr(0,this.pos-1)}};
|
792
|
+
return this.string.substr(0,this.pos-1);}};
|
793
793
|
|
794
794
|
// return a part of suffix of current stream from current position
|
795
795
|
CodeMirror.StringStream.prototype.suffix=function(c){
|
796
796
|
var y=this.string.length;
|
797
797
|
var x=y-this.pos+1;
|
798
|
-
return this.string.substr(this.pos,(c&&c<y?c:x))};
|
798
|
+
return this.string.substr(this.pos,(c&&c<y?c:x));};
|
799
799
|
|
800
800
|
// return a part of suffix of current stream from current position and change current position
|
801
801
|
CodeMirror.StringStream.prototype.nsuffix=function(c){
|
802
802
|
var p=this.pos;
|
803
803
|
var l=c||(this.string.length-this.pos+1);
|
804
804
|
this.pos+=l;
|
805
|
-
return this.string.substr(p,l)};
|
805
|
+
return this.string.substr(p,l);};
|
806
806
|
|
807
807
|
// eating and vomiting a part of stream from current position
|
808
808
|
CodeMirror.StringStream.prototype.eatSuffix=function(c){
|
@@ -813,4 +813,4 @@ CodeMirror.StringStream.prototype.eatSuffix=function(c){
|
|
813
813
|
else if(x>=(y=this.string.length-1))
|
814
814
|
this.pos=y;
|
815
815
|
else
|
816
|
-
this.pos=x};
|
816
|
+
this.pos=x;};
|
@@ -9,7 +9,7 @@
|
|
9
9
|
if (stream.match(delim)) state.tokenize = null;
|
10
10
|
else stream.skipToEnd();
|
11
11
|
return "string";
|
12
|
-
}
|
12
|
+
};
|
13
13
|
}
|
14
14
|
var phpConfig = {
|
15
15
|
name: "clike",
|
@@ -118,7 +118,7 @@
|
|
118
118
|
curState: parserConfig.startOpen ? phpMode.startState() : html,
|
119
119
|
curClose: parserConfig.startOpen ? /^\?>/ : null,
|
120
120
|
mode: parserConfig.startOpen ? "php" : "html",
|
121
|
-
pending: null}
|
121
|
+
pending: null};
|
122
122
|
},
|
123
123
|
|
124
124
|
copyState: function(state) {
|
@@ -142,7 +142,7 @@
|
|
142
142
|
},
|
143
143
|
|
144
144
|
electricChars: "/{}:"
|
145
|
-
}
|
145
|
+
};
|
146
146
|
}, "xml", "clike", "javascript", "css");
|
147
147
|
CodeMirror.defineMIME("application/x-httpd-php", "php");
|
148
148
|
CodeMirror.defineMIME("application/x-httpd-php-open", {name: "php", startOpen: true});
|