codemirror-rails 2.32 → 2.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/codemirror-rails.gemspec +1 -1
  2. data/lib/codemirror/rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/codemirror.js +355 -349
  4. data/vendor/assets/javascripts/codemirror/keymaps/vim.js +6 -5
  5. data/vendor/assets/javascripts/codemirror/modes/clike.js +6 -2
  6. data/vendor/assets/javascripts/codemirror/modes/clojure.js +1 -1
  7. data/vendor/assets/javascripts/codemirror/modes/coffeescript.js +3 -3
  8. data/vendor/assets/javascripts/codemirror/modes/css.js +52 -2
  9. data/vendor/assets/javascripts/codemirror/modes/ecl.js +1 -1
  10. data/vendor/assets/javascripts/codemirror/modes/gfm.js +4 -3
  11. data/vendor/assets/javascripts/codemirror/modes/go.js +2 -2
  12. data/vendor/assets/javascripts/codemirror/modes/groovy.js +1 -1
  13. data/vendor/assets/javascripts/codemirror/modes/haskell.js +2 -2
  14. data/vendor/assets/javascripts/codemirror/modes/haxe.js +4 -4
  15. data/vendor/assets/javascripts/codemirror/modes/htmlembedded.js +3 -3
  16. data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +1 -1
  17. data/vendor/assets/javascripts/codemirror/modes/javascript.js +2 -2
  18. data/vendor/assets/javascripts/codemirror/modes/less.js +94 -60
  19. data/vendor/assets/javascripts/codemirror/modes/markdown.js +4 -4
  20. data/vendor/assets/javascripts/codemirror/modes/ntriples.js +4 -4
  21. data/vendor/assets/javascripts/codemirror/modes/ocaml.js +1 -1
  22. data/vendor/assets/javascripts/codemirror/modes/pascal.js +1 -1
  23. data/vendor/assets/javascripts/codemirror/modes/perl.js +71 -71
  24. data/vendor/assets/javascripts/codemirror/modes/php.js +3 -3
  25. data/vendor/assets/javascripts/codemirror/modes/pig.js +3 -3
  26. data/vendor/assets/javascripts/codemirror/modes/python.js +1 -1
  27. data/vendor/assets/javascripts/codemirror/modes/scheme.js +1 -1
  28. data/vendor/assets/javascripts/codemirror/modes/shell.js +1 -1
  29. data/vendor/assets/javascripts/codemirror/modes/sieve.js +156 -0
  30. data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +2 -2
  31. data/vendor/assets/javascripts/codemirror/modes/smarty.js +2 -2
  32. data/vendor/assets/javascripts/codemirror/modes/stex.js +1 -1
  33. data/vendor/assets/javascripts/codemirror/modes/tiki.js +4 -4
  34. data/vendor/assets/javascripts/codemirror/modes/velocity.js +1 -1
  35. data/vendor/assets/javascripts/codemirror/modes/verilog.js +1 -1
  36. data/vendor/assets/javascripts/codemirror/modes/xml.js +2 -2
  37. data/vendor/assets/javascripts/codemirror/modes/xquery.js +7 -4
  38. data/vendor/assets/javascripts/codemirror/utils/dialog.js +4 -1
  39. data/vendor/assets/javascripts/codemirror/utils/formatting.js +1 -1
  40. data/vendor/assets/javascripts/codemirror/utils/javascript-hint.js +3 -3
  41. data/vendor/assets/javascripts/codemirror/utils/loadmode.js +1 -1
  42. data/vendor/assets/javascripts/codemirror/utils/multiplex.js +1 -1
  43. data/vendor/assets/javascripts/codemirror/utils/pig-hint.js +1 -1
  44. data/vendor/assets/javascripts/codemirror/utils/runmode.js +8 -4
  45. data/vendor/assets/javascripts/codemirror/utils/search.js +4 -4
  46. data/vendor/assets/javascripts/codemirror/utils/searchcursor.js +13 -11
  47. data/vendor/assets/javascripts/codemirror/utils/simple-hint.js +89 -68
  48. data/vendor/assets/javascripts/codemirror/utils/xml-hint.js +8 -8
  49. data/vendor/assets/stylesheets/codemirror.css +15 -11
  50. 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);
@@ -26,7 +26,7 @@ CodeMirror.defineMode("pascal", function(config) {
26
26
  return tokenComment(stream, state);
27
27
  }
28
28
  if (/[\[\]{}\(\),;\:\.]/.test(ch)) {
29
- return null
29
+ return null;
30
30
  }
31
31
  if (/\d/.test(ch)) {
32
32
  stream.eatWhile(/[\w\.]/);
@@ -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});