corrade-nucleus-nucleons – Blame information for rev 2
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
2 | office | 1 | ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) { |
2 | "use strict"; |
||
3 | |||
4 | var oop = require("../lib/oop"); |
||
5 | var lang = require("../lib/lang"); |
||
6 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; |
||
7 | var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index"; |
||
8 | var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters"; |
||
9 | var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero"; |
||
10 | var supportConstantColor = exports.supportConstantColor = "aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow"; |
||
11 | var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace"; |
||
12 | |||
13 | var numRe = exports.numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))"; |
||
14 | var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b"; |
||
15 | var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b"; |
||
16 | |||
17 | var CssHighlightRules = function() { |
||
18 | |||
19 | var keywordMapper = this.createKeywordMapper({ |
||
20 | "support.function": supportFunction, |
||
21 | "support.constant": supportConstant, |
||
22 | "support.type": supportType, |
||
23 | "support.constant.color": supportConstantColor, |
||
24 | "support.constant.fonts": supportConstantFonts |
||
25 | }, "text", true); |
||
26 | |||
27 | this.$rules = { |
||
28 | "start" : [{ |
||
29 | token : "comment", // multi line comment |
||
30 | regex : "\\/\\*", |
||
31 | push : "comment" |
||
32 | }, { |
||
33 | token: "paren.lparen", |
||
34 | regex: "\\{", |
||
35 | push: "ruleset" |
||
36 | }, { |
||
37 | token: "string", |
||
38 | regex: "@.*?{", |
||
39 | push: "media" |
||
40 | }, { |
||
41 | token: "keyword", |
||
42 | regex: "#[a-z0-9-_]+" |
||
43 | }, { |
||
44 | token: "variable", |
||
45 | regex: "\\.[a-z0-9-_]+" |
||
46 | }, { |
||
47 | token: "string", |
||
48 | regex: ":[a-z0-9-_]+" |
||
49 | }, { |
||
50 | token: "constant", |
||
51 | regex: "[a-z0-9-_]+" |
||
52 | }, { |
||
53 | caseInsensitive: true |
||
54 | }], |
||
55 | |||
56 | "media" : [{ |
||
57 | token : "comment", // multi line comment |
||
58 | regex : "\\/\\*", |
||
59 | push : "comment" |
||
60 | }, { |
||
61 | token: "paren.lparen", |
||
62 | regex: "\\{", |
||
63 | push: "ruleset" |
||
64 | }, { |
||
65 | token: "string", |
||
66 | regex: "\\}", |
||
67 | next: "pop" |
||
68 | }, { |
||
69 | token: "keyword", |
||
70 | regex: "#[a-z0-9-_]+" |
||
71 | }, { |
||
72 | token: "variable", |
||
73 | regex: "\\.[a-z0-9-_]+" |
||
74 | }, { |
||
75 | token: "string", |
||
76 | regex: ":[a-z0-9-_]+" |
||
77 | }, { |
||
78 | token: "constant", |
||
79 | regex: "[a-z0-9-_]+" |
||
80 | }, { |
||
81 | caseInsensitive: true |
||
82 | }], |
||
83 | |||
84 | "comment" : [{ |
||
85 | token : "comment", |
||
86 | regex : "\\*\\/", |
||
87 | next : "pop" |
||
88 | }, { |
||
89 | defaultToken : "comment" |
||
90 | }], |
||
91 | |||
92 | "ruleset" : [ |
||
93 | { |
||
94 | token : "paren.rparen", |
||
95 | regex : "\\}", |
||
96 | next: "pop" |
||
97 | }, { |
||
98 | token : "comment", // multi line comment |
||
99 | regex : "\\/\\*", |
||
100 | push : "comment" |
||
101 | }, { |
||
102 | token : "string", // single line |
||
103 | regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' |
||
104 | }, { |
||
105 | token : "string", // single line |
||
106 | regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']" |
||
107 | }, { |
||
108 | token : ["constant.numeric", "keyword"], |
||
109 | regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)" |
||
110 | }, { |
||
111 | token : "constant.numeric", |
||
112 | regex : numRe |
||
113 | }, { |
||
114 | token : "constant.numeric", // hex6 color |
||
115 | regex : "#[a-f0-9]{6}" |
||
116 | }, { |
||
117 | token : "constant.numeric", // hex3 color |
||
118 | regex : "#[a-f0-9]{3}" |
||
119 | }, { |
||
120 | token : ["punctuation", "entity.other.attribute-name.pseudo-element.css"], |
||
121 | regex : pseudoElements |
||
122 | }, { |
||
123 | token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"], |
||
124 | regex : pseudoClasses |
||
125 | }, { |
||
126 | token : ["support.function", "string", "support.function"], |
||
127 | regex : "(url\\()(.*)(\\))" |
||
128 | }, { |
||
129 | token : keywordMapper, |
||
130 | regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*" |
||
131 | }, { |
||
132 | caseInsensitive: true |
||
133 | }] |
||
134 | }; |
||
135 | |||
136 | this.normalizeRules(); |
||
137 | }; |
||
138 | |||
139 | oop.inherits(CssHighlightRules, TextHighlightRules); |
||
140 | |||
141 | exports.CssHighlightRules = CssHighlightRules; |
||
142 | |||
143 | }); |
||
144 | |||
145 | ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { |
||
146 | "use strict"; |
||
147 | |||
148 | var oop = require("../lib/oop"); |
||
149 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; |
||
150 | |||
151 | var DocCommentHighlightRules = function() { |
||
152 | this.$rules = { |
||
153 | "start" : [ { |
||
154 | token : "comment.doc.tag", |
||
155 | regex : "@[\\w\\d_]+" // TODO: fix email addresses |
||
156 | }, |
||
157 | DocCommentHighlightRules.getTagRule(), |
||
158 | { |
||
159 | defaultToken : "comment.doc", |
||
160 | caseInsensitive: true |
||
161 | }] |
||
162 | }; |
||
163 | }; |
||
164 | |||
165 | oop.inherits(DocCommentHighlightRules, TextHighlightRules); |
||
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 | |||
174 | DocCommentHighlightRules.getStartRule = function(start) { |
||
175 | return { |
||
176 | token : "comment.doc", // doc comment |
||
177 | regex : "\\/\\*(?=\\*)", |
||
178 | next : start |
||
179 | }; |
||
180 | }; |
||
181 | |||
182 | DocCommentHighlightRules.getEndRule = function (start) { |
||
183 | return { |
||
184 | token : "comment.doc", // closing comment |
||
185 | regex : "\\*\\/", |
||
186 | next : start |
||
187 | }; |
||
188 | }; |
||
189 | |||
190 | |||
191 | exports.DocCommentHighlightRules = DocCommentHighlightRules; |
||
192 | |||
193 | }); |
||
194 | |||
195 | ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) { |
||
196 | "use strict"; |
||
197 | |||
198 | var oop = require("../lib/oop"); |
||
199 | var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules; |
||
200 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; |
||
201 | var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*"; |
||
202 | |||
203 | var JavaScriptHighlightRules = function(options) { |
||
204 | var keywordMapper = this.createKeywordMapper({ |
||
205 | "variable.language": |
||
206 | "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors |
||
207 | "Namespace|QName|XML|XMLList|" + // E4X |
||
208 | "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" + |
||
209 | "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" + |
||
210 | "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors |
||
211 | "SyntaxError|TypeError|URIError|" + |
||
212 | "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions |
||
213 | "isNaN|parseFloat|parseInt|" + |
||
214 | "JSON|Math|" + // Other |
||
215 | "this|arguments|prototype|window|document" , // Pseudo |
||
216 | "keyword": |
||
217 | "const|yield|import|get|set|async|await|" + |
||
218 | "break|case|catch|continue|default|delete|do|else|finally|for|function|" + |
||
219 | "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" + |
||
220 | "__parent__|__count__|escape|unescape|with|__proto__|" + |
||
221 | "class|enum|extends|super|export|implements|private|public|interface|package|protected|static", |
||
222 | "storage.type": |
||
223 | "const|let|var|function", |
||
224 | "constant.language": |
||
225 | "null|Infinity|NaN|undefined", |
||
226 | "support.function": |
||
227 | "alert", |
||
228 | "constant.language.boolean": "true|false" |
||
229 | }, "identifier"); |
||
230 | var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void"; |
||
231 | |||
232 | var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex |
||
233 | "u[0-9a-fA-F]{4}|" + // unicode |
||
234 | "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode |
||
235 | "[0-2][0-7]{0,2}|" + // oct |
||
236 | "3[0-7][0-7]?|" + // oct |
||
237 | "[4-7][0-7]?|" + //oct |
||
238 | ".)"; |
||
239 | |||
240 | this.$rules = { |
||
241 | "no_regex" : [ |
||
242 | DocCommentHighlightRules.getStartRule("doc-start"), |
||
243 | comments("no_regex"), |
||
244 | { |
||
245 | token : "string", |
||
246 | regex : "'(?=.)", |
||
247 | next : "qstring" |
||
248 | }, { |
||
249 | token : "string", |
||
250 | regex : '"(?=.)', |
||
251 | next : "qqstring" |
||
252 | }, { |
||
253 | token : "constant.numeric", // hex |
||
254 | regex : /0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/ |
||
255 | }, { |
||
256 | token : "constant.numeric", // float |
||
257 | regex : /[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/ |
||
258 | }, { |
||
259 | token : [ |
||
260 | "storage.type", "punctuation.operator", "support.function", |
||
261 | "punctuation.operator", "entity.name.function", "text","keyword.operator" |
||
262 | ], |
||
263 | regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)", |
||
264 | next: "function_arguments" |
||
265 | }, { |
||
266 | token : [ |
||
267 | "storage.type", "punctuation.operator", "entity.name.function", "text", |
||
268 | "keyword.operator", "text", "storage.type", "text", "paren.lparen" |
||
269 | ], |
||
270 | regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()", |
||
271 | next: "function_arguments" |
||
272 | }, { |
||
273 | token : [ |
||
274 | "entity.name.function", "text", "keyword.operator", "text", "storage.type", |
||
275 | "text", "paren.lparen" |
||
276 | ], |
||
277 | regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()", |
||
278 | next: "function_arguments" |
||
279 | }, { |
||
280 | token : [ |
||
281 | "storage.type", "punctuation.operator", "entity.name.function", "text", |
||
282 | "keyword.operator", "text", |
||
283 | "storage.type", "text", "entity.name.function", "text", "paren.lparen" |
||
284 | ], |
||
285 | regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()", |
||
286 | next: "function_arguments" |
||
287 | }, { |
||
288 | token : [ |
||
289 | "storage.type", "text", "entity.name.function", "text", "paren.lparen" |
||
290 | ], |
||
291 | regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()", |
||
292 | next: "function_arguments" |
||
293 | }, { |
||
294 | token : [ |
||
295 | "entity.name.function", "text", "punctuation.operator", |
||
296 | "text", "storage.type", "text", "paren.lparen" |
||
297 | ], |
||
298 | regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()", |
||
299 | next: "function_arguments" |
||
300 | }, { |
||
301 | token : [ |
||
302 | "text", "text", "storage.type", "text", "paren.lparen" |
||
303 | ], |
||
304 | regex : "(:)(\\s*)(function)(\\s*)(\\()", |
||
305 | next: "function_arguments" |
||
306 | }, { |
||
307 | token : "keyword", |
||
308 | regex : "(?:" + kwBeforeRe + ")\\b", |
||
309 | next : "start" |
||
310 | }, { |
||
311 | token : ["support.constant"], |
||
312 | regex : /that\b/ |
||
313 | }, { |
||
314 | token : ["storage.type", "punctuation.operator", "support.function.firebug"], |
||
315 | regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/ |
||
316 | }, { |
||
317 | token : keywordMapper, |
||
318 | regex : identifierRe |
||
319 | }, { |
||
320 | token : "punctuation.operator", |
||
321 | regex : /[.](?![.])/, |
||
322 | next : "property" |
||
323 | }, { |
||
324 | token : "keyword.operator", |
||
325 | regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,+=?|> |
||
326 | <+=?|> next : "start"+=?|> |
||
327 | <+=?|> }, {+=?|> |
||
328 | <+=?|> token : "punctuation.operator",+=?|> |
||
329 | <+=?|> regex : /[?:,;.]/,+=?|> |
||
330 | <+=?|> next : "start"+=?|> |
||
331 | <+=?|> }, {+=?|> |
||
332 | <+=?|> token : "paren.lparen",+=?|> |
||
333 | <+=?|> regex : /[\[({]/,+=?|> |
||
334 | <+=?|> next : "start"+=?|> |
||
335 | <+=?|> }, {+=?|> |
||
336 | <+=?|> token : "paren.rparen",+=?|> |
||
337 | <+=?|> regex : /[\])}]/+=?|> |
||
338 | <+=?|> }, {+=?|> |
||
339 | <+=?|> token: "comment",+=?|> |
||
340 | <+=?|> regex: /^#!.*$/+=?|> |
||
341 | <+=?|> }+=?|> |
||
342 | <+=?|> ],+=?|> |
||
343 | <+=?|> property: [{+=?|> |
||
344 | <+=?|> token : "text",+=?|> |
||
345 | <+=?|> regex : "\\s+"+=?|> |
||
346 | <+=?|> }, {+=?|> |
||
347 | <+=?|> token : [+=?|> |
||
348 | <+=?|> "storage.type", "punctuation.operator", "entity.name.function", "text",+=?|> |
||
349 | <+=?|> "keyword.operator", "text",+=?|> |
||
350 | <+=?|> "storage.type", "text", "entity.name.function", "text", "paren.lparen"+=?|> |
||
351 | <+=?|> ],+=?|> |
||
352 | <+=?|> regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",+=?|> |
||
353 | <+=?|> next: "function_arguments"+=?|> |
||
354 | <+=?|> }, {+=?|> |
||
355 | <+=?|> token : "punctuation.operator",+=?|> |
||
356 | <+=?|> regex : /[.](?![.])/+=?|> |
||
357 | <+=?|> }, {+=?|> |
||
358 | <+=?|> token : "support.function",+=?|> |
||
359 | <+=?|> regex : /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/+=?|> |
||
360 | <+=?|> }, {+=?|> |
||
361 | <+=?|> token : "support.function.dom",+=?|> |
||
362 | <+=?|> regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/+=?|> |
||
363 | <+=?|> }, {+=?|> |
||
364 | <+=?|> token : "support.constant",+=?|> |
||
365 | <+=?|> regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/+=?|> |
||
366 | <+=?|> }, {+=?|> |
||
367 | <+=?|> token : "identifier",+=?|> |
||
368 | <+=?|> regex : identifierRe+=?|> |
||
369 | <+=?|> }, {+=?|> |
||
370 | <+=?|> regex: "",+=?|> |
||
371 | <+=?|> token: "empty",+=?|> |
||
372 | <+=?|> next: "no_regex"+=?|> |
||
373 | <+=?|> }+=?|> |
||
374 | <+=?|> ],+=?|> |
||
375 | <+=?|> "start": [+=?|> |
||
376 | <+=?|> DocCommentHighlightRules.getStartRule("doc-start"),+=?|> |
||
377 | <+=?|> comments("start"),+=?|> |
||
378 | <+=?|> {+=?|> |
||
379 | <+=?|> token: "string.regexp",+=?|> |
||
380 | <+=?|> regex: "\\/",+=?|> |
||
381 | <+=?|> next: "regex"+=?|> |
||
382 | <+=?|> }, {+=?|> |
||
383 | <+=?|> token : "text",+=?|> |
||
384 | <+=?|> regex : "\\s+|^$",+=?|> |
||
385 | <+=?|> next : "start"+=?|> |
||
386 | <+=?|> }, {+=?|> |
||
387 | <+=?|> token: "empty",+=?|> |
||
388 | <+=?|> regex: "",+=?|> |
||
389 | <+=?|> next: "no_regex"+=?|> |
||
390 | <+=?|> }+=?|> |
||
391 | <+=?|> ],+=?|> |
||
392 | <+=?|> "regex": [+=?|> |
||
393 | <+=?|> {+=?|> |
||
394 | <+=?|> token: "regexp.keyword.operator",+=?|> |
||
395 | <+=?|> regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"+=?|> |
||
396 | <+=?|> }, {+=?|> |
||
397 | <+=?|> token: "string.regexp",+=?|> |
||
398 | <+=?|> regex: "/[sxngimy]*",+=?|> |
||
399 | <+=?|> next: "no_regex"+=?|> |
||
400 | <+=?|> }, {+=?|> |
||
401 | <+=?|> token : "invalid",+=?|> |
||
402 | <+=?|> regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/+=?|> |
||
403 | <+=?|> }, {+=?|> |
||
404 | <+=?|> token : "constant.language.escape",+=?|> |
||
405 | <+=?|> regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/+=?|> |
||
406 | <+=?|> }, {+=?|> |
||
407 | <+=?|> token : "constant.language.delimiter",+=?|> |
||
408 | <+=?|> regex: /\|/+=?|> |
||
409 | <+=?|> }, {+=?|> |
||
410 | <+=?|> token: "constant.language.escape",+=?|> |
||
411 | <+=?|> regex: /\[\^?/,+=?|> |
||
412 | <+=?|> next: "regex_character_class"+=?|> |
||
413 | <+=?|> }, {+=?|> |
||
414 | <+=?|> token: "empty",+=?|> |
||
415 | <+=?|> regex: "$",+=?|> |
||
416 | <+=?|> next: "no_regex"+=?|> |
||
417 | <+=?|> }, {+=?|> |
||
418 | <+=?|> defaultToken: "string.regexp"+=?|> |
||
419 | <+=?|> }+=?|> |
||
420 | <+=?|> ],+=?|> |
||
421 | <+=?|> "regex_character_class": [+=?|> |
||
422 | <+=?|> {+=?|> |
||
423 | <+=?|> token: "regexp.charclass.keyword.operator",+=?|> |
||
424 | <+=?|> regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"+=?|> |
||
425 | <+=?|> }, {+=?|> |
||
426 | <+=?|> token: "constant.language.escape",+=?|> |
||
427 | <+=?|> regex: "]",+=?|> |
||
428 | <+=?|> next: "regex"+=?|> |
||
429 | <+=?|> }, {+=?|> |
||
430 | <+=?|> token: "constant.language.escape",+=?|> |
||
431 | <+=?|> regex: "-"+=?|> |
||
432 | <+=?|> }, {+=?|> |
||
433 | <+=?|> token: "empty",+=?|> |
||
434 | <+=?|> regex: "$",+=?|> |
||
435 | <+=?|> next: "no_regex"+=?|> |
||
436 | <+=?|> }, {+=?|> |
||
437 | <+=?|> defaultToken: "string.regexp.charachterclass"+=?|> |
||
438 | <+=?|> }+=?|> |
||
439 | <+=?|> ],+=?|> |
||
440 | <+=?|> "function_arguments": [+=?|> |
||
441 | <+=?|> {+=?|> |
||
442 | <+=?|> token: "variable.parameter",+=?|> |
||
443 | <+=?|> regex: identifierRe+=?|> |
||
444 | <+=?|> }, {+=?|> |
||
445 | <+=?|> token: "punctuation.operator",+=?|> |
||
446 | <+=?|> regex: "[, ]+"+=?|> |
||
447 | <+=?|> }, {+=?|> |
||
448 | <+=?|> token: "punctuation.operator",+=?|> |
||
449 | <+=?|> regex: "$"+=?|> |
||
450 | <+=?|> }, {+=?|> |
||
451 | <+=?|> token: "empty",+=?|> |
||
452 | <+=?|> regex: "",+=?|> |
||
453 | <+=?|> next: "no_regex"+=?|> |
||
454 | <+=?|> }+=?|> |
||
455 | <+=?|> ],+=?|> |
||
456 | <+=?|> "qqstring" : [+=?|> |
||
457 | <+=?|> {+=?|> |
||
458 | <+=?|> token : "constant.language.escape",+=?|> |
||
459 | <+=?|> regex : escapedRe+=?|> |
||
460 | <+=?|> }, {+=?|> |
||
461 | <+=?|> token : "string",+=?|> |
||
462 | <+=?|> regex : "\\\\$",+=?|> |
||
463 | <+=?|> next : "qqstring"+=?|> |
||
464 | <+=?|> }, {+=?|> |
||
465 | <+=?|> token : "string",+=?|> |
||
466 | <+=?|> regex : '"|$',+=?|> |
||
467 | <+=?|> next : "no_regex"+=?|> |
||
468 | <+=?|> }, {+=?|> |
||
469 | <+=?|> defaultToken: "string"+=?|> |
||
470 | <+=?|> }+=?|> |
||
471 | <+=?|> ],+=?|> |
||
472 | <+=?|> "qstring" : [+=?|> |
||
473 | <+=?|> {+=?|> |
||
474 | <+=?|> token : "constant.language.escape",+=?|> |
||
475 | <+=?|> regex : escapedRe+=?|> |
||
476 | <+=?|> }, {+=?|> |
||
477 | <+=?|> token : "string",+=?|> |
||
478 | <+=?|> regex : "\\\\$",+=?|> |
||
479 | <+=?|> next : "qstring"+=?|> |
||
480 | <+=?|> }, {+=?|> |
||
481 | <+=?|> token : "string",+=?|> |
||
482 | <+=?|> regex : "'|$",+=?|> |
||
483 | <+=?|> next : "no_regex"+=?|> |
||
484 | <+=?|> }, {+=?|> |
||
485 | <+=?|> defaultToken: "string"+=?|> |
||
486 | <+=?|> }+=?|> |
||
487 | <+=?|> ]+=?|> |
||
488 | <+=?|> };+=?|> |
||
489 | |||
490 | |||
491 | <+=?|> if (!options || !options.noES6) {+=?|> |
||
492 | <+=?|> this.$rules.no_regex.unshift({+=?|> |
||
493 | <+=?|> regex: "[{}]", onMatch: function(val, state, stack) {+=?|> |
||
494 | <+=?|> this.next = val == "{" ? this.nextState : "";+=?|> |
||
495 | <+=?|> if (val == "{" && stack.length) {+=?|> |
||
496 | <+=?|> stack.unshift("start", state);+=?|> |
||
497 | <+=?|> }+=?|> |
||
498 | <+=?|> else if (val == "}" && stack.length) {+=?|> |
||
499 | <+=?|> stack.shift();+=?|> |
||
500 | <+=?|> this.next = stack.shift();+=?|> |
||
501 | <+=?|> if (this.next.indexOf("string") != -1 || this.next.indexOf("jsx") != -1)+=?|> |
||
502 | <+=?|> return "paren.quasi.end";+=?|> |
||
503 | <+=?|> }+=?|> |
||
504 | <+=?|> return val == "{" ? "paren.lparen" : "paren.rparen";+=?|> |
||
505 | <+=?|> },+=?|> |
||
506 | <+=?|> nextState: "start"+=?|> |
||
507 | <+=?|> }, {+=?|> |
||
508 | <+=?|> token : "string.quasi.start",+=?|> |
||
509 | <+=?|> regex : /`/,+=?|> |
||
510 | <+=?|> push : [{+=?|> |
||
511 | <+=?|> token : "constant.language.escape",+=?|> |
||
512 | <+=?|> regex : escapedRe+=?|> |
||
513 | <+=?|> }, {+=?|> |
||
514 | <+=?|> token : "paren.quasi.start",+=?|> |
||
515 | <+=?|> regex : /\${/,+=?|> |
||
516 | <+=?|> push : "start"+=?|> |
||
517 | <+=?|> }, {+=?|> |
||
518 | <+=?|> token : "string.quasi.end",+=?|> |
||
519 | <+=?|> regex : /`/,+=?|> |
||
520 | <+=?|> next : "pop"+=?|> |
||
521 | <+=?|> }, {+=?|> |
||
522 | <+=?|> defaultToken: "string.quasi"+=?|> |
||
523 | <+=?|> }]+=?|> |
||
524 | <+=?|> });+=?|> |
||
525 | |||
526 | <+=?|> if (!options || options.jsx != false)+=?|> |
||
527 | <+=?|> JSX.call(this);+=?|> |
||
528 | <+=?|> }+=?|> |
||
529 | |||
530 | <+=?|> this.embedRules(DocCommentHighlightRules, "doc-",+=?|> |
||
531 | <+=?|> [ DocCommentHighlightRules.getEndRule("no_regex") ]);+=?|> |
||
532 | |||
533 | <+=?|> this.normalizeRules();+=?|> |
||
534 | <+=?|>};+=?|> |
||
535 | |||
536 | <+=?|>oop.inherits(JavaScriptHighlightRules, TextHighlightRules);+=?|> |
||
537 | |||
538 | <+=?|>function JSX() {+=?|> |
||
539 | <+=?|> var tagRegex = identifierRe.replace("\\d", "\\d\\-");+=?|> |
||
540 | <+=?|> var jsxTag = {+=?|> |
||
541 | <+=?|> onMatch : function(val, state, stack) {+=?|> |
||
542 | <+=?|> var offset = val.charAt(1) == "/" ? 2 : 1;+=?|> |
||
543 | <+=?|> if (offset == 1) {+=?|> |
||
544 | <+=?|> if (state != this.nextState)+=?|> |
||
545 | <+=?|> stack.unshift(this.next, this.nextState, 0);+=?|> |
||
546 | <+=?|> else+=?|> |
||
547 | <+=?|> stack.unshift(this.next);+=?|> |
||
548 | <+=?|> stack[2]++;+=?|> |
||
549 | <+=?|> } else if (offset == 2) {+=?|> |
||
550 | <+=?|> if (state == this.nextState) {+=?|> |
||
551 | <+=?|> stack[1]--;+=?|> |
||
552 | <+=?|> if (!stack[1] || stack[1] < 0) {+=?|> |
||
553 | <+=?|> stack.shift();+=?|> |
||
554 | <+=?|> stack.shift();+=?|> |
||
555 | <+=?|> }+=?|> |
||
556 | <+=?|> }+=?|> |
||
557 | <+=?|> }+=?|> |
||
558 | <+=?|> return [{+=?|> |
||
559 | <+=?|> type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",+=?|> |
||
560 | <+=?|> value: val.slice(0, offset)+=?|> |
||
561 | <+=?|> }, {+=?|> |
||
562 | <+=?|> type: "meta.tag.tag-name.xml",+=?|> |
||
563 | <+=?|> value: val.substr(offset)+=?|> |
||
564 | <+=?|> }];+=?|> |
||
565 | <+=?|> },+=?|> |
||
566 | <+=?|> regex : "</?" + tagRegex + "",+=?|> |
||
567 | <+=?|> next: "jsxAttributes",+=?|> |
||
568 | <+=?|> nextState: "jsx"+=?|> |
||
569 | <+=?|> };+=?|> |
||
570 | <+=?|> this.$rules.start.unshift(jsxTag);+=?|> |
||
571 | <+=?|> var jsxJsRule = {+=?|> |
||
572 | <+=?|> regex: "{",+=?|> |
||
573 | <+=?|> token: "paren.quasi.start",+=?|> |
||
574 | <+=?|> push: "start"+=?|> |
||
575 | <+=?|> };+=?|> |
||
576 | <+=?|> this.$rules.jsx = [+=?|> |
||
577 | <+=?|> jsxJsRule,+=?|> |
||
578 | <+=?|> jsxTag,+=?|> |
||
579 | <+=?|> {include : "reference"},+=?|> |
||
580 | <+=?|> {defaultToken: "string"}+=?|> |
||
581 | <+=?|> ];+=?|> |
||
582 | <+=?|> this.$rules.jsxAttributes = [{+=?|> |
||
583 | <+=?|> token : "meta.tag.punctuation.tag-close.xml", +=?|> |
||
584 | <+=?|> regex : "/?>", +=?|> |
||
585 | <+=?|> onMatch : function(value, currentState, stack) {+=?|> |
||
586 | <+=?|> if (currentState == stack[0])+=?|> |
||
587 | <+=?|> stack.shift();+=?|> |
||
588 | <+=?|> if (value.length == 2) {+=?|> |
||
589 | <+=?|> if (stack[0] == this.nextState)+=?|> |
||
590 | <+=?|> stack[1]--;+=?|> |
||
591 | <+=?|> if (!stack[1] || stack[1] < 0) {+=?|> |
||
592 | <+=?|> stack.splice(0, 2);+=?|> |
||
593 | <+=?|> }+=?|> |
||
594 | <+=?|> }+=?|> |
||
595 | <+=?|> this.next = stack[0] || "start";+=?|> |
||
596 | <+=?|> return [{type: this.token, value: value}];+=?|> |
||
597 | <+=?|> },+=?|> |
||
598 | <+=?|> nextState: "jsx"+=?|> |
||
599 | <+=?|> }, +=?|> |
||
600 | <+=?|> jsxJsRule,+=?|> |
||
601 | <+=?|> comments("jsxAttributes"),+=?|> |
||
602 | <+=?|> {+=?|> |
||
603 | <+=?|> token : "entity.other.attribute-name.xml",+=?|> |
||
604 | <+=?|> regex : tagRegex+=?|> |
||
605 | <+=?|> }, {+=?|> |
||
606 | <+=?|> token : "keyword.operator.attribute-equals.xml",+=?|> |
||
607 | <+=?|> regex : "="+=?|> |
||
608 | <+=?|> }, {+=?|> |
||
609 | <+=?|> token : "text.tag-whitespace.xml",+=?|> |
||
610 | <+=?|> regex : "\\s+"+=?|> |
||
611 | <+=?|> }, {+=?|> |
||
612 | <+=?|> token : "string.attribute-value.xml",+=?|> |
||
613 | <+=?|> regex : "'",+=?|> |
||
614 | <+=?|> stateName : "jsx_attr_q",+=?|> |
||
615 | <+=?|> push : [+=?|> |
||
616 | <+=?|> {token : "string.attribute-value.xml", regex: "'", next: "pop"},+=?|> |
||
617 | <+=?|> {include : "reference"},+=?|> |
||
618 | <+=?|> {defaultToken : "string.attribute-value.xml"}+=?|> |
||
619 | <+=?|> ]+=?|> |
||
620 | <+=?|> }, {+=?|> |
||
621 | <+=?|> token : "string.attribute-value.xml",+=?|> |
||
622 | <+=?|> regex : '"',+=?|> |
||
623 | <+=?|> stateName : "jsx_attr_qq",+=?|> |
||
624 | <+=?|> push : [+=?|> |
||
625 | <+=?|> {token : "string.attribute-value.xml", regex: '"', next: "pop"},+=?|> |
||
626 | <+=?|> {include : "reference"},+=?|> |
||
627 | <+=?|> {defaultToken : "string.attribute-value.xml"}+=?|> |
||
628 | <+=?|> ]+=?|> |
||
629 | <+=?|> },+=?|> |
||
630 | <+=?|> jsxTag+=?|> |
||
631 | <+=?|> ];+=?|> |
||
632 | <+=?|> this.$rules.reference = [{+=?|> |
||
633 | <+=?|> token : "constant.language.escape.reference.xml",+=?|> |
||
634 | <+=?|> regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"+=?|> |
||
635 | <+=?|> }];+=?|> |
||
636 | <+=?|>}+=?|> |
||
637 | |||
638 | <+=?|>function comments(next) {+=?|> |
||
639 | <+=?|> return [+=?|> |
||
640 | <+=?|> {+=?|> |
||
641 | <+=?|> token : "comment", // multi line comment+=?|> |
||
642 | <+=?|> regex : /\/\*/,+=?|> |
||
643 | <+=?|> next: [+=?|> |
||
644 | <+=?|> DocCommentHighlightRules.getTagRule(),+=?|> |
||
645 | <+=?|> {token : "comment", regex : "\\*\\/", next : next || "pop"},+=?|> |
||
646 | <+=?|> {defaultToken : "comment", caseInsensitive: true}+=?|> |
||
647 | <+=?|> ]+=?|> |
||
648 | <+=?|> }, {+=?|> |
||
649 | <+=?|> token : "comment",+=?|> |
||
650 | <+=?|> regex : "\\/\\/",+=?|> |
||
651 | <+=?|> next: [+=?|> |
||
652 | <+=?|> DocCommentHighlightRules.getTagRule(),+=?|> |
||
653 | <+=?|> {token : "comment", regex : "$|^", next : next || "pop"},+=?|> |
||
654 | <+=?|> {defaultToken : "comment", caseInsensitive: true}+=?|> |
||
655 | <+=?|> ]+=?|> |
||
656 | <+=?|> }+=?|> |
||
657 | <+=?|> ];+=?|> |
||
658 | <+=?|>}+=?|> |
||
659 | <+=?|>exports.JavaScriptHighlightRules = JavaScriptHighlightRules;+=?|> |
||
660 | <+=?|>});+=?|> |
||
661 | |||
662 | <+=?|>ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {+=?|> |
||
663 | <+=?|>"use strict";+=?|> |
||
664 | |||
665 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
666 | <+=?|>var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;+=?|> |
||
667 | |||
668 | <+=?|>var XmlHighlightRules = function(normalize) {+=?|> |
||
669 | <+=?|> var tagRegex = "[_:a-zA-Z\xc0-\uffff][-_:.a-zA-Z0-9\xc0-\uffff]*";+=?|> |
||
670 | |||
671 | <+=?|> this.$rules = {+=?|> |
||
672 | <+=?|> start : [+=?|> |
||
673 | <+=?|> {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},+=?|> |
||
674 | <+=?|> {+=?|> |
||
675 | <+=?|> token : ["punctuation.xml-decl.xml", "keyword.xml-decl.xml"],+=?|> |
||
676 | <+=?|> regex : "(<\\?)(xml)(?=[\\s])", next : "xml_decl", caseInsensitive: true+=?|> |
||
677 | <+=?|> },+=?|> |
||
678 | <+=?|> {+=?|> |
||
679 | <+=?|> token : ["punctuation.instruction.xml", "keyword.instruction.xml"],+=?|> |
||
680 | <+=?|> regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"+=?|> |
||
681 | <+=?|> },+=?|> |
||
682 | <+=?|> {token : "comment.xml", regex : "<\\!--", next : "comment"},+=?|> |
||
683 | <+=?|> {+=?|> |
||
684 | <+=?|> token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],+=?|> |
||
685 | <+=?|> regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true+=?|> |
||
686 | <+=?|> },+=?|> |
||
687 | <+=?|> {include : "tag"},+=?|> |
||
688 | <+=?|> {token : "text.end-tag-open.xml", regex: "</"},+=?|> |
||
689 | <+=?|> {token : "text.tag-open.xml", regex: "<"},+=?|> |
||
690 | <+=?|> {include : "reference"},+=?|> |
||
691 | <+=?|> {defaultToken : "text.xml"}+=?|> |
||
692 | <+=?|> ],+=?|> |
||
693 | |||
694 | <+=?|> xml_decl : [{+=?|> |
||
695 | <+=?|> token : "entity.other.attribute-name.decl-attribute-name.xml",+=?|> |
||
696 | <+=?|> regex : "(?:" + tagRegex + ":)?" + tagRegex + ""+=?|> |
||
697 | <+=?|> }, {+=?|> |
||
698 | <+=?|> token : "keyword.operator.decl-attribute-equals.xml",+=?|> |
||
699 | <+=?|> regex : "="+=?|> |
||
700 | <+=?|> }, {+=?|> |
||
701 | <+=?|> include: "whitespace"+=?|> |
||
702 | <+=?|> }, {+=?|> |
||
703 | <+=?|> include: "string"+=?|> |
||
704 | <+=?|> }, {+=?|> |
||
705 | <+=?|> token : "punctuation.xml-decl.xml",+=?|> |
||
706 | <+=?|> regex : "\\?>",+=?|> |
||
707 | <+=?|> next : "start"+=?|> |
||
708 | <+=?|> }],+=?|> |
||
709 | |||
710 | <+=?|> processing_instruction : [+=?|> |
||
711 | <+=?|> {token : "punctuation.instruction.xml", regex : "\\?>", next : "start"},+=?|> |
||
712 | <+=?|> {defaultToken : "instruction.xml"}+=?|> |
||
713 | <+=?|> ],+=?|> |
||
714 | |||
715 | <+=?|> doctype : [+=?|> |
||
716 | <+=?|> {include : "whitespace"},+=?|> |
||
717 | <+=?|> {include : "string"},+=?|> |
||
718 | <+=?|> {token : "xml-pe.doctype.xml", regex : ">", next : "start"},+=?|> |
||
719 | <+=?|> {token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},+=?|> |
||
720 | <+=?|> {token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}+=?|> |
||
721 | <+=?|> ],+=?|> |
||
722 | |||
723 | <+=?|> int_subset : [{+=?|> |
||
724 | <+=?|> token : "text.xml",+=?|> |
||
725 | <+=?|> regex : "\\s+"+=?|> |
||
726 | <+=?|> }, {+=?|> |
||
727 | <+=?|> token: "punctuation.int-subset.xml",+=?|> |
||
728 | <+=?|> regex: "]",+=?|> |
||
729 | <+=?|> next: "pop"+=?|> |
||
730 | <+=?|> }, {+=?|> |
||
731 | <+=?|> token : ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],+=?|> |
||
732 | <+=?|> regex : "(<\\!)(" + tagRegex + ")",+=?|> |
||
733 | <+=?|> push : [{+=?|> |
||
734 | <+=?|> token : "text",+=?|> |
||
735 | <+=?|> regex : "\\s+"+=?|> |
||
736 | <+=?|> },+=?|> |
||
737 | <+=?|> {+=?|> |
||
738 | <+=?|> token : "punctuation.markup-decl.xml",+=?|> |
||
739 | <+=?|> regex : ">",+=?|> |
||
740 | <+=?|> next : "pop"+=?|> |
||
741 | <+=?|> },+=?|> |
||
742 | <+=?|> {include : "string"}]+=?|> |
||
743 | <+=?|> }],+=?|> |
||
744 | |||
745 | <+=?|> cdata : [+=?|> |
||
746 | <+=?|> {token : "string.cdata.xml", regex : "\\]\\]>", next : "start"},+=?|> |
||
747 | <+=?|> {token : "text.xml", regex : "\\s+"},+=?|> |
||
748 | <+=?|> {token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}+=?|> |
||
749 | <+=?|> ],+=?|> |
||
750 | |||
751 | <+=?|> comment : [+=?|> |
||
752 | <+=?|> {token : "comment.xml", regex : "-->", next : "start"},+=?|> |
||
753 | <+=?|> {defaultToken : "comment.xml"}+=?|> |
||
754 | <+=?|> ],+=?|> |
||
755 | |||
756 | <+=?|> reference : [{+=?|> |
||
757 | <+=?|> token : "constant.language.escape.reference.xml",+=?|> |
||
758 | <+=?|> regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"+=?|> |
||
759 | <+=?|> }],+=?|> |
||
760 | |||
761 | <+=?|> attr_reference : [{+=?|> |
||
762 | <+=?|> token : "constant.language.escape.reference.attribute-value.xml",+=?|> |
||
763 | <+=?|> regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"+=?|> |
||
764 | <+=?|> }],+=?|> |
||
765 | |||
766 | <+=?|> tag : [{+=?|> |
||
767 | <+=?|> token : ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],+=?|> |
||
768 | <+=?|> regex : "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",+=?|> |
||
769 | <+=?|> next: [+=?|> |
||
770 | <+=?|> {include : "attributes"},+=?|> |
||
771 | <+=?|> {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}+=?|> |
||
772 | <+=?|> ]+=?|> |
||
773 | <+=?|> }],+=?|> |
||
774 | |||
775 | <+=?|> tag_whitespace : [+=?|> |
||
776 | <+=?|> {token : "text.tag-whitespace.xml", regex : "\\s+"}+=?|> |
||
777 | <+=?|> ],+=?|> |
||
778 | <+=?|> whitespace : [+=?|> |
||
779 | <+=?|> {token : "text.whitespace.xml", regex : "\\s+"}+=?|> |
||
780 | <+=?|> ],+=?|> |
||
781 | <+=?|> string: [{+=?|> |
||
782 | <+=?|> token : "string.xml",+=?|> |
||
783 | <+=?|> regex : "'",+=?|> |
||
784 | <+=?|> push : [+=?|> |
||
785 | <+=?|> {token : "string.xml", regex: "'", next: "pop"},+=?|> |
||
786 | <+=?|> {defaultToken : "string.xml"}+=?|> |
||
787 | <+=?|> ]+=?|> |
||
788 | <+=?|> }, {+=?|> |
||
789 | <+=?|> token : "string.xml",+=?|> |
||
790 | <+=?|> regex : '"',+=?|> |
||
791 | <+=?|> push : [+=?|> |
||
792 | <+=?|> {token : "string.xml", regex: '"', next: "pop"},+=?|> |
||
793 | <+=?|> {defaultToken : "string.xml"}+=?|> |
||
794 | <+=?|> ]+=?|> |
||
795 | <+=?|> }],+=?|> |
||
796 | |||
797 | <+=?|> attributes: [{+=?|> |
||
798 | <+=?|> token : "entity.other.attribute-name.xml",+=?|> |
||
799 | <+=?|> regex : "(?:" + tagRegex + ":)?" + tagRegex + ""+=?|> |
||
800 | <+=?|> }, {+=?|> |
||
801 | <+=?|> token : "keyword.operator.attribute-equals.xml",+=?|> |
||
802 | <+=?|> regex : "="+=?|> |
||
803 | <+=?|> }, {+=?|> |
||
804 | <+=?|> include: "tag_whitespace"+=?|> |
||
805 | <+=?|> }, {+=?|> |
||
806 | <+=?|> include: "attribute_value"+=?|> |
||
807 | <+=?|> }],+=?|> |
||
808 | |||
809 | <+=?|> attribute_value: [{+=?|> |
||
810 | <+=?|> token : "string.attribute-value.xml",+=?|> |
||
811 | <+=?|> regex : "'",+=?|> |
||
812 | <+=?|> push : [+=?|> |
||
813 | <+=?|> {token : "string.attribute-value.xml", regex: "'", next: "pop"},+=?|> |
||
814 | <+=?|> {include : "attr_reference"},+=?|> |
||
815 | <+=?|> {defaultToken : "string.attribute-value.xml"}+=?|> |
||
816 | <+=?|> ]+=?|> |
||
817 | <+=?|> }, {+=?|> |
||
818 | <+=?|> token : "string.attribute-value.xml",+=?|> |
||
819 | <+=?|> regex : '"',+=?|> |
||
820 | <+=?|> push : [+=?|> |
||
821 | <+=?|> {token : "string.attribute-value.xml", regex: '"', next: "pop"},+=?|> |
||
822 | <+=?|> {include : "attr_reference"},+=?|> |
||
823 | <+=?|> {defaultToken : "string.attribute-value.xml"}+=?|> |
||
824 | <+=?|> ]+=?|> |
||
825 | <+=?|> }]+=?|> |
||
826 | <+=?|> };+=?|> |
||
827 | |||
828 | <+=?|> if (this.constructor === XmlHighlightRules)+=?|> |
||
829 | <+=?|> this.normalizeRules();+=?|> |
||
830 | <+=?|>};+=?|> |
||
831 | |||
832 | |||
833 | <+=?|>(function() {+=?|> |
||
834 | |||
835 | <+=?|> this.embedTagRules = function(HighlightRules, prefix, tag){+=?|> |
||
836 | <+=?|> this.$rules.tag.unshift({+=?|> |
||
837 | <+=?|> token : ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],+=?|> |
||
838 | <+=?|> regex : "(<)(" + tag + "(?=\\s|>|$))",+=?|> |
||
839 | <+=?|> next: [+=?|> |
||
840 | <+=?|> {include : "attributes"},+=?|> |
||
841 | <+=?|> {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : prefix + "start"}+=?|> |
||
842 | <+=?|> ]+=?|> |
||
843 | <+=?|> });+=?|> |
||
844 | |||
845 | <+=?|> this.$rules[tag + "-end"] = [+=?|> |
||
846 | <+=?|> {include : "attributes"},+=?|> |
||
847 | <+=?|> {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next: "start",+=?|> |
||
848 | <+=?|> onMatch : function(value, currentState, stack) {+=?|> |
||
849 | <+=?|> stack.splice(0);+=?|> |
||
850 | <+=?|> return this.token;+=?|> |
||
851 | <+=?|> }}+=?|> |
||
852 | <+=?|> ]+=?|> |
||
853 | |||
854 | <+=?|> this.embedRules(HighlightRules, prefix, [{+=?|> |
||
855 | <+=?|> token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],+=?|> |
||
856 | <+=?|> regex : "(</)(" + tag + "(?=\\s|>|$))",+=?|> |
||
857 | <+=?|> next: tag + "-end"+=?|> |
||
858 | <+=?|> }, {+=?|> |
||
859 | <+=?|> token: "string.cdata.xml",+=?|> |
||
860 | <+=?|> regex : "<\\!\\[CDATA\\["+=?|> |
||
861 | <+=?|> }, {+=?|> |
||
862 | <+=?|> token: "string.cdata.xml",+=?|> |
||
863 | <+=?|> regex : "\\]\\]>"+=?|> |
||
864 | <+=?|> }]);+=?|> |
||
865 | <+=?|> };+=?|> |
||
866 | |||
867 | <+=?|>}).call(TextHighlightRules.prototype);+=?|> |
||
868 | |||
869 | <+=?|>oop.inherits(XmlHighlightRules, TextHighlightRules);+=?|> |
||
870 | |||
871 | <+=?|>exports.XmlHighlightRules = XmlHighlightRules;+=?|> |
||
872 | <+=?|>});+=?|> |
||
873 | |||
874 | <+=?|>ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"], function(require, exports, module) {+=?|> |
||
875 | <+=?|>"use strict";+=?|> |
||
876 | |||
877 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
878 | <+=?|>var lang = require("../lib/lang");+=?|> |
||
879 | <+=?|>var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;+=?|> |
||
880 | <+=?|>var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;+=?|> |
||
881 | <+=?|>var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;+=?|> |
||
882 | |||
883 | <+=?|>var tagMap = lang.createMap({+=?|> |
||
884 | <+=?|> a : 'anchor',+=?|> |
||
885 | <+=?|> button : 'form',+=?|> |
||
886 | <+=?|> form : 'form',+=?|> |
||
887 | <+=?|> img : 'image',+=?|> |
||
888 | <+=?|> input : 'form',+=?|> |
||
889 | <+=?|> label : 'form',+=?|> |
||
890 | <+=?|> option : 'form',+=?|> |
||
891 | <+=?|> script : 'script',+=?|> |
||
892 | <+=?|> select : 'form',+=?|> |
||
893 | <+=?|> textarea : 'form',+=?|> |
||
894 | <+=?|> style : 'style',+=?|> |
||
895 | <+=?|> table : 'table',+=?|> |
||
896 | <+=?|> tbody : 'table',+=?|> |
||
897 | <+=?|> td : 'table',+=?|> |
||
898 | <+=?|> tfoot : 'table',+=?|> |
||
899 | <+=?|> th : 'table',+=?|> |
||
900 | <+=?|> tr : 'table'+=?|> |
||
901 | <+=?|>});+=?|> |
||
902 | |||
903 | <+=?|>var HtmlHighlightRules = function() {+=?|> |
||
904 | <+=?|> XmlHighlightRules.call(this);+=?|> |
||
905 | |||
906 | <+=?|> this.addRules({+=?|> |
||
907 | <+=?|> attributes: [{+=?|> |
||
908 | <+=?|> include : "tag_whitespace"+=?|> |
||
909 | <+=?|> }, {+=?|> |
||
910 | <+=?|> token : "entity.other.attribute-name.xml",+=?|> |
||
911 | <+=?|> regex : "[-_a-zA-Z0-9:.]+"+=?|> |
||
912 | <+=?|> }, {+=?|> |
||
913 | <+=?|> token : "keyword.operator.attribute-equals.xml",+=?|> |
||
914 | <+=?|> regex : "=",+=?|> |
||
915 | <+=?|> push : [{+=?|> |
||
916 | <+=?|> include: "tag_whitespace"+=?|> |
||
917 | <+=?|> }, {+=?|> |
||
918 | <+=?|> token : "string.unquoted.attribute-value.html",+=?|> |
||
919 | <+=?|> regex : "[^<>='\"`\\s]+",+=?|> |
||
920 | <+=?|> next : "pop"+=?|> |
||
921 | <+=?|> }, {+=?|> |
||
922 | <+=?|> token : "empty",+=?|> |
||
923 | <+=?|> regex : "",+=?|> |
||
924 | <+=?|> next : "pop"+=?|> |
||
925 | <+=?|> }]+=?|> |
||
926 | <+=?|> }, {+=?|> |
||
927 | <+=?|> include : "attribute_value"+=?|> |
||
928 | <+=?|> }],+=?|> |
||
929 | <+=?|> tag: [{+=?|> |
||
930 | <+=?|> token : function(start, tag) {+=?|> |
||
931 | <+=?|> var group = tagMap[tag];+=?|> |
||
932 | <+=?|> return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",+=?|> |
||
933 | <+=?|> "meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];+=?|> |
||
934 | <+=?|> },+=?|> |
||
935 | <+=?|> regex : "(</?)([-_a-zA-Z0-9:.]+)",+=?|> |
||
936 | <+=?|> next: "tag_stuff"+=?|> |
||
937 | <+=?|> }],+=?|> |
||
938 | <+=?|> tag_stuff: [+=?|> |
||
939 | <+=?|> {include : "attributes"},+=?|> |
||
940 | <+=?|> {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}+=?|> |
||
941 | <+=?|> ]+=?|> |
||
942 | <+=?|> });+=?|> |
||
943 | |||
944 | <+=?|> this.embedTagRules(CssHighlightRules, "css-", "style");+=?|> |
||
945 | <+=?|> this.embedTagRules(new JavaScriptHighlightRules({jsx: false}).getRules(), "js-", "script");+=?|> |
||
946 | |||
947 | <+=?|> if (this.constructor === HtmlHighlightRules)+=?|> |
||
948 | <+=?|> this.normalizeRules();+=?|> |
||
949 | <+=?|>};+=?|> |
||
950 | |||
951 | <+=?|>oop.inherits(HtmlHighlightRules, XmlHighlightRules);+=?|> |
||
952 | |||
953 | <+=?|>exports.HtmlHighlightRules = HtmlHighlightRules;+=?|> |
||
954 | <+=?|>});+=?|> |
||
955 | |||
956 | <+=?|>ace.define("ace/mode/elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {+=?|> |
||
957 | <+=?|>"use strict";+=?|> |
||
958 | |||
959 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
960 | <+=?|>var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;+=?|> |
||
961 | |||
962 | <+=?|>var ElixirHighlightRules = function() {+=?|> |
||
963 | |||
964 | <+=?|> this.$rules = { start: +=?|> |
||
965 | <+=?|> [ { token: +=?|> |
||
966 | <+=?|> [ 'meta.module.elixir',+=?|> |
||
967 | <+=?|> 'keyword.control.module.elixir',+=?|> |
||
968 | <+=?|> 'meta.module.elixir',+=?|> |
||
969 | <+=?|> 'entity.name.type.module.elixir' ],+=?|> |
||
970 | <+=?|> regex: '^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)' },+=?|> |
||
971 | <+=?|> { token: 'comment.documentation.heredoc',+=?|> |
||
972 | <+=?|> regex: '@(?:module|type)?doc (?:~[a-z])?"""',+=?|> |
||
973 | <+=?|> push: +=?|> |
||
974 | <+=?|> [ { token: 'comment.documentation.heredoc',+=?|> |
||
975 | <+=?|> regex: '\\s*"""',+=?|> |
||
976 | <+=?|> next: 'pop' },+=?|> |
||
977 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
978 | <+=?|> { include: '#escaped_char' },+=?|> |
||
979 | <+=?|> { defaultToken: 'comment.documentation.heredoc' } ],+=?|> |
||
980 | <+=?|> comment: '@doc with heredocs is treated as documentation' },+=?|> |
||
981 | <+=?|> { token: 'comment.documentation.heredoc',+=?|> |
||
982 | <+=?|> regex: '@(?:module|type)?doc ~[A-Z]"""',+=?|> |
||
983 | <+=?|> push: +=?|> |
||
984 | <+=?|> [ { token: 'comment.documentation.heredoc',+=?|> |
||
985 | <+=?|> regex: '\\s*"""',+=?|> |
||
986 | <+=?|> next: 'pop' },+=?|> |
||
987 | <+=?|> { defaultToken: 'comment.documentation.heredoc' } ],+=?|> |
||
988 | <+=?|> comment: '@doc with heredocs is treated as documentation' },+=?|> |
||
989 | <+=?|> { token: 'comment.documentation.heredoc',+=?|> |
||
990 | <+=?|> regex: '@(?:module|type)?doc (?:~[a-z])?\'\'\'',+=?|> |
||
991 | <+=?|> push: +=?|> |
||
992 | <+=?|> [ { token: 'comment.documentation.heredoc',+=?|> |
||
993 | <+=?|> regex: '\\s*\'\'\'',+=?|> |
||
994 | <+=?|> next: 'pop' },+=?|> |
||
995 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
996 | <+=?|> { include: '#escaped_char' },+=?|> |
||
997 | <+=?|> { defaultToken: 'comment.documentation.heredoc' } ],+=?|> |
||
998 | <+=?|> comment: '@doc with heredocs is treated as documentation' },+=?|> |
||
999 | <+=?|> { token: 'comment.documentation.heredoc',+=?|> |
||
1000 | <+=?|> regex: '@(?:module|type)?doc ~[A-Z]\'\'\'',+=?|> |
||
1001 | <+=?|> push: +=?|> |
||
1002 | <+=?|> [ { token: 'comment.documentation.heredoc',+=?|> |
||
1003 | <+=?|> regex: '\\s*\'\'\'',+=?|> |
||
1004 | <+=?|> next: 'pop' },+=?|> |
||
1005 | <+=?|> { defaultToken: 'comment.documentation.heredoc' } ],+=?|> |
||
1006 | <+=?|> comment: '@doc with heredocs is treated as documentation' },+=?|> |
||
1007 | <+=?|> { token: 'comment.documentation.false',+=?|> |
||
1008 | <+=?|> regex: '@(?:module|type)?doc false',+=?|> |
||
1009 | <+=?|> comment: '@doc false is treated as documentation' },+=?|> |
||
1010 | <+=?|> { token: 'comment.documentation.string',+=?|> |
||
1011 | <+=?|> regex: '@(?:module|type)?doc "',+=?|> |
||
1012 | <+=?|> push: +=?|> |
||
1013 | <+=?|> [ { token: 'comment.documentation.string',+=?|> |
||
1014 | <+=?|> regex: '"',+=?|> |
||
1015 | <+=?|> next: 'pop' },+=?|> |
||
1016 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1017 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1018 | <+=?|> { defaultToken: 'comment.documentation.string' } ],+=?|> |
||
1019 | <+=?|> comment: '@doc with string is treated as documentation' },+=?|> |
||
1020 | <+=?|> { token: 'keyword.control.elixir',+=?|> |
||
1021 | <+=?|> regex: '\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])',+=?|> |
||
1022 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1023 | <+=?|> originalRegex: '(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])' },+=?|> |
||
1024 | <+=?|> { token: 'keyword.operator.elixir',+=?|> |
||
1025 | <+=?|> regex: '\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b',+=?|> |
||
1026 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1027 | <+=?|> originalRegex: '(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b',+=?|> |
||
1028 | <+=?|> comment: ' as above, just doesn\'t need a \'end\' and does a logic operation' },+=?|> |
||
1029 | <+=?|> { token: 'constant.language.elixir',+=?|> |
||
1030 | <+=?|> regex: '\\b(?:nil|true|false)\\b(?![?!])' },+=?|> |
||
1031 | <+=?|> { token: 'variable.language.elixir',+=?|> |
||
1032 | <+=?|> regex: '\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])' },+=?|> |
||
1033 | <+=?|> { token: +=?|> |
||
1034 | <+=?|> [ 'punctuation.definition.variable.elixir',+=?|> |
||
1035 | <+=?|> 'variable.other.readwrite.module.elixir' ],+=?|> |
||
1036 | <+=?|> regex: '(@)([a-zA-Z_]\\w*)' },+=?|> |
||
1037 | <+=?|> { token: +=?|> |
||
1038 | <+=?|> [ 'punctuation.definition.variable.elixir',+=?|> |
||
1039 | <+=?|> 'variable.other.anonymous.elixir' ],+=?|> |
||
1040 | <+=?|> regex: '(&)(\\d*)' },+=?|> |
||
1041 | <+=?|> { token: 'variable.other.constant.elixir',+=?|> |
||
1042 | <+=?|> regex: '\\b[A-Z]\\w*\\b' },+=?|> |
||
1043 | <+=?|> { token: 'constant.numeric.elixir',+=?|> |
||
1044 | <+=?|> regex: '\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b',+=?|> |
||
1045 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1046 | <+=?|> originalRegex: '\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b' },+=?|> |
||
1047 | <+=?|> { token: 'punctuation.definition.constant.elixir',+=?|> |
||
1048 | <+=?|> regex: ':\'',+=?|> |
||
1049 | <+=?|> push: +=?|> |
||
1050 | <+=?|> [ { token: 'punctuation.definition.constant.elixir',+=?|> |
||
1051 | <+=?|> regex: '\'',+=?|> |
||
1052 | <+=?|> next: 'pop' },+=?|> |
||
1053 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1054 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1055 | <+=?|> { defaultToken: 'constant.other.symbol.single-quoted.elixir' } ] },+=?|> |
||
1056 | <+=?|> { token: 'punctuation.definition.constant.elixir',+=?|> |
||
1057 | <+=?|> regex: ':"',+=?|> |
||
1058 | <+=?|> push: +=?|> |
||
1059 | <+=?|> [ { token: 'punctuation.definition.constant.elixir',+=?|> |
||
1060 | <+=?|> regex: '"',+=?|> |
||
1061 | <+=?|> next: 'pop' },+=?|> |
||
1062 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1063 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1064 | <+=?|> { defaultToken: 'constant.other.symbol.double-quoted.elixir' } ] },+=?|> |
||
1065 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1066 | <+=?|> regex: '(?:\'\'\')',+=?|> |
||
1067 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1068 | <+=?|> originalRegex: '(?>\'\'\')',+=?|> |
||
1069 | <+=?|> push: +=?|> |
||
1070 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1071 | <+=?|> regex: '^\\s*\'\'\'',+=?|> |
||
1072 | <+=?|> next: 'pop' },+=?|> |
||
1073 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1074 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1075 | <+=?|> { defaultToken: 'support.function.variable.quoted.single.heredoc.elixir' } ],+=?|> |
||
1076 | <+=?|> comment: 'Single-quoted heredocs' },+=?|> |
||
1077 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1078 | <+=?|> regex: '\'',+=?|> |
||
1079 | <+=?|> push: +=?|> |
||
1080 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1081 | <+=?|> regex: '\'',+=?|> |
||
1082 | <+=?|> next: 'pop' },+=?|> |
||
1083 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1084 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1085 | <+=?|> { defaultToken: 'support.function.variable.quoted.single.elixir' } ],+=?|> |
||
1086 | <+=?|> comment: 'single quoted string (allows for interpolation)' },+=?|> |
||
1087 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1088 | <+=?|> regex: '(?:""")',+=?|> |
||
1089 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1090 | <+=?|> originalRegex: '(?>""")',+=?|> |
||
1091 | <+=?|> push: +=?|> |
||
1092 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1093 | <+=?|> regex: '^\\s*"""',+=?|> |
||
1094 | <+=?|> next: 'pop' },+=?|> |
||
1095 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1096 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1097 | <+=?|> { defaultToken: 'string.quoted.double.heredoc.elixir' } ],+=?|> |
||
1098 | <+=?|> comment: 'Double-quoted heredocs' },+=?|> |
||
1099 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1100 | <+=?|> regex: '"',+=?|> |
||
1101 | <+=?|> push: +=?|> |
||
1102 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1103 | <+=?|> regex: '"',+=?|> |
||
1104 | <+=?|> next: 'pop' },+=?|> |
||
1105 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1106 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1107 | <+=?|> { defaultToken: 'string.quoted.double.elixir' } ],+=?|> |
||
1108 | <+=?|> comment: 'double quoted string (allows for interpolation)' },+=?|> |
||
1109 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1110 | <+=?|> regex: '~[a-z](?:""")',+=?|> |
||
1111 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1112 | <+=?|> originalRegex: '~[a-z](?>""")',+=?|> |
||
1113 | <+=?|> push: +=?|> |
||
1114 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1115 | <+=?|> regex: '^\\s*"""',+=?|> |
||
1116 | <+=?|> next: 'pop' },+=?|> |
||
1117 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1118 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1119 | <+=?|> { defaultToken: 'string.quoted.double.heredoc.elixir' } ],+=?|> |
||
1120 | <+=?|> comment: 'Double-quoted heredocs sigils' },+=?|> |
||
1121 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1122 | <+=?|> regex: '~[a-z]\\{',+=?|> |
||
1123 | <+=?|> push: +=?|> |
||
1124 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1125 | <+=?|> regex: '\\}[a-z]*',+=?|> |
||
1126 | <+=?|> next: 'pop' },+=?|> |
||
1127 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1128 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1129 | <+=?|> { defaultToken: 'string.interpolated.elixir' } ],+=?|> |
||
1130 | <+=?|> comment: 'sigil (allow for interpolation)' },+=?|> |
||
1131 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1132 | <+=?|> regex: '~[a-z]\\[',+=?|> |
||
1133 | <+=?|> push: +=?|> |
||
1134 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1135 | <+=?|> regex: '\\][a-z]*',+=?|> |
||
1136 | <+=?|> next: 'pop' },+=?|> |
||
1137 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1138 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1139 | <+=?|> { defaultToken: 'string.interpolated.elixir' } ],+=?|> |
||
1140 | <+=?|> comment: 'sigil (allow for interpolation)' },+=?|> |
||
1141 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1142 | <+=?|> regex: '~[a-z]\\<',+=?|> |
||
1143 | <+=?|> push: +=?|> |
||
1144 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1145 | <+=?|> regex: '\\>[a-z]*',+=?|> |
||
1146 | <+=?|> next: 'pop' },+=?|> |
||
1147 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1148 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1149 | <+=?|> { defaultToken: 'string.interpolated.elixir' } ],+=?|> |
||
1150 | <+=?|> comment: 'sigil (allow for interpolation)' },+=?|> |
||
1151 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1152 | <+=?|> regex: '~[a-z]\\(',+=?|> |
||
1153 | <+=?|> push: +=?|> |
||
1154 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1155 | <+=?|> regex: '\\)[a-z]*',+=?|> |
||
1156 | <+=?|> next: 'pop' },+=?|> |
||
1157 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1158 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1159 | <+=?|> { defaultToken: 'string.interpolated.elixir' } ],+=?|> |
||
1160 | <+=?|> comment: 'sigil (allow for interpolation)' },+=?|> |
||
1161 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1162 | <+=?|> regex: '~[a-z][^\\w]',+=?|> |
||
1163 | <+=?|> push: +=?|> |
||
1164 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1165 | <+=?|> regex: '[^\\w][a-z]*',+=?|> |
||
1166 | <+=?|> next: 'pop' },+=?|> |
||
1167 | <+=?|> { include: '#interpolated_elixir' },+=?|> |
||
1168 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1169 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1170 | <+=?|> { defaultToken: 'string.interpolated.elixir' } ],+=?|> |
||
1171 | <+=?|> comment: 'sigil (allow for interpolation)' },+=?|> |
||
1172 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1173 | <+=?|> regex: '~[A-Z](?:""")',+=?|> |
||
1174 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1175 | <+=?|> originalRegex: '~[A-Z](?>""")',+=?|> |
||
1176 | <+=?|> push: +=?|> |
||
1177 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1178 | <+=?|> regex: '^\\s*"""',+=?|> |
||
1179 | <+=?|> next: 'pop' },+=?|> |
||
1180 | <+=?|> { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],+=?|> |
||
1181 | <+=?|> comment: 'Double-quoted heredocs sigils' },+=?|> |
||
1182 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1183 | <+=?|> regex: '~[A-Z]\\{',+=?|> |
||
1184 | <+=?|> push: +=?|> |
||
1185 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1186 | <+=?|> regex: '\\}[a-z]*',+=?|> |
||
1187 | <+=?|> next: 'pop' },+=?|> |
||
1188 | <+=?|> { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],+=?|> |
||
1189 | <+=?|> comment: 'sigil (without interpolation)' },+=?|> |
||
1190 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1191 | <+=?|> regex: '~[A-Z]\\[',+=?|> |
||
1192 | <+=?|> push: +=?|> |
||
1193 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1194 | <+=?|> regex: '\\][a-z]*',+=?|> |
||
1195 | <+=?|> next: 'pop' },+=?|> |
||
1196 | <+=?|> { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],+=?|> |
||
1197 | <+=?|> comment: 'sigil (without interpolation)' },+=?|> |
||
1198 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1199 | <+=?|> regex: '~[A-Z]\\<',+=?|> |
||
1200 | <+=?|> push: +=?|> |
||
1201 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1202 | <+=?|> regex: '\\>[a-z]*',+=?|> |
||
1203 | <+=?|> next: 'pop' },+=?|> |
||
1204 | <+=?|> { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],+=?|> |
||
1205 | <+=?|> comment: 'sigil (without interpolation)' },+=?|> |
||
1206 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1207 | <+=?|> regex: '~[A-Z]\\(',+=?|> |
||
1208 | <+=?|> push: +=?|> |
||
1209 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1210 | <+=?|> regex: '\\)[a-z]*',+=?|> |
||
1211 | <+=?|> next: 'pop' },+=?|> |
||
1212 | <+=?|> { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],+=?|> |
||
1213 | <+=?|> comment: 'sigil (without interpolation)' },+=?|> |
||
1214 | <+=?|> { token: 'punctuation.definition.string.begin.elixir',+=?|> |
||
1215 | <+=?|> regex: '~[A-Z][^\\w]',+=?|> |
||
1216 | <+=?|> push: +=?|> |
||
1217 | <+=?|> [ { token: 'punctuation.definition.string.end.elixir',+=?|> |
||
1218 | <+=?|> regex: '[^\\w][a-z]*',+=?|> |
||
1219 | <+=?|> next: 'pop' },+=?|> |
||
1220 | <+=?|> { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],+=?|> |
||
1221 | <+=?|> comment: 'sigil (without interpolation)' },+=?|> |
||
1222 | <+=?|> { token: ['punctuation.definition.constant.elixir', 'constant.other.symbol.elixir'],+=?|> |
||
1223 | <+=?|> regex: '(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)',+=?|> |
||
1224 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1225 | <+=?|> originalRegex: '(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)',+=?|> |
||
1226 | <+=?|> comment: 'symbols' },+=?|> |
||
1227 | <+=?|> { token: 'punctuation.definition.constant.elixir',+=?|> |
||
1228 | <+=?|> regex: '(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)',+=?|> |
||
1229 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1230 | <+=?|> originalRegex: '(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)',+=?|> |
||
1231 | <+=?|> comment: 'symbols' },+=?|> |
||
1232 | <+=?|> { token: +=?|> |
||
1233 | <+=?|> [ 'punctuation.definition.comment.elixir',+=?|> |
||
1234 | <+=?|> 'comment.line.number-sign.elixir' ],+=?|> |
||
1235 | <+=?|> regex: '(#)(.*)' },+=?|> |
||
1236 | <+=?|> { token: 'constant.numeric.elixir',+=?|> |
||
1237 | <+=?|> regex: '\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])',+=?|> |
||
1238 | <+=?|> TODO: 'FIXME: regexp doesn\'t have js equivalent',+=?|> |
||
1239 | <+=?|> originalRegex: '(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])',+=?|> |
||
1240 | <+=?|> comment: '\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1 ?\\x61\n\n\t\t\texamples (2rd alternation = escaped):\n\t\t\t?\\n ?\\b\n\n\t\t\texamples (3rd alternation = normal):\n\t\t\t?a ?A ?0 \n\t\t\t?* ?" ?( \n\t\t\t?. ?#\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t' },+=?|> |
||
1241 | <+=?|> { token: 'keyword.operator.assignment.augmented.elixir',+=?|> |
||
1242 | <+=?|> regex: '\\+=|\\-=|\\|\\|=|~=|&&=' },+=?|> |
||
1243 | <+=?|> { token: 'keyword.operator.comparison.elixir',+=?|> |
||
1244 | <+=?|> regex: '===?|!==?|<=?|>=?' },+=?|> |
||
1245 | <+=?|> { token: 'keyword.operator.bitwise.elixir',+=?|> |
||
1246 | <+=?|> regex: '\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}' },+=?|> |
||
1247 | <+=?|> { token: 'keyword.operator.logical.elixir',+=?|> |
||
1248 | <+=?|> regex: '!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b',+=?|> |
||
1249 | <+=?|> originalRegex: '(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b' },+=?|> |
||
1250 | <+=?|> { token: 'keyword.operator.arithmetic.elixir',+=?|> |
||
1251 | <+=?|> regex: '\\*|\\+|\\-|/' },+=?|> |
||
1252 | <+=?|> { token: 'keyword.operator.other.elixir',+=?|> |
||
1253 | <+=?|> regex: '\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>' },+=?|> |
||
1254 | <+=?|> { token: 'keyword.operator.assignment.elixir', regex: '=' },+=?|> |
||
1255 | <+=?|> { token: 'punctuation.separator.other.elixir', regex: ':' },+=?|> |
||
1256 | <+=?|> { token: 'punctuation.separator.statement.elixir',+=?|> |
||
1257 | <+=?|> regex: '\\;' },+=?|> |
||
1258 | <+=?|> { token: 'punctuation.separator.object.elixir', regex: ',' },+=?|> |
||
1259 | <+=?|> { token: 'punctuation.separator.method.elixir', regex: '\\.' },+=?|> |
||
1260 | <+=?|> { token: 'punctuation.section.scope.elixir', regex: '\\{|\\}' },+=?|> |
||
1261 | <+=?|> { token: 'punctuation.section.array.elixir', regex: '\\[|\\]' },+=?|> |
||
1262 | <+=?|> { token: 'punctuation.section.function.elixir',+=?|> |
||
1263 | <+=?|> regex: '\\(|\\)' } ],+=?|> |
||
1264 | <+=?|> '#escaped_char': +=?|> |
||
1265 | <+=?|> [ { token: 'constant.character.escape.elixir',+=?|> |
||
1266 | <+=?|> regex: '\\\\(?:x[\\da-fA-F]{1,2}|.)' } ],+=?|> |
||
1267 | <+=?|> '#interpolated_elixir': +=?|> |
||
1268 | <+=?|> [ { token: +=?|> |
||
1269 | <+=?|> [ 'source.elixir.embedded.source',+=?|> |
||
1270 | <+=?|> 'source.elixir.embedded.source.empty' ],+=?|> |
||
1271 | <+=?|> regex: '(#\\{)(\\})' },+=?|> |
||
1272 | <+=?|> { todo: +=?|> |
||
1273 | <+=?|> { token: 'punctuation.section.embedded.elixir',+=?|> |
||
1274 | <+=?|> regex: '#\\{',+=?|> |
||
1275 | <+=?|> push: +=?|> |
||
1276 | <+=?|> [ { token: 'punctuation.section.embedded.elixir',+=?|> |
||
1277 | <+=?|> regex: '\\}',+=?|> |
||
1278 | <+=?|> next: 'pop' },+=?|> |
||
1279 | <+=?|> { include: '#nest_curly_and_self' },+=?|> |
||
1280 | <+=?|> { include: '$self' },+=?|> |
||
1281 | <+=?|> { defaultToken: 'source.elixir.embedded.source' } ] } } ],+=?|> |
||
1282 | <+=?|> '#nest_curly_and_self': +=?|> |
||
1283 | <+=?|> [ { token: 'punctuation.section.scope.elixir',+=?|> |
||
1284 | <+=?|> regex: '\\{',+=?|> |
||
1285 | <+=?|> push: +=?|> |
||
1286 | <+=?|> [ { token: 'punctuation.section.scope.elixir',+=?|> |
||
1287 | <+=?|> regex: '\\}',+=?|> |
||
1288 | <+=?|> next: 'pop' },+=?|> |
||
1289 | <+=?|> { include: '#nest_curly_and_self' } ] },+=?|> |
||
1290 | <+=?|> { include: '$self' } ],+=?|> |
||
1291 | <+=?|> '#regex_sub': +=?|> |
||
1292 | <+=?|> [ { include: '#interpolated_elixir' },+=?|> |
||
1293 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1294 | <+=?|> { token: +=?|> |
||
1295 | <+=?|> [ 'punctuation.definition.arbitrary-repitition.elixir',+=?|> |
||
1296 | <+=?|> 'string.regexp.arbitrary-repitition.elixir',+=?|> |
||
1297 | <+=?|> 'string.regexp.arbitrary-repitition.elixir',+=?|> |
||
1298 | <+=?|> 'punctuation.definition.arbitrary-repitition.elixir' ],+=?|> |
||
1299 | <+=?|> regex: '(\\{)(\\d+)((?:,\\d+)?)(\\})' },+=?|> |
||
1300 | <+=?|> { token: 'punctuation.definition.character-class.elixir',+=?|> |
||
1301 | <+=?|> regex: '\\[(?:\\^?\\])?',+=?|> |
||
1302 | <+=?|> push: +=?|> |
||
1303 | <+=?|> [ { token: 'punctuation.definition.character-class.elixir',+=?|> |
||
1304 | <+=?|> regex: '\\]',+=?|> |
||
1305 | <+=?|> next: 'pop' },+=?|> |
||
1306 | <+=?|> { include: '#escaped_char' },+=?|> |
||
1307 | <+=?|> { defaultToken: 'string.regexp.character-class.elixir' } ] },+=?|> |
||
1308 | <+=?|> { token: 'punctuation.definition.group.elixir',+=?|> |
||
1309 | <+=?|> regex: '\\(',+=?|> |
||
1310 | <+=?|> push: +=?|> |
||
1311 | <+=?|> [ { token: 'punctuation.definition.group.elixir',+=?|> |
||
1312 | <+=?|> regex: '\\)',+=?|> |
||
1313 | <+=?|> next: 'pop' },+=?|> |
||
1314 | <+=?|> { include: '#regex_sub' },+=?|> |
||
1315 | <+=?|> { defaultToken: 'string.regexp.group.elixir' } ] },+=?|> |
||
1316 | <+=?|> { token: +=?|> |
||
1317 | <+=?|> [ 'punctuation.definition.comment.elixir',+=?|> |
||
1318 | <+=?|> 'comment.line.number-sign.elixir' ],+=?|> |
||
1319 | <+=?|> regex: '(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)',+=?|> |
||
1320 | <+=?|> originalRegex: '(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$',+=?|> |
||
1321 | <+=?|> comment: 'We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.' } ] }+=?|> |
||
1322 | |||
1323 | <+=?|> this.normalizeRules();+=?|> |
||
1324 | <+=?|>};+=?|> |
||
1325 | |||
1326 | <+=?|>ElixirHighlightRules.metaData = { comment: 'Textmate bundle for Elixir Programming Language.',+=?|> |
||
1327 | <+=?|> fileTypes: [ 'ex', 'exs' ],+=?|> |
||
1328 | <+=?|> firstLineMatch: '^#!/.*\\belixir',+=?|> |
||
1329 | <+=?|> foldingStartMarker: '(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$',+=?|> |
||
1330 | <+=?|> foldingStopMarker: '^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)',+=?|> |
||
1331 | <+=?|> keyEquivalent: '^~E',+=?|> |
||
1332 | <+=?|> name: 'Elixir',+=?|> |
||
1333 | <+=?|> scopeName: 'source.elixir' }+=?|> |
||
1334 | |||
1335 | |||
1336 | <+=?|>oop.inherits(ElixirHighlightRules, TextHighlightRules);+=?|> |
||
1337 | |||
1338 | <+=?|>exports.ElixirHighlightRules = ElixirHighlightRules;+=?|> |
||
1339 | <+=?|>});+=?|> |
||
1340 | |||
1341 | <+=?|>ace.define("ace/mode/html_elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/elixir_highlight_rules"], function(require, exports, module) {+=?|> |
||
1342 | <+=?|> "use strict";+=?|> |
||
1343 | |||
1344 | <+=?|> var oop = require("../lib/oop");+=?|> |
||
1345 | <+=?|> var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;+=?|> |
||
1346 | <+=?|> var ElixirHighlightRules = require("./elixir_highlight_rules").ElixirHighlightRules;+=?|> |
||
1347 | |||
1348 | <+=?|> var HtmlElixirHighlightRules = function() {+=?|> |
||
1349 | <+=?|> HtmlHighlightRules.call(this);+=?|> |
||
1350 | |||
1351 | <+=?|> var startRules = [+=?|> |
||
1352 | <+=?|> {+=?|> |
||
1353 | <+=?|> regex: "<%%|%%>",+=?|> |
||
1354 | <+=?|> token: "constant.language.escape"+=?|> |
||
1355 | <+=?|> }, {+=?|> |
||
1356 | <+=?|> token : "comment.start.eex",+=?|> |
||
1357 | <+=?|> regex : "<%#",+=?|> |
||
1358 | <+=?|> push : [{+=?|> |
||
1359 | <+=?|> token : "comment.end.eex",+=?|> |
||
1360 | <+=?|> regex: "%>",+=?|> |
||
1361 | <+=?|> next: "pop",+=?|> |
||
1362 | <+=?|> defaultToken:"comment"+=?|> |
||
1363 | <+=?|> }]+=?|> |
||
1364 | <+=?|> }, {+=?|> |
||
1365 | <+=?|> token : "support.elixir_tag",+=?|> |
||
1366 | <+=?|> regex : "<%+(?!>)[-=]?",+=?|> |
||
1367 | <+=?|> push : "elixir-start"+=?|> |
||
1368 | <+=?|> }+=?|> |
||
1369 | <+=?|> ];+=?|> |
||
1370 | |||
1371 | <+=?|> var endRules = [+=?|> |
||
1372 | <+=?|> {+=?|> |
||
1373 | <+=?|> token : "support.elixir_tag",+=?|> |
||
1374 | <+=?|> regex : "%>",+=?|> |
||
1375 | <+=?|> next : "pop"+=?|> |
||
1376 | <+=?|> }, {+=?|> |
||
1377 | <+=?|> token: "comment",+=?|> |
||
1378 | <+=?|> regex: "#(?:[^%]|%[^>])*"+=?|> |
||
1379 | <+=?|> }+=?|> |
||
1380 | <+=?|> ];+=?|> |
||
1381 | |||
1382 | <+=?|> for (var key in this.$rules)+=?|> |
||
1383 | <+=?|> this.$rules[key].unshift.apply(this.$rules[key], startRules);+=?|> |
||
1384 | |||
1385 | <+=?|> this.embedRules(ElixirHighlightRules, "elixir-", endRules, ["start"]);+=?|> |
||
1386 | |||
1387 | <+=?|> this.normalizeRules();+=?|> |
||
1388 | <+=?|> };+=?|> |
||
1389 | |||
1390 | |||
1391 | <+=?|> oop.inherits(HtmlElixirHighlightRules, HtmlHighlightRules);+=?|> |
||
1392 | |||
1393 | <+=?|> exports.HtmlElixirHighlightRules = HtmlElixirHighlightRules;+=?|> |
||
1394 | <+=?|>});+=?|> |
||
1395 | |||
1396 | <+=?|>ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {+=?|> |
||
1397 | <+=?|>"use strict";+=?|> |
||
1398 | |||
1399 | <+=?|>var Range = require("../range").Range;+=?|> |
||
1400 | |||
1401 | <+=?|>var MatchingBraceOutdent = function() {};+=?|> |
||
1402 | |||
1403 | <+=?|>(function() {+=?|> |
||
1404 | |||
1405 | <+=?|> this.checkOutdent = function(line, input) {+=?|> |
||
1406 | <+=?|> if (! /^\s+$/.test(line))+=?|> |
||
1407 | <+=?|> return false;+=?|> |
||
1408 | |||
1409 | <+=?|> return /^\s*\}/.test(input);+=?|> |
||
1410 | <+=?|> };+=?|> |
||
1411 | |||
1412 | <+=?|> this.autoOutdent = function(doc, row) {+=?|> |
||
1413 | <+=?|> var line = doc.getLine(row);+=?|> |
||
1414 | <+=?|> var match = line.match(/^(\s*\})/);+=?|> |
||
1415 | |||
1416 | <+=?|> if (!match) return 0;+=?|> |
||
1417 | |||
1418 | <+=?|> var column = match[1].length;+=?|> |
||
1419 | <+=?|> var openBracePos = doc.findMatchingBracket({row: row, column: column});+=?|> |
||
1420 | |||
1421 | <+=?|> if (!openBracePos || openBracePos.row == row) return 0;+=?|> |
||
1422 | |||
1423 | <+=?|> var indent = this.$getIndent(doc.getLine(openBracePos.row));+=?|> |
||
1424 | <+=?|> doc.replace(new Range(row, 0, row, column-1), indent);+=?|> |
||
1425 | <+=?|> };+=?|> |
||
1426 | |||
1427 | <+=?|> this.$getIndent = function(line) {+=?|> |
||
1428 | <+=?|> return line.match(/^\s*/)[0];+=?|> |
||
1429 | <+=?|> };+=?|> |
||
1430 | |||
1431 | <+=?|>}).call(MatchingBraceOutdent.prototype);+=?|> |
||
1432 | |||
1433 | <+=?|>exports.MatchingBraceOutdent = MatchingBraceOutdent;+=?|> |
||
1434 | <+=?|>});+=?|> |
||
1435 | |||
1436 | <+=?|>ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {+=?|> |
||
1437 | <+=?|>"use strict";+=?|> |
||
1438 | |||
1439 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
1440 | <+=?|>var Range = require("../../range").Range;+=?|> |
||
1441 | <+=?|>var BaseFoldMode = require("./fold_mode").FoldMode;+=?|> |
||
1442 | |||
1443 | <+=?|>var FoldMode = exports.FoldMode = function(commentRegex) {+=?|> |
||
1444 | <+=?|> if (commentRegex) {+=?|> |
||
1445 | <+=?|> this.foldingStartMarker = new RegExp(+=?|> |
||
1446 | <+=?|> this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)+=?|> |
||
1447 | <+=?|> );+=?|> |
||
1448 | <+=?|> this.foldingStopMarker = new RegExp(+=?|> |
||
1449 | <+=?|> this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)+=?|> |
||
1450 | <+=?|> );+=?|> |
||
1451 | <+=?|> }+=?|> |
||
1452 | <+=?|>};+=?|> |
||
1453 | <+=?|>oop.inherits(FoldMode, BaseFoldMode);+=?|> |
||
1454 | |||
1455 | <+=?|>(function() {+=?|> |
||
1456 | |||
1457 | <+=?|> this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;+=?|> |
||
1458 | <+=?|> this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;+=?|> |
||
1459 | <+=?|> this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;+=?|> |
||
1460 | <+=?|> this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;+=?|> |
||
1461 | <+=?|> this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;+=?|> |
||
1462 | <+=?|> this._getFoldWidgetBase = this.getFoldWidget;+=?|> |
||
1463 | <+=?|> this.getFoldWidget = function(session, foldStyle, row) {+=?|> |
||
1464 | <+=?|> var line = session.getLine(row);+=?|> |
||
1465 | |||
1466 | <+=?|> if (this.singleLineBlockCommentRe.test(line)) {+=?|> |
||
1467 | <+=?|> if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))+=?|> |
||
1468 | <+=?|> return "";+=?|> |
||
1469 | <+=?|> }+=?|> |
||
1470 | |||
1471 | <+=?|> var fw = this._getFoldWidgetBase(session, foldStyle, row);+=?|> |
||
1472 | |||
1473 | <+=?|> if (!fw && this.startRegionRe.test(line))+=?|> |
||
1474 | <+=?|> return "start"; // lineCommentRegionStart+=?|> |
||
1475 | |||
1476 | <+=?|> return fw;+=?|> |
||
1477 | <+=?|> };+=?|> |
||
1478 | |||
1479 | <+=?|> this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {+=?|> |
||
1480 | <+=?|> var line = session.getLine(row);+=?|> |
||
1481 | |||
1482 | <+=?|> if (this.startRegionRe.test(line))+=?|> |
||
1483 | <+=?|> return this.getCommentRegionBlock(session, line, row);+=?|> |
||
1484 | |||
1485 | <+=?|> var match = line.match(this.foldingStartMarker);+=?|> |
||
1486 | <+=?|> if (match) {+=?|> |
||
1487 | <+=?|> var i = match.index;+=?|> |
||
1488 | |||
1489 | <+=?|> if (match[1])+=?|> |
||
1490 | <+=?|> return this.openingBracketBlock(session, match[1], row, i);+=?|> |
||
1491 | |||
1492 | <+=?|> var range = session.getCommentFoldRange(row, i + match[0].length, 1);+=?|> |
||
1493 | |||
1494 | <+=?|> if (range && !range.isMultiLine()) {+=?|> |
||
1495 | <+=?|> if (forceMultiline) {+=?|> |
||
1496 | <+=?|> range = this.getSectionRange(session, row);+=?|> |
||
1497 | <+=?|> } else if (foldStyle != "all")+=?|> |
||
1498 | <+=?|> range = null;+=?|> |
||
1499 | <+=?|> }+=?|> |
||
1500 | |||
1501 | <+=?|> return range;+=?|> |
||
1502 | <+=?|> }+=?|> |
||
1503 | |||
1504 | <+=?|> if (foldStyle === "markbegin")+=?|> |
||
1505 | <+=?|> return;+=?|> |
||
1506 | |||
1507 | <+=?|> var match = line.match(this.foldingStopMarker);+=?|> |
||
1508 | <+=?|> if (match) {+=?|> |
||
1509 | <+=?|> var i = match.index + match[0].length;+=?|> |
||
1510 | |||
1511 | <+=?|> if (match[1])+=?|> |
||
1512 | <+=?|> return this.closingBracketBlock(session, match[1], row, i);+=?|> |
||
1513 | |||
1514 | <+=?|> return session.getCommentFoldRange(row, i, -1);+=?|> |
||
1515 | <+=?|> }+=?|> |
||
1516 | <+=?|> };+=?|> |
||
1517 | |||
1518 | <+=?|> this.getSectionRange = function(session, row) {+=?|> |
||
1519 | <+=?|> var line = session.getLine(row);+=?|> |
||
1520 | <+=?|> var startIndent = line.search(/\S/);+=?|> |
||
1521 | <+=?|> var startRow = row;+=?|> |
||
1522 | <+=?|> var startColumn = line.length;+=?|> |
||
1523 | <+=?|> row = row + 1;+=?|> |
||
1524 | <+=?|> var endRow = row;+=?|> |
||
1525 | <+=?|> var maxRow = session.getLength();+=?|> |
||
1526 | <+=?|> while (++row < maxRow) {+=?|> |
||
1527 | <+=?|> line = session.getLine(row);+=?|> |
||
1528 | <+=?|> var indent = line.search(/\S/);+=?|> |
||
1529 | <+=?|> if (indent === -1)+=?|> |
||
1530 | <+=?|> continue;+=?|> |
||
1531 | <+=?|> if (startIndent > indent)+=?|> |
||
1532 | <+=?|> break;+=?|> |
||
1533 | <+=?|> var subRange = this.getFoldWidgetRange(session, "all", row);+=?|> |
||
1534 | |||
1535 | <+=?|> if (subRange) {+=?|> |
||
1536 | <+=?|> if (subRange.start.row <= startRow) {+=?|> |
||
1537 | <+=?|> break;+=?|> |
||
1538 | <+=?|> } else if (subRange.isMultiLine()) {+=?|> |
||
1539 | <+=?|> row = subRange.end.row;+=?|> |
||
1540 | <+=?|> } else if (startIndent == indent) {+=?|> |
||
1541 | <+=?|> break;+=?|> |
||
1542 | <+=?|> }+=?|> |
||
1543 | <+=?|> }+=?|> |
||
1544 | <+=?|> endRow = row;+=?|> |
||
1545 | <+=?|> }+=?|> |
||
1546 | |||
1547 | <+=?|> return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);+=?|> |
||
1548 | <+=?|> };+=?|> |
||
1549 | <+=?|> this.getCommentRegionBlock = function(session, line, row) {+=?|> |
||
1550 | <+=?|> var startColumn = line.search(/\s*$/);+=?|> |
||
1551 | <+=?|> var maxRow = session.getLength();+=?|> |
||
1552 | <+=?|> var startRow = row;+=?|> |
||
1553 | |||
1554 | <+=?|> var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;+=?|> |
||
1555 | <+=?|> var depth = 1;+=?|> |
||
1556 | <+=?|> while (++row < maxRow) {+=?|> |
||
1557 | <+=?|> line = session.getLine(row);+=?|> |
||
1558 | <+=?|> var m = re.exec(line);+=?|> |
||
1559 | <+=?|> if (!m) continue;+=?|> |
||
1560 | <+=?|> if (m[1]) depth--;+=?|> |
||
1561 | <+=?|> else depth++;+=?|> |
||
1562 | |||
1563 | <+=?|> if (!depth) break;+=?|> |
||
1564 | <+=?|> }+=?|> |
||
1565 | |||
1566 | <+=?|> var endRow = row;+=?|> |
||
1567 | <+=?|> if (endRow > startRow) {+=?|> |
||
1568 | <+=?|> return new Range(startRow, startColumn, endRow, line.length);+=?|> |
||
1569 | <+=?|> }+=?|> |
||
1570 | <+=?|> };+=?|> |
||
1571 | |||
1572 | <+=?|>}).call(FoldMode.prototype);+=?|> |
||
1573 | |||
1574 | <+=?|>});+=?|> |
||
1575 | |||
1576 | <+=?|>ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {+=?|> |
||
1577 | <+=?|>"use strict";+=?|> |
||
1578 | |||
1579 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
1580 | <+=?|>var TextMode = require("./text").Mode;+=?|> |
||
1581 | <+=?|>var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;+=?|> |
||
1582 | <+=?|>var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;+=?|> |
||
1583 | <+=?|>var WorkerClient = require("../worker/worker_client").WorkerClient;+=?|> |
||
1584 | <+=?|>var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;+=?|> |
||
1585 | <+=?|>var CStyleFoldMode = require("./folding/cstyle").FoldMode;+=?|> |
||
1586 | |||
1587 | <+=?|>var Mode = function() {+=?|> |
||
1588 | <+=?|> this.HighlightRules = JavaScriptHighlightRules;+=?|> |
||
1589 | |||
1590 | <+=?|> this.$outdent = new MatchingBraceOutdent();+=?|> |
||
1591 | <+=?|> this.$behaviour = new CstyleBehaviour();+=?|> |
||
1592 | <+=?|> this.foldingRules = new CStyleFoldMode();+=?|> |
||
1593 | <+=?|>};+=?|> |
||
1594 | <+=?|>oop.inherits(Mode, TextMode);+=?|> |
||
1595 | |||
1596 | <+=?|>(function() {+=?|> |
||
1597 | |||
1598 | <+=?|> this.lineCommentStart = "//";+=?|> |
||
1599 | <+=?|> this.blockComment = {start: "/*", end: "*/"};+=?|> |
||
1600 | |||
1601 | <+=?|> this.getNextLineIndent = function(state, line, tab) {+=?|> |
||
1602 | <+=?|> var indent = this.$getIndent(line);+=?|> |
||
1603 | |||
1604 | <+=?|> var tokenizedLine = this.getTokenizer().getLineTokens(line, state);+=?|> |
||
1605 | <+=?|> var tokens = tokenizedLine.tokens;+=?|> |
||
1606 | <+=?|> var endState = tokenizedLine.state;+=?|> |
||
1607 | |||
1608 | <+=?|> if (tokens.length && tokens[tokens.length-1].type == "comment") {+=?|> |
||
1609 | <+=?|> return indent;+=?|> |
||
1610 | <+=?|> }+=?|> |
||
1611 | |||
1612 | <+=?|> if (state == "start" || state == "no_regex") {+=?|> |
||
1613 | <+=?|> var match = line.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);+=?|> |
||
1614 | <+=?|> if (match) {+=?|> |
||
1615 | <+=?|> indent += tab;+=?|> |
||
1616 | <+=?|> }+=?|> |
||
1617 | <+=?|> } else if (state == "doc-start") {+=?|> |
||
1618 | <+=?|> if (endState == "start" || endState == "no_regex") {+=?|> |
||
1619 | <+=?|> return "";+=?|> |
||
1620 | <+=?|> }+=?|> |
||
1621 | <+=?|> var match = line.match(/^\s*(\/?)\*/);+=?|> |
||
1622 | <+=?|> if (match) {+=?|> |
||
1623 | <+=?|> if (match[1]) {+=?|> |
||
1624 | <+=?|> indent += " ";+=?|> |
||
1625 | <+=?|> }+=?|> |
||
1626 | <+=?|> indent += "* ";+=?|> |
||
1627 | <+=?|> }+=?|> |
||
1628 | <+=?|> }+=?|> |
||
1629 | |||
1630 | <+=?|> return indent;+=?|> |
||
1631 | <+=?|> };+=?|> |
||
1632 | |||
1633 | <+=?|> this.checkOutdent = function(state, line, input) {+=?|> |
||
1634 | <+=?|> return this.$outdent.checkOutdent(line, input);+=?|> |
||
1635 | <+=?|> };+=?|> |
||
1636 | |||
1637 | <+=?|> this.autoOutdent = function(state, doc, row) {+=?|> |
||
1638 | <+=?|> this.$outdent.autoOutdent(doc, row);+=?|> |
||
1639 | <+=?|> };+=?|> |
||
1640 | |||
1641 | <+=?|> this.createWorker = function(session) {+=?|> |
||
1642 | <+=?|> var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");+=?|> |
||
1643 | <+=?|> worker.attachToDocument(session.getDocument());+=?|> |
||
1644 | |||
1645 | <+=?|> worker.on("annotate", function(results) {+=?|> |
||
1646 | <+=?|> session.setAnnotations(results.data);+=?|> |
||
1647 | <+=?|> });+=?|> |
||
1648 | |||
1649 | <+=?|> worker.on("terminate", function() {+=?|> |
||
1650 | <+=?|> session.clearAnnotations();+=?|> |
||
1651 | <+=?|> });+=?|> |
||
1652 | |||
1653 | <+=?|> return worker;+=?|> |
||
1654 | <+=?|> };+=?|> |
||
1655 | |||
1656 | <+=?|> this.$id = "ace/mode/javascript";+=?|> |
||
1657 | <+=?|>}).call(Mode.prototype);+=?|> |
||
1658 | |||
1659 | <+=?|>exports.Mode = Mode;+=?|> |
||
1660 | <+=?|>});+=?|> |
||
1661 | |||
1662 | <+=?|>ace.define("ace/mode/css_completions",["require","exports","module"], function(require, exports, module) {+=?|> |
||
1663 | <+=?|>"use strict";+=?|> |
||
1664 | |||
1665 | <+=?|>var propertyMap = {+=?|> |
||
1666 | <+=?|> "background": {"#$0": 1},+=?|> |
||
1667 | <+=?|> "background-color": {"#$0": 1, "transparent": 1, "fixed": 1},+=?|> |
||
1668 | <+=?|> "background-image": {"url('/$0')": 1},+=?|> |
||
1669 | <+=?|> "background-repeat": {"repeat": 1, "repeat-x": 1, "repeat-y": 1, "no-repeat": 1, "inherit": 1},+=?|> |
||
1670 | <+=?|> "background-position": {"bottom":2, "center":2, "left":2, "right":2, "top":2, "inherit":2},+=?|> |
||
1671 | <+=?|> "background-attachment": {"scroll": 1, "fixed": 1},+=?|> |
||
1672 | <+=?|> "background-size": {"cover": 1, "contain": 1},+=?|> |
||
1673 | <+=?|> "background-clip": {"border-box": 1, "padding-box": 1, "content-box": 1},+=?|> |
||
1674 | <+=?|> "background-origin": {"border-box": 1, "padding-box": 1, "content-box": 1},+=?|> |
||
1675 | <+=?|> "border": {"solid $0": 1, "dashed $0": 1, "dotted $0": 1, "#$0": 1},+=?|> |
||
1676 | <+=?|> "border-color": {"#$0": 1},+=?|> |
||
1677 | <+=?|> "border-style": {"solid":2, "dashed":2, "dotted":2, "double":2, "groove":2, "hidden":2, "inherit":2, "inset":2, "none":2, "outset":2, "ridged":2},+=?|> |
||
1678 | <+=?|> "border-collapse": {"collapse": 1, "separate": 1},+=?|> |
||
1679 | <+=?|> "bottom": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1680 | <+=?|> "clear": {"left": 1, "right": 1, "both": 1, "none": 1},+=?|> |
||
1681 | <+=?|> "color": {"#$0": 1, "rgb(#$00,0,0)": 1},+=?|> |
||
1682 | <+=?|> "cursor": {"default": 1, "pointer": 1, "move": 1, "text": 1, "wait": 1, "help": 1, "progress": 1, "n-resize": 1, "ne-resize": 1, "e-resize": 1, "se-resize": 1, "s-resize": 1, "sw-resize": 1, "w-resize": 1, "nw-resize": 1},+=?|> |
||
1683 | <+=?|> "display": {"none": 1, "block": 1, "inline": 1, "inline-block": 1, "table-cell": 1},+=?|> |
||
1684 | <+=?|> "empty-cells": {"show": 1, "hide": 1},+=?|> |
||
1685 | <+=?|> "float": {"left": 1, "right": 1, "none": 1},+=?|> |
||
1686 | <+=?|> "font-family": {"Arial":2,"Comic Sans MS":2,"Consolas":2,"Courier New":2,"Courier":2,"Georgia":2,"Monospace":2,"Sans-Serif":2, "Segoe UI":2,"Tahoma":2,"Times New Roman":2,"Trebuchet MS":2,"Verdana": 1},+=?|> |
||
1687 | <+=?|> "font-size": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1688 | <+=?|> "font-weight": {"bold": 1, "normal": 1},+=?|> |
||
1689 | <+=?|> "font-style": {"italic": 1, "normal": 1},+=?|> |
||
1690 | <+=?|> "font-variant": {"normal": 1, "small-caps": 1},+=?|> |
||
1691 | <+=?|> "height": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1692 | <+=?|> "left": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1693 | <+=?|> "letter-spacing": {"normal": 1},+=?|> |
||
1694 | <+=?|> "line-height": {"normal": 1},+=?|> |
||
1695 | <+=?|> "list-style-type": {"none": 1, "disc": 1, "circle": 1, "square": 1, "decimal": 1, "decimal-leading-zero": 1, "lower-roman": 1, "upper-roman": 1, "lower-greek": 1, "lower-latin": 1, "upper-latin": 1, "georgian": 1, "lower-alpha": 1, "upper-alpha": 1},+=?|> |
||
1696 | <+=?|> "margin": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1697 | <+=?|> "margin-right": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1698 | <+=?|> "margin-left": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1699 | <+=?|> "margin-top": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1700 | <+=?|> "margin-bottom": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1701 | <+=?|> "max-height": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1702 | <+=?|> "max-width": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1703 | <+=?|> "min-height": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1704 | <+=?|> "min-width": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1705 | <+=?|> "overflow": {"hidden": 1, "visible": 1, "auto": 1, "scroll": 1},+=?|> |
||
1706 | <+=?|> "overflow-x": {"hidden": 1, "visible": 1, "auto": 1, "scroll": 1},+=?|> |
||
1707 | <+=?|> "overflow-y": {"hidden": 1, "visible": 1, "auto": 1, "scroll": 1},+=?|> |
||
1708 | <+=?|> "padding": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1709 | <+=?|> "padding-top": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1710 | <+=?|> "padding-right": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1711 | <+=?|> "padding-bottom": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1712 | <+=?|> "padding-left": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1713 | <+=?|> "page-break-after": {"auto": 1, "always": 1, "avoid": 1, "left": 1, "right": 1},+=?|> |
||
1714 | <+=?|> "page-break-before": {"auto": 1, "always": 1, "avoid": 1, "left": 1, "right": 1},+=?|> |
||
1715 | <+=?|> "position": {"absolute": 1, "relative": 1, "fixed": 1, "static": 1},+=?|> |
||
1716 | <+=?|> "right": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1717 | <+=?|> "table-layout": {"fixed": 1, "auto": 1},+=?|> |
||
1718 | <+=?|> "text-decoration": {"none": 1, "underline": 1, "line-through": 1, "blink": 1},+=?|> |
||
1719 | <+=?|> "text-align": {"left": 1, "right": 1, "center": 1, "justify": 1},+=?|> |
||
1720 | <+=?|> "text-transform": {"capitalize": 1, "uppercase": 1, "lowercase": 1, "none": 1},+=?|> |
||
1721 | <+=?|> "top": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1722 | <+=?|> "vertical-align": {"top": 1, "bottom": 1},+=?|> |
||
1723 | <+=?|> "visibility": {"hidden": 1, "visible": 1},+=?|> |
||
1724 | <+=?|> "white-space": {"nowrap": 1, "normal": 1, "pre": 1, "pre-line": 1, "pre-wrap": 1},+=?|> |
||
1725 | <+=?|> "width": {"px": 1, "em": 1, "%": 1},+=?|> |
||
1726 | <+=?|> "word-spacing": {"normal": 1},+=?|> |
||
1727 | <+=?|> "filter": {"alpha(opacity=$0100)": 1},+=?|> |
||
1728 | |||
1729 | <+=?|> "text-shadow": {"$02px 2px 2px #777": 1},+=?|> |
||
1730 | <+=?|> "text-overflow": {"ellipsis-word": 1, "clip": 1, "ellipsis": 1},+=?|> |
||
1731 | <+=?|> "-moz-border-radius": 1,+=?|> |
||
1732 | <+=?|> "-moz-border-radius-topright": 1,+=?|> |
||
1733 | <+=?|> "-moz-border-radius-bottomright": 1,+=?|> |
||
1734 | <+=?|> "-moz-border-radius-topleft": 1,+=?|> |
||
1735 | <+=?|> "-moz-border-radius-bottomleft": 1,+=?|> |
||
1736 | <+=?|> "-webkit-border-radius": 1,+=?|> |
||
1737 | <+=?|> "-webkit-border-top-right-radius": 1,+=?|> |
||
1738 | <+=?|> "-webkit-border-top-left-radius": 1,+=?|> |
||
1739 | <+=?|> "-webkit-border-bottom-right-radius": 1,+=?|> |
||
1740 | <+=?|> "-webkit-border-bottom-left-radius": 1,+=?|> |
||
1741 | <+=?|> "-moz-box-shadow": 1,+=?|> |
||
1742 | <+=?|> "-webkit-box-shadow": 1,+=?|> |
||
1743 | <+=?|> "transform": {"rotate($00deg)": 1, "skew($00deg)": 1},+=?|> |
||
1744 | <+=?|> "-moz-transform": {"rotate($00deg)": 1, "skew($00deg)": 1},+=?|> |
||
1745 | <+=?|> "-webkit-transform": {"rotate($00deg)": 1, "skew($00deg)": 1 }+=?|> |
||
1746 | <+=?|>};+=?|> |
||
1747 | |||
1748 | <+=?|>var CssCompletions = function() {+=?|> |
||
1749 | |||
1750 | <+=?|>};+=?|> |
||
1751 | |||
1752 | <+=?|>(function() {+=?|> |
||
1753 | |||
1754 | <+=?|> this.completionsDefined = false;+=?|> |
||
1755 | |||
1756 | <+=?|> this.defineCompletions = function() {+=?|> |
||
1757 | <+=?|> if (document) {+=?|> |
||
1758 | <+=?|> var style = document.createElement('c').style;+=?|> |
||
1759 | |||
1760 | <+=?|> for (var i in style) {+=?|> |
||
1761 | <+=?|> if (typeof style[i] !== 'string')+=?|> |
||
1762 | <+=?|> continue;+=?|> |
||
1763 | |||
1764 | <+=?|> var name = i.replace(/[A-Z]/g, function(x) {+=?|> |
||
1765 | <+=?|> return '-' + x.toLowerCase();+=?|> |
||
1766 | <+=?|> });+=?|> |
||
1767 | |||
1768 | <+=?|> if (!propertyMap.hasOwnProperty(name))+=?|> |
||
1769 | <+=?|> propertyMap[name] = 1;+=?|> |
||
1770 | <+=?|> }+=?|> |
||
1771 | <+=?|> }+=?|> |
||
1772 | |||
1773 | <+=?|> this.completionsDefined = true;+=?|> |
||
1774 | <+=?|> }+=?|> |
||
1775 | |||
1776 | <+=?|> this.getCompletions = function(state, session, pos, prefix) {+=?|> |
||
1777 | <+=?|> if (!this.completionsDefined) {+=?|> |
||
1778 | <+=?|> this.defineCompletions();+=?|> |
||
1779 | <+=?|> }+=?|> |
||
1780 | |||
1781 | <+=?|> var token = session.getTokenAt(pos.row, pos.column);+=?|> |
||
1782 | |||
1783 | <+=?|> if (!token)+=?|> |
||
1784 | <+=?|> return [];+=?|> |
||
1785 | <+=?|> if (state==='ruleset'){+=?|> |
||
1786 | <+=?|> var line = session.getLine(pos.row).substr(0, pos.column);+=?|> |
||
1787 | <+=?|> if (/:[^;]+$/.test(line)) {+=?|> |
||
1788 | <+=?|> /([\w\-]+):[^:]*$/.test(line);+=?|> |
||
1789 | |||
1790 | <+=?|> return this.getPropertyValueCompletions(state, session, pos, prefix);+=?|> |
||
1791 | <+=?|> } else {+=?|> |
||
1792 | <+=?|> return this.getPropertyCompletions(state, session, pos, prefix);+=?|> |
||
1793 | <+=?|> }+=?|> |
||
1794 | <+=?|> }+=?|> |
||
1795 | |||
1796 | <+=?|> return [];+=?|> |
||
1797 | <+=?|> };+=?|> |
||
1798 | |||
1799 | <+=?|> this.getPropertyCompletions = function(state, session, pos, prefix) {+=?|> |
||
1800 | <+=?|> var properties = Object.keys(propertyMap);+=?|> |
||
1801 | <+=?|> return properties.map(function(property){+=?|> |
||
1802 | <+=?|> return {+=?|> |
||
1803 | <+=?|> caption: property,+=?|> |
||
1804 | <+=?|> snippet: property + ': $0',+=?|> |
||
1805 | <+=?|> meta: "property",+=?|> |
||
1806 | <+=?|> score: Number.MAX_VALUE+=?|> |
||
1807 | <+=?|> };+=?|> |
||
1808 | <+=?|> });+=?|> |
||
1809 | <+=?|> };+=?|> |
||
1810 | |||
1811 | <+=?|> this.getPropertyValueCompletions = function(state, session, pos, prefix) {+=?|> |
||
1812 | <+=?|> var line = session.getLine(pos.row).substr(0, pos.column);+=?|> |
||
1813 | <+=?|> var property = (/([\w\-]+):[^:]*$/.exec(line) || {})[1];+=?|> |
||
1814 | |||
1815 | <+=?|> if (!property)+=?|> |
||
1816 | <+=?|> return [];+=?|> |
||
1817 | <+=?|> var values = [];+=?|> |
||
1818 | <+=?|> if (property in propertyMap && typeof propertyMap[property] === "object") {+=?|> |
||
1819 | <+=?|> values = Object.keys(propertyMap[property]);+=?|> |
||
1820 | <+=?|> }+=?|> |
||
1821 | <+=?|> return values.map(function(value){+=?|> |
||
1822 | <+=?|> return {+=?|> |
||
1823 | <+=?|> caption: value,+=?|> |
||
1824 | <+=?|> snippet: value,+=?|> |
||
1825 | <+=?|> meta: "property value",+=?|> |
||
1826 | <+=?|> score: Number.MAX_VALUE+=?|> |
||
1827 | <+=?|> };+=?|> |
||
1828 | <+=?|> });+=?|> |
||
1829 | <+=?|> };+=?|> |
||
1830 | |||
1831 | <+=?|>}).call(CssCompletions.prototype);+=?|> |
||
1832 | |||
1833 | <+=?|>exports.CssCompletions = CssCompletions;+=?|> |
||
1834 | <+=?|>});+=?|> |
||
1835 | |||
1836 | <+=?|>ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"], function(require, exports, module) {+=?|> |
||
1837 | <+=?|>"use strict";+=?|> |
||
1838 | |||
1839 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
1840 | <+=?|>var Behaviour = require("../behaviour").Behaviour;+=?|> |
||
1841 | <+=?|>var CstyleBehaviour = require("./cstyle").CstyleBehaviour;+=?|> |
||
1842 | <+=?|>var TokenIterator = require("../../token_iterator").TokenIterator;+=?|> |
||
1843 | |||
1844 | <+=?|>var CssBehaviour = function () {+=?|> |
||
1845 | |||
1846 | <+=?|> this.inherit(CstyleBehaviour);+=?|> |
||
1847 | |||
1848 | <+=?|> this.add("colon", "insertion", function (state, action, editor, session, text) {+=?|> |
||
1849 | <+=?|> if (text === ':') {+=?|> |
||
1850 | <+=?|> var cursor = editor.getCursorPosition();+=?|> |
||
1851 | <+=?|> var iterator = new TokenIterator(session, cursor.row, cursor.column);+=?|> |
||
1852 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
1853 | <+=?|> if (token && token.value.match(/\s+/)) {+=?|> |
||
1854 | <+=?|> token = iterator.stepBackward();+=?|> |
||
1855 | <+=?|> }+=?|> |
||
1856 | <+=?|> if (token && token.type === 'support.type') {+=?|> |
||
1857 | <+=?|> var line = session.doc.getLine(cursor.row);+=?|> |
||
1858 | <+=?|> var rightChar = line.substring(cursor.column, cursor.column + 1);+=?|> |
||
1859 | <+=?|> if (rightChar === ':') {+=?|> |
||
1860 | <+=?|> return {+=?|> |
||
1861 | <+=?|> text: '',+=?|> |
||
1862 | <+=?|> selection: [1, 1]+=?|> |
||
1863 | <+=?|> }+=?|> |
||
1864 | <+=?|> }+=?|> |
||
1865 | <+=?|> if (!line.substring(cursor.column).match(/^\s*;/)) {+=?|> |
||
1866 | <+=?|> return {+=?|> |
||
1867 | <+=?|> text: ':;',+=?|> |
||
1868 | <+=?|> selection: [1, 1]+=?|> |
||
1869 | <+=?|> }+=?|> |
||
1870 | <+=?|> }+=?|> |
||
1871 | <+=?|> }+=?|> |
||
1872 | <+=?|> }+=?|> |
||
1873 | <+=?|> });+=?|> |
||
1874 | |||
1875 | <+=?|> this.add("colon", "deletion", function (state, action, editor, session, range) {+=?|> |
||
1876 | <+=?|> var selected = session.doc.getTextRange(range);+=?|> |
||
1877 | <+=?|> if (!range.isMultiLine() && selected === ':') {+=?|> |
||
1878 | <+=?|> var cursor = editor.getCursorPosition();+=?|> |
||
1879 | <+=?|> var iterator = new TokenIterator(session, cursor.row, cursor.column);+=?|> |
||
1880 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
1881 | <+=?|> if (token && token.value.match(/\s+/)) {+=?|> |
||
1882 | <+=?|> token = iterator.stepBackward();+=?|> |
||
1883 | <+=?|> }+=?|> |
||
1884 | <+=?|> if (token && token.type === 'support.type') {+=?|> |
||
1885 | <+=?|> var line = session.doc.getLine(range.start.row);+=?|> |
||
1886 | <+=?|> var rightChar = line.substring(range.end.column, range.end.column + 1);+=?|> |
||
1887 | <+=?|> if (rightChar === ';') {+=?|> |
||
1888 | <+=?|> range.end.column ++;+=?|> |
||
1889 | <+=?|> return range;+=?|> |
||
1890 | <+=?|> }+=?|> |
||
1891 | <+=?|> }+=?|> |
||
1892 | <+=?|> }+=?|> |
||
1893 | <+=?|> });+=?|> |
||
1894 | |||
1895 | <+=?|> this.add("semicolon", "insertion", function (state, action, editor, session, text) {+=?|> |
||
1896 | <+=?|> if (text === ';') {+=?|> |
||
1897 | <+=?|> var cursor = editor.getCursorPosition();+=?|> |
||
1898 | <+=?|> var line = session.doc.getLine(cursor.row);+=?|> |
||
1899 | <+=?|> var rightChar = line.substring(cursor.column, cursor.column + 1);+=?|> |
||
1900 | <+=?|> if (rightChar === ';') {+=?|> |
||
1901 | <+=?|> return {+=?|> |
||
1902 | <+=?|> text: '',+=?|> |
||
1903 | <+=?|> selection: [1, 1]+=?|> |
||
1904 | <+=?|> }+=?|> |
||
1905 | <+=?|> }+=?|> |
||
1906 | <+=?|> }+=?|> |
||
1907 | <+=?|> });+=?|> |
||
1908 | |||
1909 | <+=?|>}+=?|> |
||
1910 | <+=?|>oop.inherits(CssBehaviour, CstyleBehaviour);+=?|> |
||
1911 | |||
1912 | <+=?|>exports.CssBehaviour = CssBehaviour;+=?|> |
||
1913 | <+=?|>});+=?|> |
||
1914 | |||
1915 | <+=?|>ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"], function(require, exports, module) {+=?|> |
||
1916 | <+=?|>"use strict";+=?|> |
||
1917 | |||
1918 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
1919 | <+=?|>var TextMode = require("./text").Mode;+=?|> |
||
1920 | <+=?|>var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;+=?|> |
||
1921 | <+=?|>var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;+=?|> |
||
1922 | <+=?|>var WorkerClient = require("../worker/worker_client").WorkerClient;+=?|> |
||
1923 | <+=?|>var CssCompletions = require("./css_completions").CssCompletions;+=?|> |
||
1924 | <+=?|>var CssBehaviour = require("./behaviour/css").CssBehaviour;+=?|> |
||
1925 | <+=?|>var CStyleFoldMode = require("./folding/cstyle").FoldMode;+=?|> |
||
1926 | |||
1927 | <+=?|>var Mode = function() {+=?|> |
||
1928 | <+=?|> this.HighlightRules = CssHighlightRules;+=?|> |
||
1929 | <+=?|> this.$outdent = new MatchingBraceOutdent();+=?|> |
||
1930 | <+=?|> this.$behaviour = new CssBehaviour();+=?|> |
||
1931 | <+=?|> this.$completer = new CssCompletions();+=?|> |
||
1932 | <+=?|> this.foldingRules = new CStyleFoldMode();+=?|> |
||
1933 | <+=?|>};+=?|> |
||
1934 | <+=?|>oop.inherits(Mode, TextMode);+=?|> |
||
1935 | |||
1936 | <+=?|>(function() {+=?|> |
||
1937 | |||
1938 | <+=?|> this.foldingRules = "cStyle";+=?|> |
||
1939 | <+=?|> this.blockComment = {start: "/*", end: "*/"};+=?|> |
||
1940 | |||
1941 | <+=?|> this.getNextLineIndent = function(state, line, tab) {+=?|> |
||
1942 | <+=?|> var indent = this.$getIndent(line);+=?|> |
||
1943 | <+=?|> var tokens = this.getTokenizer().getLineTokens(line, state).tokens;+=?|> |
||
1944 | <+=?|> if (tokens.length && tokens[tokens.length-1].type == "comment") {+=?|> |
||
1945 | <+=?|> return indent;+=?|> |
||
1946 | <+=?|> }+=?|> |
||
1947 | |||
1948 | <+=?|> var match = line.match(/^.*\{\s*$/);+=?|> |
||
1949 | <+=?|> if (match) {+=?|> |
||
1950 | <+=?|> indent += tab;+=?|> |
||
1951 | <+=?|> }+=?|> |
||
1952 | |||
1953 | <+=?|> return indent;+=?|> |
||
1954 | <+=?|> };+=?|> |
||
1955 | |||
1956 | <+=?|> this.checkOutdent = function(state, line, input) {+=?|> |
||
1957 | <+=?|> return this.$outdent.checkOutdent(line, input);+=?|> |
||
1958 | <+=?|> };+=?|> |
||
1959 | |||
1960 | <+=?|> this.autoOutdent = function(state, doc, row) {+=?|> |
||
1961 | <+=?|> this.$outdent.autoOutdent(doc, row);+=?|> |
||
1962 | <+=?|> };+=?|> |
||
1963 | |||
1964 | <+=?|> this.getCompletions = function(state, session, pos, prefix) {+=?|> |
||
1965 | <+=?|> return this.$completer.getCompletions(state, session, pos, prefix);+=?|> |
||
1966 | <+=?|> };+=?|> |
||
1967 | |||
1968 | <+=?|> this.createWorker = function(session) {+=?|> |
||
1969 | <+=?|> var worker = new WorkerClient(["ace"], "ace/mode/css_worker", "Worker");+=?|> |
||
1970 | <+=?|> worker.attachToDocument(session.getDocument());+=?|> |
||
1971 | |||
1972 | <+=?|> worker.on("annotate", function(e) {+=?|> |
||
1973 | <+=?|> session.setAnnotations(e.data);+=?|> |
||
1974 | <+=?|> });+=?|> |
||
1975 | |||
1976 | <+=?|> worker.on("terminate", function() {+=?|> |
||
1977 | <+=?|> session.clearAnnotations();+=?|> |
||
1978 | <+=?|> });+=?|> |
||
1979 | |||
1980 | <+=?|> return worker;+=?|> |
||
1981 | <+=?|> };+=?|> |
||
1982 | |||
1983 | <+=?|> this.$id = "ace/mode/css";+=?|> |
||
1984 | <+=?|>}).call(Mode.prototype);+=?|> |
||
1985 | |||
1986 | <+=?|>exports.Mode = Mode;+=?|> |
||
1987 | |||
1988 | <+=?|>});+=?|> |
||
1989 | |||
1990 | <+=?|>ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {+=?|> |
||
1991 | <+=?|>"use strict";+=?|> |
||
1992 | |||
1993 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
1994 | <+=?|>var Behaviour = require("../behaviour").Behaviour;+=?|> |
||
1995 | <+=?|>var TokenIterator = require("../../token_iterator").TokenIterator;+=?|> |
||
1996 | <+=?|>var lang = require("../../lib/lang");+=?|> |
||
1997 | |||
1998 | <+=?|>function is(token, type) {+=?|> |
||
1999 | <+=?|> return token.type.lastIndexOf(type + ".xml") > -1;+=?|> |
||
2000 | <+=?|>}+=?|> |
||
2001 | |||
2002 | <+=?|>var XmlBehaviour = function () {+=?|> |
||
2003 | |||
2004 | <+=?|> this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {+=?|> |
||
2005 | <+=?|> if (text == '"' || text == "'") {+=?|> |
||
2006 | <+=?|> var quote = text;+=?|> |
||
2007 | <+=?|> var selected = session.doc.getTextRange(editor.getSelectionRange());+=?|> |
||
2008 | <+=?|> if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {+=?|> |
||
2009 | <+=?|> return {+=?|> |
||
2010 | <+=?|> text: quote + selected + quote,+=?|> |
||
2011 | <+=?|> selection: false+=?|> |
||
2012 | <+=?|> };+=?|> |
||
2013 | <+=?|> }+=?|> |
||
2014 | |||
2015 | <+=?|> var cursor = editor.getCursorPosition();+=?|> |
||
2016 | <+=?|> var line = session.doc.getLine(cursor.row);+=?|> |
||
2017 | <+=?|> var rightChar = line.substring(cursor.column, cursor.column + 1);+=?|> |
||
2018 | <+=?|> var iterator = new TokenIterator(session, cursor.row, cursor.column);+=?|> |
||
2019 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
2020 | |||
2021 | <+=?|> if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {+=?|> |
||
2022 | <+=?|> return {+=?|> |
||
2023 | <+=?|> text: "",+=?|> |
||
2024 | <+=?|> selection: [1, 1]+=?|> |
||
2025 | <+=?|> };+=?|> |
||
2026 | <+=?|> }+=?|> |
||
2027 | |||
2028 | <+=?|> if (!token)+=?|> |
||
2029 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2030 | |||
2031 | <+=?|> if (!token)+=?|> |
||
2032 | <+=?|> return;+=?|> |
||
2033 | |||
2034 | <+=?|> while (is(token, "tag-whitespace") || is(token, "whitespace")) {+=?|> |
||
2035 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2036 | <+=?|> }+=?|> |
||
2037 | <+=?|> var rightSpace = !rightChar || rightChar.match(/\s/);+=?|> |
||
2038 | <+=?|> if (is(token, "attribute-equals") && (rightSpace || rightChar == '>') || (is(token, "decl-attribute-equals") && (rightSpace || rightChar == '?'))) {+=?|> |
||
2039 | <+=?|> return {+=?|> |
||
2040 | <+=?|> text: quote + quote,+=?|> |
||
2041 | <+=?|> selection: [1, 1]+=?|> |
||
2042 | <+=?|> };+=?|> |
||
2043 | <+=?|> }+=?|> |
||
2044 | <+=?|> }+=?|> |
||
2045 | <+=?|> });+=?|> |
||
2046 | |||
2047 | <+=?|> this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {+=?|> |
||
2048 | <+=?|> var selected = session.doc.getTextRange(range);+=?|> |
||
2049 | <+=?|> if (!range.isMultiLine() && (selected == '"' || selected == "'")) {+=?|> |
||
2050 | <+=?|> var line = session.doc.getLine(range.start.row);+=?|> |
||
2051 | <+=?|> var rightChar = line.substring(range.start.column + 1, range.start.column + 2);+=?|> |
||
2052 | <+=?|> if (rightChar == selected) {+=?|> |
||
2053 | <+=?|> range.end.column++;+=?|> |
||
2054 | <+=?|> return range;+=?|> |
||
2055 | <+=?|> }+=?|> |
||
2056 | <+=?|> }+=?|> |
||
2057 | <+=?|> });+=?|> |
||
2058 | |||
2059 | <+=?|> this.add("autoclosing", "insertion", function (state, action, editor, session, text) {+=?|> |
||
2060 | <+=?|> if (text == '>') {+=?|> |
||
2061 | <+=?|> var position = editor.getSelectionRange().start;+=?|> |
||
2062 | <+=?|> var iterator = new TokenIterator(session, position.row, position.column);+=?|> |
||
2063 | <+=?|> var token = iterator.getCurrentToken() || iterator.stepBackward();+=?|> |
||
2064 | <+=?|> if (!token || !(is(token, "tag-name") || is(token, "tag-whitespace") || is(token, "attribute-name") || is(token, "attribute-equals") || is(token, "attribute-value")))+=?|> |
||
2065 | <+=?|> return;+=?|> |
||
2066 | <+=?|> if (is(token, "reference.attribute-value"))+=?|> |
||
2067 | <+=?|> return;+=?|> |
||
2068 | <+=?|> if (is(token, "attribute-value")) {+=?|> |
||
2069 | <+=?|> var firstChar = token.value.charAt(0);+=?|> |
||
2070 | <+=?|> if (firstChar == '"' || firstChar == "'") {+=?|> |
||
2071 | <+=?|> var lastChar = token.value.charAt(token.value.length - 1);+=?|> |
||
2072 | <+=?|> var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;+=?|> |
||
2073 | <+=?|> if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)+=?|> |
||
2074 | <+=?|> return;+=?|> |
||
2075 | <+=?|> }+=?|> |
||
2076 | <+=?|> }+=?|> |
||
2077 | <+=?|> while (!is(token, "tag-name")) {+=?|> |
||
2078 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2079 | <+=?|> if (token.value == "<") {+=?|> |
||
2080 | <+=?|> token = iterator.stepForward();+=?|> |
||
2081 | <+=?|> break;+=?|> |
||
2082 | <+=?|> }+=?|> |
||
2083 | <+=?|> }+=?|> |
||
2084 | |||
2085 | <+=?|> var tokenRow = iterator.getCurrentTokenRow();+=?|> |
||
2086 | <+=?|> var tokenColumn = iterator.getCurrentTokenColumn();+=?|> |
||
2087 | <+=?|> if (is(iterator.stepBackward(), "end-tag-open"))+=?|> |
||
2088 | <+=?|> return;+=?|> |
||
2089 | |||
2090 | <+=?|> var element = token.value;+=?|> |
||
2091 | <+=?|> if (tokenRow == position.row)+=?|> |
||
2092 | <+=?|> element = element.substring(0, position.column - tokenColumn);+=?|> |
||
2093 | |||
2094 | <+=?|> if (this.voidElements.hasOwnProperty(element.toLowerCase()))+=?|> |
||
2095 | <+=?|> return;+=?|> |
||
2096 | |||
2097 | <+=?|> return {+=?|> |
||
2098 | <+=?|> text: ">" + "</" + element + ">",+=?|> |
||
2099 | <+=?|> selection: [1, 1]+=?|> |
||
2100 | <+=?|> };+=?|> |
||
2101 | <+=?|> }+=?|> |
||
2102 | <+=?|> });+=?|> |
||
2103 | |||
2104 | <+=?|> this.add("autoindent", "insertion", function (state, action, editor, session, text) {+=?|> |
||
2105 | <+=?|> if (text == "\n") {+=?|> |
||
2106 | <+=?|> var cursor = editor.getCursorPosition();+=?|> |
||
2107 | <+=?|> var line = session.getLine(cursor.row);+=?|> |
||
2108 | <+=?|> var iterator = new TokenIterator(session, cursor.row, cursor.column);+=?|> |
||
2109 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
2110 | |||
2111 | <+=?|> if (token && token.type.indexOf("tag-close") !== -1) {+=?|> |
||
2112 | <+=?|> if (token.value == "/>")+=?|> |
||
2113 | <+=?|> return;+=?|> |
||
2114 | <+=?|> while (token && token.type.indexOf("tag-name") === -1) {+=?|> |
||
2115 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2116 | <+=?|> }+=?|> |
||
2117 | |||
2118 | <+=?|> if (!token) {+=?|> |
||
2119 | <+=?|> return;+=?|> |
||
2120 | <+=?|> }+=?|> |
||
2121 | |||
2122 | <+=?|> var tag = token.value;+=?|> |
||
2123 | <+=?|> var row = iterator.getCurrentTokenRow();+=?|> |
||
2124 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2125 | <+=?|> if (!token || token.type.indexOf("end-tag") !== -1) {+=?|> |
||
2126 | <+=?|> return;+=?|> |
||
2127 | <+=?|> }+=?|> |
||
2128 | |||
2129 | <+=?|> if (this.voidElements && !this.voidElements[tag]) {+=?|> |
||
2130 | <+=?|> var nextToken = session.getTokenAt(cursor.row, cursor.column+1);+=?|> |
||
2131 | <+=?|> var line = session.getLine(row);+=?|> |
||
2132 | <+=?|> var nextIndent = this.$getIndent(line);+=?|> |
||
2133 | <+=?|> var indent = nextIndent + session.getTabString();+=?|> |
||
2134 | |||
2135 | <+=?|> if (nextToken && nextToken.value === "</") {+=?|> |
||
2136 | <+=?|> return {+=?|> |
||
2137 | <+=?|> text: "\n" + indent + "\n" + nextIndent,+=?|> |
||
2138 | <+=?|> selection: [1, indent.length, 1, indent.length]+=?|> |
||
2139 | <+=?|> };+=?|> |
||
2140 | <+=?|> } else {+=?|> |
||
2141 | <+=?|> return {+=?|> |
||
2142 | <+=?|> text: "\n" + indent+=?|> |
||
2143 | <+=?|> };+=?|> |
||
2144 | <+=?|> }+=?|> |
||
2145 | <+=?|> }+=?|> |
||
2146 | <+=?|> }+=?|> |
||
2147 | <+=?|> }+=?|> |
||
2148 | <+=?|> });+=?|> |
||
2149 | |||
2150 | <+=?|>};+=?|> |
||
2151 | |||
2152 | <+=?|>oop.inherits(XmlBehaviour, Behaviour);+=?|> |
||
2153 | |||
2154 | <+=?|>exports.XmlBehaviour = XmlBehaviour;+=?|> |
||
2155 | <+=?|>});+=?|> |
||
2156 | |||
2157 | <+=?|>ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"], function(require, exports, module) {+=?|> |
||
2158 | <+=?|>"use strict";+=?|> |
||
2159 | |||
2160 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
2161 | <+=?|>var BaseFoldMode = require("./fold_mode").FoldMode;+=?|> |
||
2162 | |||
2163 | <+=?|>var FoldMode = exports.FoldMode = function(defaultMode, subModes) {+=?|> |
||
2164 | <+=?|> this.defaultMode = defaultMode;+=?|> |
||
2165 | <+=?|> this.subModes = subModes;+=?|> |
||
2166 | <+=?|>};+=?|> |
||
2167 | <+=?|>oop.inherits(FoldMode, BaseFoldMode);+=?|> |
||
2168 | |||
2169 | <+=?|>(function() {+=?|> |
||
2170 | |||
2171 | |||
2172 | <+=?|> this.$getMode = function(state) {+=?|> |
||
2173 | <+=?|> if (typeof state != "string") +=?|> |
||
2174 | <+=?|> state = state[0];+=?|> |
||
2175 | <+=?|> for (var key in this.subModes) {+=?|> |
||
2176 | <+=?|> if (state.indexOf(key) === 0)+=?|> |
||
2177 | <+=?|> return this.subModes[key];+=?|> |
||
2178 | <+=?|> }+=?|> |
||
2179 | <+=?|> return null;+=?|> |
||
2180 | <+=?|> };+=?|> |
||
2181 | |||
2182 | <+=?|> this.$tryMode = function(state, session, foldStyle, row) {+=?|> |
||
2183 | <+=?|> var mode = this.$getMode(state);+=?|> |
||
2184 | <+=?|> return (mode ? mode.getFoldWidget(session, foldStyle, row) : "");+=?|> |
||
2185 | <+=?|> };+=?|> |
||
2186 | |||
2187 | <+=?|> this.getFoldWidget = function(session, foldStyle, row) {+=?|> |
||
2188 | <+=?|> return (+=?|> |
||
2189 | <+=?|> this.$tryMode(session.getState(row-1), session, foldStyle, row) ||+=?|> |
||
2190 | <+=?|> this.$tryMode(session.getState(row), session, foldStyle, row) ||+=?|> |
||
2191 | <+=?|> this.defaultMode.getFoldWidget(session, foldStyle, row)+=?|> |
||
2192 | <+=?|> );+=?|> |
||
2193 | <+=?|> };+=?|> |
||
2194 | |||
2195 | <+=?|> this.getFoldWidgetRange = function(session, foldStyle, row) {+=?|> |
||
2196 | <+=?|> var mode = this.$getMode(session.getState(row-1));+=?|> |
||
2197 | |||
2198 | <+=?|> if (!mode || !mode.getFoldWidget(session, foldStyle, row))+=?|> |
||
2199 | <+=?|> mode = this.$getMode(session.getState(row));+=?|> |
||
2200 | |||
2201 | <+=?|> if (!mode || !mode.getFoldWidget(session, foldStyle, row))+=?|> |
||
2202 | <+=?|> mode = this.defaultMode;+=?|> |
||
2203 | |||
2204 | <+=?|> return mode.getFoldWidgetRange(session, foldStyle, row);+=?|> |
||
2205 | <+=?|> };+=?|> |
||
2206 | |||
2207 | <+=?|>}).call(FoldMode.prototype);+=?|> |
||
2208 | |||
2209 | <+=?|>});+=?|> |
||
2210 | |||
2211 | <+=?|>ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"], function(require, exports, module) {+=?|> |
||
2212 | <+=?|>"use strict";+=?|> |
||
2213 | |||
2214 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
2215 | <+=?|>var lang = require("../../lib/lang");+=?|> |
||
2216 | <+=?|>var Range = require("../../range").Range;+=?|> |
||
2217 | <+=?|>var BaseFoldMode = require("./fold_mode").FoldMode;+=?|> |
||
2218 | <+=?|>var TokenIterator = require("../../token_iterator").TokenIterator;+=?|> |
||
2219 | |||
2220 | <+=?|>var FoldMode = exports.FoldMode = function(voidElements, optionalEndTags) {+=?|> |
||
2221 | <+=?|> BaseFoldMode.call(this);+=?|> |
||
2222 | <+=?|> this.voidElements = voidElements || {};+=?|> |
||
2223 | <+=?|> this.optionalEndTags = oop.mixin({}, this.voidElements);+=?|> |
||
2224 | <+=?|> if (optionalEndTags)+=?|> |
||
2225 | <+=?|> oop.mixin(this.optionalEndTags, optionalEndTags);+=?|> |
||
2226 | |||
2227 | <+=?|>};+=?|> |
||
2228 | <+=?|>oop.inherits(FoldMode, BaseFoldMode);+=?|> |
||
2229 | |||
2230 | <+=?|>var Tag = function() {+=?|> |
||
2231 | <+=?|> this.tagName = "";+=?|> |
||
2232 | <+=?|> this.closing = false;+=?|> |
||
2233 | <+=?|> this.selfClosing = false;+=?|> |
||
2234 | <+=?|> this.start = {row: 0, column: 0};+=?|> |
||
2235 | <+=?|> this.end = {row: 0, column: 0};+=?|> |
||
2236 | <+=?|>};+=?|> |
||
2237 | |||
2238 | <+=?|>function is(token, type) {+=?|> |
||
2239 | <+=?|> return token.type.lastIndexOf(type + ".xml") > -1;+=?|> |
||
2240 | <+=?|>}+=?|> |
||
2241 | |||
2242 | <+=?|>(function() {+=?|> |
||
2243 | |||
2244 | <+=?|> this.getFoldWidget = function(session, foldStyle, row) {+=?|> |
||
2245 | <+=?|> var tag = this._getFirstTagInLine(session, row);+=?|> |
||
2246 | |||
2247 | <+=?|> if (!tag)+=?|> |
||
2248 | <+=?|> return "";+=?|> |
||
2249 | |||
2250 | <+=?|> if (tag.closing || (!tag.tagName && tag.selfClosing))+=?|> |
||
2251 | <+=?|> return foldStyle == "markbeginend" ? "end" : "";+=?|> |
||
2252 | |||
2253 | <+=?|> if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))+=?|> |
||
2254 | <+=?|> return "";+=?|> |
||
2255 | |||
2256 | <+=?|> if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))+=?|> |
||
2257 | <+=?|> return "";+=?|> |
||
2258 | |||
2259 | <+=?|> return "start";+=?|> |
||
2260 | <+=?|> };+=?|> |
||
2261 | <+=?|> this._getFirstTagInLine = function(session, row) {+=?|> |
||
2262 | <+=?|> var tokens = session.getTokens(row);+=?|> |
||
2263 | <+=?|> var tag = new Tag();+=?|> |
||
2264 | |||
2265 | <+=?|> for (var i = 0; i < tokens.length; i++) {+=?|> |
||
2266 | <+=?|> var token = tokens[i];+=?|> |
||
2267 | <+=?|> if (is(token, "tag-open")) {+=?|> |
||
2268 | <+=?|> tag.end.column = tag.start.column + token.value.length;+=?|> |
||
2269 | <+=?|> tag.closing = is(token, "end-tag-open");+=?|> |
||
2270 | <+=?|> token = tokens[++i];+=?|> |
||
2271 | <+=?|> if (!token)+=?|> |
||
2272 | <+=?|> return null;+=?|> |
||
2273 | <+=?|> tag.tagName = token.value;+=?|> |
||
2274 | <+=?|> tag.end.column += token.value.length;+=?|> |
||
2275 | <+=?|> for (i++; i < tokens.length; i++) {+=?|> |
||
2276 | <+=?|> token = tokens[i];+=?|> |
||
2277 | <+=?|> tag.end.column += token.value.length;+=?|> |
||
2278 | <+=?|> if (is(token, "tag-close")) {+=?|> |
||
2279 | <+=?|> tag.selfClosing = token.value == '/>';+=?|> |
||
2280 | <+=?|> break;+=?|> |
||
2281 | <+=?|> }+=?|> |
||
2282 | <+=?|> }+=?|> |
||
2283 | <+=?|> return tag;+=?|> |
||
2284 | <+=?|> } else if (is(token, "tag-close")) {+=?|> |
||
2285 | <+=?|> tag.selfClosing = token.value == '/>';+=?|> |
||
2286 | <+=?|> return tag;+=?|> |
||
2287 | <+=?|> }+=?|> |
||
2288 | <+=?|> tag.start.column += token.value.length;+=?|> |
||
2289 | <+=?|> }+=?|> |
||
2290 | |||
2291 | <+=?|> return null;+=?|> |
||
2292 | <+=?|> };+=?|> |
||
2293 | |||
2294 | <+=?|> this._findEndTagInLine = function(session, row, tagName, startColumn) {+=?|> |
||
2295 | <+=?|> var tokens = session.getTokens(row);+=?|> |
||
2296 | <+=?|> var column = 0;+=?|> |
||
2297 | <+=?|> for (var i = 0; i < tokens.length; i++) {+=?|> |
||
2298 | <+=?|> var token = tokens[i];+=?|> |
||
2299 | <+=?|> column += token.value.length;+=?|> |
||
2300 | <+=?|> if (column < startColumn)+=?|> |
||
2301 | <+=?|> continue;+=?|> |
||
2302 | <+=?|> if (is(token, "end-tag-open")) {+=?|> |
||
2303 | <+=?|> token = tokens[i + 1];+=?|> |
||
2304 | <+=?|> if (token && token.value == tagName)+=?|> |
||
2305 | <+=?|> return true;+=?|> |
||
2306 | <+=?|> }+=?|> |
||
2307 | <+=?|> }+=?|> |
||
2308 | <+=?|> return false;+=?|> |
||
2309 | <+=?|> };+=?|> |
||
2310 | <+=?|> this._readTagForward = function(iterator) {+=?|> |
||
2311 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
2312 | <+=?|> if (!token)+=?|> |
||
2313 | <+=?|> return null;+=?|> |
||
2314 | |||
2315 | <+=?|> var tag = new Tag();+=?|> |
||
2316 | <+=?|> do {+=?|> |
||
2317 | <+=?|> if (is(token, "tag-open")) {+=?|> |
||
2318 | <+=?|> tag.closing = is(token, "end-tag-open");+=?|> |
||
2319 | <+=?|> tag.start.row = iterator.getCurrentTokenRow();+=?|> |
||
2320 | <+=?|> tag.start.column = iterator.getCurrentTokenColumn();+=?|> |
||
2321 | <+=?|> } else if (is(token, "tag-name")) {+=?|> |
||
2322 | <+=?|> tag.tagName = token.value;+=?|> |
||
2323 | <+=?|> } else if (is(token, "tag-close")) {+=?|> |
||
2324 | <+=?|> tag.selfClosing = token.value == "/>";+=?|> |
||
2325 | <+=?|> tag.end.row = iterator.getCurrentTokenRow();+=?|> |
||
2326 | <+=?|> tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;+=?|> |
||
2327 | <+=?|> iterator.stepForward();+=?|> |
||
2328 | <+=?|> return tag;+=?|> |
||
2329 | <+=?|> }+=?|> |
||
2330 | <+=?|> } while(token = iterator.stepForward());+=?|> |
||
2331 | |||
2332 | <+=?|> return null;+=?|> |
||
2333 | <+=?|> };+=?|> |
||
2334 | |||
2335 | <+=?|> this._readTagBackward = function(iterator) {+=?|> |
||
2336 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
2337 | <+=?|> if (!token)+=?|> |
||
2338 | <+=?|> return null;+=?|> |
||
2339 | |||
2340 | <+=?|> var tag = new Tag();+=?|> |
||
2341 | <+=?|> do {+=?|> |
||
2342 | <+=?|> if (is(token, "tag-open")) {+=?|> |
||
2343 | <+=?|> tag.closing = is(token, "end-tag-open");+=?|> |
||
2344 | <+=?|> tag.start.row = iterator.getCurrentTokenRow();+=?|> |
||
2345 | <+=?|> tag.start.column = iterator.getCurrentTokenColumn();+=?|> |
||
2346 | <+=?|> iterator.stepBackward();+=?|> |
||
2347 | <+=?|> return tag;+=?|> |
||
2348 | <+=?|> } else if (is(token, "tag-name")) {+=?|> |
||
2349 | <+=?|> tag.tagName = token.value;+=?|> |
||
2350 | <+=?|> } else if (is(token, "tag-close")) {+=?|> |
||
2351 | <+=?|> tag.selfClosing = token.value == "/>";+=?|> |
||
2352 | <+=?|> tag.end.row = iterator.getCurrentTokenRow();+=?|> |
||
2353 | <+=?|> tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;+=?|> |
||
2354 | <+=?|> }+=?|> |
||
2355 | <+=?|> } while(token = iterator.stepBackward());+=?|> |
||
2356 | |||
2357 | <+=?|> return null;+=?|> |
||
2358 | <+=?|> };+=?|> |
||
2359 | |||
2360 | <+=?|> this._pop = function(stack, tag) {+=?|> |
||
2361 | <+=?|> while (stack.length) {+=?|> |
||
2362 | |||
2363 | <+=?|> var top = stack[stack.length-1];+=?|> |
||
2364 | <+=?|> if (!tag || top.tagName == tag.tagName) {+=?|> |
||
2365 | <+=?|> return stack.pop();+=?|> |
||
2366 | <+=?|> }+=?|> |
||
2367 | <+=?|> else if (this.optionalEndTags.hasOwnProperty(top.tagName)) {+=?|> |
||
2368 | <+=?|> stack.pop();+=?|> |
||
2369 | <+=?|> continue;+=?|> |
||
2370 | <+=?|> } else {+=?|> |
||
2371 | <+=?|> return null;+=?|> |
||
2372 | <+=?|> }+=?|> |
||
2373 | <+=?|> }+=?|> |
||
2374 | <+=?|> };+=?|> |
||
2375 | |||
2376 | <+=?|> this.getFoldWidgetRange = function(session, foldStyle, row) {+=?|> |
||
2377 | <+=?|> var firstTag = this._getFirstTagInLine(session, row);+=?|> |
||
2378 | |||
2379 | <+=?|> if (!firstTag)+=?|> |
||
2380 | <+=?|> return null;+=?|> |
||
2381 | |||
2382 | <+=?|> var isBackward = firstTag.closing || firstTag.selfClosing;+=?|> |
||
2383 | <+=?|> var stack = [];+=?|> |
||
2384 | <+=?|> var tag;+=?|> |
||
2385 | |||
2386 | <+=?|> if (!isBackward) {+=?|> |
||
2387 | <+=?|> var iterator = new TokenIterator(session, row, firstTag.start.column);+=?|> |
||
2388 | <+=?|> var start = {+=?|> |
||
2389 | <+=?|> row: row,+=?|> |
||
2390 | <+=?|> column: firstTag.start.column + firstTag.tagName.length + 2+=?|> |
||
2391 | <+=?|> };+=?|> |
||
2392 | <+=?|> if (firstTag.start.row == firstTag.end.row)+=?|> |
||
2393 | <+=?|> start.column = firstTag.end.column;+=?|> |
||
2394 | <+=?|> while (tag = this._readTagForward(iterator)) {+=?|> |
||
2395 | <+=?|> if (tag.selfClosing) {+=?|> |
||
2396 | <+=?|> if (!stack.length) {+=?|> |
||
2397 | <+=?|> tag.start.column += tag.tagName.length + 2;+=?|> |
||
2398 | <+=?|> tag.end.column -= 2;+=?|> |
||
2399 | <+=?|> return Range.fromPoints(tag.start, tag.end);+=?|> |
||
2400 | <+=?|> } else+=?|> |
||
2401 | <+=?|> continue;+=?|> |
||
2402 | <+=?|> }+=?|> |
||
2403 | |||
2404 | <+=?|> if (tag.closing) {+=?|> |
||
2405 | <+=?|> this._pop(stack, tag);+=?|> |
||
2406 | <+=?|> if (stack.length == 0)+=?|> |
||
2407 | <+=?|> return Range.fromPoints(start, tag.start);+=?|> |
||
2408 | <+=?|> }+=?|> |
||
2409 | <+=?|> else {+=?|> |
||
2410 | <+=?|> stack.push(tag);+=?|> |
||
2411 | <+=?|> }+=?|> |
||
2412 | <+=?|> }+=?|> |
||
2413 | <+=?|> }+=?|> |
||
2414 | <+=?|> else {+=?|> |
||
2415 | <+=?|> var iterator = new TokenIterator(session, row, firstTag.end.column);+=?|> |
||
2416 | <+=?|> var end = {+=?|> |
||
2417 | <+=?|> row: row,+=?|> |
||
2418 | <+=?|> column: firstTag.start.column+=?|> |
||
2419 | <+=?|> };+=?|> |
||
2420 | |||
2421 | <+=?|> while (tag = this._readTagBackward(iterator)) {+=?|> |
||
2422 | <+=?|> if (tag.selfClosing) {+=?|> |
||
2423 | <+=?|> if (!stack.length) {+=?|> |
||
2424 | <+=?|> tag.start.column += tag.tagName.length + 2;+=?|> |
||
2425 | <+=?|> tag.end.column -= 2;+=?|> |
||
2426 | <+=?|> return Range.fromPoints(tag.start, tag.end);+=?|> |
||
2427 | <+=?|> } else+=?|> |
||
2428 | <+=?|> continue;+=?|> |
||
2429 | <+=?|> }+=?|> |
||
2430 | |||
2431 | <+=?|> if (!tag.closing) {+=?|> |
||
2432 | <+=?|> this._pop(stack, tag);+=?|> |
||
2433 | <+=?|> if (stack.length == 0) {+=?|> |
||
2434 | <+=?|> tag.start.column += tag.tagName.length + 2;+=?|> |
||
2435 | <+=?|> if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)+=?|> |
||
2436 | <+=?|> tag.start.column = tag.end.column;+=?|> |
||
2437 | <+=?|> return Range.fromPoints(tag.start, end);+=?|> |
||
2438 | <+=?|> }+=?|> |
||
2439 | <+=?|> }+=?|> |
||
2440 | <+=?|> else {+=?|> |
||
2441 | <+=?|> stack.push(tag);+=?|> |
||
2442 | <+=?|> }+=?|> |
||
2443 | <+=?|> }+=?|> |
||
2444 | <+=?|> }+=?|> |
||
2445 | |||
2446 | <+=?|> };+=?|> |
||
2447 | |||
2448 | <+=?|>}).call(FoldMode.prototype);+=?|> |
||
2449 | |||
2450 | <+=?|>});+=?|> |
||
2451 | |||
2452 | <+=?|>ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"], function(require, exports, module) {+=?|> |
||
2453 | <+=?|>"use strict";+=?|> |
||
2454 | |||
2455 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
2456 | <+=?|>var MixedFoldMode = require("./mixed").FoldMode;+=?|> |
||
2457 | <+=?|>var XmlFoldMode = require("./xml").FoldMode;+=?|> |
||
2458 | <+=?|>var CStyleFoldMode = require("./cstyle").FoldMode;+=?|> |
||
2459 | |||
2460 | <+=?|>var FoldMode = exports.FoldMode = function(voidElements, optionalTags) {+=?|> |
||
2461 | <+=?|> MixedFoldMode.call(this, new XmlFoldMode(voidElements, optionalTags), {+=?|> |
||
2462 | <+=?|> "js-": new CStyleFoldMode(),+=?|> |
||
2463 | <+=?|> "css-": new CStyleFoldMode()+=?|> |
||
2464 | <+=?|> });+=?|> |
||
2465 | <+=?|>};+=?|> |
||
2466 | |||
2467 | <+=?|>oop.inherits(FoldMode, MixedFoldMode);+=?|> |
||
2468 | |||
2469 | <+=?|>});+=?|> |
||
2470 | |||
2471 | <+=?|>ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"], function(require, exports, module) {+=?|> |
||
2472 | <+=?|>"use strict";+=?|> |
||
2473 | |||
2474 | <+=?|>var TokenIterator = require("../token_iterator").TokenIterator;+=?|> |
||
2475 | |||
2476 | <+=?|>var commonAttributes = [+=?|> |
||
2477 | <+=?|> "accesskey",+=?|> |
||
2478 | <+=?|> "class",+=?|> |
||
2479 | <+=?|> "contenteditable",+=?|> |
||
2480 | <+=?|> "contextmenu",+=?|> |
||
2481 | <+=?|> "dir",+=?|> |
||
2482 | <+=?|> "draggable",+=?|> |
||
2483 | <+=?|> "dropzone",+=?|> |
||
2484 | <+=?|> "hidden",+=?|> |
||
2485 | <+=?|> "id",+=?|> |
||
2486 | <+=?|> "inert",+=?|> |
||
2487 | <+=?|> "itemid",+=?|> |
||
2488 | <+=?|> "itemprop",+=?|> |
||
2489 | <+=?|> "itemref",+=?|> |
||
2490 | <+=?|> "itemscope",+=?|> |
||
2491 | <+=?|> "itemtype",+=?|> |
||
2492 | <+=?|> "lang",+=?|> |
||
2493 | <+=?|> "spellcheck",+=?|> |
||
2494 | <+=?|> "style",+=?|> |
||
2495 | <+=?|> "tabindex",+=?|> |
||
2496 | <+=?|> "title",+=?|> |
||
2497 | <+=?|> "translate"+=?|> |
||
2498 | <+=?|>];+=?|> |
||
2499 | |||
2500 | <+=?|>var eventAttributes = [+=?|> |
||
2501 | <+=?|> "onabort",+=?|> |
||
2502 | <+=?|> "onblur",+=?|> |
||
2503 | <+=?|> "oncancel",+=?|> |
||
2504 | <+=?|> "oncanplay",+=?|> |
||
2505 | <+=?|> "oncanplaythrough",+=?|> |
||
2506 | <+=?|> "onchange",+=?|> |
||
2507 | <+=?|> "onclick",+=?|> |
||
2508 | <+=?|> "onclose",+=?|> |
||
2509 | <+=?|> "oncontextmenu",+=?|> |
||
2510 | <+=?|> "oncuechange",+=?|> |
||
2511 | <+=?|> "ondblclick",+=?|> |
||
2512 | <+=?|> "ondrag",+=?|> |
||
2513 | <+=?|> "ondragend",+=?|> |
||
2514 | <+=?|> "ondragenter",+=?|> |
||
2515 | <+=?|> "ondragleave",+=?|> |
||
2516 | <+=?|> "ondragover",+=?|> |
||
2517 | <+=?|> "ondragstart",+=?|> |
||
2518 | <+=?|> "ondrop",+=?|> |
||
2519 | <+=?|> "ondurationchange",+=?|> |
||
2520 | <+=?|> "onemptied",+=?|> |
||
2521 | <+=?|> "onended",+=?|> |
||
2522 | <+=?|> "onerror",+=?|> |
||
2523 | <+=?|> "onfocus",+=?|> |
||
2524 | <+=?|> "oninput",+=?|> |
||
2525 | <+=?|> "oninvalid",+=?|> |
||
2526 | <+=?|> "onkeydown",+=?|> |
||
2527 | <+=?|> "onkeypress",+=?|> |
||
2528 | <+=?|> "onkeyup",+=?|> |
||
2529 | <+=?|> "onload",+=?|> |
||
2530 | <+=?|> "onloadeddata",+=?|> |
||
2531 | <+=?|> "onloadedmetadata",+=?|> |
||
2532 | <+=?|> "onloadstart",+=?|> |
||
2533 | <+=?|> "onmousedown",+=?|> |
||
2534 | <+=?|> "onmousemove",+=?|> |
||
2535 | <+=?|> "onmouseout",+=?|> |
||
2536 | <+=?|> "onmouseover",+=?|> |
||
2537 | <+=?|> "onmouseup",+=?|> |
||
2538 | <+=?|> "onmousewheel",+=?|> |
||
2539 | <+=?|> "onpause",+=?|> |
||
2540 | <+=?|> "onplay",+=?|> |
||
2541 | <+=?|> "onplaying",+=?|> |
||
2542 | <+=?|> "onprogress",+=?|> |
||
2543 | <+=?|> "onratechange",+=?|> |
||
2544 | <+=?|> "onreset",+=?|> |
||
2545 | <+=?|> "onscroll",+=?|> |
||
2546 | <+=?|> "onseeked",+=?|> |
||
2547 | <+=?|> "onseeking",+=?|> |
||
2548 | <+=?|> "onselect",+=?|> |
||
2549 | <+=?|> "onshow",+=?|> |
||
2550 | <+=?|> "onstalled",+=?|> |
||
2551 | <+=?|> "onsubmit",+=?|> |
||
2552 | <+=?|> "onsuspend",+=?|> |
||
2553 | <+=?|> "ontimeupdate",+=?|> |
||
2554 | <+=?|> "onvolumechange",+=?|> |
||
2555 | <+=?|> "onwaiting"+=?|> |
||
2556 | <+=?|>];+=?|> |
||
2557 | |||
2558 | <+=?|>var globalAttributes = commonAttributes.concat(eventAttributes);+=?|> |
||
2559 | |||
2560 | <+=?|>var attributeMap = {+=?|> |
||
2561 | <+=?|> "html": {"manifest": 1},+=?|> |
||
2562 | <+=?|> "head": {},+=?|> |
||
2563 | <+=?|> "title": {},+=?|> |
||
2564 | <+=?|> "base": {"href": 1, "target": 1},+=?|> |
||
2565 | <+=?|> "link": {"href": 1, "hreflang": 1, "rel": {"stylesheet": 1, "icon": 1}, "media": {"all": 1, "screen": 1, "print": 1}, "type": {"text/css": 1, "image/png": 1, "image/jpeg": 1, "image/gif": 1}, "sizes": 1},+=?|> |
||
2566 | <+=?|> "meta": {"http-equiv": {"content-type": 1}, "name": {"description": 1, "keywords": 1}, "content": {"text/html; charset=UTF-8": 1}, "charset": 1},+=?|> |
||
2567 | <+=?|> "style": {"type": 1, "media": {"all": 1, "screen": 1, "print": 1}, "scoped": 1},+=?|> |
||
2568 | <+=?|> "script": {"charset": 1, "type": {"text/javascript": 1}, "src": 1, "defer": 1, "async": 1},+=?|> |
||
2569 | <+=?|> "noscript": {"href": 1},+=?|> |
||
2570 | <+=?|> "body": {"onafterprint": 1, "onbeforeprint": 1, "onbeforeunload": 1, "onhashchange": 1, "onmessage": 1, "onoffline": 1, "onpopstate": 1, "onredo": 1, "onresize": 1, "onstorage": 1, "onundo": 1, "onunload": 1},+=?|> |
||
2571 | <+=?|> "section": {},+=?|> |
||
2572 | <+=?|> "nav": {},+=?|> |
||
2573 | <+=?|> "article": {"pubdate": 1},+=?|> |
||
2574 | <+=?|> "aside": {},+=?|> |
||
2575 | <+=?|> "h1": {},+=?|> |
||
2576 | <+=?|> "h2": {},+=?|> |
||
2577 | <+=?|> "h3": {},+=?|> |
||
2578 | <+=?|> "h4": {},+=?|> |
||
2579 | <+=?|> "h5": {},+=?|> |
||
2580 | <+=?|> "h6": {},+=?|> |
||
2581 | <+=?|> "header": {},+=?|> |
||
2582 | <+=?|> "footer": {},+=?|> |
||
2583 | <+=?|> "address": {},+=?|> |
||
2584 | <+=?|> "main": {},+=?|> |
||
2585 | <+=?|> "p": {},+=?|> |
||
2586 | <+=?|> "hr": {},+=?|> |
||
2587 | <+=?|> "pre": {},+=?|> |
||
2588 | <+=?|> "blockquote": {"cite": 1},+=?|> |
||
2589 | <+=?|> "ol": {"start": 1, "reversed": 1},+=?|> |
||
2590 | <+=?|> "ul": {},+=?|> |
||
2591 | <+=?|> "li": {"value": 1},+=?|> |
||
2592 | <+=?|> "dl": {},+=?|> |
||
2593 | <+=?|> "dt": {},+=?|> |
||
2594 | <+=?|> "dd": {},+=?|> |
||
2595 | <+=?|> "figure": {},+=?|> |
||
2596 | <+=?|> "figcaption": {},+=?|> |
||
2597 | <+=?|> "div": {},+=?|> |
||
2598 | <+=?|> "a": {"href": 1, "target": {"_blank": 1, "top": 1}, "ping": 1, "rel": {"nofollow": 1, "alternate": 1, "author": 1, "bookmark": 1, "help": 1, "license": 1, "next": 1, "noreferrer": 1, "prefetch": 1, "prev": 1, "search": 1, "tag": 1}, "media": 1, "hreflang": 1, "type": 1},+=?|> |
||
2599 | <+=?|> "em": {},+=?|> |
||
2600 | <+=?|> "strong": {},+=?|> |
||
2601 | <+=?|> "small": {},+=?|> |
||
2602 | <+=?|> "s": {},+=?|> |
||
2603 | <+=?|> "cite": {},+=?|> |
||
2604 | <+=?|> "q": {"cite": 1},+=?|> |
||
2605 | <+=?|> "dfn": {},+=?|> |
||
2606 | <+=?|> "abbr": {},+=?|> |
||
2607 | <+=?|> "data": {},+=?|> |
||
2608 | <+=?|> "time": {"datetime": 1},+=?|> |
||
2609 | <+=?|> "code": {},+=?|> |
||
2610 | <+=?|> "var": {},+=?|> |
||
2611 | <+=?|> "samp": {},+=?|> |
||
2612 | <+=?|> "kbd": {},+=?|> |
||
2613 | <+=?|> "sub": {},+=?|> |
||
2614 | <+=?|> "sup": {},+=?|> |
||
2615 | <+=?|> "i": {},+=?|> |
||
2616 | <+=?|> "b": {},+=?|> |
||
2617 | <+=?|> "u": {},+=?|> |
||
2618 | <+=?|> "mark": {},+=?|> |
||
2619 | <+=?|> "ruby": {},+=?|> |
||
2620 | <+=?|> "rt": {},+=?|> |
||
2621 | <+=?|> "rp": {},+=?|> |
||
2622 | <+=?|> "bdi": {},+=?|> |
||
2623 | <+=?|> "bdo": {},+=?|> |
||
2624 | <+=?|> "span": {},+=?|> |
||
2625 | <+=?|> "br": {},+=?|> |
||
2626 | <+=?|> "wbr": {},+=?|> |
||
2627 | <+=?|> "ins": {"cite": 1, "datetime": 1},+=?|> |
||
2628 | <+=?|> "del": {"cite": 1, "datetime": 1},+=?|> |
||
2629 | <+=?|> "img": {"alt": 1, "src": 1, "height": 1, "width": 1, "usemap": 1, "ismap": 1},+=?|> |
||
2630 | <+=?|> "iframe": {"name": 1, "src": 1, "height": 1, "width": 1, "sandbox": {"allow-same-origin": 1, "allow-top-navigation": 1, "allow-forms": 1, "allow-scripts": 1}, "seamless": {"seamless": 1}},+=?|> |
||
2631 | <+=?|> "embed": {"src": 1, "height": 1, "width": 1, "type": 1},+=?|> |
||
2632 | <+=?|> "object": {"param": 1, "data": 1, "type": 1, "height" : 1, "width": 1, "usemap": 1, "name": 1, "form": 1, "classid": 1},+=?|> |
||
2633 | <+=?|> "param": {"name": 1, "value": 1},+=?|> |
||
2634 | <+=?|> "video": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "width": 1, "height": 1, "poster": 1, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1}},+=?|> |
||
2635 | <+=?|> "audio": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1 }},+=?|> |
||
2636 | <+=?|> "source": {"src": 1, "type": 1, "media": 1},+=?|> |
||
2637 | <+=?|> "track": {"kind": 1, "src": 1, "srclang": 1, "label": 1, "default": 1},+=?|> |
||
2638 | <+=?|> "canvas": {"width": 1, "height": 1},+=?|> |
||
2639 | <+=?|> "map": {"name": 1},+=?|> |
||
2640 | <+=?|> "area": {"shape": 1, "coords": 1, "href": 1, "hreflang": 1, "alt": 1, "target": 1, "media": 1, "rel": 1, "ping": 1, "type": 1},+=?|> |
||
2641 | <+=?|> "svg": {},+=?|> |
||
2642 | <+=?|> "math": {},+=?|> |
||
2643 | <+=?|> "table": {"summary": 1},+=?|> |
||
2644 | <+=?|> "caption": {},+=?|> |
||
2645 | <+=?|> "colgroup": {"span": 1},+=?|> |
||
2646 | <+=?|> "col": {"span": 1},+=?|> |
||
2647 | <+=?|> "tbody": {},+=?|> |
||
2648 | <+=?|> "thead": {},+=?|> |
||
2649 | <+=?|> "tfoot": {},+=?|> |
||
2650 | <+=?|> "tr": {},+=?|> |
||
2651 | <+=?|> "td": {"headers": 1, "rowspan": 1, "colspan": 1},+=?|> |
||
2652 | <+=?|> "th": {"headers": 1, "rowspan": 1, "colspan": 1, "scope": 1},+=?|> |
||
2653 | <+=?|> "form": {"accept-charset": 1, "action": 1, "autocomplete": 1, "enctype": {"multipart/form-data": 1, "application/x-www-form-urlencoded": 1}, "method": {"get": 1, "post": 1}, "name": 1, "novalidate": 1, "target": {"_blank": 1, "top": 1}},+=?|> |
||
2654 | <+=?|> "fieldset": {"disabled": 1, "form": 1, "name": 1},+=?|> |
||
2655 | <+=?|> "legend": {},+=?|> |
||
2656 | <+=?|> "label": {"form": 1, "for": 1},+=?|> |
||
2657 | <+=?|> "input": {+=?|> |
||
2658 | <+=?|> "type": {"text": 1, "password": 1, "hidden": 1, "checkbox": 1, "submit": 1, "radio": 1, "file": 1, "button": 1, "reset": 1, "image": 31, "color": 1, "date": 1, "datetime": 1, "datetime-local": 1, "email": 1, "month": 1, "number": 1, "range": 1, "search": 1, "tel": 1, "time": 1, "url": 1, "week": 1},+=?|> |
||
2659 | <+=?|> "accept": 1, "alt": 1, "autocomplete": {"on": 1, "off": 1}, "autofocus": {"autofocus": 1}, "checked": {"checked": 1}, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": {"application/x-www-form-urlencoded": 1, "multipart/form-data": 1, "text/plain": 1}, "formmethod": {"get": 1, "post": 1}, "formnovalidate": {"formnovalidate": 1}, "formtarget": {"_blank": 1, "_self": 1, "_parent": 1, "_top": 1}, "height": 1, "list": 1, "max": 1, "maxlength": 1, "min": 1, "multiple": {"multiple": 1}, "name": 1, "pattern": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "size": 1, "src": 1, "step": 1, "width": 1, "files": 1, "value": 1},+=?|> |
||
2660 | <+=?|> "button": {"autofocus": 1, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": 1, "formmethod": 1, "formnovalidate": 1, "formtarget": 1, "name": 1, "value": 1, "type": {"button": 1, "submit": 1}},+=?|> |
||
2661 | <+=?|> "select": {"autofocus": 1, "disabled": 1, "form": 1, "multiple": {"multiple": 1}, "name": 1, "size": 1, "readonly":{"readonly": 1}},+=?|> |
||
2662 | <+=?|> "datalist": {},+=?|> |
||
2663 | <+=?|> "optgroup": {"disabled": 1, "label": 1},+=?|> |
||
2664 | <+=?|> "option": {"disabled": 1, "selected": 1, "label": 1, "value": 1},+=?|> |
||
2665 | <+=?|> "textarea": {"autofocus": {"autofocus": 1}, "disabled": {"disabled": 1}, "form": 1, "maxlength": 1, "name": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "rows": 1, "cols": 1, "wrap": {"on": 1, "off": 1, "hard": 1, "soft": 1}},+=?|> |
||
2666 | <+=?|> "keygen": {"autofocus": 1, "challenge": {"challenge": 1}, "disabled": {"disabled": 1}, "form": 1, "keytype": {"rsa": 1, "dsa": 1, "ec": 1}, "name": 1},+=?|> |
||
2667 | <+=?|> "output": {"for": 1, "form": 1, "name": 1},+=?|> |
||
2668 | <+=?|> "progress": {"value": 1, "max": 1},+=?|> |
||
2669 | <+=?|> "meter": {"value": 1, "min": 1, "max": 1, "low": 1, "high": 1, "optimum": 1},+=?|> |
||
2670 | <+=?|> "details": {"open": 1},+=?|> |
||
2671 | <+=?|> "summary": {},+=?|> |
||
2672 | <+=?|> "command": {"type": 1, "label": 1, "icon": 1, "disabled": 1, "checked": 1, "radiogroup": 1, "command": 1},+=?|> |
||
2673 | <+=?|> "menu": {"type": 1, "label": 1},+=?|> |
||
2674 | <+=?|> "dialog": {"open": 1}+=?|> |
||
2675 | <+=?|>};+=?|> |
||
2676 | |||
2677 | <+=?|>var elements = Object.keys(attributeMap);+=?|> |
||
2678 | |||
2679 | <+=?|>function is(token, type) {+=?|> |
||
2680 | <+=?|> return token.type.lastIndexOf(type + ".xml") > -1;+=?|> |
||
2681 | <+=?|>}+=?|> |
||
2682 | |||
2683 | <+=?|>function findTagName(session, pos) {+=?|> |
||
2684 | <+=?|> var iterator = new TokenIterator(session, pos.row, pos.column);+=?|> |
||
2685 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
2686 | <+=?|> while (token && !is(token, "tag-name")){+=?|> |
||
2687 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2688 | <+=?|> }+=?|> |
||
2689 | <+=?|> if (token)+=?|> |
||
2690 | <+=?|> return token.value;+=?|> |
||
2691 | <+=?|>}+=?|> |
||
2692 | |||
2693 | <+=?|>function findAttributeName(session, pos) {+=?|> |
||
2694 | <+=?|> var iterator = new TokenIterator(session, pos.row, pos.column);+=?|> |
||
2695 | <+=?|> var token = iterator.getCurrentToken();+=?|> |
||
2696 | <+=?|> while (token && !is(token, "attribute-name")){+=?|> |
||
2697 | <+=?|> token = iterator.stepBackward();+=?|> |
||
2698 | <+=?|> }+=?|> |
||
2699 | <+=?|> if (token)+=?|> |
||
2700 | <+=?|> return token.value;+=?|> |
||
2701 | <+=?|>}+=?|> |
||
2702 | |||
2703 | <+=?|>var HtmlCompletions = function() {+=?|> |
||
2704 | |||
2705 | <+=?|>};+=?|> |
||
2706 | |||
2707 | <+=?|>(function() {+=?|> |
||
2708 | |||
2709 | <+=?|> this.getCompletions = function(state, session, pos, prefix) {+=?|> |
||
2710 | <+=?|> var token = session.getTokenAt(pos.row, pos.column);+=?|> |
||
2711 | |||
2712 | <+=?|> if (!token)+=?|> |
||
2713 | <+=?|> return [];+=?|> |
||
2714 | <+=?|> if (is(token, "tag-name") || is(token, "tag-open") || is(token, "end-tag-open"))+=?|> |
||
2715 | <+=?|> return this.getTagCompletions(state, session, pos, prefix);+=?|> |
||
2716 | <+=?|> if (is(token, "tag-whitespace") || is(token, "attribute-name"))+=?|> |
||
2717 | <+=?|> return this.getAttributeCompletions(state, session, pos, prefix);+=?|> |
||
2718 | <+=?|> if (is(token, "attribute-value"))+=?|> |
||
2719 | <+=?|> return this.getAttributeValueCompletions(state, session, pos, prefix);+=?|> |
||
2720 | <+=?|> var line = session.getLine(pos.row).substr(0, pos.column);+=?|> |
||
2721 | <+=?|> if (/&[a-z]*$/i.test(line))+=?|> |
||
2722 | <+=?|> return this.getHTMLEntityCompletions(state, session, pos, prefix);+=?|> |
||
2723 | |||
2724 | <+=?|> return [];+=?|> |
||
2725 | <+=?|> };+=?|> |
||
2726 | |||
2727 | <+=?|> this.getTagCompletions = function(state, session, pos, prefix) {+=?|> |
||
2728 | <+=?|> return elements.map(function(element){+=?|> |
||
2729 | <+=?|> return {+=?|> |
||
2730 | <+=?|> value: element,+=?|> |
||
2731 | <+=?|> meta: "tag",+=?|> |
||
2732 | <+=?|> score: Number.MAX_VALUE+=?|> |
||
2733 | <+=?|> };+=?|> |
||
2734 | <+=?|> });+=?|> |
||
2735 | <+=?|> };+=?|> |
||
2736 | |||
2737 | <+=?|> this.getAttributeCompletions = function(state, session, pos, prefix) {+=?|> |
||
2738 | <+=?|> var tagName = findTagName(session, pos);+=?|> |
||
2739 | <+=?|> if (!tagName)+=?|> |
||
2740 | <+=?|> return [];+=?|> |
||
2741 | <+=?|> var attributes = globalAttributes;+=?|> |
||
2742 | <+=?|> if (tagName in attributeMap) {+=?|> |
||
2743 | <+=?|> attributes = attributes.concat(Object.keys(attributeMap[tagName]));+=?|> |
||
2744 | <+=?|> }+=?|> |
||
2745 | <+=?|> return attributes.map(function(attribute){+=?|> |
||
2746 | <+=?|> return {+=?|> |
||
2747 | <+=?|> caption: attribute,+=?|> |
||
2748 | <+=?|> snippet: attribute + '="$0"',+=?|> |
||
2749 | <+=?|> meta: "attribute",+=?|> |
||
2750 | <+=?|> score: Number.MAX_VALUE+=?|> |
||
2751 | <+=?|> };+=?|> |
||
2752 | <+=?|> });+=?|> |
||
2753 | <+=?|> };+=?|> |
||
2754 | |||
2755 | <+=?|> this.getAttributeValueCompletions = function(state, session, pos, prefix) {+=?|> |
||
2756 | <+=?|> var tagName = findTagName(session, pos);+=?|> |
||
2757 | <+=?|> var attributeName = findAttributeName(session, pos);+=?|> |
||
2758 | |||
2759 | <+=?|> if (!tagName)+=?|> |
||
2760 | <+=?|> return [];+=?|> |
||
2761 | <+=?|> var values = [];+=?|> |
||
2762 | <+=?|> if (tagName in attributeMap && attributeName in attributeMap[tagName] && typeof attributeMap[tagName][attributeName] === "object") {+=?|> |
||
2763 | <+=?|> values = Object.keys(attributeMap[tagName][attributeName]);+=?|> |
||
2764 | <+=?|> }+=?|> |
||
2765 | <+=?|> return values.map(function(value){+=?|> |
||
2766 | <+=?|> return {+=?|> |
||
2767 | <+=?|> caption: value,+=?|> |
||
2768 | <+=?|> snippet: value,+=?|> |
||
2769 | <+=?|> meta: "attribute value",+=?|> |
||
2770 | <+=?|> score: Number.MAX_VALUE+=?|> |
||
2771 | <+=?|> };+=?|> |
||
2772 | <+=?|> });+=?|> |
||
2773 | <+=?|> };+=?|> |
||
2774 | |||
2775 | <+=?|> this.getHTMLEntityCompletions = function(state, session, pos, prefix) {+=?|> |
||
2776 | <+=?|> var values = ['Aacute;', 'aacute;', 'Acirc;', 'acirc;', 'acute;', 'AElig;', 'aelig;', 'Agrave;', 'agrave;', 'alefsym;', 'Alpha;', 'alpha;', 'amp;', 'and;', 'ang;', 'Aring;', 'aring;', 'asymp;', 'Atilde;', 'atilde;', 'Auml;', 'auml;', 'bdquo;', 'Beta;', 'beta;', 'brvbar;', 'bull;', 'cap;', 'Ccedil;', 'ccedil;', 'cedil;', 'cent;', 'Chi;', 'chi;', 'circ;', 'clubs;', 'cong;', 'copy;', 'crarr;', 'cup;', 'curren;', 'Dagger;', 'dagger;', 'dArr;', 'darr;', 'deg;', 'Delta;', 'delta;', 'diams;', 'divide;', 'Eacute;', 'eacute;', 'Ecirc;', 'ecirc;', 'Egrave;', 'egrave;', 'empty;', 'emsp;', 'ensp;', 'Epsilon;', 'epsilon;', 'equiv;', 'Eta;', 'eta;', 'ETH;', 'eth;', 'Euml;', 'euml;', 'euro;', 'exist;', 'fnof;', 'forall;', 'frac12;', 'frac14;', 'frac34;', 'frasl;', 'Gamma;', 'gamma;', 'ge;', 'gt;', 'hArr;', 'harr;', 'hearts;', 'hellip;', 'Iacute;', 'iacute;', 'Icirc;', 'icirc;', 'iexcl;', 'Igrave;', 'igrave;', 'image;', 'infin;', 'int;', 'Iota;', 'iota;', 'iquest;', 'isin;', 'Iuml;', 'iuml;', 'Kappa;', 'kappa;', 'Lambda;', 'lambda;', 'lang;', 'laquo;', 'lArr;', 'larr;', 'lceil;', 'ldquo;', 'le;', 'lfloor;', 'lowast;', 'loz;', 'lrm;', 'lsaquo;', 'lsquo;', 'lt;', 'macr;', 'mdash;', 'micro;', 'middot;', 'minus;', 'Mu;', 'mu;', 'nabla;', 'nbsp;', 'ndash;', 'ne;', 'ni;', 'not;', 'notin;', 'nsub;', 'Ntilde;', 'ntilde;', 'Nu;', 'nu;', 'Oacute;', 'oacute;', 'Ocirc;', 'ocirc;', 'OElig;', 'oelig;', 'Ograve;', 'ograve;', 'oline;', 'Omega;', 'omega;', 'Omicron;', 'omicron;', 'oplus;', 'or;', 'ordf;', 'ordm;', 'Oslash;', 'oslash;', 'Otilde;', 'otilde;', 'otimes;', 'Ouml;', 'ouml;', 'para;', 'part;', 'permil;', 'perp;', 'Phi;', 'phi;', 'Pi;', 'pi;', 'piv;', 'plusmn;', 'pound;', 'Prime;', 'prime;', 'prod;', 'prop;', 'Psi;', 'psi;', 'quot;', 'radic;', 'rang;', 'raquo;', 'rArr;', 'rarr;', 'rceil;', 'rdquo;', 'real;', 'reg;', 'rfloor;', 'Rho;', 'rho;', 'rlm;', 'rsaquo;', 'rsquo;', 'sbquo;', 'Scaron;', 'scaron;', 'sdot;', 'sect;', 'shy;', 'Sigma;', 'sigma;', 'sigmaf;', 'sim;', 'spades;', 'sub;', 'sube;', 'sum;', 'sup;', 'sup1;', 'sup2;', 'sup3;', 'supe;', 'szlig;', 'Tau;', 'tau;', 'there4;', 'Theta;', 'theta;', 'thetasym;', 'thinsp;', 'THORN;', 'thorn;', 'tilde;', 'times;', 'trade;', 'Uacute;', 'uacute;', 'uArr;', 'uarr;', 'Ucirc;', 'ucirc;', 'Ugrave;', 'ugrave;', 'uml;', 'upsih;', 'Upsilon;', 'upsilon;', 'Uuml;', 'uuml;', 'weierp;', 'Xi;', 'xi;', 'Yacute;', 'yacute;', 'yen;', 'Yuml;', 'yuml;', 'Zeta;', 'zeta;', 'zwj;', 'zwnj;'];+=?|> |
||
2777 | |||
2778 | <+=?|> return values.map(function(value){+=?|> |
||
2779 | <+=?|> return {+=?|> |
||
2780 | <+=?|> caption: value,+=?|> |
||
2781 | <+=?|> snippet: value,+=?|> |
||
2782 | <+=?|> meta: "html entity",+=?|> |
||
2783 | <+=?|> score: Number.MAX_VALUE+=?|> |
||
2784 | <+=?|> };+=?|> |
||
2785 | <+=?|> });+=?|> |
||
2786 | <+=?|> };+=?|> |
||
2787 | |||
2788 | <+=?|>}).call(HtmlCompletions.prototype);+=?|> |
||
2789 | |||
2790 | <+=?|>exports.HtmlCompletions = HtmlCompletions;+=?|> |
||
2791 | <+=?|>});+=?|> |
||
2792 | |||
2793 | <+=?|>ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"], function(require, exports, module) {+=?|> |
||
2794 | <+=?|>"use strict";+=?|> |
||
2795 | |||
2796 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
2797 | <+=?|>var lang = require("../lib/lang");+=?|> |
||
2798 | <+=?|>var TextMode = require("./text").Mode;+=?|> |
||
2799 | <+=?|>var JavaScriptMode = require("./javascript").Mode;+=?|> |
||
2800 | <+=?|>var CssMode = require("./css").Mode;+=?|> |
||
2801 | <+=?|>var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;+=?|> |
||
2802 | <+=?|>var XmlBehaviour = require("./behaviour/xml").XmlBehaviour;+=?|> |
||
2803 | <+=?|>var HtmlFoldMode = require("./folding/html").FoldMode;+=?|> |
||
2804 | <+=?|>var HtmlCompletions = require("./html_completions").HtmlCompletions;+=?|> |
||
2805 | <+=?|>var WorkerClient = require("../worker/worker_client").WorkerClient;+=?|> |
||
2806 | <+=?|>var voidElements = ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "menuitem", "param", "source", "track", "wbr"];+=?|> |
||
2807 | <+=?|>var optionalEndTags = ["li", "dt", "dd", "p", "rt", "rp", "optgroup", "option", "colgroup", "td", "th"];+=?|> |
||
2808 | |||
2809 | <+=?|>var Mode = function(options) {+=?|> |
||
2810 | <+=?|> this.fragmentContext = options && options.fragmentContext;+=?|> |
||
2811 | <+=?|> this.HighlightRules = HtmlHighlightRules;+=?|> |
||
2812 | <+=?|> this.$behaviour = new XmlBehaviour();+=?|> |
||
2813 | <+=?|> this.$completer = new HtmlCompletions();+=?|> |
||
2814 | |||
2815 | <+=?|> this.createModeDelegates({+=?|> |
||
2816 | <+=?|> "js-": JavaScriptMode,+=?|> |
||
2817 | <+=?|> "css-": CssMode+=?|> |
||
2818 | <+=?|> });+=?|> |
||
2819 | |||
2820 | <+=?|> this.foldingRules = new HtmlFoldMode(this.voidElements, lang.arrayToMap(optionalEndTags));+=?|> |
||
2821 | <+=?|>};+=?|> |
||
2822 | <+=?|>oop.inherits(Mode, TextMode);+=?|> |
||
2823 | |||
2824 | <+=?|>(function() {+=?|> |
||
2825 | |||
2826 | <+=?|> this.blockComment = {start: "<!--", end: "-->"};+=?|> |
||
2827 | |||
2828 | <+=?|> this.voidElements = lang.arrayToMap(voidElements);+=?|> |
||
2829 | |||
2830 | <+=?|> this.getNextLineIndent = function(state, line, tab) {+=?|> |
||
2831 | <+=?|> return this.$getIndent(line);+=?|> |
||
2832 | <+=?|> };+=?|> |
||
2833 | |||
2834 | <+=?|> this.checkOutdent = function(state, line, input) {+=?|> |
||
2835 | <+=?|> return false;+=?|> |
||
2836 | <+=?|> };+=?|> |
||
2837 | |||
2838 | <+=?|> this.getCompletions = function(state, session, pos, prefix) {+=?|> |
||
2839 | <+=?|> return this.$completer.getCompletions(state, session, pos, prefix);+=?|> |
||
2840 | <+=?|> };+=?|> |
||
2841 | |||
2842 | <+=?|> this.createWorker = function(session) {+=?|> |
||
2843 | <+=?|> if (this.constructor != Mode)+=?|> |
||
2844 | <+=?|> return;+=?|> |
||
2845 | <+=?|> var worker = new WorkerClient(["ace"], "ace/mode/html_worker", "Worker");+=?|> |
||
2846 | <+=?|> worker.attachToDocument(session.getDocument());+=?|> |
||
2847 | |||
2848 | <+=?|> if (this.fragmentContext)+=?|> |
||
2849 | <+=?|> worker.call("setOptions", [{context: this.fragmentContext}]);+=?|> |
||
2850 | |||
2851 | <+=?|> worker.on("error", function(e) {+=?|> |
||
2852 | <+=?|> session.setAnnotations(e.data);+=?|> |
||
2853 | <+=?|> });+=?|> |
||
2854 | |||
2855 | <+=?|> worker.on("terminate", function() {+=?|> |
||
2856 | <+=?|> session.clearAnnotations();+=?|> |
||
2857 | <+=?|> });+=?|> |
||
2858 | |||
2859 | <+=?|> return worker;+=?|> |
||
2860 | <+=?|> };+=?|> |
||
2861 | |||
2862 | <+=?|> this.$id = "ace/mode/html";+=?|> |
||
2863 | <+=?|>}).call(Mode.prototype);+=?|> |
||
2864 | |||
2865 | <+=?|>exports.Mode = Mode;+=?|> |
||
2866 | <+=?|>});+=?|> |
||
2867 | |||
2868 | <+=?|>ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {+=?|> |
||
2869 | <+=?|>"use strict";+=?|> |
||
2870 | |||
2871 | <+=?|>var oop = require("../../lib/oop");+=?|> |
||
2872 | <+=?|>var BaseFoldMode = require("./fold_mode").FoldMode;+=?|> |
||
2873 | <+=?|>var Range = require("../../range").Range;+=?|> |
||
2874 | |||
2875 | <+=?|>var FoldMode = exports.FoldMode = function() {};+=?|> |
||
2876 | <+=?|>oop.inherits(FoldMode, BaseFoldMode);+=?|> |
||
2877 | |||
2878 | <+=?|>(function() {+=?|> |
||
2879 | |||
2880 | <+=?|> this.getFoldWidgetRange = function(session, foldStyle, row) {+=?|> |
||
2881 | <+=?|> var range = this.indentationBlock(session, row);+=?|> |
||
2882 | <+=?|> if (range)+=?|> |
||
2883 | <+=?|> return range;+=?|> |
||
2884 | |||
2885 | <+=?|> var re = /\S/;+=?|> |
||
2886 | <+=?|> var line = session.getLine(row);+=?|> |
||
2887 | <+=?|> var startLevel = line.search(re);+=?|> |
||
2888 | <+=?|> if (startLevel == -1 || line[startLevel] != "#")+=?|> |
||
2889 | <+=?|> return;+=?|> |
||
2890 | |||
2891 | <+=?|> var startColumn = line.length;+=?|> |
||
2892 | <+=?|> var maxRow = session.getLength();+=?|> |
||
2893 | <+=?|> var startRow = row;+=?|> |
||
2894 | <+=?|> var endRow = row;+=?|> |
||
2895 | |||
2896 | <+=?|> while (++row < maxRow) {+=?|> |
||
2897 | <+=?|> line = session.getLine(row);+=?|> |
||
2898 | <+=?|> var level = line.search(re);+=?|> |
||
2899 | |||
2900 | <+=?|> if (level == -1)+=?|> |
||
2901 | <+=?|> continue;+=?|> |
||
2902 | |||
2903 | <+=?|> if (line[level] != "#")+=?|> |
||
2904 | <+=?|> break;+=?|> |
||
2905 | |||
2906 | <+=?|> endRow = row;+=?|> |
||
2907 | <+=?|> }+=?|> |
||
2908 | |||
2909 | <+=?|> if (endRow > startRow) {+=?|> |
||
2910 | <+=?|> var endColumn = session.getLine(endRow).length;+=?|> |
||
2911 | <+=?|> return new Range(startRow, startColumn, endRow, endColumn);+=?|> |
||
2912 | <+=?|> }+=?|> |
||
2913 | <+=?|> };+=?|> |
||
2914 | <+=?|> this.getFoldWidget = function(session, foldStyle, row) {+=?|> |
||
2915 | <+=?|> var line = session.getLine(row);+=?|> |
||
2916 | <+=?|> var indent = line.search(/\S/);+=?|> |
||
2917 | <+=?|> var next = session.getLine(row + 1);+=?|> |
||
2918 | <+=?|> var prev = session.getLine(row - 1);+=?|> |
||
2919 | <+=?|> var prevIndent = prev.search(/\S/);+=?|> |
||
2920 | <+=?|> var nextIndent = next.search(/\S/);+=?|> |
||
2921 | |||
2922 | <+=?|> if (indent == -1) {+=?|> |
||
2923 | <+=?|> session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";+=?|> |
||
2924 | <+=?|> return "";+=?|> |
||
2925 | <+=?|> }+=?|> |
||
2926 | <+=?|> if (prevIndent == -1) {+=?|> |
||
2927 | <+=?|> if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {+=?|> |
||
2928 | <+=?|> session.foldWidgets[row - 1] = "";+=?|> |
||
2929 | <+=?|> session.foldWidgets[row + 1] = "";+=?|> |
||
2930 | <+=?|> return "start";+=?|> |
||
2931 | <+=?|> }+=?|> |
||
2932 | <+=?|> } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {+=?|> |
||
2933 | <+=?|> if (session.getLine(row - 2).search(/\S/) == -1) {+=?|> |
||
2934 | <+=?|> session.foldWidgets[row - 1] = "start";+=?|> |
||
2935 | <+=?|> session.foldWidgets[row + 1] = "";+=?|> |
||
2936 | <+=?|> return "";+=?|> |
||
2937 | <+=?|> }+=?|> |
||
2938 | <+=?|> }+=?|> |
||
2939 | |||
2940 | <+=?|> if (prevIndent!= -1 && prevIndent < indent)+=?|> |
||
2941 | <+=?|> session.foldWidgets[row - 1] = "start";+=?|> |
||
2942 | <+=?|> else+=?|> |
||
2943 | <+=?|> session.foldWidgets[row - 1] = "";+=?|> |
||
2944 | |||
2945 | <+=?|> if (indent < nextIndent)+=?|> |
||
2946 | <+=?|> return "start";+=?|> |
||
2947 | <+=?|> else+=?|> |
||
2948 | <+=?|> return "";+=?|> |
||
2949 | <+=?|> };+=?|> |
||
2950 | |||
2951 | <+=?|>}).call(FoldMode.prototype);+=?|> |
||
2952 | |||
2953 | <+=?|>});+=?|> |
||
2954 | |||
2955 | <+=?|>ace.define("ace/mode/elixir",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elixir_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module) {+=?|> |
||
2956 | <+=?|>"use strict";+=?|> |
||
2957 | |||
2958 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
2959 | <+=?|>var TextMode = require("./text").Mode;+=?|> |
||
2960 | <+=?|>var ElixirHighlightRules = require("./elixir_highlight_rules").ElixirHighlightRules;+=?|> |
||
2961 | <+=?|>var FoldMode = require("./folding/coffee").FoldMode;+=?|> |
||
2962 | |||
2963 | <+=?|>var Mode = function() {+=?|> |
||
2964 | <+=?|> this.HighlightRules = ElixirHighlightRules;+=?|> |
||
2965 | <+=?|> this.foldingRules = new FoldMode();+=?|> |
||
2966 | <+=?|> this.$behaviour = this.$defaultBehaviour;+=?|> |
||
2967 | <+=?|>};+=?|> |
||
2968 | <+=?|>oop.inherits(Mode, TextMode);+=?|> |
||
2969 | |||
2970 | <+=?|>(function() {+=?|> |
||
2971 | <+=?|> this.lineCommentStart = "#";+=?|> |
||
2972 | <+=?|> this.$id = "ace/mode/elixir"+=?|> |
||
2973 | <+=?|>}).call(Mode.prototype);+=?|> |
||
2974 | |||
2975 | <+=?|>exports.Mode = Mode;+=?|> |
||
2976 | <+=?|>});+=?|> |
||
2977 | |||
2978 | <+=?|>ace.define("ace/mode/html_elixir",["require","exports","module","ace/lib/oop","ace/mode/html_elixir_highlight_rules","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/elixir"], function(require, exports, module) {+=?|> |
||
2979 | <+=?|>"use strict";+=?|> |
||
2980 | |||
2981 | <+=?|>var oop = require("../lib/oop");+=?|> |
||
2982 | <+=?|>var HtmlElixirHighlightRules = require("./html_elixir_highlight_rules").HtmlElixirHighlightRules;+=?|> |
||
2983 | <+=?|>var HtmlMode = require("./html").Mode;+=?|> |
||
2984 | <+=?|>var JavaScriptMode = require("./javascript").Mode;+=?|> |
||
2985 | <+=?|>var CssMode = require("./css").Mode;+=?|> |
||
2986 | <+=?|>var ElixirMode = require("./elixir").Mode;+=?|> |
||
2987 | |||
2988 | <+=?|>var Mode = function() {+=?|> |
||
2989 | <+=?|> HtmlMode.call(this); +=?|> |
||
2990 | <+=?|> this.HighlightRules = HtmlElixirHighlightRules;+=?|> |
||
2991 | <+=?|> this.createModeDelegates({+=?|> |
||
2992 | <+=?|> "js-": JavaScriptMode,+=?|> |
||
2993 | <+=?|> "css-": CssMode,+=?|> |
||
2994 | <+=?|> "elixir-": ElixirMode+=?|> |
||
2995 | <+=?|> });+=?|> |
||
2996 | <+=?|>};+=?|> |
||
2997 | <+=?|>oop.inherits(Mode, HtmlMode);+=?|> |
||
2998 | |||
2999 | <+=?|>(function() {+=?|> |
||
3000 | |||
3001 | <+=?|> this.$id = "ace/mode/html_elixir";+=?|> |
||
3002 | <+=?|>}).call(Mode.prototype);+=?|> |
||
3003 | |||
3004 | <+=?|>exports.Mode = Mode;+=?|> |
||
3005 | <+=?|>});+=?|> |