codemirror-rails 4.2 → 4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +10 -0
  4. data/codemirror-rails.gemspec +3 -4
  5. data/gemfiles/Gemfile.rails-3.2 +5 -0
  6. data/gemfiles/Gemfile.rails-4.0 +4 -0
  7. data/gemfiles/Gemfile.rails-4.1 +4 -0
  8. data/lib/codemirror/rails/version.rb +2 -2
  9. data/test/{dummy → dummy-3.2.x}/README.rdoc +0 -0
  10. data/test/{dummy → dummy-3.2.x}/Rakefile +0 -0
  11. data/test/{dummy → dummy-3.2.x}/app/assets/javascripts/application.js +0 -0
  12. data/test/{dummy → dummy-3.2.x}/app/assets/stylesheets/application.css +0 -0
  13. data/test/{dummy → dummy-3.2.x}/app/controllers/application_controller.rb +0 -0
  14. data/test/{dummy → dummy-3.2.x}/app/helpers/application_helper.rb +0 -0
  15. data/test/{dummy → dummy-3.2.x}/app/mailers/.gitkeep +0 -0
  16. data/test/{dummy → dummy-3.2.x}/app/models/.gitkeep +0 -0
  17. data/test/{dummy → dummy-3.2.x}/app/views/layouts/application.html.erb +0 -0
  18. data/test/{dummy → dummy-3.2.x}/config.ru +0 -0
  19. data/test/{dummy → dummy-3.2.x}/config/application.rb +0 -0
  20. data/test/{dummy → dummy-3.2.x}/config/boot.rb +0 -0
  21. data/test/{dummy → dummy-3.2.x}/config/database.yml +0 -0
  22. data/test/{dummy → dummy-3.2.x}/config/environment.rb +0 -0
  23. data/test/{dummy → dummy-3.2.x}/config/environments/development.rb +0 -0
  24. data/test/{dummy → dummy-3.2.x}/config/environments/production.rb +0 -0
  25. data/test/{dummy → dummy-3.2.x}/config/environments/test.rb +0 -0
  26. data/test/{dummy → dummy-3.2.x}/config/initializers/backtrace_silencers.rb +0 -0
  27. data/test/{dummy → dummy-3.2.x}/config/initializers/inflections.rb +0 -0
  28. data/test/{dummy → dummy-3.2.x}/config/initializers/mime_types.rb +0 -0
  29. data/test/{dummy → dummy-3.2.x}/config/initializers/secret_token.rb +0 -0
  30. data/test/{dummy → dummy-3.2.x}/config/initializers/session_store.rb +0 -0
  31. data/test/{dummy → dummy-3.2.x}/config/initializers/wrap_parameters.rb +0 -0
  32. data/test/{dummy → dummy-3.2.x}/config/locales/en.yml +0 -0
  33. data/test/{dummy → dummy-3.2.x}/config/routes.rb +0 -0
  34. data/test/{dummy → dummy-3.2.x}/db/.gitkeep +0 -0
  35. data/test/{dummy → dummy-3.2.x}/lib/assets/.gitkeep +0 -0
  36. data/test/{dummy → dummy-3.2.x}/log/.gitkeep +0 -0
  37. data/test/{dummy → dummy-3.2.x}/public/404.html +0 -0
  38. data/test/{dummy → dummy-3.2.x}/public/422.html +0 -0
  39. data/test/{dummy → dummy-3.2.x}/public/500.html +0 -0
  40. data/test/{dummy → dummy-3.2.x}/public/favicon.ico +0 -0
  41. data/test/{dummy → dummy-3.2.x}/script/rails +0 -0
  42. data/test/dummy-4.0.x/README.rdoc +28 -0
  43. data/test/dummy-4.0.x/Rakefile +6 -0
  44. data/test/dummy-4.0.x/app/assets/images/.keep +0 -0
  45. data/test/dummy-4.0.x/app/assets/javascripts/application.js +13 -0
  46. data/test/dummy-4.0.x/app/assets/stylesheets/application.css +13 -0
  47. data/test/dummy-4.0.x/app/controllers/application_controller.rb +5 -0
  48. data/test/dummy-4.0.x/app/controllers/concerns/.keep +0 -0
  49. data/test/dummy-4.0.x/app/helpers/application_helper.rb +2 -0
  50. data/test/dummy-4.0.x/app/mailers/.keep +0 -0
  51. data/test/dummy-4.0.x/app/models/.keep +0 -0
  52. data/test/dummy-4.0.x/app/models/concerns/.keep +0 -0
  53. data/test/dummy-4.0.x/app/views/layouts/application.html.erb +14 -0
  54. data/test/dummy-4.0.x/bin/bundle +3 -0
  55. data/test/dummy-4.0.x/bin/rails +4 -0
  56. data/test/dummy-4.0.x/bin/rake +4 -0
  57. data/test/dummy-4.0.x/config.ru +4 -0
  58. data/test/dummy-4.0.x/config/application.rb +23 -0
  59. data/test/dummy-4.0.x/config/boot.rb +5 -0
  60. data/test/dummy-4.0.x/config/database.yml +25 -0
  61. data/test/dummy-4.0.x/config/environment.rb +5 -0
  62. data/test/dummy-4.0.x/config/environments/development.rb +29 -0
  63. data/test/dummy-4.0.x/config/environments/production.rb +80 -0
  64. data/test/dummy-4.0.x/config/environments/test.rb +36 -0
  65. data/test/dummy-4.0.x/config/initializers/backtrace_silencers.rb +7 -0
  66. data/test/dummy-4.0.x/config/initializers/filter_parameter_logging.rb +4 -0
  67. data/test/dummy-4.0.x/config/initializers/inflections.rb +16 -0
  68. data/test/dummy-4.0.x/config/initializers/mime_types.rb +5 -0
  69. data/test/dummy-4.0.x/config/initializers/secret_token.rb +12 -0
  70. data/test/dummy-4.0.x/config/initializers/session_store.rb +3 -0
  71. data/test/dummy-4.0.x/config/initializers/wrap_parameters.rb +14 -0
  72. data/test/dummy-4.0.x/config/locales/en.yml +23 -0
  73. data/test/dummy-4.0.x/config/routes.rb +56 -0
  74. data/test/dummy-4.0.x/lib/assets/.keep +0 -0
  75. data/test/dummy-4.0.x/log/.keep +0 -0
  76. data/test/dummy-4.0.x/public/404.html +58 -0
  77. data/test/dummy-4.0.x/public/422.html +58 -0
  78. data/test/dummy-4.0.x/public/500.html +57 -0
  79. data/test/dummy-4.0.x/public/favicon.ico +0 -0
  80. data/test/dummy-4.1.x/README.rdoc +28 -0
  81. data/test/dummy-4.1.x/Rakefile +6 -0
  82. data/test/dummy-4.1.x/app/assets/images/.keep +0 -0
  83. data/test/dummy-4.1.x/app/assets/javascripts/application.js +13 -0
  84. data/test/dummy-4.1.x/app/assets/stylesheets/application.css +15 -0
  85. data/test/dummy-4.1.x/app/controllers/application_controller.rb +5 -0
  86. data/test/dummy-4.1.x/app/controllers/concerns/.keep +0 -0
  87. data/test/dummy-4.1.x/app/helpers/application_helper.rb +2 -0
  88. data/test/dummy-4.1.x/app/mailers/.keep +0 -0
  89. data/test/dummy-4.1.x/app/models/.keep +0 -0
  90. data/test/dummy-4.1.x/app/models/concerns/.keep +0 -0
  91. data/test/dummy-4.1.x/app/views/layouts/application.html.erb +14 -0
  92. data/test/dummy-4.1.x/bin/bundle +3 -0
  93. data/test/dummy-4.1.x/bin/rails +4 -0
  94. data/test/dummy-4.1.x/bin/rake +4 -0
  95. data/test/dummy-4.1.x/config.ru +4 -0
  96. data/test/dummy-4.1.x/config/application.rb +23 -0
  97. data/test/dummy-4.1.x/config/boot.rb +5 -0
  98. data/test/dummy-4.1.x/config/database.yml +25 -0
  99. data/test/dummy-4.1.x/config/environment.rb +5 -0
  100. data/test/dummy-4.1.x/config/environments/development.rb +37 -0
  101. data/test/dummy-4.1.x/config/environments/production.rb +82 -0
  102. data/test/dummy-4.1.x/config/environments/test.rb +39 -0
  103. data/test/dummy-4.1.x/config/initializers/assets.rb +8 -0
  104. data/test/dummy-4.1.x/config/initializers/backtrace_silencers.rb +7 -0
  105. data/test/dummy-4.1.x/config/initializers/cookies_serializer.rb +3 -0
  106. data/test/dummy-4.1.x/config/initializers/filter_parameter_logging.rb +4 -0
  107. data/test/dummy-4.1.x/config/initializers/inflections.rb +16 -0
  108. data/test/dummy-4.1.x/config/initializers/mime_types.rb +4 -0
  109. data/test/dummy-4.1.x/config/initializers/session_store.rb +3 -0
  110. data/test/dummy-4.1.x/config/initializers/wrap_parameters.rb +14 -0
  111. data/test/dummy-4.1.x/config/locales/en.yml +23 -0
  112. data/test/dummy-4.1.x/config/routes.rb +56 -0
  113. data/test/dummy-4.1.x/config/secrets.yml +22 -0
  114. data/test/dummy-4.1.x/lib/assets/.keep +0 -0
  115. data/test/dummy-4.1.x/log/.keep +0 -0
  116. data/test/dummy-4.1.x/public/404.html +67 -0
  117. data/test/dummy-4.1.x/public/422.html +67 -0
  118. data/test/dummy-4.1.x/public/500.html +66 -0
  119. data/test/dummy-4.1.x/public/favicon.ico +0 -0
  120. data/test/integration/codemirror_rails_integration_test.rb +6 -4
  121. data/test/test_helper.rb +10 -7
  122. data/vendor/assets/javascripts/codemirror.js +131 -94
  123. data/vendor/assets/javascripts/codemirror/addons/dialog/dialog.js +8 -4
  124. data/vendor/assets/javascripts/codemirror/addons/display/rulers.js +1 -1
  125. data/vendor/assets/javascripts/codemirror/addons/edit/continuelist.js +1 -1
  126. data/vendor/assets/javascripts/codemirror/addons/fold/foldgutter.js +1 -1
  127. data/vendor/assets/javascripts/codemirror/addons/hint/xml-hint.js +7 -0
  128. data/vendor/assets/javascripts/codemirror/addons/selection/active-line.js +3 -1
  129. data/vendor/assets/javascripts/codemirror/addons/tern/tern.js +3 -2
  130. data/vendor/assets/javascripts/codemirror/keymaps/vim.js +301 -88
  131. data/vendor/assets/javascripts/codemirror/modes/clike.js +6 -6
  132. data/vendor/assets/javascripts/codemirror/modes/css.js +3 -3
  133. data/vendor/assets/javascripts/codemirror/modes/cypher.js +1 -1
  134. data/vendor/assets/javascripts/codemirror/modes/javascript.js +29 -9
  135. data/vendor/assets/javascripts/codemirror/modes/python.js +3 -1
  136. data/vendor/assets/stylesheets/codemirror.css +29 -0
  137. data/vendor/assets/stylesheets/codemirror/addons/fold/foldgutter.css +0 -1
  138. data/vendor/assets/stylesheets/codemirror/themes/3024-day.css +4 -0
  139. data/vendor/assets/stylesheets/codemirror/themes/3024-night.css +3 -0
  140. data/vendor/assets/stylesheets/codemirror/themes/ambiance.css +4 -1
  141. data/vendor/assets/stylesheets/codemirror/themes/base16-dark.css +2 -0
  142. data/vendor/assets/stylesheets/codemirror/themes/base16-light.css +2 -0
  143. data/vendor/assets/stylesheets/codemirror/themes/blackboard.css +2 -0
  144. data/vendor/assets/stylesheets/codemirror/themes/cobalt.css +2 -0
  145. data/vendor/assets/stylesheets/codemirror/themes/erlang-dark.css +2 -0
  146. data/vendor/assets/stylesheets/codemirror/themes/lesser-dark.css +2 -0
  147. data/vendor/assets/stylesheets/codemirror/themes/mbo.css +4 -2
  148. data/vendor/assets/stylesheets/codemirror/themes/midnight.css +2 -0
  149. data/vendor/assets/stylesheets/codemirror/themes/monokai.css +2 -0
  150. data/vendor/assets/stylesheets/codemirror/themes/neo.css +3 -0
  151. data/vendor/assets/stylesheets/codemirror/themes/night.css +2 -0
  152. data/vendor/assets/stylesheets/codemirror/themes/paraiso-dark.css +2 -0
  153. data/vendor/assets/stylesheets/codemirror/themes/paraiso-light.css +2 -0
  154. data/vendor/assets/stylesheets/codemirror/themes/pastel-on-dark.css +2 -0
  155. data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +2 -0
  156. data/vendor/assets/stylesheets/codemirror/themes/solarized.css +3 -0
  157. data/vendor/assets/stylesheets/codemirror/themes/the-matrix.css +2 -0
  158. data/vendor/assets/stylesheets/codemirror/themes/tomorrow-night-eighties.css +2 -0
  159. data/vendor/assets/stylesheets/codemirror/themes/twilight.css +2 -0
  160. data/vendor/assets/stylesheets/codemirror/themes/vibrant-ink.css +2 -0
  161. data/vendor/assets/stylesheets/codemirror/themes/xq-dark.css +2 -0
  162. metadata +135 -73
@@ -207,7 +207,7 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
207
207
  stream.backUp(1);
208
208
  // Raw strings.
209
209
  if (stream.match(/(R|u8R|uR|UR|LR)/)) {
210
- var match = stream.match(/"(.{0,16})\(/);
210
+ var match = stream.match(/"([^\s\\()]{0,16})\(/);
211
211
  if (!match) {
212
212
  return false;
213
213
  }
@@ -242,13 +242,13 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
242
242
  // C++11 raw string literal is <prefix>"<delim>( anything )<delim>", where
243
243
  // <delim> can be a string up to 16 characters long.
244
244
  function tokenRawString(stream, state) {
245
- var closingSequence = new RegExp(".*?\\)" + state.cpp11RawStringDelim + '"');
246
- var match = stream.match(closingSequence);
247
- if (match) {
245
+ // Escape characters that have special regex meanings.
246
+ var delim = state.cpp11RawStringDelim.replace(/[^\w\s]/g, '\\$&');
247
+ var match = stream.match(new RegExp(".*?\\)" + delim + '"'));
248
+ if (match)
248
249
  state.tokenize = null;
249
- } else {
250
+ else
250
251
  stream.skipToEnd();
251
- }
252
252
  return "string";
253
253
  }
254
254
 
@@ -491,8 +491,8 @@ CodeMirror.defineMode("css", function(config, parserConfig) {
491
491
  "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered",
492
492
  "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred",
493
493
  "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue",
494
- "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon",
495
- "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue",
494
+ "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown",
495
+ "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue",
496
496
  "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan",
497
497
  "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white",
498
498
  "whitesmoke", "yellow", "yellowgreen"
@@ -659,7 +659,7 @@ CodeMirror.defineMode("css", function(config, parserConfig) {
659
659
  }
660
660
  },
661
661
  ":": function(stream) {
662
- if (stream.match(/\s*{/))
662
+ if (stream.match(/\s*\{/))
663
663
  return [null, "{"];
664
664
  return false;
665
665
  },
@@ -62,7 +62,7 @@
62
62
  var curPunc;
63
63
  var funcs = wordRegexp(["abs", "acos", "allShortestPaths", "asin", "atan", "atan2", "avg", "ceil", "coalesce", "collect", "cos", "cot", "count", "degrees", "e", "endnode", "exp", "extract", "filter", "floor", "haversin", "head", "id", "labels", "last", "left", "length", "log", "log10", "lower", "ltrim", "max", "min", "node", "nodes", "percentileCont", "percentileDisc", "pi", "radians", "rand", "range", "reduce", "rel", "relationship", "relationships", "replace", "right", "round", "rtrim", "shortestPath", "sign", "sin", "split", "sqrt", "startnode", "stdev", "stdevp", "str", "substring", "sum", "tail", "tan", "timestamp", "toFloat", "toInt", "trim", "type", "upper"]);
64
64
  var preds = wordRegexp(["all", "and", "any", "has", "in", "none", "not", "or", "single", "xor"]);
65
- var keywords = wordRegexp(["as", "asc", "ascending", "assert", "by", "case", "commit", "constraint", "create", "csv", "cypher", "delete", "desc", "descending", "distinct", "drop", "else", "end", "false", "foreach", "from", "headers", "in", "index", "is", "limit", "load", "match", "merge", "null", "on", "optional", "order", "periodic", "remove", "return", "scan", "set", "skip", "start", "then", "true", "union", "unique", "unwind", "using", "when", "where", "with"]);
65
+ var keywords = wordRegexp(["as", "asc", "ascending", "assert", "by", "case", "commit", "constraint", "create", "csv", "cypher", "delete", "desc", "descending", "distinct", "drop", "else", "end", "false", "fieldterminator", "foreach", "from", "headers", "in", "index", "is", "limit", "load", "match", "merge", "null", "on", "optional", "order", "periodic", "remove", "return", "scan", "set", "skip", "start", "then", "true", "union", "unique", "unwind", "using", "when", "where", "with"]);
66
66
  var operatorChars = /[*+\-<>=&|~%^]/;
67
67
 
68
68
  return {
@@ -238,7 +238,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
238
238
  var cc = state.cc;
239
239
  // Communicate our context to the combinators.
240
240
  // (Less wasteful than consing up a hundred closures on every call.)
241
- cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc;
241
+ cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;
242
242
 
243
243
  if (!state.lexical.hasOwnProperty("align"))
244
244
  state.lexical.align = true;
@@ -343,7 +343,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
343
343
  if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"),
344
344
  statement, poplex, popcontext);
345
345
  if (type == "module") return cont(pushlex("form"), pushcontext, afterModule, popcontext, poplex);
346
- if (type == "class") return cont(pushlex("form"), className, objlit, poplex);
346
+ if (type == "class") return cont(pushlex("form"), className, poplex);
347
347
  if (type == "export") return cont(pushlex("form"), afterExport, poplex);
348
348
  if (type == "import") return cont(pushlex("form"), afterImport, poplex);
349
349
  return pass(pushlex("stat"), expression, expect(";"), poplex);
@@ -430,15 +430,18 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
430
430
  if (type == "variable") {cx.marked = "property"; return cont();}
431
431
  }
432
432
  function objprop(type, value) {
433
- if (type == "variable") {
433
+ if (type == "variable" || cx.style == "keyword") {
434
434
  cx.marked = "property";
435
435
  if (value == "get" || value == "set") return cont(getterSetter);
436
+ return cont(afterprop);
436
437
  } else if (type == "number" || type == "string") {
437
- cx.marked = jsonldMode ? "property" : (type + " property");
438
+ cx.marked = jsonldMode ? "property" : (cx.style + " property");
439
+ return cont(afterprop);
440
+ } else if (type == "jsonld-keyword") {
441
+ return cont(afterprop);
438
442
  } else if (type == "[") {
439
443
  return cont(expression, expect("]"), afterprop);
440
444
  }
441
- if (atomicTypes.hasOwnProperty(type)) return cont(afterprop);
442
445
  }
443
446
  function getterSetter(type) {
444
447
  if (type != "variable") return pass(afterprop);
@@ -537,11 +540,27 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
537
540
  function className(type, value) {
538
541
  if (type == "variable") {register(value); return cont(classNameAfter);}
539
542
  }
540
- function classNameAfter(_type, value) {
541
- if (value == "extends") return cont(expression);
543
+ function classNameAfter(type, value) {
544
+ if (value == "extends") return cont(expression, classNameAfter);
545
+ if (type == "{") return cont(pushlex("}"), classBody, poplex);
542
546
  }
543
- function objlit(type) {
544
- if (type == "{") return contCommasep(objprop, "}");
547
+ function classBody(type, value) {
548
+ if (type == "variable" || cx.style == "keyword") {
549
+ cx.marked = "property";
550
+ if (value == "get" || value == "set") return cont(classGetterSetter, functiondef, classBody);
551
+ return cont(functiondef, classBody);
552
+ }
553
+ if (value == "*") {
554
+ cx.marked = "keyword";
555
+ return cont(classBody);
556
+ }
557
+ if (type == ";") return cont(classBody);
558
+ if (type == "}") return cont();
559
+ }
560
+ function classGetterSetter(type) {
561
+ if (type != "variable") return pass();
562
+ cx.marked = "property";
563
+ return cont();
545
564
  }
546
565
  function afterModule(type, value) {
547
566
  if (type == "string") return cont(statement);
@@ -653,6 +672,7 @@ CodeMirror.registerHelper("wordChars", "javascript", /[\\w$]/);
653
672
  CodeMirror.defineMIME("text/javascript", "javascript");
654
673
  CodeMirror.defineMIME("text/ecmascript", "javascript");
655
674
  CodeMirror.defineMIME("application/javascript", "javascript");
675
+ CodeMirror.defineMIME("application/x-javascript", "javascript");
656
676
  CodeMirror.defineMIME("application/ecmascript", "javascript");
657
677
  CodeMirror.defineMIME("application/json", {name: "javascript", json: true});
658
678
  CodeMirror.defineMIME("application/x-json", {name: "javascript", json: true});
@@ -320,8 +320,10 @@
320
320
  var closing = textAfter && textAfter.charAt(0) == scope.type;
321
321
  if (scope.align != null)
322
322
  return scope.align - (closing ? 1 : 0);
323
+ else if (closing && state.scopes.length > 1)
324
+ return state.scopes[state.scopes.length - 2].offset;
323
325
  else
324
- return scope.offset - (closing ? conf.indentUnit : 0);
326
+ return scope.offset;
325
327
  },
326
328
 
327
329
  lineComment: "#",
@@ -40,6 +40,9 @@
40
40
  box-sizing: content-box;
41
41
  }
42
42
 
43
+ .CodeMirror-guttermarker { color: black; }
44
+ .CodeMirror-guttermarker-subtle { color: #999; }
45
+
43
46
  /* CURSOR */
44
47
 
45
48
  .CodeMirror div.CodeMirror-cursor {
@@ -54,6 +57,29 @@
54
57
  border: 0;
55
58
  background: #7e7;
56
59
  }
60
+ .cm-animate-fat-cursor {
61
+ width: auto;
62
+ border: 0;
63
+ -webkit-animation: blink 1.06s steps(1) infinite;
64
+ -moz-animation: blink 1.06s steps(1) infinite;
65
+ animation: blink 1.06s steps(1) infinite;
66
+ }
67
+ @-moz-keyframes blink {
68
+ 0% { background: #7e7; }
69
+ 50% { background: none; }
70
+ 100% { background: #7e7; }
71
+ }
72
+ @-webkit-keyframes blink {
73
+ 0% { background: #7e7; }
74
+ 50% { background: none; }
75
+ 100% { background: #7e7; }
76
+ }
77
+ @keyframes blink {
78
+ 0% { background: #7e7; }
79
+ 50% { background: none; }
80
+ 100% { background: #7e7; }
81
+ }
82
+
57
83
  /* Can style cursor different in overwrite (non-insert) mode */
58
84
  div.CodeMirror-overwrite div.CodeMirror-cursor {}
59
85
 
@@ -99,8 +125,11 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
99
125
  .cm-s-default .cm-error {color: #f00;}
100
126
  .cm-invalidchar {color: #f00;}
101
127
 
128
+ /* Default styles for common addons */
129
+
102
130
  div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
103
131
  div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
132
+ .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
104
133
  .CodeMirror-activeline-background {background: #e8f2ff;}
105
134
 
106
135
  /* STOP */
@@ -10,7 +10,6 @@
10
10
  }
11
11
  .CodeMirror-foldgutter-open,
12
12
  .CodeMirror-foldgutter-folded {
13
- color: #555;
14
13
  cursor: pointer;
15
14
  }
16
15
  .CodeMirror-foldgutter-open:after {
@@ -10,8 +10,12 @@
10
10
 
11
11
  .cm-s-3024-day.CodeMirror {background: #f7f7f7; color: #3a3432;}
12
12
  .cm-s-3024-day div.CodeMirror-selected {background: #d6d5d4 !important;}
13
+
13
14
  .cm-s-3024-day .CodeMirror-gutters {background: #f7f7f7; border-right: 0px;}
15
+ .cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
16
+ .cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
14
17
  .cm-s-3024-day .CodeMirror-linenumber {color: #807d7c;}
18
+
15
19
  .cm-s-3024-day .CodeMirror-cursor {border-left: 1px solid #5c5855 !important;}
16
20
 
17
21
  .cm-s-3024-day span.cm-comment {color: #cdab53;}
@@ -11,7 +11,10 @@
11
11
  .cm-s-3024-night.CodeMirror {background: #090300; color: #d6d5d4;}
12
12
  .cm-s-3024-night div.CodeMirror-selected {background: #3a3432 !important;}
13
13
  .cm-s-3024-night .CodeMirror-gutters {background: #090300; border-right: 0px;}
14
+ .cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; }
15
+ .cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; }
14
16
  .cm-s-3024-night .CodeMirror-linenumber {color: #5c5855;}
17
+
15
18
  .cm-s-3024-night .CodeMirror-cursor {border-left: 1px solid #807d7c !important;}
16
19
 
17
20
  .cm-s-3024-night span.cm-comment {color: #cdab53;}
@@ -56,10 +56,13 @@
56
56
 
57
57
  .cm-s-ambiance .CodeMirror-linenumber {
58
58
  text-shadow: 0px 1px 1px #4d4d4d;
59
- color: #222;
59
+ color: #111;
60
60
  padding: 0 5px;
61
61
  }
62
62
 
63
+ .cm-s-ambiance .CodeMirror-guttermarker { color: #aaa; }
64
+ .cm-s-ambiance .CodeMirror-guttermarker-subtle { color: #111; }
65
+
63
66
  .cm-s-ambiance .CodeMirror-lines .CodeMirror-cursor {
64
67
  border-left: 1px solid #7991E8;
65
68
  }
@@ -11,6 +11,8 @@
11
11
  .cm-s-base16-dark.CodeMirror {background: #151515; color: #e0e0e0;}
12
12
  .cm-s-base16-dark div.CodeMirror-selected {background: #202020 !important;}
13
13
  .cm-s-base16-dark .CodeMirror-gutters {background: #151515; border-right: 0px;}
14
+ .cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; }
15
+ .cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; }
14
16
  .cm-s-base16-dark .CodeMirror-linenumber {color: #505050;}
15
17
  .cm-s-base16-dark .CodeMirror-cursor {border-left: 1px solid #b0b0b0 !important;}
16
18
 
@@ -11,6 +11,8 @@
11
11
  .cm-s-base16-light.CodeMirror {background: #f5f5f5; color: #202020;}
12
12
  .cm-s-base16-light div.CodeMirror-selected {background: #e0e0e0 !important;}
13
13
  .cm-s-base16-light .CodeMirror-gutters {background: #f5f5f5; border-right: 0px;}
14
+ .cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; }
15
+ .cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; }
14
16
  .cm-s-base16-light .CodeMirror-linenumber {color: #b0b0b0;}
15
17
  .cm-s-base16-light .CodeMirror-cursor {border-left: 1px solid #505050 !important;}
16
18
 
@@ -3,6 +3,8 @@
3
3
  .cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
4
4
  .cm-s-blackboard .CodeMirror-selected { background: #253B76 !important; }
5
5
  .cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
6
+ .cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
7
+ .cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
6
8
  .cm-s-blackboard .CodeMirror-linenumber { color: #888; }
7
9
  .cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; }
8
10
 
@@ -1,6 +1,8 @@
1
1
  .cm-s-cobalt.CodeMirror { background: #002240; color: white; }
2
2
  .cm-s-cobalt div.CodeMirror-selected { background: #b36539 !important; }
3
3
  .cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
4
+ .cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
5
+ .cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
4
6
  .cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
5
7
  .cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white !important; }
6
8
 
@@ -1,6 +1,8 @@
1
1
  .cm-s-erlang-dark.CodeMirror { background: #002240; color: white; }
2
2
  .cm-s-erlang-dark div.CodeMirror-selected { background: #b36539 !important; }
3
3
  .cm-s-erlang-dark .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
4
+ .cm-s-erlang-dark .CodeMirror-guttermarker { color: white; }
5
+ .cm-s-erlang-dark .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
4
6
  .cm-s-erlang-dark .CodeMirror-linenumber { color: #d0d0d0; }
5
7
  .cm-s-erlang-dark .CodeMirror-cursor { border-left: 1px solid white !important; }
6
8
 
@@ -13,6 +13,8 @@ Ported to CodeMirror by Peter Kroon
13
13
  .cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/
14
14
 
15
15
  .cm-s-lesser-dark .CodeMirror-gutters { background: #262626; border-right:1px solid #aaa; }
16
+ .cm-s-lesser-dark .CodeMirror-guttermarker { color: #599eff; }
17
+ .cm-s-lesser-dark .CodeMirror-guttermarker-subtle { color: #777; }
16
18
  .cm-s-lesser-dark .CodeMirror-linenumber { color: #777; }
17
19
 
18
20
  .cm-s-lesser-dark span.cm-keyword { color: #599eff; }
@@ -3,6 +3,8 @@
3
3
  .cm-s-mbo.CodeMirror {background: #2c2c2c; color: #ffffe9;}
4
4
  .cm-s-mbo div.CodeMirror-selected {background: #716C62 !important;}
5
5
  .cm-s-mbo .CodeMirror-gutters {background: #4e4e4e; border-right: 0px;}
6
+ .cm-s-mbo .CodeMirror-guttermarker { color: white; }
7
+ .cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; }
6
8
  .cm-s-mbo .CodeMirror-linenumber {color: #dadada;}
7
9
  .cm-s-mbo .CodeMirror-cursor {border-left: 1px solid #ffffec !important;}
8
10
 
@@ -20,7 +22,7 @@
20
22
  .cm-s-mbo span.cm-bracket {color: #fffffc; font-weight: bold;}
21
23
  .cm-s-mbo span.cm-tag {color: #9ddfe9;}
22
24
  .cm-s-mbo span.cm-link {color: #f54b07;}
23
- .cm-s-mbo span.cm-error {background: #636363; color: #ffffec;}
25
+ .cm-s-mbo span.cm-error {border-bottom: #636363; color: #ffffec;}
24
26
 
25
27
  .cm-s-mbo .CodeMirror-activeline-background {background: #494b41 !important;}
26
28
  .cm-s-mbo .CodeMirror-matchingbracket {
@@ -28,7 +30,7 @@
28
30
  color: #f5e107 !important;
29
31
  }
30
32
 
31
- .cm-s-mbo .CodeMirror-matchingtag {background: #4e4e4e;}
33
+ .cm-s-mbo .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); }
32
34
 
33
35
  .cm-s-mbo span.cm-searching {
34
36
  background-color: none;
@@ -16,6 +16,8 @@
16
16
 
17
17
  .cm-s-midnight div.CodeMirror-selected {background: #314D67 !important;}
18
18
  .cm-s-midnight .CodeMirror-gutters {background: #0F192A; border-right: 1px solid;}
19
+ .cm-s-midnight .CodeMirror-guttermarker { color: white; }
20
+ .cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
19
21
  .cm-s-midnight .CodeMirror-linenumber {color: #D0D0D0;}
20
22
  .cm-s-midnight .CodeMirror-cursor {
21
23
  border-left: 1px solid #F8F8F0 !important;
@@ -3,6 +3,8 @@
3
3
  .cm-s-monokai.CodeMirror {background: #272822; color: #f8f8f2;}
4
4
  .cm-s-monokai div.CodeMirror-selected {background: #49483E !important;}
5
5
  .cm-s-monokai .CodeMirror-gutters {background: #272822; border-right: 0px;}
6
+ .cm-s-monokai .CodeMirror-guttermarker { color: white; }
7
+ .cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
6
8
  .cm-s-monokai .CodeMirror-linenumber {color: #d0d0d0;}
7
9
  .cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;}
8
10
 
@@ -32,6 +32,9 @@
32
32
  color:#e0e2e5;
33
33
  }
34
34
 
35
+ .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }
36
+ .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }
37
+
35
38
  .cm-s-neo div.CodeMirror-cursor {
36
39
  width: auto;
37
40
  border: 0;
@@ -3,6 +3,8 @@
3
3
  .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
4
4
  .cm-s-night div.CodeMirror-selected { background: #447 !important; }
5
5
  .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
6
+ .cm-s-night .CodeMirror-guttermarker { color: white; }
7
+ .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
6
8
  .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
7
9
  .cm-s-night .CodeMirror-cursor { border-left: 1px solid white !important; }
8
10
 
@@ -11,6 +11,8 @@
11
11
  .cm-s-paraiso-dark.CodeMirror {background: #2f1e2e; color: #b9b6b0;}
12
12
  .cm-s-paraiso-dark div.CodeMirror-selected {background: #41323f !important;}
13
13
  .cm-s-paraiso-dark .CodeMirror-gutters {background: #2f1e2e; border-right: 0px;}
14
+ .cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; }
15
+ .cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; }
14
16
  .cm-s-paraiso-dark .CodeMirror-linenumber {color: #776e71;}
15
17
  .cm-s-paraiso-dark .CodeMirror-cursor {border-left: 1px solid #8d8687 !important;}
16
18
 
@@ -11,6 +11,8 @@
11
11
  .cm-s-paraiso-light.CodeMirror {background: #e7e9db; color: #41323f;}
12
12
  .cm-s-paraiso-light div.CodeMirror-selected {background: #b9b6b0 !important;}
13
13
  .cm-s-paraiso-light .CodeMirror-gutters {background: #e7e9db; border-right: 0px;}
14
+ .cm-s-paraiso-light .CodeMirror-guttermarker { color: black; }
15
+ .cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; }
14
16
  .cm-s-paraiso-light .CodeMirror-linenumber {color: #8d8687;}
15
17
  .cm-s-paraiso-light .CodeMirror-cursor {border-left: 1px solid #776e71 !important;}
16
18
 
@@ -19,6 +19,8 @@
19
19
  border-right: 0px;
20
20
  padding: 0 3px;
21
21
  }
22
+ .cm-s-pastel-on-dark .CodeMirror-guttermarker { color: white; }
23
+ .cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle { color: #8F938F; }
22
24
  .cm-s-pastel-on-dark .CodeMirror-linenumber { color: #8F938F; }
23
25
  .cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; }
24
26
  .cm-s-pastel-on-dark span.cm-comment { color: #A6C6FF; }
@@ -1,6 +1,8 @@
1
1
  .cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
2
2
  .cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; }
3
3
  .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
4
+ .cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
5
+ .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
4
6
  .cm-s-rubyblue .CodeMirror-linenumber { color: white; }
5
7
  .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; }
6
8
 
@@ -146,6 +146,9 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
146
146
  color: #586e75;
147
147
  padding: 0 5px;
148
148
  }
149
+ .cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; }
150
+ .cm-s-solarized.cm-s-dark .CodeMirror-guttermarker { color: #ddd; }
151
+ .cm-s-solarized.cm-s-light .CodeMirror-guttermarker { color: #cb4b16; }
149
152
 
150
153
  .cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text {
151
154
  color: #586e75;
@@ -1,6 +1,8 @@
1
1
  .cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
2
2
  .cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D !important; }
3
3
  .cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
4
+ .cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; }
5
+ .cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; }
4
6
  .cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
5
7
  .cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00 !important; }
6
8