codemirror-rails 3.15 → 3.16

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/codemirror/rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/codemirror.js +59 -29
  4. data/vendor/assets/javascripts/codemirror/addons/comment/continuecomment.js +44 -0
  5. data/vendor/assets/javascripts/codemirror/addons/display/fullscreen.js +30 -0
  6. data/vendor/assets/javascripts/codemirror/addons/edit/continuecomment.js +1 -1
  7. data/vendor/assets/javascripts/codemirror/addons/fold/brace-fold.js +3 -3
  8. data/vendor/assets/javascripts/codemirror/addons/fold/comment-fold.js +40 -0
  9. data/vendor/assets/javascripts/codemirror/addons/hint/show-hint.js +7 -10
  10. data/vendor/assets/javascripts/codemirror/addons/scroll/scrollpastend.js +34 -0
  11. data/vendor/assets/javascripts/codemirror/addons/search/match-highlighter.js +4 -1
  12. data/vendor/assets/javascripts/codemirror/keymaps/vim.js +5 -0
  13. data/vendor/assets/javascripts/codemirror/modes/css.js +21 -19
  14. data/vendor/assets/javascripts/codemirror/modes/erlang.js +122 -102
  15. data/vendor/assets/javascripts/codemirror/modes/javascript.js +3 -2
  16. data/vendor/assets/javascripts/codemirror/modes/python.js +12 -4
  17. data/vendor/assets/javascripts/codemirror/modes/rst.js +20 -21
  18. data/vendor/assets/javascripts/codemirror/modes/velocity.js +54 -12
  19. data/vendor/assets/javascripts/codemirror/modes/xml.js +1 -1
  20. data/vendor/assets/javascripts/codemirror/modes/xquery.js +5 -1
  21. data/vendor/assets/javascripts/codemirror/modes/yaml.js +8 -8
  22. data/vendor/assets/stylesheets/codemirror.css +1 -0
  23. data/vendor/assets/stylesheets/codemirror/addons/display/fullscreen.css +6 -0
  24. data/vendor/assets/stylesheets/codemirror/themes/3024-day.css +1 -0
  25. data/vendor/assets/stylesheets/codemirror/themes/3024-night.css +1 -0
  26. data/vendor/assets/stylesheets/codemirror/themes/ambiance.css +1 -1
  27. data/vendor/assets/stylesheets/codemirror/themes/base16-dark.css +1 -0
  28. data/vendor/assets/stylesheets/codemirror/themes/base16-light.css +1 -0
  29. data/vendor/assets/stylesheets/codemirror/themes/blackboard.css +3 -0
  30. data/vendor/assets/stylesheets/codemirror/themes/cobalt.css +3 -0
  31. data/vendor/assets/stylesheets/codemirror/themes/eclipse.css +2 -4
  32. data/vendor/assets/stylesheets/codemirror/themes/elegant.css +3 -0
  33. data/vendor/assets/stylesheets/codemirror/themes/erlang-dark.css +11 -2
  34. data/vendor/assets/stylesheets/codemirror/themes/lesser-dark.css +3 -0
  35. data/vendor/assets/stylesheets/codemirror/themes/midnight.css +2 -2
  36. data/vendor/assets/stylesheets/codemirror/themes/monokai.css +1 -0
  37. data/vendor/assets/stylesheets/codemirror/themes/neat.css +3 -0
  38. data/vendor/assets/stylesheets/codemirror/themes/night.css +3 -0
  39. data/vendor/assets/stylesheets/codemirror/themes/paraiso-dark.css +34 -0
  40. data/vendor/assets/stylesheets/codemirror/themes/paraiso-light.css +34 -0
  41. data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +2 -0
  42. data/vendor/assets/stylesheets/codemirror/themes/solarized.css +2 -7
  43. data/vendor/assets/stylesheets/codemirror/themes/the-matrix.css +26 -0
  44. data/vendor/assets/stylesheets/codemirror/themes/tomorrow-night-eighties.css +1 -0
  45. data/vendor/assets/stylesheets/codemirror/themes/twilight.css +2 -0
  46. data/vendor/assets/stylesheets/codemirror/themes/vibrant-ink.css +3 -0
  47. data/vendor/assets/stylesheets/codemirror/themes/xq-dark.css +4 -1
  48. data/vendor/assets/stylesheets/codemirror/themes/xq-light.css +1 -1
  49. metadata +10 -2
@@ -78,18 +78,19 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
78
78
  type = tp; content = cont;
79
79
  return style;
80
80
  }
81
-
82
81
  function jsTokenBase(stream, state) {
83
82
  var ch = stream.next();
84
83
  if (ch == '"' || ch == "'")
85
84
  return chain(stream, state, jsTokenString(ch));
85
+ else if (ch == "." && stream.match(/^\d+(?:[eE][+\-]?\d+)?/))
86
+ return ret("number", "number");
86
87
  else if (/[\[\]{}\(\),;\:\.]/.test(ch))
87
88
  return ret(ch);
88
89
  else if (ch == "0" && stream.eat(/x/i)) {
89
90
  stream.eatWhile(/[\da-f]/i);
90
91
  return ret("number", "number");
91
92
  }
92
- else if (/\d/.test(ch) || ch == "-" && stream.eat(/\d/)) {
93
+ else if (/\d/.test(ch)) {
93
94
  stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);
94
95
  return ret("number", "number");
95
96
  }
@@ -151,6 +151,9 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
151
151
  }
152
152
 
153
153
  if (stream.match(identifiers)) {
154
+ if (state.lastToken == 'def' || state.lastToken == 'class') {
155
+ return 'def';
156
+ }
154
157
  return 'variable';
155
158
  }
156
159
 
@@ -258,7 +261,7 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
258
261
  // Handle '.' connected identifiers
259
262
  if (current === '.') {
260
263
  style = stream.match(identifiers, false) ? null : ERRORCLASS;
261
- if (style === null && state.lastToken === 'meta') {
264
+ if (style === null && state.lastStyle === 'meta') {
262
265
  // Apply 'meta' style to '.' connected identifiers when
263
266
  // appropriate.
264
267
  style = 'meta';
@@ -272,7 +275,7 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
272
275
  }
273
276
 
274
277
  if ((style === 'variable' || style === 'builtin')
275
- && state.lastToken === 'meta') {
278
+ && state.lastStyle === 'meta') {
276
279
  style = 'meta';
277
280
  }
278
281
 
@@ -313,6 +316,7 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
313
316
  return {
314
317
  tokenize: tokenBase,
315
318
  scopes: [{offset:basecolumn || 0, type:'py'}],
319
+ lastStyle: null,
316
320
  lastToken: null,
317
321
  lambda: false,
318
322
  dedent: 0
@@ -322,12 +326,16 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
322
326
  token: function(stream, state) {
323
327
  var style = tokenLexer(stream, state);
324
328
 
325
- state.lastToken = style;
329
+ state.lastStyle = style;
330
+
331
+ var current = stream.current();
332
+ if (current && style) {
333
+ state.lastToken = current;
334
+ }
326
335
 
327
336
  if (stream.eol() && state.lambda) {
328
337
  state.lambda = false;
329
338
  }
330
-
331
339
  return style;
332
340
  },
333
341
 
@@ -124,9 +124,7 @@ CodeMirror.defineMode('rst-base', function (config) {
124
124
  token = 'keyword';
125
125
 
126
126
  if (stream.current().match(/^(?:math|latex)/)) {
127
- state.tmp = {
128
- mode: mode_stex, local: mode_stex.startState()
129
- };
127
+ state.tmp_stex = true;
130
128
  }
131
129
  break;
132
130
  case 2:
@@ -135,6 +133,12 @@ CodeMirror.defineMode('rst-base', function (config) {
135
133
  token = 'meta';
136
134
  break;
137
135
  case 3:
136
+ if (state.tmp_stex) {
137
+ state.tmp_stex = undefined; state.tmp = {
138
+ mode: mode_stex, local: mode_stex.startState()
139
+ };
140
+ }
141
+
138
142
  if (state.tmp) {
139
143
  if (stream.peek() == '`') {
140
144
  change(state, to_normal, context(rx_role_pre, 4));
@@ -345,24 +349,24 @@ CodeMirror.defineMode('rst-base', function (config) {
345
349
  change(state, to_explicit, context(rx_directive, 2));
346
350
  assert(stream.match(rx_directive_tail));
347
351
  token = 'meta';
348
- break;
349
- default:
352
+
350
353
  if (stream.match(/^latex\s*$/) || state.tmp_stex) {
351
- state.tmp_stex = undefined;
352
- change(state, to_mode, {
354
+ state.tmp_stex = undefined; change(state, to_mode, {
353
355
  mode: mode_stex, local: mode_stex.startState()
354
356
  });
355
- } else if (stream.match(/^python\s*$/) || state.tmp_py) {
356
- state.tmp_py = undefined;
357
- change(state, to_mode, {
357
+ }
358
+ break;
359
+ case 2:
360
+ change(state, to_explicit, context(rx_directive, 3));
361
+ if (stream.match(/^python\s*$/) || state.tmp_py) {
362
+ state.tmp_py = undefined; change(state, to_mode, {
358
363
  mode: mode_python, local: mode_python.startState()
359
364
  });
360
365
  }
361
-
362
- else {
363
- change(state, to_normal);
364
- assert(stream.current() == '');
365
- }
366
+ break;
367
+ default:
368
+ change(state, to_normal);
369
+ assert(stream.current() == '');
366
370
  }
367
371
  } else if (phase(state) == rx_link || stream.match(rx_link, false)) {
368
372
 
@@ -437,12 +441,7 @@ CodeMirror.defineMode('rst-base', function (config) {
437
441
  return null;
438
442
  }
439
443
 
440
- try {
441
- return state.ctx.mode.token(stream, state.ctx.local);
442
- } catch (ex) {
443
- change(state, to_normal);
444
- return null;
445
- }
444
+ return state.ctx.mode.token(stream, state.ctx.local);
446
445
  }
447
446
 
448
447
  change(state, to_normal);
@@ -9,7 +9,7 @@ CodeMirror.defineMode("velocity", function() {
9
9
  "#{end} #{else} #{break} #{stop}");
10
10
  var functions = parseWords("#if #elseif #foreach #set #include #parse #macro #define #evaluate " +
11
11
  "#{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}");
12
- var specials = parseWords("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent $velocityCount");
12
+ var specials = parseWords("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent");
13
13
  var isOperatorChar = /[+\-*&%=<>!?:\/|]/;
14
14
 
15
15
  function chain(stream, state, f) {
@@ -20,30 +20,50 @@ CodeMirror.defineMode("velocity", function() {
20
20
  var beforeParams = state.beforeParams;
21
21
  state.beforeParams = false;
22
22
  var ch = stream.next();
23
- // start of string?
24
- if ((ch == '"' || ch == "'") && state.inParams)
23
+ // start of unparsed string?
24
+ if ((ch == "'") && state.inParams) {
25
+ state.lastTokenWasBuiltin = false;
25
26
  return chain(stream, state, tokenString(ch));
27
+ }
28
+ // start of parsed string?
29
+ else if ((ch == '"')) {
30
+ state.lastTokenWasBuiltin = false;
31
+ if (state.inString) {
32
+ state.inString = false;
33
+ return "string";
34
+ }
35
+ else if (state.inParams)
36
+ return chain(stream, state, tokenString(ch));
37
+ }
26
38
  // is it one of the special signs []{}().,;? Seperator?
27
39
  else if (/[\[\]{}\(\),;\.]/.test(ch)) {
28
- if (ch == "(" && beforeParams) state.inParams = true;
29
- else if (ch == ")") state.inParams = false;
40
+ if (ch == "(" && beforeParams)
41
+ state.inParams = true;
42
+ else if (ch == ")") {
43
+ state.inParams = false;
44
+ state.lastTokenWasBuiltin = true;
45
+ }
30
46
  return null;
31
47
  }
32
48
  // start of a number value?
33
49
  else if (/\d/.test(ch)) {
50
+ state.lastTokenWasBuiltin = false;
34
51
  stream.eatWhile(/[\w\.]/);
35
52
  return "number";
36
53
  }
37
54
  // multi line comment?
38
55
  else if (ch == "#" && stream.eat("*")) {
56
+ state.lastTokenWasBuiltin = false;
39
57
  return chain(stream, state, tokenComment);
40
58
  }
41
59
  // unparsed content?
42
60
  else if (ch == "#" && stream.match(/ *\[ *\[/)) {
61
+ state.lastTokenWasBuiltin = false;
43
62
  return chain(stream, state, tokenUnparsed);
44
63
  }
45
64
  // single line comment?
46
65
  else if (ch == "#" && stream.eat("#")) {
66
+ state.lastTokenWasBuiltin = false;
47
67
  stream.skipToEnd();
48
68
  return "comment";
49
69
  }
@@ -51,33 +71,44 @@ CodeMirror.defineMode("velocity", function() {
51
71
  else if (ch == "$") {
52
72
  stream.eatWhile(/[\w\d\$_\.{}]/);
53
73
  // is it one of the specials?
54
- if (specials && specials.propertyIsEnumerable(stream.current().toLowerCase())) {
74
+ if (specials && specials.propertyIsEnumerable(stream.current())) {
55
75
  return "keyword";
56
76
  }
57
77
  else {
78
+ state.lastTokenWasBuiltin = true;
58
79
  state.beforeParams = true;
59
80
  return "builtin";
60
81
  }
61
82
  }
62
83
  // is it a operator?
63
84
  else if (isOperatorChar.test(ch)) {
85
+ state.lastTokenWasBuiltin = false;
64
86
  stream.eatWhile(isOperatorChar);
65
87
  return "operator";
66
88
  }
67
89
  else {
68
90
  // get the whole word
69
- stream.eatWhile(/[\w\$_{}]/);
70
- var word = stream.current().toLowerCase();
91
+ stream.eatWhile(/[\w\$_{}@]/);
92
+ var word = stream.current();
71
93
  // is it one of the listed keywords?
72
94
  if (keywords && keywords.propertyIsEnumerable(word))
73
95
  return "keyword";
74
96
  // is it one of the listed functions?
75
97
  if (functions && functions.propertyIsEnumerable(word) ||
76
- stream.current().match(/^#[a-z0-9_]+ *$/i) && stream.peek()=="(") {
98
+ (stream.current().match(/^#@?[a-z0-9_]+ *$/i) && stream.peek()=="(") &&
99
+ !(functions && functions.propertyIsEnumerable(word.toLowerCase()))) {
77
100
  state.beforeParams = true;
101
+ state.lastTokenWasBuiltin = false;
78
102
  return "keyword";
79
103
  }
104
+ if (state.inString) {
105
+ state.lastTokenWasBuiltin = false;
106
+ return "string";
107
+ }
108
+ if (stream.pos > word.length && stream.string.charAt(stream.pos-word.length-1)=="." && state.lastTokenWasBuiltin)
109
+ return "builtin";
80
110
  // default: just a "word"
111
+ state.lastTokenWasBuiltin = false;
81
112
  return null;
82
113
  }
83
114
  }
@@ -86,7 +117,12 @@ CodeMirror.defineMode("velocity", function() {
86
117
  return function(stream, state) {
87
118
  var escaped = false, next, end = false;
88
119
  while ((next = stream.next()) != null) {
89
- if (next == quote && !escaped) {
120
+ if ((next == quote) && !escaped) {
121
+ end = true;
122
+ break;
123
+ }
124
+ if (quote=='"' && stream.peek() == '$' && !escaped) {
125
+ state.inString = true;
90
126
  end = true;
91
127
  break;
92
128
  }
@@ -130,14 +166,20 @@ CodeMirror.defineMode("velocity", function() {
130
166
  return {
131
167
  tokenize: tokenBase,
132
168
  beforeParams: false,
133
- inParams: false
169
+ inParams: false,
170
+ inString: false,
171
+ lastTokenWasBuiltin: false
134
172
  };
135
173
  },
136
174
 
137
175
  token: function(stream, state) {
138
176
  if (stream.eatSpace()) return null;
139
177
  return state.tokenize(stream, state);
140
- }
178
+ },
179
+ blockCommentStart: "#*",
180
+ blockCommentEnd: "*#",
181
+ lineComment: "##",
182
+ fold: "velocity"
141
183
  };
142
184
  });
143
185
 
@@ -261,7 +261,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
261
261
  function attribute(type) {
262
262
  if (type == "equals") return cont(attvalue, attributes);
263
263
  if (!Kludges.allowMissing) setStyle = "error";
264
- else if (type == "word") setStyle = "attribute";
264
+ else if (type == "word") {setStyle = "attribute"; return cont(attribute, attributes);}
265
265
  return (type == "endTag" || type == "selfcloseTag") ? pass() : cont();
266
266
  }
267
267
  function attvalue(type) {
@@ -442,7 +442,11 @@ CodeMirror.defineMode("xquery", function() {
442
442
  if (stream.eatSpace()) return null;
443
443
  var style = state.tokenize(stream, state);
444
444
  return style;
445
- }
445
+ },
446
+
447
+ blockCommentStart: "(:",
448
+ blockCommentEnd: ":)"
449
+
446
450
  };
447
451
 
448
452
  });
@@ -26,14 +26,6 @@ CodeMirror.defineMode("yaml", function() {
26
26
  /* array list item */
27
27
  if (stream.match(/\s*-\s+/)) { return 'meta'; }
28
28
  }
29
- /* pairs (associative arrays) -> key */
30
- if (!state.pair && stream.match(/^\s*([a-z0-9\._-])+(?=\s*:)/i)) {
31
- state.pair = true;
32
- state.keyCol = stream.indentation();
33
- return "atom";
34
- }
35
- if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; }
36
-
37
29
  /* inline pairs/lists */
38
30
  if (stream.match(/^(\{|\}|\[|\])/)) {
39
31
  if (ch == '{')
@@ -74,6 +66,14 @@ CodeMirror.defineMode("yaml", function() {
74
66
  if (stream.match(keywordRegex)) { return 'keyword'; }
75
67
  }
76
68
 
69
+ /* pairs (associative arrays) -> key */
70
+ if (!state.pair && stream.match(/^\s*\S+(?=\s*:($|\s))/i)) {
71
+ state.pair = true;
72
+ state.keyCol = stream.indentation();
73
+ return "atom";
74
+ }
75
+ if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; }
76
+
77
77
  /* nothing found, continue */
78
78
  state.pairStart = false;
79
79
  state.escaped = (ch == '\\');
@@ -95,6 +95,7 @@
95
95
 
96
96
  div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
97
97
  div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
98
+ .CodeMirror-activeline-background {background: #e8f2ff;}
98
99
 
99
100
  /* STOP */
100
101
 
@@ -0,0 +1,6 @@
1
+ .CodeMirror-fullscreen {
2
+ position: fixed;
3
+ top: 0; left: 0; right: 0; bottom: 0;
4
+ height: auto;
5
+ z-index: 9999;
6
+ }
@@ -30,4 +30,5 @@
30
30
  .cm-s-3024-day span.cm-tag {color: #db2d20;}
31
31
  .cm-s-3024-day span.cm-link {color: #a16a94;}
32
32
 
33
+ .cm-s-3024-day .CodeMirror-activeline-background {background: #e8f2ff !important;}
33
34
  .cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
@@ -30,4 +30,5 @@
30
30
  .cm-s-3024-night span.cm-tag {color: #db2d20;}
31
31
  .cm-s-3024-night span.cm-link {color: #a16a94;}
32
32
 
33
+ .cm-s-3024-night .CodeMirror-activeline-background {background: #2F2F2F !important;}
33
34
  .cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
@@ -65,7 +65,7 @@
65
65
  border-left: 1px solid #7991E8;
66
66
  }
67
67
 
68
- .cm-s-ambiance .activeline {
68
+ .cm-s-ambiance .CodeMirror-activeline-background {
69
69
  background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.031);
70
70
  }
71
71
 
@@ -30,4 +30,5 @@
30
30
  .cm-s-base16-dark span.cm-tag {color: #ac4142;}
31
31
  .cm-s-base16-dark span.cm-link {color: #aa759f;}
32
32
 
33
+ .cm-s-base16-dark .CodeMirror-activeline-background {background: #2F2F2F !important;}
33
34
  .cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
@@ -30,4 +30,5 @@
30
30
  .cm-s-base16-light span.cm-tag {color: #ac4142;}
31
31
  .cm-s-base16-light span.cm-link {color: #aa759f;}
32
32
 
33
+ .cm-s-base16-light .CodeMirror-activeline-background {background: #DDDCDC !important;}
33
34
  .cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
@@ -23,3 +23,6 @@
23
23
  .cm-s-blackboard .cm-header { color: #FF6400; }
24
24
  .cm-s-blackboard .cm-hr { color: #AEAEAE; }
25
25
  .cm-s-blackboard .cm-link { color: #8DA6CE; }
26
+
27
+ .cm-s-blackboard .CodeMirror-activeline-background {background: #3C3636 !important;}
28
+ .cm-s-blackboard .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important}
@@ -16,3 +16,6 @@
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
18
  .cm-s-cobalt span.cm-link { color: #845dc4; }
19
+
20
+ .cm-s-cobalt .CodeMirror-activeline-background {background: #002D57 !important;}
21
+ .cm-s-cobalt .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important}
@@ -19,7 +19,5 @@
19
19
  .cm-s-eclipse span.cm-attribute {color: #00c;}
20
20
  .cm-s-eclipse span.cm-link {color: #219;}
21
21
 
22
- .cm-s-eclipse .CodeMirror-matchingbracket {
23
- outline:1px solid grey;
24
- color:black !important;
25
- }
22
+ .cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;}
23
+ .cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
@@ -8,3 +8,6 @@
8
8
  .cm-s-elegant span.cm-builtin {color: #30a;}
9
9
  .cm-s-elegant span.cm-error {background-color: #fdd;}
10
10
  .cm-s-elegant span.cm-link {color: #762;}
11
+
12
+ .cm-s-elegant .CodeMirror-activeline-background {background: #e8f2ff !important;}
13
+ .cm-s-elegant .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
@@ -4,7 +4,7 @@
4
4
  .cm-s-erlang-dark .CodeMirror-linenumber { color: #d0d0d0; }
5
5
  .cm-s-erlang-dark .CodeMirror-cursor { border-left: 1px solid white !important; }
6
6
 
7
- .cm-s-erlang-dark span.cm-atom { color: #845dc4; }
7
+ .cm-s-erlang-dark span.cm-atom { color: #f133f1; }
8
8
  .cm-s-erlang-dark span.cm-attribute { color: #ff80e1; }
9
9
  .cm-s-erlang-dark span.cm-bracket { color: #ff9d00; }
10
10
  .cm-s-erlang-dark span.cm-builtin { color: #eaa; }
@@ -14,8 +14,17 @@
14
14
  .cm-s-erlang-dark span.cm-keyword { color: #ffee80; }
15
15
  .cm-s-erlang-dark span.cm-meta { color: #50fefe; }
16
16
  .cm-s-erlang-dark span.cm-number { color: #ffd0d0; }
17
- .cm-s-erlang-dark span.cm-operator { color: #d11; }
17
+ .cm-s-erlang-dark span.cm-operator { color: #d55; }
18
+ .cm-s-erlang-dark span.cm-property { color: #ccc; }
19
+ .cm-s-erlang-dark span.cm-qualifier { color: #ccc; }
20
+ .cm-s-erlang-dark span.cm-quote { color: #ccc; }
21
+ .cm-s-erlang-dark span.cm-special { color: #ffbbbb; }
18
22
  .cm-s-erlang-dark span.cm-string { color: #3ad900; }
23
+ .cm-s-erlang-dark span.cm-string-2 { color: #ccc; }
19
24
  .cm-s-erlang-dark span.cm-tag { color: #9effff; }
20
25
  .cm-s-erlang-dark span.cm-variable { color: #50fe50; }
21
26
  .cm-s-erlang-dark span.cm-variable-2 { color: #e0e; }
27
+ .cm-s-erlang-dark span.cm-variable-3 { color: #ccc; }
28
+
29
+ .cm-s-erlang-dark .CodeMirror-activeline-background {background: #013461 !important;}
30
+ .cm-s-erlang-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}