codemirror-rails 0.3.2 → 2.2

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.
@@ -3,9 +3,9 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
3
3
  var Kludges = parserConfig.htmlMode ? {
4
4
  autoSelfClosers: {"br": true, "img": true, "hr": true, "link": true, "input": true,
5
5
  "meta": true, "col": true, "frame": true, "base": true, "area": true},
6
- doNotIndent: {"pre": true, "!cdata": true},
6
+ doNotIndent: {"pre": true},
7
7
  allowUnquoted: true
8
- } : {autoSelfClosers: {}, doNotIndent: {"!cdata": true}, allowUnquoted: false};
8
+ } : {autoSelfClosers: {}, doNotIndent: {}, allowUnquoted: false};
9
9
  var alignCDATA = parserConfig.alignCDATA;
10
10
 
11
11
  // Return variables for tokenizers
@@ -27,7 +27,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
27
27
  else if (stream.match("--")) return chain(inBlock("comment", "-->"));
28
28
  else if (stream.match("DOCTYPE", true, true)) {
29
29
  stream.eatWhile(/[\w\._\-]/);
30
- return chain(inBlock("meta", ">"));
30
+ return chain(doctype(1));
31
31
  }
32
32
  else return null;
33
33
  }
@@ -102,6 +102,26 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
102
102
  return style;
103
103
  };
104
104
  }
105
+ function doctype(depth) {
106
+ return function(stream, state) {
107
+ var ch;
108
+ while ((ch = stream.next()) != null) {
109
+ if (ch == "<") {
110
+ state.tokenize = doctype(depth + 1);
111
+ return state.tokenize(stream, state);
112
+ } else if (ch == ">") {
113
+ if (depth == 1) {
114
+ state.tokenize = inText;
115
+ break;
116
+ } else {
117
+ state.tokenize = doctype(depth - 1);
118
+ return state.tokenize(stream, state);
119
+ }
120
+ }
121
+ }
122
+ return "meta";
123
+ };
124
+ }
105
125
 
106
126
  var curState, setStyle;
107
127
  function pass() {
@@ -127,8 +147,10 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
127
147
  }
128
148
 
129
149
  function element(type) {
130
- if (type == "openTag") {curState.tagName = tagName; return cont(attributes, endtag(curState.startOfLine));}
131
- else if (type == "closeTag") {
150
+ if (type == "openTag") {
151
+ curState.tagName = tagName;
152
+ return cont(attributes, endtag(curState.startOfLine));
153
+ } else if (type == "closeTag") {
132
154
  var err = false;
133
155
  if (curState.context) {
134
156
  err = curState.context.tagName != tagName;
@@ -138,12 +160,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
138
160
  if (err) setStyle = "error";
139
161
  return cont(endclosetag(err));
140
162
  }
141
- else if (type == "string") {
142
- if (!curState.context || curState.context.name != "!cdata") pushContext("!cdata");
143
- if (curState.tokenize == inText) popContext();
144
- return cont();
145
- }
146
- else return cont();
163
+ return cont();
147
164
  }
148
165
  function endtag(startOfLine) {
149
166
  return function(type) {
@@ -205,9 +222,11 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
205
222
  return setStyle || style;
206
223
  },
207
224
 
208
- indent: function(state, textAfter) {
225
+ indent: function(state, textAfter, fullLine) {
209
226
  var context = state.context;
210
- if (context && context.noIndent) return 0;
227
+ if ((state.tokenize != inTag && state.tokenize != inText) ||
228
+ context && context.noIndent)
229
+ return fullLine ? fullLine.match(/^(\s*)/)[0].length : 0;
211
230
  if (alignCDATA && /<!\[CDATA\[/.test(textAfter)) return 0;
212
231
  if (context && /^<\//.test(textAfter))
213
232
  context = context.prev;
@@ -412,7 +412,7 @@ CodeMirror.defineMode("xmlpure", function(config, parserConfig) {
412
412
  ///////////////////////////////////////////////////////////////////////////
413
413
  // returned object
414
414
  return {
415
- electricChars: "/",
415
+ electricChars: "/[",
416
416
 
417
417
  startState: function() {
418
418
  return {
@@ -458,9 +458,13 @@ CodeMirror.defineMode("xmlpure", function(config, parserConfig) {
458
458
  return;
459
459
  }
460
460
  if(textAfter.match(/^<\/.*/)) {
461
- // eng-tag - indent back to last context
461
+ // end-tag - indent back to last context
462
462
  return state.context.indent;
463
463
  }
464
+ if(textAfter.match(/^<!\[CDATA\[/)) {
465
+ // a stand-alone CDATA start-tag - indent back to column 0
466
+ return 0;
467
+ }
464
468
  // indent to last context + regular indent unit
465
469
  return state.context.indent + indentUnit;
466
470
  }
@@ -51,27 +51,54 @@
51
51
  }
52
52
 
53
53
  .CodeMirror textarea {
54
- font-family: inherit !important;
55
- font-size: inherit !important;
54
+ outline: none !important;
56
55
  }
57
56
 
58
- .CodeMirror-cursor {
57
+ .CodeMirror pre.CodeMirror-cursor {
59
58
  z-index: 10;
60
59
  position: absolute;
61
60
  visibility: hidden;
62
- border-left: 1px solid black !important;
61
+ border-left: 1px solid black;
63
62
  }
64
- .CodeMirror-focused .CodeMirror-cursor {
63
+ .CodeMirror-focused pre.CodeMirror-cursor {
65
64
  visibility: visible;
66
65
  }
67
66
 
68
- span.CodeMirror-selected {
69
- background: #ccc !important;
70
- color: HighlightText !important;
71
- }
72
- .CodeMirror-focused span.CodeMirror-selected {
73
- background: Highlight !important;
74
- }
67
+ span.CodeMirror-selected { background: #d9d9d9; }
68
+ .CodeMirror-focused span.CodeMirror-selected { background: #d2dcf8; }
69
+
70
+ .CodeMirror-searching {background: #ffa;}
71
+
72
+ /* Default theme */
73
+
74
+ .cm-s-default span.cm-keyword {color: #708;}
75
+ .cm-s-default span.cm-atom {color: #219;}
76
+ .cm-s-default span.cm-number {color: #164;}
77
+ .cm-s-default span.cm-def {color: #00f;}
78
+ .cm-s-default span.cm-variable {color: black;}
79
+ .cm-s-default span.cm-variable-2 {color: #05a;}
80
+ .cm-s-default span.cm-variable-3 {color: #085;}
81
+ .cm-s-default span.cm-property {color: black;}
82
+ .cm-s-default span.cm-operator {color: black;}
83
+ .cm-s-default span.cm-comment {color: #a50;}
84
+ .cm-s-default span.cm-string {color: #a11;}
85
+ .cm-s-default span.cm-string-2 {color: #f50;}
86
+ .cm-s-default span.cm-meta {color: #555;}
87
+ .cm-s-default span.cm-error {color: #f00;}
88
+ .cm-s-default span.cm-qualifier {color: #555;}
89
+ .cm-s-default span.cm-builtin {color: #30a;}
90
+ .cm-s-default span.cm-bracket {color: #cc7;}
91
+ .cm-s-default span.cm-tag {color: #170;}
92
+ .cm-s-default span.cm-attribute {color: #00c;}
93
+ .cm-s-default span.cm-header {color: #a0a;}
94
+ .cm-s-default span.cm-quote {color: #090;}
95
+ .cm-s-default span.cm-hr {color: #999;}
96
+ .cm-s-default span.cm-link {color: #00c;}
97
+
98
+ span.cm-header, span.cm-strong {font-weight: bold;}
99
+ span.cm-em {font-style: italic;}
100
+ span.cm-emstrong {font-style: italic; font-weight: bold;}
101
+ span.cm-link {text-decoration: underline;}
75
102
 
76
- .CodeMirror-matchingbracket {color: #0f0 !important;}
77
- .CodeMirror-nonmatchingbracket {color: #f22 !important;}
103
+ div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
104
+ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
@@ -1,3 +1,3 @@
1
- .cm-s-default span.cm-rangeinfo {color: #a0b;}
2
- .cm-s-default span.cm-minus {color: #a22;}
3
- .cm-s-default span.cm-plus {color: #2b2;}
1
+ span.cm-rangeinfo {color: #a0b;}
2
+ span.cm-minus {color: red;}
3
+ span.cm-plus {color: #2b2;}
@@ -15,3 +15,4 @@
15
15
  .cm-s-cobalt span.cm-error { color: #9d1e15; }
16
16
  .cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
17
17
  .cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
18
+ .cm-s-cobalt span.cm-link { color: #845dc4; }
@@ -17,8 +17,9 @@
17
17
  .cm-s-eclipse span.cm-bracket {color: #cc7;}
18
18
  .cm-s-eclipse span.cm-tag {color: #170;}
19
19
  .cm-s-eclipse span.cm-attribute {color: #00c;}
20
+ .cm-s-eclipse span.cm-link {color: #219;}
20
21
 
21
- .CodeMirror-matchingbracket{
22
+ .cm-s-eclipse .CodeMirror-matchingbracket {
22
23
  border:1px solid grey;
23
24
  color:black !important;;
24
- }
25
+ }
@@ -7,3 +7,4 @@
7
7
  .cm-s-elegant span.cm-keyword {color: #730;}
8
8
  .cm-s-elegant span.cm-builtin {color: #30a;}
9
9
  .cm-s-elegant span.cm-error {background-color: #fdd;}
10
+ .cm-s-elegant span.cm-link {color: #762;}
@@ -1,27 +1,28 @@
1
1
  /* Based on Sublime Text's Monokai theme */
2
2
 
3
- .cm-s-monokai { background: #272822; color: #F8F8F2; }
4
- .cm-s-monokai span.CodeMirror-selected { background: #FFE792 !important; }
5
- .cm-s-monokai .CodeMirror-gutter { background: #272822; border-right: 0px; }
6
- .cm-s-monokai .CodeMirror-gutter-text { color: #d0d0d0; }
7
- .cm-s-monokai .CodeMirror-cursor { border-left: 1px solid #F8F8F0 !important; }
3
+ .cm-s-monokai {background: #272822; color: #f8f8f2;}
4
+ .cm-s-monokai span.CodeMirror-selected {background: #ffe792 !important;}
5
+ .cm-s-monokai .CodeMirror-gutter {background: #272822; border-right: 0px;}
6
+ .cm-s-monokai .CodeMirror-gutter-text {color: #d0d0d0;}
7
+ .cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;}
8
8
 
9
- .cm-s-monokai span.cm-comment { color: #75715E; }
10
- .cm-s-monokai span.cm-atom { color: #AE81FF; }
11
- .cm-s-monokai span.cm-number { color: #AE81FF; }
9
+ .cm-s-monokai span.cm-comment {color: #75715e;}
10
+ .cm-s-monokai span.cm-atom {color: #ae81ff;}
11
+ .cm-s-monokai span.cm-number {color: #ae81ff;}
12
12
 
13
- .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #A6E22E;}
14
- .cm-s-monokai span.cm-keyword { color: #F92672; }
15
- .cm-s-monokai span.cm-string { color: #E6DB74; }
13
+ .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;}
14
+ .cm-s-monokai span.cm-keyword {color: #f92672;}
15
+ .cm-s-monokai span.cm-string {color: #e6db74;}
16
16
 
17
- .cm-s-monokai span.cm-variable {color: #A6E22E;}
18
- .cm-s-monokai span.cm-variable-2 { color: #9effff; }
19
- .cm-s-monokai span.cm-def { color: #FD971F; }
20
- .cm-s-monokai span.cm-error { background: #F92672; color: #F8F8F0; }
21
- .cm-s-monokai span.cm-bracket { color: #f8F8F2; }
22
- .cm-s-monokai span.cm-tag {color: #F92672;}
17
+ .cm-s-monokai span.cm-variable {color: #a6e22e;}
18
+ .cm-s-monokai span.cm-variable-2 {color: #9effff;}
19
+ .cm-s-monokai span.cm-def {color: #fd971f;}
20
+ .cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;}
21
+ .cm-s-monokai span.cm-bracket {color: #f8f8f2;}
22
+ .cm-s-monokai span.cm-tag {color: #f92672;}
23
+ .cm-s-monokai span.cm-link {color: #ae81ff;}
23
24
 
24
- .CodeMirror-matchingbracket{
25
- text-decoration: underline;
26
- color: white !important;
27
- }
25
+ .cm-s-monokai .CodeMirror-matchingbracket {
26
+ text-decoration: underline;
27
+ color: white !important;
28
+ }
@@ -6,3 +6,4 @@
6
6
  .cm-s-neat span.cm-variable { color: black; }
7
7
  .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
8
8
  .cm-s-neat span.cm-meta {color: #555;}
9
+ .cm-s-neat span.cm-link { color: #3a3; }
@@ -18,3 +18,4 @@
18
18
  .cm-s-night span.cm-bracket { color: #8da6ce; }
19
19
  .cm-s-night span.cm-comment { color: #6900a1; }
20
20
  .cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
21
+ .cm-s-night span.cm-link { color: #845dc4; }
@@ -16,5 +16,6 @@
16
16
  .cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; }
17
17
  .cm-s-rubyblue span.cm-error { color: #AF2018; }
18
18
  .cm-s-rubyblue span.cm-bracket { color: #F0F; }
19
+ .cm-s-rubyblue span.cm-link { color: #F4C20B; }
19
20
  .cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
20
21
  .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codemirror-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: '2.2'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-02 00:00:00.000000000Z
12
+ date: 2012-01-12 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
16
- requirement: &2161682920 !ruby/object:Gem::Requirement
16
+ requirement: &2164530160 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2161682920
24
+ version_requirements: *2164530160
25
25
  description: This gem provides CodeMirror assets for your Rails 3 application.
26
26
  email: nathan@fixler.org
27
27
  executables: []
@@ -49,6 +49,7 @@ files:
49
49
  - vendor/assets/javascripts/codemirror/modes/gfm.js
50
50
  - vendor/assets/javascripts/codemirror/modes/groovy.js
51
51
  - vendor/assets/javascripts/codemirror/modes/haskell.js
52
+ - vendor/assets/javascripts/codemirror/modes/htmlembedded.js
52
53
  - vendor/assets/javascripts/codemirror/modes/htmlmixed.js
53
54
  - vendor/assets/javascripts/codemirror/modes/javascript.js
54
55
  - vendor/assets/javascripts/codemirror/modes/jinja2.js