codemirror-rails 2.32 → 2.33
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.
- 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});
|