ace-rails-ap 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ace/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/ace/ace.js +210 -161
  4. data/vendor/assets/javascripts/ace/ext-beautify.js +0 -1
  5. data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -1
  6. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +0 -1
  7. data/vendor/assets/javascripts/ace/ext-emmet.js +66 -48
  8. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +9 -19
  9. data/vendor/assets/javascripts/ace/ext-language_tools.js +108 -10
  10. data/vendor/assets/javascripts/ace/ext-linking.js +0 -1
  11. data/vendor/assets/javascripts/ace/ext-modelist.js +4 -1
  12. data/vendor/assets/javascripts/ace/ext-old_ie.js +23 -2
  13. data/vendor/assets/javascripts/ace/ext-searchbox.js +23 -2
  14. data/vendor/assets/javascripts/ace/ext-settings_menu.js +10 -1
  15. data/vendor/assets/javascripts/ace/ext-spellcheck.js +0 -1
  16. data/vendor/assets/javascripts/ace/ext-split.js +0 -1
  17. data/vendor/assets/javascripts/ace/ext-static_highlight.js +0 -1
  18. data/vendor/assets/javascripts/ace/ext-statusbar.js +2 -4
  19. data/vendor/assets/javascripts/ace/ext-textarea.js +0 -1
  20. data/vendor/assets/javascripts/ace/ext-themelist.js +0 -1
  21. data/vendor/assets/javascripts/ace/ext-whitespace.js +0 -1
  22. data/vendor/assets/javascripts/ace/keybinding-emacs.js +159 -50
  23. data/vendor/assets/javascripts/ace/mode-autohotkey.js +1 -1
  24. data/vendor/assets/javascripts/ace/mode-c_cpp.js +32 -14
  25. data/vendor/assets/javascripts/ace/mode-coffee.js +1 -1
  26. data/vendor/assets/javascripts/ace/mode-coldfusion.js +62 -24
  27. data/vendor/assets/javascripts/ace/mode-csharp.js +14 -8
  28. data/vendor/assets/javascripts/ace/mode-css.js +2 -2
  29. data/vendor/assets/javascripts/ace/mode-curly.js +62 -24
  30. data/vendor/assets/javascripts/ace/mode-d.js +13 -7
  31. data/vendor/assets/javascripts/ace/mode-dart.js +32 -14
  32. data/vendor/assets/javascripts/ace/mode-django.js +62 -24
  33. data/vendor/assets/javascripts/ace/mode-dockerfile.js +3 -3
  34. data/vendor/assets/javascripts/ace/mode-dot.js +12 -6
  35. data/vendor/assets/javascripts/ace/mode-ejs.js +126 -27
  36. data/vendor/assets/javascripts/ace/mode-elixir.js +493 -0
  37. data/vendor/assets/javascripts/ace/mode-elm.js +248 -0
  38. data/vendor/assets/javascripts/ace/mode-forth.js +1 -1
  39. data/vendor/assets/javascripts/ace/mode-ftl.js +20 -10
  40. data/vendor/assets/javascripts/ace/mode-gitignore.js +1 -0
  41. data/vendor/assets/javascripts/ace/mode-glsl.js +32 -14
  42. data/vendor/assets/javascripts/ace/mode-golang.js +14 -8
  43. data/vendor/assets/javascripts/ace/mode-groovy.js +22 -12
  44. data/vendor/assets/javascripts/ace/mode-haml.js +64 -3
  45. data/vendor/assets/javascripts/ace/mode-handlebars.js +72 -34
  46. data/vendor/assets/javascripts/ace/mode-haxe.js +14 -8
  47. data/vendor/assets/javascripts/ace/mode-html.js +62 -24
  48. data/vendor/assets/javascripts/ace/mode-html_ruby.js +126 -27
  49. data/vendor/assets/javascripts/ace/mode-jack.js +2 -2
  50. data/vendor/assets/javascripts/ace/mode-jade.js +21 -11
  51. data/vendor/assets/javascripts/ace/mode-java.js +22 -12
  52. data/vendor/assets/javascripts/ace/mode-javascript.js +22 -12
  53. data/vendor/assets/javascripts/ace/mode-json.js +2 -2
  54. data/vendor/assets/javascripts/ace/mode-jsoniq.js +47 -1835
  55. data/vendor/assets/javascripts/ace/mode-jsp.js +22 -12
  56. data/vendor/assets/javascripts/ace/mode-jsx.js +14 -8
  57. data/vendor/assets/javascripts/ace/mode-less.js +2 -2
  58. data/vendor/assets/javascripts/ace/mode-liquid.js +20 -10
  59. data/vendor/assets/javascripts/ace/mode-logiql.js +2 -2
  60. data/vendor/assets/javascripts/ace/mode-lsl.js +2 -2
  61. data/vendor/assets/javascripts/ace/mode-luapage.js +62 -24
  62. data/vendor/assets/javascripts/ace/mode-markdown.js +62 -24
  63. data/vendor/assets/javascripts/ace/mode-mel.js +2 -2
  64. data/vendor/assets/javascripts/ace/mode-mysql.js +12 -6
  65. data/vendor/assets/javascripts/ace/mode-nix.js +32 -14
  66. data/vendor/assets/javascripts/ace/mode-objectivec.js +30 -12
  67. data/vendor/assets/javascripts/ace/mode-pgsql.js +20 -10
  68. data/vendor/assets/javascripts/ace/mode-php.js +1126 -40
  69. data/vendor/assets/javascripts/ace/mode-powershell.js +2 -2
  70. data/vendor/assets/javascripts/ace/mode-protobuf.js +32 -14
  71. data/vendor/assets/javascripts/ace/mode-rhtml.js +62 -24
  72. data/vendor/assets/javascripts/ace/mode-ruby.js +66 -5
  73. data/vendor/assets/javascripts/ace/mode-rust.js +36 -3
  74. data/vendor/assets/javascripts/ace/mode-scad.js +14 -8
  75. data/vendor/assets/javascripts/ace/mode-scala.js +22 -12
  76. data/vendor/assets/javascripts/ace/mode-scss.js +2 -2
  77. data/vendor/assets/javascripts/ace/mode-sh.js +2 -2
  78. data/vendor/assets/javascripts/ace/mode-sjs.js +22 -12
  79. data/vendor/assets/javascripts/ace/mode-smarty.js +62 -24
  80. data/vendor/assets/javascripts/ace/mode-soy_template.js +63 -25
  81. data/vendor/assets/javascripts/ace/mode-stylus.js +4 -1
  82. data/vendor/assets/javascripts/ace/mode-svg.js +62 -24
  83. data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
  84. data/vendor/assets/javascripts/ace/mode-twig.js +62 -24
  85. data/vendor/assets/javascripts/ace/mode-typescript.js +22 -12
  86. data/vendor/assets/javascripts/ace/mode-vala.js +2 -2
  87. data/vendor/assets/javascripts/ace/mode-velocity.js +62 -24
  88. data/vendor/assets/javascripts/ace/mode-xml.js +40 -12
  89. data/vendor/assets/javascripts/ace/mode-xquery.js +47 -1835
  90. data/vendor/assets/javascripts/ace/theme-cobalt.js +1 -1
  91. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +1 -1
  92. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +2 -2
  93. data/vendor/assets/javascripts/ace/worker-coffee.js +15 -5
  94. data/vendor/assets/javascripts/ace/worker-css.js +15 -5
  95. data/vendor/assets/javascripts/ace/worker-html.js +15 -5
  96. data/vendor/assets/javascripts/ace/worker-javascript.js +15 -5
  97. data/vendor/assets/javascripts/ace/worker-json.js +17 -6
  98. data/vendor/assets/javascripts/ace/worker-lua.js +15 -5
  99. data/vendor/assets/javascripts/ace/worker-php.js +15 -5
  100. data/vendor/assets/javascripts/ace/worker-xquery.js +15 -5
  101. metadata +4 -2
@@ -0,0 +1,248 @@
1
+ define("ace/mode/elm_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var oop = require("../lib/oop");
5
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
+
7
+ var ElmHighlightRules = function() {
8
+ var keywordMapper = this.createKeywordMapper({
9
+ "keyword": "as|case|class|data|default|deriving|do|else|export|foreign|" +
10
+ "hiding|jsevent|if|import|in|infix|infixl|infixr|instance|let|" +
11
+ "module|newtype|of|open|then|type|where|_|port|\u03BB"
12
+ }, "identifier");
13
+
14
+ var escapeRe = /\\(\d+|['"\\&trnbvf])/;
15
+
16
+ var smallRe = /[a-z_]/.source;
17
+ var largeRe = /[A-Z]/.source;
18
+ var idRe = /[a-z_A-Z0-9\']/.source;
19
+
20
+ this.$rules = {
21
+ start: [{
22
+ token: "string.start",
23
+ regex: '"',
24
+ next: "string"
25
+ }, {
26
+ token: "string.character",
27
+ regex: "'(?:" + escapeRe.source + "|.)'?"
28
+ }, {
29
+ regex: /0(?:[xX][0-9A-Fa-f]+|[oO][0-7]+)|\d+(\.\d+)?([eE][-+]?\d*)?/,
30
+ token: "constant.numeric"
31
+ }, {
32
+ token : "keyword",
33
+ regex : /\.\.|\||:|=|\\|\"|->|<-|\u2192/
34
+ }, {
35
+ token : "keyword.operator",
36
+ regex : /[-!#$%&*+.\/<=>?@\\^|~:\u03BB\u2192]+/
37
+ }, {
38
+ token : "operator.punctuation",
39
+ regex : /[,;`]/
40
+ }, {
41
+ regex : largeRe + idRe + "+\\.?",
42
+ token : function(value) {
43
+ if (value[value.length - 1] == ".")
44
+ return "entity.name.function";
45
+ return "constant.language";
46
+ }
47
+ }, {
48
+ regex : "^" + smallRe + idRe + "+",
49
+ token : function(value) {
50
+ return "constant.language";
51
+ }
52
+ }, {
53
+ token : keywordMapper,
54
+ regex : "[\\w\\xff-\\u218e\\u2455-\\uffff]+\\b"
55
+ }, {
56
+ regex: "{-#?",
57
+ token: "comment.start",
58
+ onMatch: function(value, currentState, stack) {
59
+ this.next = value.length == 2 ? "blockComment" : "docComment";
60
+ return this.token;
61
+ }
62
+ }, {
63
+ token: "variable.language",
64
+ regex: /\[markdown\|/,
65
+ next: "markdown"
66
+ }, {
67
+ token: "paren.lparen",
68
+ regex: /[\[({]/
69
+ }, {
70
+ token: "paren.rparen",
71
+ regex: /[\])}]/
72
+ }, ],
73
+ markdown: [{
74
+ regex: /\|\]/,
75
+ next: "start"
76
+ }, {
77
+ defaultToken : "string"
78
+ }],
79
+ blockComment: [{
80
+ regex: "{-",
81
+ token: "comment.start",
82
+ push: "blockComment"
83
+ }, {
84
+ regex: "-}",
85
+ token: "comment.end",
86
+ next: "pop"
87
+ }, {
88
+ defaultToken: "comment"
89
+ }],
90
+ docComment: [{
91
+ regex: "{-",
92
+ token: "comment.start",
93
+ push: "docComment"
94
+ }, {
95
+ regex: "-}",
96
+ token: "comment.end",
97
+ next: "pop"
98
+ }, {
99
+ defaultToken: "doc.comment"
100
+ }],
101
+ string: [{
102
+ token: "constant.language.escape",
103
+ regex: escapeRe,
104
+ }, {
105
+ token: "text",
106
+ regex: /\\(\s|$)/,
107
+ next: "stringGap"
108
+ }, {
109
+ token: "string.end",
110
+ regex: '"',
111
+ next: "start"
112
+ }],
113
+ stringGap: [{
114
+ token: "text",
115
+ regex: /\\/,
116
+ next: "string"
117
+ }, {
118
+ token: "error",
119
+ regex: "",
120
+ next: "start"
121
+ }],
122
+ };
123
+
124
+ this.normalizeRules();
125
+ };
126
+
127
+ oop.inherits(ElmHighlightRules, TextHighlightRules);
128
+
129
+ exports.ElmHighlightRules = ElmHighlightRules;
130
+ });
131
+
132
+ define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
133
+ "use strict";
134
+
135
+ var oop = require("../../lib/oop");
136
+ var Range = require("../../range").Range;
137
+ var BaseFoldMode = require("./fold_mode").FoldMode;
138
+
139
+ var FoldMode = exports.FoldMode = function(commentRegex) {
140
+ if (commentRegex) {
141
+ this.foldingStartMarker = new RegExp(
142
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
143
+ );
144
+ this.foldingStopMarker = new RegExp(
145
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
146
+ );
147
+ }
148
+ };
149
+ oop.inherits(FoldMode, BaseFoldMode);
150
+
151
+ (function() {
152
+
153
+ this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
154
+ this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
155
+
156
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
157
+ var line = session.getLine(row);
158
+ var match = line.match(this.foldingStartMarker);
159
+ if (match) {
160
+ var i = match.index;
161
+
162
+ if (match[1])
163
+ return this.openingBracketBlock(session, match[1], row, i);
164
+
165
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
166
+
167
+ if (range && !range.isMultiLine()) {
168
+ if (forceMultiline) {
169
+ range = this.getSectionRange(session, row);
170
+ } else if (foldStyle != "all")
171
+ range = null;
172
+ }
173
+
174
+ return range;
175
+ }
176
+
177
+ if (foldStyle === "markbegin")
178
+ return;
179
+
180
+ var match = line.match(this.foldingStopMarker);
181
+ if (match) {
182
+ var i = match.index + match[0].length;
183
+
184
+ if (match[1])
185
+ return this.closingBracketBlock(session, match[1], row, i);
186
+
187
+ return session.getCommentFoldRange(row, i, -1);
188
+ }
189
+ };
190
+
191
+ this.getSectionRange = function(session, row) {
192
+ var line = session.getLine(row);
193
+ var startIndent = line.search(/\S/);
194
+ var startRow = row;
195
+ var startColumn = line.length;
196
+ row = row + 1;
197
+ var endRow = row;
198
+ var maxRow = session.getLength();
199
+ while (++row < maxRow) {
200
+ line = session.getLine(row);
201
+ var indent = line.search(/\S/);
202
+ if (indent === -1)
203
+ continue;
204
+ if (startIndent > indent)
205
+ break;
206
+ var subRange = this.getFoldWidgetRange(session, "all", row);
207
+
208
+ if (subRange) {
209
+ if (subRange.start.row <= startRow) {
210
+ break;
211
+ } else if (subRange.isMultiLine()) {
212
+ row = subRange.end.row;
213
+ } else if (startIndent == indent) {
214
+ break;
215
+ }
216
+ }
217
+ endRow = row;
218
+ }
219
+
220
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
221
+ };
222
+
223
+ }).call(FoldMode.prototype);
224
+
225
+ });
226
+
227
+ define("ace/mode/elm",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elm_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
228
+ "use strict";
229
+
230
+ var oop = require("../lib/oop");
231
+ var TextMode = require("./text").Mode;
232
+ var HighlightRules = require("./elm_highlight_rules").ElmHighlightRules;
233
+ var FoldMode = require("./folding/cstyle").FoldMode;
234
+
235
+ var Mode = function() {
236
+ this.HighlightRules = HighlightRules;
237
+ this.foldingRules = new FoldMode();
238
+ };
239
+ oop.inherits(Mode, TextMode);
240
+
241
+ (function() {
242
+ this.lineCommentStart = "--";
243
+ this.blockComment = {start: "{-", end: "-}"};
244
+ this.$id = "ace/mode/elm";
245
+ }).call(Mode.prototype);
246
+
247
+ exports.Mode = Mode;
248
+ });
@@ -235,7 +235,7 @@ var Mode = function() {
235
235
  oop.inherits(Mode, TextMode);
236
236
 
237
237
  (function() {
238
- this.lineCommentStart = "(?<=^|\\s)\\.?\\( [^)]*\\)";
238
+ this.lineCommentStart = "--";
239
239
  this.blockComment = {start: "/*", end: "*/"};
240
240
  this.$id = "ace/mode/forth";
241
241
  }).call(Mode.prototype);
@@ -149,22 +149,28 @@ var oop = require("../lib/oop");
149
149
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
150
150
 
151
151
  var DocCommentHighlightRules = function() {
152
-
153
152
  this.$rules = {
154
153
  "start" : [ {
155
154
  token : "comment.doc.tag",
156
155
  regex : "@[\\w\\d_]+" // TODO: fix email addresses
157
- }, {
158
- token : "comment.doc.tag",
159
- regex : "\\bTODO\\b"
160
- }, {
161
- defaultToken : "comment.doc"
156
+ },
157
+ DocCommentHighlightRules.getTagRule(),
158
+ {
159
+ defaultToken : "comment.doc",
160
+ caseInsensitive: true
162
161
  }]
163
162
  };
164
163
  };
165
164
 
166
165
  oop.inherits(DocCommentHighlightRules, TextHighlightRules);
167
166
 
167
+ DocCommentHighlightRules.getTagRule = function(start) {
168
+ return {
169
+ token : "comment.doc.tag.storage.type",
170
+ regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
171
+ };
172
+ }
173
+
168
174
  DocCommentHighlightRules.getStartRule = function(start) {
169
175
  return {
170
176
  token : "comment.doc", // doc comment
@@ -436,20 +442,24 @@ var JavaScriptHighlightRules = function(options) {
436
442
  }
437
443
  ],
438
444
  "comment_regex_allowed" : [
445
+ DocCommentHighlightRules.getTagRule(),
439
446
  {token : "comment", regex : "\\*\\/", next : "start"},
440
- {defaultToken : "comment"}
447
+ {defaultToken : "comment", caseInsensitive: true}
441
448
  ],
442
449
  "comment" : [
450
+ DocCommentHighlightRules.getTagRule(),
443
451
  {token : "comment", regex : "\\*\\/", next : "no_regex"},
444
- {defaultToken : "comment"}
452
+ {defaultToken : "comment", caseInsensitive: true}
445
453
  ],
446
454
  "line_comment_regex_allowed" : [
455
+ DocCommentHighlightRules.getTagRule(),
447
456
  {token : "comment", regex : "$|^", next : "start"},
448
- {defaultToken : "comment"}
457
+ {defaultToken : "comment", caseInsensitive: true}
449
458
  ],
450
459
  "line_comment" : [
460
+ DocCommentHighlightRules.getTagRule(),
451
461
  {token : "comment", regex : "$|^", next : "no_regex"},
452
- {defaultToken : "comment"}
462
+ {defaultToken : "comment", caseInsensitive: true}
453
463
  ],
454
464
  "qqstring" : [
455
465
  {
@@ -43,6 +43,7 @@ var Mode = function() {
43
43
  oop.inherits(Mode, TextMode);
44
44
 
45
45
  (function() {
46
+ this.lineCommentStart = "#";
46
47
  this.$id = "ace/mode/gitignore";
47
48
  }).call(Mode.prototype);
48
49
 
@@ -5,22 +5,28 @@ var oop = require("../lib/oop");
5
5
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
6
 
7
7
  var DocCommentHighlightRules = function() {
8
-
9
8
  this.$rules = {
10
9
  "start" : [ {
11
10
  token : "comment.doc.tag",
12
11
  regex : "@[\\w\\d_]+" // TODO: fix email addresses
13
- }, {
14
- token : "comment.doc.tag",
15
- regex : "\\bTODO\\b"
16
- }, {
17
- defaultToken : "comment.doc"
12
+ },
13
+ DocCommentHighlightRules.getTagRule(),
14
+ {
15
+ defaultToken : "comment.doc",
16
+ caseInsensitive: true
18
17
  }]
19
18
  };
20
19
  };
21
20
 
22
21
  oop.inherits(DocCommentHighlightRules, TextHighlightRules);
23
22
 
23
+ DocCommentHighlightRules.getTagRule = function(start) {
24
+ return {
25
+ token : "comment.doc.tag.storage.type",
26
+ regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
27
+ };
28
+ }
29
+
24
30
  DocCommentHighlightRules.getStartRule = function(start) {
25
31
  return {
26
32
  token : "comment.doc", // doc comment
@@ -89,11 +95,12 @@ var c_cppHighlightRules = function() {
89
95
 
90
96
  var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\d\\$_\u00a1-\uffff]*\\b";
91
97
 
92
- this.$rules = {
98
+ this.$rules = {
93
99
  "start" : [
94
100
  {
95
101
  token : "comment",
96
- regex : "\\/\\/.*$"
102
+ regex : "//",
103
+ next : "singleLineComment"
97
104
  },
98
105
  DocCommentHighlightRules.getStartRule("doc-start"),
99
106
  {
@@ -160,14 +167,26 @@ var c_cppHighlightRules = function() {
160
167
  regex : ".+"
161
168
  }
162
169
  ],
170
+ "singleLineComment" : [
171
+ {
172
+ token : "comment",
173
+ regex : /\\$/,
174
+ next : "singleLineComment"
175
+ }, {
176
+ token : "comment",
177
+ regex : /$/,
178
+ next : "start"
179
+ }, {
180
+ defaultToken: "comment"
181
+ }
182
+ ],
163
183
  "qqstring" : [
164
184
  {
165
185
  token : "string",
166
186
  regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
167
187
  next : "start"
168
188
  }, {
169
- token : "string",
170
- regex : '.+'
189
+ defaultToken : "string"
171
190
  }
172
191
  ],
173
192
  "qstring" : [
@@ -176,8 +195,7 @@ var c_cppHighlightRules = function() {
176
195
  regex : "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
177
196
  next : "start"
178
197
  }, {
179
- token : "string",
180
- regex : '.+'
198
+ defaultToken : "string"
181
199
  }
182
200
  ],
183
201
  "directive" : [
@@ -275,11 +293,11 @@ var SAFE_INSERT_BEFORE_TOKENS =
275
293
  ["text", "paren.rparen", "punctuation.operator", "comment"];
276
294
 
277
295
  var context;
278
- var contextCache = {}
296
+ var contextCache = {};
279
297
  var initContext = function(editor) {
280
298
  var id = -1;
281
299
  if (editor.multiSelect) {
282
- id = editor.selection.id;
300
+ id = editor.selection.index;
283
301
  if (contextCache.rangeCount != editor.multiSelect.rangeCount)
284
302
  contextCache = {rangeCount: editor.multiSelect.rangeCount};
285
303
  }
@@ -5,22 +5,28 @@ var oop = require("../lib/oop");
5
5
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
6
 
7
7
  var DocCommentHighlightRules = function() {
8
-
9
8
  this.$rules = {
10
9
  "start" : [ {
11
10
  token : "comment.doc.tag",
12
11
  regex : "@[\\w\\d_]+" // TODO: fix email addresses
13
- }, {
14
- token : "comment.doc.tag",
15
- regex : "\\bTODO\\b"
16
- }, {
17
- defaultToken : "comment.doc"
12
+ },
13
+ DocCommentHighlightRules.getTagRule(),
14
+ {
15
+ defaultToken : "comment.doc",
16
+ caseInsensitive: true
18
17
  }]
19
18
  };
20
19
  };
21
20
 
22
21
  oop.inherits(DocCommentHighlightRules, TextHighlightRules);
23
22
 
23
+ DocCommentHighlightRules.getTagRule = function(start) {
24
+ return {
25
+ token : "comment.doc.tag.storage.type",
26
+ regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
27
+ };
28
+ }
29
+
24
30
  DocCommentHighlightRules.getStartRule = function(start) {
25
31
  return {
26
32
  token : "comment.doc", // doc comment
@@ -205,11 +211,11 @@ var SAFE_INSERT_BEFORE_TOKENS =
205
211
  ["text", "paren.rparen", "punctuation.operator", "comment"];
206
212
 
207
213
  var context;
208
- var contextCache = {}
214
+ var contextCache = {};
209
215
  var initContext = function(editor) {
210
216
  var id = -1;
211
217
  if (editor.multiSelect) {
212
- id = editor.selection.id;
218
+ id = editor.selection.index;
213
219
  if (contextCache.rangeCount != editor.multiSelect.rangeCount)
214
220
  contextCache = {rangeCount: editor.multiSelect.rangeCount};
215
221
  }