codemirror-rails 3.24 → 4.0

Sign up to get free protection for your applications and to get access to all the features.
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,4 +1,11 @@
1
- (function() {
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) {
2
9
  "use strict";
3
10
 
4
11
  var WORD = /[\w$]+/, RANGE = 500;
@@ -29,4 +36,4 @@
29
36
  }
30
37
  return {list: list, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
31
38
  });
32
- })();
39
+ });
@@ -1,4 +1,11 @@
1
- (function () {
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"), require("../../mode/css/css"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror", "../../mode/css/css"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
2
9
  "use strict";
3
10
 
4
11
  var pseudoClasses = {link: 1, visited: 1, active: 1, hover: 1, focus: 1,
@@ -24,7 +31,7 @@
24
31
  result.push(name);
25
32
  }
26
33
 
27
- var st = inner.state.state;
34
+ var st = token.state.state;
28
35
  if (st == "pseudo" || token.type == "variable-3") {
29
36
  add(pseudoClasses);
30
37
  } else if (st == "block" || st == "maybeprop") {
@@ -43,4 +50,4 @@
43
50
  to: CodeMirror.Pos(cur.line, end)
44
51
  };
45
52
  });
46
- })();
53
+ });
@@ -1,4 +1,13 @@
1
- (function () {
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
+
2
11
  var langs = "ab aa af ak sq am ar an hy as av ae ay az bm ba eu be bn bh bi bs br bg my ca ch ce ny zh cv kw co cr hr cs da dv nl dz en eo et ee fo fj fi fr ff gl ka de el gn gu ht ha he hz hi ho hu ia id ie ga ig ik io is it iu ja jv kl kn kr ks kk km ki rw ky kv kg ko ku kj la lb lg li ln lo lt lu lv gv mk mg ms ml mt mi mr mh mn na nv nb nd ne ng nn no ii nr oc oj cu om or os pa pi fa pl ps pt qu rm rn ro ru sa sc sd se sm sg sr gd sn si sk sl so st es su sw ss sv ta te tg th ti bo tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa cy wo fy xh yi yo za zu".split(" ");
3
12
  var targets = ["_blank", "_self", "_top", "_parent"];
4
13
  var charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"];
@@ -332,6 +341,5 @@
332
341
  if (options) for (var opt in options) local[opt] = options[opt];
333
342
  return CodeMirror.hint.xml(cm, local);
334
343
  }
335
- CodeMirror.htmlHint = htmlHint; // deprecated
336
344
  CodeMirror.registerHelper("hint", "html", htmlHint);
337
- })();
345
+ });
@@ -1,4 +1,11 @@
1
- (function () {
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) {
2
9
  var Pos = CodeMirror.Pos;
3
10
 
4
11
  function forEach(arr, f) {
@@ -47,7 +54,6 @@
47
54
  function (e, cur) {return e.getTokenAt(cur);},
48
55
  options);
49
56
  };
50
- CodeMirror.javascriptHint = javascriptHint; // deprecated
51
57
  CodeMirror.registerHelper("hint", "javascript", javascriptHint);
52
58
 
53
59
  function getCoffeeScriptToken(editor, cur) {
@@ -71,7 +77,6 @@
71
77
  function coffeescriptHint(editor, options) {
72
78
  return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken, options);
73
79
  }
74
- CodeMirror.coffeescriptHint = coffeescriptHint; // deprecated
75
80
  CodeMirror.registerHelper("hint", "coffeescript", coffeescriptHint);
76
81
 
77
82
  var stringProps = ("charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight " +
@@ -128,4 +133,4 @@
128
133
  }
129
134
  return found;
130
135
  }
131
- })();
136
+ });
@@ -1,4 +1,13 @@
1
- (function () {
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
+
2
11
  function forEach(arr, f) {
3
12
  for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]);
4
13
  }
@@ -40,7 +49,6 @@
40
49
  function pythonHint(editor) {
41
50
  return scriptHint(editor, pythonKeywordsU, function (e, cur) {return e.getTokenAt(cur);});
42
51
  }
43
- CodeMirror.pythonHint = pythonHint; // deprecated
44
52
  CodeMirror.registerHelper("hint", "python", pythonHint);
45
53
 
46
54
  var pythonKeywords = "and del from not while as elif global or with assert else if pass yield"
@@ -88,4 +96,4 @@
88
96
  }
89
97
  return found;
90
98
  }
91
- })();
99
+ });
@@ -1,4 +1,11 @@
1
- (function() {
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) {
2
9
  "use strict";
3
10
 
4
11
  var HINT_ELEMENT_CLASS = "CodeMirror-hint";
@@ -6,7 +13,7 @@
6
13
 
7
14
  CodeMirror.showHint = function(cm, getHints, options) {
8
15
  // We want a single cursor position.
9
- if (cm.somethingSelected()) return;
16
+ if (cm.listSelections().length > 1 || cm.somethingSelected()) return;
10
17
  if (getHints == null) {
11
18
  if (options && options.async) return;
12
19
  else getHints = CodeMirror.hint.auto;
@@ -93,7 +100,6 @@
93
100
  data = data_;
94
101
  if (finished) return;
95
102
  if (!data || !data.list.length) return done();
96
- if (completion.widget) completion.widget.close();
97
103
  completion.widget = new Widget(completion, data);
98
104
  }
99
105
 
@@ -340,4 +346,4 @@
340
346
  });
341
347
 
342
348
  CodeMirror.commands.autocomplete = CodeMirror.showHint;
343
- })();
349
+ });
@@ -1,4 +1,11 @@
1
- (function () {
1
+ (function(mod) {
2
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
3
+ mod(require("../../lib/codemirror"), require("../../mode/sql/sql"));
4
+ else if (typeof define == "function" && define.amd) // AMD
5
+ define(["../../lib/codemirror", "../../mode/sql/sql"], mod);
6
+ else // Plain browser env
7
+ mod(CodeMirror);
8
+ })(function(CodeMirror) {
2
9
  "use strict";
3
10
 
4
11
  var tables;
@@ -151,4 +158,4 @@
151
158
  };
152
159
  }
153
160
  CodeMirror.registerHelper("hint", "sql", sqlHint);
154
- })();
161
+ });
@@ -1,4 +1,11 @@
1
- (function() {
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) {
2
9
  "use strict";
3
10
 
4
11
  var Pos = CodeMirror.Pos;
@@ -11,45 +18,27 @@
11
18
  var inner = CodeMirror.innerMode(cm.getMode(), token.state);
12
19
  if (inner.mode.name != "xml") return;
13
20
  var result = [], replaceToken = false, prefix;
14
- var tag = /\btag\b/.test(token.type), tagName = tag && /^\w/.test(token.string), tagStart;
15
- if (tagName) {
16
- var before = cm.getLine(cur.line).slice(Math.max(0, token.start - 2), token.start);
17
- var tagType = /<\/$/.test(before) ? "close" : /<$/.test(before) ? "open" : null;
18
- if (tagType) tagStart = token.start - (tagType == "close" ? 2 : 1);
19
- } else if (tag && token.string == "<") {
20
- tagType = "open";
21
- } else if (tag && token.string == "</") {
22
- tagType = "close";
23
- }
24
- if (!tag && !inner.state.tagName || tagType) {
25
- if (tagName)
26
- prefix = token.string;
27
- replaceToken = tagType;
21
+ var isTag = token.string.charAt(0) == "<";
22
+ if (!inner.state.tagName || isTag) { // Tag completion
23
+ if (isTag) {
24
+ prefix = token.string.slice(1);
25
+ replaceToken = true;
26
+ }
28
27
  var cx = inner.state.context, curTag = cx && tags[cx.tagName];
29
28
  var childList = cx ? curTag && curTag.children : tags["!top"];
30
- if (childList && tagType != "close") {
29
+ if (childList) {
31
30
  for (var i = 0; i < childList.length; ++i) if (!prefix || childList[i].lastIndexOf(prefix, 0) == 0)
32
31
  result.push("<" + childList[i]);
33
- } else if (tagType != "close") {
34
- for (var name in tags)
35
- if (tags.hasOwnProperty(name) && name != "!top" && name != "!attrs" && (!prefix || name.lastIndexOf(prefix, 0) == 0))
36
- result.push("<" + name);
32
+ } else {
33
+ for (var name in tags) if (tags.hasOwnProperty(name) && name != "!top" && (!prefix || name.lastIndexOf(prefix, 0) == 0))
34
+ result.push("<" + name);
37
35
  }
38
- if (cx && (!prefix || tagType == "close" && cx.tagName.lastIndexOf(prefix, 0) == 0))
36
+ if (cx && (!prefix || ("/" + cx.tagName).lastIndexOf(prefix, 0) == 0))
39
37
  result.push("</" + cx.tagName + ">");
40
38
  } else {
41
39
  // Attribute completion
42
40
  var curTag = tags[inner.state.tagName], attrs = curTag && curTag.attrs;
43
- var globalAttrs = tags["!attrs"];
44
- if (!attrs && !globalAttrs) return;
45
- if (!attrs) {
46
- attrs = globalAttrs;
47
- } else if (globalAttrs) { // Combine tag-local and global attributes
48
- var set = {};
49
- for (var nm in globalAttrs) if (globalAttrs.hasOwnProperty(nm)) set[nm] = globalAttrs[nm];
50
- for (var nm in attrs) if (attrs.hasOwnProperty(nm)) set[nm] = attrs[nm];
51
- attrs = set;
52
- }
41
+ if (!attrs) return;
53
42
  if (token.type == "string" || token.string == "=") { // A value
54
43
  var before = cm.getRange(Pos(cur.line, Math.max(0, cur.ch - 60)),
55
44
  Pos(cur.line, token.type == "string" ? token.start : token.end));
@@ -77,11 +66,10 @@
77
66
  }
78
67
  return {
79
68
  list: result,
80
- from: replaceToken ? Pos(cur.line, tagStart == null ? token.start : tagStart) : cur,
69
+ from: replaceToken ? Pos(cur.line, token.start) : cur,
81
70
  to: replaceToken ? Pos(cur.line, token.end) : cur
82
71
  };
83
72
  }
84
73
 
85
- CodeMirror.xmlHint = getHints; // deprecated
86
74
  CodeMirror.registerHelper("hint", "xml", getHints);
87
- })();
75
+ });
@@ -2,6 +2,16 @@
2
2
 
3
3
  // declare global: coffeelint
4
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
+
5
15
  CodeMirror.registerHelper("lint", "coffeescript", function(text) {
6
16
  var found = [];
7
17
  var parseError = function(err) {
@@ -24,4 +34,5 @@ CodeMirror.registerHelper("lint", "coffeescript", function(text) {
24
34
  }
25
35
  return found;
26
36
  });
27
- CodeMirror.coffeeValidator = CodeMirror.lint.coffeescript; // deprecated
37
+
38
+ });
@@ -2,9 +2,18 @@
2
2
 
3
3
  // declare global: CSSLint
4
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
+
5
15
  CodeMirror.registerHelper("lint", "css", function(text) {
6
16
  var found = [];
7
- if (!window.CSSLint) return found;
8
17
  var results = CSSLint.verify(text), messages = results.messages, message = null;
9
18
  for ( var i = 0; i < messages.length; i++) {
10
19
  message = messages[i];
@@ -18,3 +27,5 @@ CodeMirror.registerHelper("lint", "css", function(text) {
18
27
  }
19
28
  return found;
20
29
  });
30
+
31
+ });
@@ -1,4 +1,11 @@
1
- (function() {
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) {
2
9
  "use strict";
3
10
  // declare global: JSHINT
4
11
 
@@ -12,7 +19,6 @@
12
19
  "Unclosed string", "Stopping, unable to continue" ];
13
20
 
14
21
  function validator(text, options) {
15
- if (!window.JSHINT) return [];
16
22
  JSHINT(text, options);
17
23
  var errors = JSHINT.data().errors, result = [];
18
24
  if (errors) parseErrors(errors, result);
@@ -20,7 +26,6 @@
20
26
  }
21
27
 
22
28
  CodeMirror.registerHelper("lint", "javascript", validator);
23
- CodeMirror.javascriptValidator = CodeMirror.lint.javascript; // deprecated
24
29
 
25
30
  function cleanup(error) {
26
31
  // All problems are warnings by default
@@ -124,4 +129,4 @@
124
129
  }
125
130
  }
126
131
  }
127
- })();
132
+ });
@@ -2,6 +2,16 @@
2
2
 
3
3
  // declare global: jsonlint
4
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
+
5
15
  CodeMirror.registerHelper("lint", "json", function(text) {
6
16
  var found = [];
7
17
  jsonlint.parseError = function(str, hash) {
@@ -14,4 +24,5 @@ CodeMirror.registerHelper("lint", "json", function(text) {
14
24
  catch(e) {}
15
25
  return found;
16
26
  });
17
- CodeMirror.jsonValidator = CodeMirror.lint.json; // deprecated
27
+
28
+ });
@@ -1,4 +1,11 @@
1
- (function() {
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) {
2
9
  "use strict";
3
10
  var GUTTER_ID = "CodeMirror-lint-markers";
4
11
  var SEVERITIES = /^(?:error|warning)$/;
@@ -170,7 +177,7 @@
170
177
  if (!/\bCodeMirror-lint-mark-/.test((e.target || e.srcElement).className)) return;
171
178
  for (var i = 0; i < nearby.length; i += 2) {
172
179
  var spans = cm.findMarksAt(cm.coordsChar({left: e.clientX + nearby[i],
173
- top: e.clientY + nearby[i + 1]}));
180
+ top: e.clientY + nearby[i + 1]}, "client"));
174
181
  for (var j = 0; j < spans.length; ++j) {
175
182
  var span = spans[j], ann = span.__annotation;
176
183
  if (ann) return popupSpanTooltip(ann, e);
@@ -178,7 +185,7 @@
178
185
  }
179
186
  }
180
187
 
181
- function optionHandler(cm, val, old) {
188
+ CodeMirror.defineOption("lint", false, function(cm, val, old) {
182
189
  if (old && old != CodeMirror.Init) {
183
190
  clearMarks(cm);
184
191
  cm.off("change", onChange);
@@ -196,8 +203,5 @@
196
203
 
197
204
  startLinting(cm);
198
205
  }
199
- }
200
-
201
- CodeMirror.defineOption("lintWith", false, optionHandler); // deprecated
202
- CodeMirror.defineOption("lint", false, optionHandler); // deprecated
203
- })();
206
+ });
207
+ });
@@ -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
  // Depends on js-yaml.js from https://github.com/nodeca/js-yaml
2
12
 
3
13
  // declare global: jsyaml
@@ -11,4 +21,5 @@ CodeMirror.registerHelper("lint", "yaml", function(text) {
11
21
  }
12
22
  return found;
13
23
  });
14
- CodeMirror.yamlValidator = CodeMirror.lint.yaml; // deprecated
24
+
25
+ });