codemirror-rails 3.24 → 4.0

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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/lib/codemirror/rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/codemirror.js +3001 -1798
  4. data/vendor/assets/javascripts/codemirror/addons/comment/comment.js +24 -4
  5. data/vendor/assets/javascripts/codemirror/addons/comment/continuecomment.js +47 -32
  6. data/vendor/assets/javascripts/codemirror/addons/dialog/dialog.js +9 -2
  7. data/vendor/assets/javascripts/codemirror/addons/display/fullscreen.js +9 -2
  8. data/vendor/assets/javascripts/codemirror/addons/display/placeholder.js +9 -2
  9. data/vendor/assets/javascripts/codemirror/addons/display/rulers.js +9 -2
  10. data/vendor/assets/javascripts/codemirror/addons/edit/closebrackets.js +76 -37
  11. data/vendor/assets/javascripts/codemirror/addons/edit/closetag.js +59 -37
  12. data/vendor/assets/javascripts/codemirror/addons/edit/continuelist.js +25 -17
  13. data/vendor/assets/javascripts/codemirror/addons/edit/matchbrackets.js +67 -46
  14. data/vendor/assets/javascripts/codemirror/addons/edit/matchtags.js +10 -3
  15. data/vendor/assets/javascripts/codemirror/addons/edit/trailingspace.js +23 -14
  16. data/vendor/assets/javascripts/codemirror/addons/fold/brace-fold.js +12 -3
  17. data/vendor/assets/javascripts/codemirror/addons/fold/comment-fold.js +12 -0
  18. data/vendor/assets/javascripts/codemirror/addons/fold/foldcode.js +28 -3
  19. data/vendor/assets/javascripts/codemirror/addons/fold/foldgutter.js +9 -2
  20. data/vendor/assets/javascripts/codemirror/addons/fold/indent-fold.js +12 -1
  21. data/vendor/assets/javascripts/codemirror/addons/fold/markdown-fold.js +12 -0
  22. data/vendor/assets/javascripts/codemirror/addons/fold/xml-fold.js +9 -4
  23. data/vendor/assets/javascripts/codemirror/addons/hint/anyword-hint.js +9 -2
  24. data/vendor/assets/javascripts/codemirror/addons/hint/css-hint.js +10 -3
  25. data/vendor/assets/javascripts/codemirror/addons/hint/html-hint.js +11 -3
  26. data/vendor/assets/javascripts/codemirror/addons/hint/javascript-hint.js +9 -4
  27. data/vendor/assets/javascripts/codemirror/addons/hint/python-hint.js +11 -3
  28. data/vendor/assets/javascripts/codemirror/addons/hint/show-hint.js +10 -4
  29. data/vendor/assets/javascripts/codemirror/addons/hint/sql-hint.js +9 -2
  30. data/vendor/assets/javascripts/codemirror/addons/hint/xml-hint.js +22 -34
  31. data/vendor/assets/javascripts/codemirror/addons/lint/coffeescript-lint.js +12 -1
  32. data/vendor/assets/javascripts/codemirror/addons/lint/css-lint.js +12 -1
  33. data/vendor/assets/javascripts/codemirror/addons/lint/javascript-lint.js +9 -4
  34. data/vendor/assets/javascripts/codemirror/addons/lint/json-lint.js +12 -1
  35. data/vendor/assets/javascripts/codemirror/addons/lint/lint.js +12 -8
  36. data/vendor/assets/javascripts/codemirror/addons/lint/yaml-lint.js +12 -1
  37. data/vendor/assets/javascripts/codemirror/addons/merge/merge.js +18 -16
  38. data/vendor/assets/javascripts/codemirror/addons/mode/loadmode.js +9 -2
  39. data/vendor/assets/javascripts/codemirror/addons/mode/multiplex.js +12 -0
  40. data/vendor/assets/javascripts/codemirror/addons/mode/overlay.js +15 -10
  41. data/vendor/assets/javascripts/codemirror/addons/runmode/colorize.js +11 -3
  42. data/vendor/assets/javascripts/codemirror/addons/runmode/runmode-standalone.js +0 -2
  43. data/vendor/assets/javascripts/codemirror/addons/runmode/runmode.js +12 -0
  44. data/vendor/assets/javascripts/codemirror/addons/runmode/runmode.node.js +4 -0
  45. data/vendor/assets/javascripts/codemirror/addons/scroll/scrollpastend.js +9 -2
  46. data/vendor/assets/javascripts/codemirror/addons/search/match-highlighter.js +12 -3
  47. data/vendor/assets/javascripts/codemirror/addons/search/search.js +24 -16
  48. data/vendor/assets/javascripts/codemirror/addons/search/searchcursor.js +21 -2
  49. data/vendor/assets/javascripts/codemirror/addons/selection/active-line.js +38 -17
  50. data/vendor/assets/javascripts/codemirror/addons/selection/mark-selection.js +16 -9
  51. data/vendor/assets/javascripts/codemirror/addons/tern/tern.js +33 -5
  52. data/vendor/assets/javascripts/codemirror/addons/wrap/hardwrap.js +27 -2
  53. data/vendor/assets/javascripts/codemirror/keymaps/emacs.js +12 -5
  54. data/vendor/assets/javascripts/codemirror/keymaps/sublime.js +505 -0
  55. data/vendor/assets/javascripts/codemirror/keymaps/vim.js +138 -179
  56. data/vendor/assets/javascripts/codemirror/modes/apl.js +12 -0
  57. data/vendor/assets/javascripts/codemirror/modes/asterisk.js +12 -0
  58. data/vendor/assets/javascripts/codemirror/modes/clike.js +15 -4
  59. data/vendor/assets/javascripts/codemirror/modes/clojure.js +13 -0
  60. data/vendor/assets/javascripts/codemirror/modes/cobol.js +12 -0
  61. data/vendor/assets/javascripts/codemirror/modes/coffeescript.js +12 -0
  62. data/vendor/assets/javascripts/codemirror/modes/commonlisp.js +12 -0
  63. data/vendor/assets/javascripts/codemirror/modes/css.js +18 -27
  64. data/vendor/assets/javascripts/codemirror/modes/d.js +12 -2
  65. data/vendor/assets/javascripts/codemirror/modes/diff.js +12 -0
  66. data/vendor/assets/javascripts/codemirror/modes/dtd.js +12 -0
  67. data/vendor/assets/javascripts/codemirror/modes/ecl.js +12 -0
  68. data/vendor/assets/javascripts/codemirror/modes/eiffel.js +12 -0
  69. data/vendor/assets/javascripts/codemirror/modes/erlang.js +13 -1
  70. data/vendor/assets/javascripts/codemirror/modes/fortran.js +12 -0
  71. data/vendor/assets/javascripts/codemirror/modes/gas.js +12 -0
  72. data/vendor/assets/javascripts/codemirror/modes/gfm.js +12 -0
  73. data/vendor/assets/javascripts/codemirror/modes/gherkin.js +12 -0
  74. data/vendor/assets/javascripts/codemirror/modes/go.js +12 -1
  75. data/vendor/assets/javascripts/codemirror/modes/groovy.js +12 -0
  76. data/vendor/assets/javascripts/codemirror/modes/haml.js +12 -0
  77. data/vendor/assets/javascripts/codemirror/modes/haskell.js +12 -0
  78. data/vendor/assets/javascripts/codemirror/modes/haxe.js +18 -9
  79. data/vendor/assets/javascripts/codemirror/modes/htmlembedded.js +12 -0
  80. data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +12 -0
  81. data/vendor/assets/javascripts/codemirror/modes/http.js +12 -0
  82. data/vendor/assets/javascripts/codemirror/modes/jade.js +12 -0
  83. data/vendor/assets/javascripts/codemirror/modes/javascript.js +23 -16
  84. data/vendor/assets/javascripts/codemirror/modes/jinja2.js +53 -118
  85. data/vendor/assets/javascripts/codemirror/modes/julia.js +12 -0
  86. data/vendor/assets/javascripts/codemirror/modes/livescript.js +17 -4
  87. data/vendor/assets/javascripts/codemirror/modes/lua.js +12 -0
  88. data/vendor/assets/javascripts/codemirror/modes/markdown.js +12 -0
  89. data/vendor/assets/javascripts/codemirror/modes/mirc.js +13 -0
  90. data/vendor/assets/javascripts/codemirror/modes/mllike.js +12 -1
  91. data/vendor/assets/javascripts/codemirror/modes/nginx.js +12 -0
  92. data/vendor/assets/javascripts/codemirror/modes/ntriples.js +13 -0
  93. data/vendor/assets/javascripts/codemirror/modes/octave.js +12 -0
  94. data/vendor/assets/javascripts/codemirror/modes/pascal.js +12 -0
  95. data/vendor/assets/javascripts/codemirror/modes/pegjs.js +12 -0
  96. data/vendor/assets/javascripts/codemirror/modes/perl.js +84 -73
  97. data/vendor/assets/javascripts/codemirror/modes/php.js +20 -101
  98. data/vendor/assets/javascripts/codemirror/modes/pig.js +12 -0
  99. data/vendor/assets/javascripts/codemirror/modes/properties.js +12 -0
  100. data/vendor/assets/javascripts/codemirror/modes/puppet.js +13 -0
  101. data/vendor/assets/javascripts/codemirror/modes/python.js +21 -11
  102. data/vendor/assets/javascripts/codemirror/modes/q.js +12 -0
  103. data/vendor/assets/javascripts/codemirror/modes/r.js +13 -3
  104. data/vendor/assets/javascripts/codemirror/modes/{rpm-spec.js → rpm.js} +34 -2
  105. data/vendor/assets/javascripts/codemirror/modes/rst.js +12 -0
  106. data/vendor/assets/javascripts/codemirror/modes/ruby.js +11 -0
  107. data/vendor/assets/javascripts/codemirror/modes/rust.js +12 -0
  108. data/vendor/assets/javascripts/codemirror/modes/sass.js +12 -0
  109. data/vendor/assets/javascripts/codemirror/modes/scheme.js +13 -0
  110. data/vendor/assets/javascripts/codemirror/modes/shell.js +12 -0
  111. data/vendor/assets/javascripts/codemirror/modes/sieve.js +11 -4
  112. data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +12 -0
  113. data/vendor/assets/javascripts/codemirror/modes/smarty.js +13 -0
  114. data/vendor/assets/javascripts/codemirror/modes/smartymixed.js +14 -2
  115. data/vendor/assets/javascripts/codemirror/modes/solr.js +12 -0
  116. data/vendor/assets/javascripts/codemirror/modes/sparql.js +12 -0
  117. data/vendor/assets/javascripts/codemirror/modes/sql.js +12 -0
  118. data/vendor/assets/javascripts/codemirror/modes/stex.js +12 -0
  119. data/vendor/assets/javascripts/codemirror/modes/tcl.js +13 -0
  120. data/vendor/assets/javascripts/codemirror/modes/tiddlywiki.js +13 -0
  121. data/vendor/assets/javascripts/codemirror/modes/tiki.js +12 -0
  122. data/vendor/assets/javascripts/codemirror/modes/toml.js +12 -0
  123. data/vendor/assets/javascripts/codemirror/modes/turtle.js +12 -0
  124. data/vendor/assets/javascripts/codemirror/modes/vb.js +12 -0
  125. data/vendor/assets/javascripts/codemirror/modes/vbscript.js +13 -0
  126. data/vendor/assets/javascripts/codemirror/modes/velocity.js +12 -0
  127. data/vendor/assets/javascripts/codemirror/modes/verilog.js +89 -236
  128. data/vendor/assets/javascripts/codemirror/modes/xml.js +41 -60
  129. data/vendor/assets/javascripts/codemirror/modes/xquery.js +12 -0
  130. data/vendor/assets/javascripts/codemirror/modes/yaml.js +12 -0
  131. data/vendor/assets/javascripts/codemirror/modes/z80.js +12 -0
  132. data/vendor/assets/stylesheets/codemirror.css +15 -10
  133. data/vendor/assets/stylesheets/codemirror/themes/ambiance.css +1 -0
  134. data/vendor/assets/stylesheets/codemirror/themes/lesser-dark.css +4 -0
  135. data/vendor/assets/stylesheets/codemirror/themes/mdn-like.css +1 -1
  136. data/vendor/assets/stylesheets/codemirror/themes/pastel-on-dark.css +1 -0
  137. data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +2 -0
  138. data/vendor/assets/stylesheets/codemirror/themes/solarized.css +17 -3
  139. metadata +20 -25
  140. data/vendor/assets/javascripts/codemirror/keymaps/extra.js +0 -43
  141. data/vendor/assets/javascripts/codemirror/modes/django.js +0 -55
  142. data/vendor/assets/javascripts/codemirror/modes/dylan.js +0 -284
  143. data/vendor/assets/javascripts/codemirror/modes/less.js +0 -347
  144. data/vendor/assets/javascripts/codemirror/modes/rpm-changes.js +0 -19
  145. data/vendor/assets/stylesheets/codemirror/modes/rpm-spec.css +0 -5
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode('shell', function() {
2
12
 
3
13
  var words = {};
@@ -116,3 +126,5 @@ CodeMirror.defineMode('shell', function() {
116
126
  });
117
127
 
118
128
  CodeMirror.defineMIME('text/x-sh', 'shell');
129
+
130
+ });
@@ -1,7 +1,12 @@
1
- /*
2
- * See LICENSE in this directory for the license under which this code
3
- * is released.
4
- */
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
5
10
 
6
11
  CodeMirror.defineMode("sieve", function(config) {
7
12
  function words(str) {
@@ -181,3 +186,5 @@ CodeMirror.defineMode("sieve", function(config) {
181
186
  });
182
187
 
183
188
  CodeMirror.defineMIME("application/sieve", "sieve");
189
+
190
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode('smalltalk', function(config) {
2
12
 
3
13
  var specialChars = /[+\-\/\\*~<>=@%|&?!.,:;^]/;
@@ -151,3 +161,5 @@ CodeMirror.defineMode('smalltalk', function(config) {
151
161
  });
152
162
 
153
163
  CodeMirror.defineMIME('text/x-stsrc', {name: 'smalltalk'});
164
+
165
+ });
@@ -1,6 +1,17 @@
1
1
  /**
2
2
  * Smarty 2 and 3 mode.
3
3
  */
4
+
5
+ (function(mod) {
6
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
7
+ mod(require("../../lib/codemirror"));
8
+ else if (typeof define == "function" && define.amd) // AMD
9
+ define(["../../lib/codemirror"], mod);
10
+ else // Plain browser env
11
+ mod(CodeMirror);
12
+ })(function(CodeMirror) {
13
+ "use strict";
14
+
4
15
  CodeMirror.defineMode("smarty", function(config) {
5
16
  "use strict";
6
17
 
@@ -203,3 +214,5 @@ CodeMirror.defineMode("smarty", function(config) {
203
214
  });
204
215
 
205
216
  CodeMirror.defineMIME("text/x-smarty", "smarty");
217
+
218
+ });
@@ -5,6 +5,17 @@
5
5
  * @version 3.0
6
6
  * @date 05.07.2013
7
7
  */
8
+
9
+ (function(mod) {
10
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
11
+ mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../smarty/smarty"));
12
+ else if (typeof define == "function" && define.amd) // AMD
13
+ define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../smarty/smarty"], mod);
14
+ else // Plain browser env
15
+ mod(CodeMirror);
16
+ })(function(CodeMirror) {
17
+ "use strict";
18
+
8
19
  CodeMirror.defineMode("smartymixed", function(config) {
9
20
  var settings, regs, helpers, parsers,
10
21
  htmlMixedMode = CodeMirror.getMode(config, "htmlmixed"),
@@ -166,8 +177,9 @@ CodeMirror.defineMode("smartymixed", function(config) {
166
177
  };
167
178
  }
168
179
  };
169
- },
170
- "htmlmixed");
180
+ }, "htmlmixed", "smarty");
171
181
 
172
182
  CodeMirror.defineMIME("text/x-smarty", "smartymixed");
173
183
  // vim: et ts=2 sts=2 sw=2
184
+
185
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("solr", function() {
2
12
  "use strict";
3
13
 
@@ -87,3 +97,5 @@ CodeMirror.defineMode("solr", function() {
87
97
  });
88
98
 
89
99
  CodeMirror.defineMIME("text/x-solr", "solr");
100
+
101
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("sparql", function(config) {
2
12
  var indentUnit = config.indentUnit;
3
13
  var curPunc;
@@ -143,3 +153,5 @@ CodeMirror.defineMode("sparql", function(config) {
143
153
  });
144
154
 
145
155
  CodeMirror.defineMIME("application/x-sparql-query", "sparql");
156
+
157
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("sql", function(config, parserConfig) {
2
12
  "use strict";
3
13
 
@@ -345,6 +355,8 @@ CodeMirror.defineMode("sql", function(config, parserConfig) {
345
355
  });
346
356
  }());
347
357
 
358
+ });
359
+
348
360
  /*
349
361
  How Properties of Mime Types are used by SQL Mode
350
362
  =================================================
@@ -3,6 +3,16 @@
3
3
  * Licence: MIT
4
4
  */
5
5
 
6
+ (function(mod) {
7
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
8
+ mod(require("../../lib/codemirror"));
9
+ else if (typeof define == "function" && define.amd) // AMD
10
+ define(["../../lib/codemirror"], mod);
11
+ else // Plain browser env
12
+ mod(CodeMirror);
13
+ })(function(CodeMirror) {
14
+ "use strict";
15
+
6
16
  CodeMirror.defineMode("stex", function() {
7
17
  "use strict";
8
18
 
@@ -244,3 +254,5 @@ CodeMirror.defineMode("stex", function() {
244
254
 
245
255
  CodeMirror.defineMIME("text/x-stex", "stex");
246
256
  CodeMirror.defineMIME("text/x-latex", "stex");
257
+
258
+ });
@@ -1,4 +1,15 @@
1
1
  //tcl mode by Ford_Lawnmower :: Based on Velocity mode by Steve O'Hara
2
+
3
+ (function(mod) {
4
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
5
+ mod(require("../../lib/codemirror"));
6
+ else if (typeof define == "function" && define.amd) // AMD
7
+ define(["../../lib/codemirror"], mod);
8
+ else // Plain browser env
9
+ mod(CodeMirror);
10
+ })(function(CodeMirror) {
11
+ "use strict";
12
+
2
13
  CodeMirror.defineMode("tcl", function() {
3
14
  function parseWords(str) {
4
15
  var obj = {}, words = str.split(" ");
@@ -129,3 +140,5 @@ CodeMirror.defineMode("tcl", function() {
129
140
  };
130
141
  });
131
142
  CodeMirror.defineMIME("text/x-tcl", "tcl");
143
+
144
+ });
@@ -14,6 +14,17 @@
14
14
  CoreVersion parameter is needed for TiddlyWiki only!
15
15
  ***/
16
16
  //{{{
17
+
18
+ (function(mod) {
19
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
20
+ mod(require("../../lib/codemirror"));
21
+ else if (typeof define == "function" && define.amd) // AMD
22
+ define(["../../lib/codemirror"], mod);
23
+ else // Plain browser env
24
+ mod(CodeMirror);
25
+ })(function(CodeMirror) {
26
+ "use strict";
27
+
17
28
  CodeMirror.defineMode("tiddlywiki", function () {
18
29
  // Tokenizer
19
30
  var textwords = {};
@@ -350,4 +361,6 @@ CodeMirror.defineMode("tiddlywiki", function () {
350
361
  });
351
362
 
352
363
  CodeMirror.defineMIME("text/x-tiddlywiki", "tiddlywiki");
364
+ });
365
+
353
366
  //}}}
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode('tiki', function(config) {
2
12
  function inBlock(style, terminator, returnTokenizer) {
3
13
  return function(stream, state) {
@@ -306,3 +316,5 @@ return {
306
316
  });
307
317
 
308
318
  CodeMirror.defineMIME("text/tiki", "tiki");
319
+
320
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("toml", function () {
2
12
  return {
3
13
  startState: function () {
@@ -71,3 +81,5 @@ CodeMirror.defineMode("toml", function () {
71
81
  });
72
82
 
73
83
  CodeMirror.defineMIME('text/x-toml', 'toml');
84
+
85
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("turtle", function(config) {
2
12
  var indentUnit = config.indentUnit;
3
13
  var curPunc;
@@ -143,3 +153,5 @@ CodeMirror.defineMode("turtle", function(config) {
143
153
  });
144
154
 
145
155
  CodeMirror.defineMIME("text/turtle", "turtle");
156
+
157
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("vb", function(conf, parserConf) {
2
12
  var ERRORCLASS = 'error';
3
13
 
@@ -257,3 +267,5 @@ CodeMirror.defineMode("vb", function(conf, parserConf) {
257
267
  });
258
268
 
259
269
  CodeMirror.defineMIME("text/x-vb", "vb");
270
+
271
+ });
@@ -8,6 +8,17 @@ E.G.:
8
8
  isASP: true
9
9
  });
10
10
  */
11
+
12
+ (function(mod) {
13
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
14
+ mod(require("../../lib/codemirror"));
15
+ else if (typeof define == "function" && define.amd) // AMD
16
+ define(["../../lib/codemirror"], mod);
17
+ else // Plain browser env
18
+ mod(CodeMirror);
19
+ })(function(CodeMirror) {
20
+ "use strict";
21
+
11
22
  CodeMirror.defineMode("vbscript", function(conf, parserConf) {
12
23
  var ERRORCLASS = 'error';
13
24
 
@@ -332,3 +343,5 @@ CodeMirror.defineMode("vbscript", function(conf, parserConf) {
332
343
  });
333
344
 
334
345
  CodeMirror.defineMIME("text/vbscript", "vbscript");
346
+
347
+ });
@@ -1,3 +1,13 @@
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
10
+
1
11
  CodeMirror.defineMode("velocity", function() {
2
12
  function parseWords(str) {
3
13
  var obj = {}, words = str.split(" ");
@@ -184,3 +194,5 @@ CodeMirror.defineMode("velocity", function() {
184
194
  });
185
195
 
186
196
  CodeMirror.defineMIME("text/velocity", "velocity");
197
+
198
+ });
@@ -1,139 +1,43 @@
1
- CodeMirror.defineMode("verilog", function(config, parserConfig) {
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
9
+ "use strict";
2
10
 
11
+ CodeMirror.defineMode("verilog", function(config, parserConfig) {
3
12
  var indentUnit = config.indentUnit,
4
- statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,
5
- dontAlignCalls = parserConfig.dontAlignCalls,
6
- noIndentKeywords = parserConfig.noIndentKeywords || [],
13
+ keywords = parserConfig.keywords || {},
14
+ blockKeywords = parserConfig.blockKeywords || {},
15
+ atoms = parserConfig.atoms || {},
16
+ hooks = parserConfig.hooks || {},
7
17
  multiLineStrings = parserConfig.multiLineStrings;
8
-
9
- function words(str) {
10
- var obj = {}, words = str.split(" ");
11
- for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
12
- return obj;
13
- }
14
-
15
- /**
16
- * Keywords from IEEE 1800-2012
17
- */
18
- var keywords = words(
19
- "accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind " +
20
- "bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config " +
21
- "const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable " +
22
- "dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup " +
23
- "endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask " +
24
- "enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin " +
25
- "function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import " +
26
- "incdir include initial inout input inside instance int integer interconnect interface intersect join join_any " +
27
- "join_none large let liblist library local localparam logic longint macromodule matches medium modport module " +
28
- "nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed " +
29
- "parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup " +
30
- "pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg " +
31
- "reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime " +
32
- "s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify " +
33
- "specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on " +
34
- "table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior " +
35
- "trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void " +
36
- "wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor");
37
-
38
- /** Operators from IEEE 1800-2012
39
- unary_operator ::=
40
- + | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
41
- binary_operator ::=
42
- + | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **
43
- | < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<
44
- | -> | <->
45
- inc_or_dec_operator ::= ++ | --
46
- unary_module_path_operator ::=
47
- ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
48
- binary_module_path_operator ::=
49
- == | != | && | || | & | | | ^ | ^~ | ~^
50
- */
51
- var isOperatorChar = /[\+\-\*\/!~&|^%=?:]/;
52
- var isBracketChar = /[\[\]{}()]/;
53
-
54
- var unsignedNumber = /\d[0-9_]*/;
55
- var decimalLiteral = /\d*\s*'s?d\s*\d[0-9_]*/i;
56
- var binaryLiteral = /\d*\s*'s?b\s*[xz01][xz01_]*/i;
57
- var octLiteral = /\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i;
58
- var hexLiteral = /\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i;
59
- var realLiteral = /(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i;
60
-
61
- var closingBracketOrWord = /^((\w+)|[)}\]])/;
62
- var closingBracket = /[)}\]]/;
18
+ var isOperatorChar = /[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/;
63
19
 
64
20
  var curPunc;
65
- var curKeyword;
66
-
67
- // Block openings which are closed by a matching keyword in the form of ("end" + keyword)
68
- // E.g. "task" => "endtask"
69
- var blockKeywords = words(
70
- "case checker class clocking config function generate group interface module package" +
71
- "primitive program property specify sequence table task"
72
- );
73
-
74
- // Opening/closing pairs
75
- var openClose = {};
76
- for (var keyword in blockKeywords) {
77
- openClose[keyword] = "end" + keyword;
78
- }
79
- openClose["begin"] = "end";
80
- openClose["casex"] = "endcase";
81
- openClose["casez"] = "endcase";
82
- openClose["do" ] = "while";
83
- openClose["fork" ] = "join;join_any;join_none";
84
-
85
- for (var i in noIndentKeywords) {
86
- var keyword = noIndentKeywords[i];
87
- if (openClose[keyword]) {
88
- openClose[keyword] = undefined;
89
- }
90
- }
91
-
92
- var statementKeywords = words("always always_comb always_ff always_latch assert assign assume else for foreach forever if initial repeat while");
93
21
 
94
22
  function tokenBase(stream, state) {
95
- var ch = stream.peek();
96
- if (/[,;:\.]/.test(ch)) {
97
- curPunc = stream.next();
98
- return null;
99
- }
100
- if (isBracketChar.test(ch)) {
101
- curPunc = stream.next();
102
- return "bracket";
103
- }
104
- // Macros (tick-defines)
105
- if (ch == '`') {
106
- stream.next();
107
- if (stream.eatWhile(/[\w\$_]/)) {
108
- return "def";
109
- } else {
110
- return null;
111
- }
112
- }
113
- // System calls
114
- if (ch == '$') {
115
- stream.next();
116
- if (stream.eatWhile(/[\w\$_]/)) {
117
- return "meta";
118
- } else {
119
- return null;
120
- }
121
- }
122
- // Time literals
123
- if (ch == '#') {
124
- stream.next();
125
- stream.eatWhile(/[\d_.]/);
126
- return "def";
23
+ var ch = stream.next();
24
+ if (hooks[ch]) {
25
+ var result = hooks[ch](stream, state);
26
+ if (result !== false) return result;
127
27
  }
128
- // Strings
129
28
  if (ch == '"') {
130
- stream.next();
131
29
  state.tokenize = tokenString(ch);
132
30
  return state.tokenize(stream, state);
133
31
  }
134
- // Comments
32
+ if (/[\[\]{}\(\),;\:\.]/.test(ch)) {
33
+ curPunc = ch;
34
+ return null;
35
+ }
36
+ if (/[\d']/.test(ch)) {
37
+ stream.eatWhile(/[\w\.']/);
38
+ return "number";
39
+ }
135
40
  if (ch == "/") {
136
- stream.next();
137
41
  if (stream.eat("*")) {
138
42
  state.tokenize = tokenComment;
139
43
  return tokenComment(stream, state);
@@ -142,43 +46,19 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
142
46
  stream.skipToEnd();
143
47
  return "comment";
144
48
  }
145
- stream.backUp(1);
146
49
  }
147
-
148
- // Numeric literals
149
- if (stream.match(realLiteral) ||
150
- stream.match(decimalLiteral) ||
151
- stream.match(binaryLiteral) ||
152
- stream.match(octLiteral) ||
153
- stream.match(hexLiteral) ||
154
- stream.match(unsignedNumber) ||
155
- stream.match(realLiteral)) {
156
- return "number";
50
+ if (isOperatorChar.test(ch)) {
51
+ stream.eatWhile(isOperatorChar);
52
+ return "operator";
157
53
  }
158
-
159
- // Operators
160
- if (stream.eatWhile(isOperatorChar)) {
161
- return "meta";
162
- }
163
-
164
- // Keywords / plain variables
165
- if (stream.eatWhile(/[\w\$_]/)) {
166
- var cur = stream.current();
167
- if (keywords[cur]) {
168
- if (openClose[cur]) {
169
- curPunc = "newblock";
170
- }
171
- if (statementKeywords[cur]) {
172
- curPunc = "newstatement";
173
- }
174
- curKeyword = cur;
175
- return "keyword";
176
- }
177
- return "variable";
54
+ stream.eatWhile(/[\w\$_]/);
55
+ var cur = stream.current();
56
+ if (keywords.propertyIsEnumerable(cur)) {
57
+ if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement";
58
+ return "keyword";
178
59
  }
179
-
180
- stream.next();
181
- return null;
60
+ if (atoms.propertyIsEnumerable(cur)) return "atom";
61
+ return "variable";
182
62
  }
183
63
 
184
64
  function tokenString(quote) {
@@ -214,56 +94,18 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
214
94
  this.prev = prev;
215
95
  }
216
96
  function pushContext(state, col, type) {
217
- var indent = state.indented;
218
- var c = new Context(indent, col, type, null, state.context);
219
- return state.context = c;
97
+ return state.context = new Context(state.indented, col, type, null, state.context);
220
98
  }
221
99
  function popContext(state) {
222
100
  var t = state.context.type;
223
- if (t == ")" || t == "]" || t == "}") {
101
+ if (t == ")" || t == "]" || t == "}")
224
102
  state.indented = state.context.indented;
225
- }
226
103
  return state.context = state.context.prev;
227
104
  }
228
105
 
229
- function isClosing(text, contextClosing) {
230
- if (text == contextClosing) {
231
- return true;
232
- } else {
233
- // contextClosing may be mulitple keywords separated by ;
234
- var closingKeywords = contextClosing.split(";");
235
- for (var i in closingKeywords) {
236
- if (text == closingKeywords[i]) {
237
- return true;
238
- }
239
- }
240
- return false;
241
- }
242
- }
243
-
244
- function buildElectricInputRegEx() {
245
- // Reindentation should occur on any bracket char: {}()[]
246
- // or on a match of any of the block closing keywords, at
247
- // the end of a line
248
- var allClosings = [];
249
- for (var i in openClose) {
250
- if (openClose[i]) {
251
- var closings = openClose[i].split(";");
252
- for (var j in closings) {
253
- allClosings.push(closings[j]);
254
- }
255
- }
256
- }
257
- var re = new RegExp("[{}()\\[\\]]|(" + allClosings.join("|") + ")$");
258
- return re;
259
- }
260
-
261
106
  // Interface
262
- return {
263
-
264
- // Regex to force current line to reindent
265
- electricInput: buildElectricInputRegEx(),
266
107
 
108
+ return {
267
109
  startState: function(basecolumn) {
268
110
  return {
269
111
  tokenize: null,
@@ -282,58 +124,69 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
282
124
  }
283
125
  if (stream.eatSpace()) return null;
284
126
  curPunc = null;
285
- curKeyword = null;
286
127
  var style = (state.tokenize || tokenBase)(stream, state);
287
- if (style == "comment" || style == "meta" || style == "variable") return style;
128
+ if (style == "comment" || style == "meta") return style;
288
129
  if (ctx.align == null) ctx.align = true;
289
130
 
290
- if (curPunc == ctx.type) {
291
- popContext(state);
292
- }
293
- else if ((curPunc == ";" && ctx.type == "statement") ||
294
- (ctx.type && isClosing(curKeyword, ctx.type))) {
295
- ctx = popContext(state);
296
- while (ctx && ctx.type == "statement") ctx = popContext(state);
131
+ if ((curPunc == ";" || curPunc == ":") && ctx.type == "statement") popContext(state);
132
+ else if (curPunc == "{") pushContext(state, stream.column(), "}");
133
+ else if (curPunc == "[") pushContext(state, stream.column(), "]");
134
+ else if (curPunc == "(") pushContext(state, stream.column(), ")");
135
+ else if (curPunc == "}") {
136
+ while (ctx.type == "statement") ctx = popContext(state);
137
+ if (ctx.type == "}") ctx = popContext(state);
138
+ while (ctx.type == "statement") ctx = popContext(state);
297
139
  }
298
- else if (curPunc == "{") { pushContext(state, stream.column(), "}"); }
299
- else if (curPunc == "[") { pushContext(state, stream.column(), "]"); }
300
- else if (curPunc == "(") { pushContext(state, stream.column(), ")"); }
301
- else if (ctx && ctx.type == "endcase" && curPunc == ":") { pushContext(state, stream.column(), "statement"); }
302
- else if (curPunc == "newstatement") {
140
+ else if (curPunc == ctx.type) popContext(state);
141
+ else if (ctx.type == "}" || ctx.type == "top" || (ctx.type == "statement" && curPunc == "newstatement"))
303
142
  pushContext(state, stream.column(), "statement");
304
- } else if (curPunc == "newblock") {
305
- var close = openClose[curKeyword];
306
- pushContext(state, stream.column(), close);
307
- }
308
-
309
143
  state.startOfLine = false;
310
144
  return style;
311
145
  },
312
146
 
313
147
  indent: function(state, textAfter) {
314
- if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass;
315
- var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
316
- if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
317
- var closing = false;
318
- var possibleClosing = textAfter.match(closingBracketOrWord);
319
- if (possibleClosing) {
320
- closing = isClosing(possibleClosing[0], ctx.type);
321
- }
322
- if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit);
323
- else if (closingBracket.test(ctx.type) && ctx.align && !dontAlignCalls) return ctx.column + (closing ? 0 : 1);
324
- else if (ctx.type == ")" && !closing) return ctx.indented + statementIndentUnit;
148
+ if (state.tokenize != tokenBase && state.tokenize != null) return 0;
149
+ var firstChar = textAfter && textAfter.charAt(0), ctx = state.context, closing = firstChar == ctx.type;
150
+ if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : indentUnit);
151
+ else if (ctx.align) return ctx.column + (closing ? 0 : 1);
325
152
  else return ctx.indented + (closing ? 0 : indentUnit);
326
153
  },
327
154
 
328
- blockCommentStart: "/*",
329
- blockCommentEnd: "*/",
330
- lineComment: "//"
155
+ electricChars: "{}"
331
156
  };
332
157
  });
333
158
 
334
- CodeMirror.defineMIME("text/x-verilog", {
335
- name: "verilog"
336
- });
337
- CodeMirror.defineMIME("text/x-systemverilog", {
338
- name: "systemverilog"
159
+ function words(str) {
160
+ var obj = {}, words = str.split(" ");
161
+ for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
162
+ return obj;
163
+ }
164
+
165
+ var verilogKeywords = "always and assign automatic begin buf bufif0 bufif1 case casex casez cell cmos config " +
166
+ "deassign default defparam design disable edge else end endcase endconfig endfunction endgenerate endmodule " +
167
+ "endprimitive endspecify endtable endtask event for force forever fork function generate genvar highz0 " +
168
+ "highz1 if ifnone incdir include initial inout input instance integer join large liblist library localparam " +
169
+ "macromodule medium module nand negedge nmos nor noshowcancelled not notif0 notif1 or output parameter pmos " +
170
+ "posedge primitive pull0 pull1 pulldown pullup pulsestyle_onevent pulsestyle_ondetect rcmos real realtime " +
171
+ "reg release repeat rnmos rpmos rtran rtranif0 rtranif1 scalared showcancelled signed small specify specparam " +
172
+ "strong0 strong1 supply0 supply1 table task time tran tranif0 tranif1 tri tri0 tri1 triand trior trireg " +
173
+ "unsigned use vectored wait wand weak0 weak1 while wire wor xnor xor";
174
+
175
+ var verilogBlockKeywords = "begin bufif0 bufif1 case casex casez config else end endcase endconfig endfunction " +
176
+ "endgenerate endmodule endprimitive endspecify endtable endtask for forever function generate if ifnone " +
177
+ "macromodule module primitive repeat specify table task while";
178
+
179
+ function metaHook(stream) {
180
+ stream.eatWhile(/[\w\$_]/);
181
+ return "meta";
182
+ }
183
+
184
+ CodeMirror.defineMIME("text/x-verilog", {
185
+ name: "verilog",
186
+ keywords: words(verilogKeywords),
187
+ blockKeywords: words(verilogBlockKeywords),
188
+ atoms: words("null"),
189
+ hooks: {"`": metaHook, "$": metaHook}
190
+ });
191
+
339
192
  });