@backtest-kit/ui 5.6.2 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/build/index.cjs +1036 -134
  2. package/build/index.mjs +1037 -135
  3. package/build/modules/frontend/build/3rdparty/ace_1.4.12/ace.js +21338 -0
  4. package/build/modules/frontend/build/3rdparty/ace_1.4.12/mode-javascript.js +798 -0
  5. package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-chrome.js +138 -0
  6. package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-twilight.js +116 -0
  7. package/build/modules/frontend/build/3rdparty/ace_1.4.12/worker-javascript.js +15012 -0
  8. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-100.woff +0 -0
  9. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-100.woff2 +0 -0
  10. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-100italic.woff +0 -0
  11. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-100italic.woff2 +0 -0
  12. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-300.woff +0 -0
  13. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-300.woff2 +0 -0
  14. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-300italic.woff +0 -0
  15. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-300italic.woff2 +0 -0
  16. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-400.woff +0 -0
  17. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-400.woff2 +0 -0
  18. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-400italic.woff +0 -0
  19. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-400italic.woff2 +0 -0
  20. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-500.woff +0 -0
  21. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-500.woff2 +0 -0
  22. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-500italic.woff +0 -0
  23. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-500italic.woff2 +0 -0
  24. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-700.woff +0 -0
  25. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-700.woff2 +0 -0
  26. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-700italic.woff +0 -0
  27. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-700italic.woff2 +0 -0
  28. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-900.woff +0 -0
  29. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-900.woff2 +0 -0
  30. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-900italic.woff +0 -0
  31. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/files/roboto-latin-900italic.woff2 +0 -0
  32. package/build/modules/frontend/build/3rdparty/typeface-roboto_0.0.75/typeface-roboto.css +156 -0
  33. package/build/modules/frontend/build/assets/Article-DwCWbgig.js +1 -0
  34. package/build/modules/frontend/build/assets/{Background-B8kVLoJC.js → Background-BUWczIMa.js} +1 -1
  35. package/build/modules/frontend/build/assets/Container-DgcBaXwp.js +1 -0
  36. package/build/modules/frontend/build/assets/IconPhoto-Dg1OJT1g.js +1 -0
  37. package/build/modules/frontend/build/assets/{KeyboardArrowLeft-NcptneCW.js → KeyboardArrowLeft-DqH7VCRG.js} +1 -1
  38. package/build/modules/frontend/build/assets/Refresh-ASwi3YWH.js +1 -0
  39. package/build/modules/frontend/build/assets/emitters-EUI31qkt.js +1 -0
  40. package/build/modules/frontend/build/assets/hasRouteMatch-B_-PodjM.js +1 -0
  41. package/build/modules/frontend/build/assets/html2canvas-D67h2MXz.js +1 -0
  42. package/build/modules/frontend/build/assets/index-BXhzoqHB.js +17 -0
  43. package/build/modules/frontend/build/assets/index-BbMctGny.js +1 -0
  44. package/build/modules/frontend/build/assets/index-BjGW-SeZ.js +1560 -0
  45. package/build/modules/frontend/build/assets/index-CGTWcCfJ.js +1 -0
  46. package/build/modules/frontend/build/assets/index-CQbPy5z-.js +1 -0
  47. package/build/modules/frontend/build/assets/index-CYVGtlJR.js +1 -0
  48. package/build/modules/frontend/build/assets/index-CxqvOyvF.js +1 -0
  49. package/build/modules/frontend/build/assets/index-DoQ6TdNT.js +1 -0
  50. package/build/modules/frontend/build/assets/index-Dxunm9la.js +1 -0
  51. package/build/modules/frontend/build/assets/index-lFLkJBoZ.js +1 -0
  52. package/build/modules/frontend/build/assets/index-nAktdNIS.js +1 -0
  53. package/build/modules/frontend/build/assets/{index.es-BkDLGtAB.js → index.es-_Mw9_y9J.js} +2 -2
  54. package/build/modules/frontend/build/assets/markdownit-DnsUyAuX.js +1 -0
  55. package/build/modules/frontend/build/index.html +8 -2
  56. package/package.json +3 -3
  57. package/types.d.ts +80 -1
  58. package/build/modules/frontend/build/assets/IconPhoto-yqTcSjsj.js +0 -1
  59. package/build/modules/frontend/build/assets/Refresh-B-6VzYmL.js +0 -1
  60. package/build/modules/frontend/build/assets/hasRouteMatch-Cap76DHx.js +0 -1
  61. package/build/modules/frontend/build/assets/html2canvas-AeHV6o40.js +0 -1
  62. package/build/modules/frontend/build/assets/index-3FabZvCh.js +0 -1
  63. package/build/modules/frontend/build/assets/index-BSt5rIe0.js +0 -231
  64. package/build/modules/frontend/build/assets/index-BfdHWVzz.js +0 -1331
  65. package/build/modules/frontend/build/assets/index-BjR0gQPx.js +0 -1
  66. package/build/modules/frontend/build/assets/index-Bov2Mvu5.js +0 -1
  67. package/build/modules/frontend/build/assets/index-DTb7GKw2.js +0 -1
  68. package/build/modules/frontend/build/assets/index-eGg7QpVp.js +0 -1
  69. package/build/modules/frontend/build/assets/index-mEY60b54.js +0 -1
  70. package/build/modules/frontend/build/assets/markdownit-_uLqTUbF.js +0 -1
@@ -0,0 +1,798 @@
1
+ ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var oop = require("../lib/oop");
5
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
+
7
+ var DocCommentHighlightRules = function() {
8
+ this.$rules = {
9
+ "start" : [ {
10
+ token : "comment.doc.tag",
11
+ regex : "@[\\w\\d_]+" // TODO: fix email addresses
12
+ },
13
+ DocCommentHighlightRules.getTagRule(),
14
+ {
15
+ defaultToken : "comment.doc",
16
+ caseInsensitive: true
17
+ }]
18
+ };
19
+ };
20
+
21
+ oop.inherits(DocCommentHighlightRules, TextHighlightRules);
22
+
23
+ DocCommentHighlightRules.getTagRule = function(start) {
24
+ return {
25
+ token : "comment.doc.tag.storage.type",
26
+ regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
27
+ };
28
+ };
29
+
30
+ DocCommentHighlightRules.getStartRule = function(start) {
31
+ return {
32
+ token : "comment.doc", // doc comment
33
+ regex : "\\/\\*(?=\\*)",
34
+ next : start
35
+ };
36
+ };
37
+
38
+ DocCommentHighlightRules.getEndRule = function (start) {
39
+ return {
40
+ token : "comment.doc", // closing comment
41
+ regex : "\\*\\/",
42
+ next : start
43
+ };
44
+ };
45
+
46
+
47
+ exports.DocCommentHighlightRules = DocCommentHighlightRules;
48
+
49
+ });
50
+
51
+ 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) {
52
+ "use strict";
53
+
54
+ var oop = require("../lib/oop");
55
+ var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
56
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
57
+ var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
58
+
59
+ var JavaScriptHighlightRules = function(options) {
60
+ var keywordMapper = this.createKeywordMapper({
61
+ "variable.language":
62
+ "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
63
+ "Namespace|QName|XML|XMLList|" + // E4X
64
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
65
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
66
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
67
+ "SyntaxError|TypeError|URIError|" +
68
+ "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
69
+ "isNaN|parseFloat|parseInt|" +
70
+ "JSON|Math|" + // Other
71
+ "this|arguments|prototype|window|document" , // Pseudo
72
+ "keyword":
73
+ "const|yield|import|get|set|async|await|" +
74
+ "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
75
+ "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
76
+ "__parent__|__count__|escape|unescape|with|__proto__|" +
77
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
78
+ "storage.type":
79
+ "const|let|var|function",
80
+ "constant.language":
81
+ "null|Infinity|NaN|undefined",
82
+ "support.function":
83
+ "alert",
84
+ "constant.language.boolean": "true|false"
85
+ }, "identifier");
86
+ var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
87
+
88
+ var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
89
+ "u[0-9a-fA-F]{4}|" + // unicode
90
+ "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
91
+ "[0-2][0-7]{0,2}|" + // oct
92
+ "3[0-7][0-7]?|" + // oct
93
+ "[4-7][0-7]?|" + //oct
94
+ ".)";
95
+
96
+ this.$rules = {
97
+ "no_regex" : [
98
+ DocCommentHighlightRules.getStartRule("doc-start"),
99
+ comments("no_regex"),
100
+ {
101
+ token : "string",
102
+ regex : "'(?=.)",
103
+ next : "qstring"
104
+ }, {
105
+ token : "string",
106
+ regex : '"(?=.)',
107
+ next : "qqstring"
108
+ }, {
109
+ token : "constant.numeric", // hexadecimal, octal and binary
110
+ regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
111
+ }, {
112
+ token : "constant.numeric", // decimal integers and floats
113
+ regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
114
+ }, {
115
+ token : [
116
+ "storage.type", "punctuation.operator", "support.function",
117
+ "punctuation.operator", "entity.name.function", "text","keyword.operator"
118
+ ],
119
+ regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
120
+ next: "function_arguments"
121
+ }, {
122
+ token : [
123
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
124
+ "keyword.operator", "text", "storage.type", "text", "paren.lparen"
125
+ ],
126
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
127
+ next: "function_arguments"
128
+ }, {
129
+ token : [
130
+ "entity.name.function", "text", "keyword.operator", "text", "storage.type",
131
+ "text", "paren.lparen"
132
+ ],
133
+ regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
134
+ next: "function_arguments"
135
+ }, {
136
+ token : [
137
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
138
+ "keyword.operator", "text",
139
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
140
+ ],
141
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
142
+ next: "function_arguments"
143
+ }, {
144
+ token : [
145
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
146
+ ],
147
+ regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
148
+ next: "function_arguments"
149
+ }, {
150
+ token : [
151
+ "entity.name.function", "text", "punctuation.operator",
152
+ "text", "storage.type", "text", "paren.lparen"
153
+ ],
154
+ regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
155
+ next: "function_arguments"
156
+ }, {
157
+ token : [
158
+ "text", "text", "storage.type", "text", "paren.lparen"
159
+ ],
160
+ regex : "(:)(\\s*)(function)(\\s*)(\\()",
161
+ next: "function_arguments"
162
+ }, {
163
+ token : "keyword",
164
+ regex : "from(?=\\s*('|\"))"
165
+ }, {
166
+ token : "keyword",
167
+ regex : "(?:" + kwBeforeRe + ")\\b",
168
+ next : "start"
169
+ }, {
170
+ token : ["support.constant"],
171
+ regex : /that\b/
172
+ }, {
173
+ token : ["storage.type", "punctuation.operator", "support.function.firebug"],
174
+ regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
175
+ }, {
176
+ token : keywordMapper,
177
+ regex : identifierRe
178
+ }, {
179
+ token : "punctuation.operator",
180
+ regex : /[.](?![.])/,
181
+ next : "property"
182
+ }, {
183
+ token : "storage.type",
184
+ regex : /=>/,
185
+ next : "start"
186
+ }, {
187
+ token : "keyword.operator",
188
+ regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
189
+ next : "start"
190
+ }, {
191
+ token : "punctuation.operator",
192
+ regex : /[?:,;.]/,
193
+ next : "start"
194
+ }, {
195
+ token : "paren.lparen",
196
+ regex : /[\[({]/,
197
+ next : "start"
198
+ }, {
199
+ token : "paren.rparen",
200
+ regex : /[\])}]/
201
+ }, {
202
+ token: "comment",
203
+ regex: /^#!.*$/
204
+ }
205
+ ],
206
+ property: [{
207
+ token : "text",
208
+ regex : "\\s+"
209
+ }, {
210
+ token : [
211
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
212
+ "keyword.operator", "text",
213
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
214
+ ],
215
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",
216
+ next: "function_arguments"
217
+ }, {
218
+ token : "punctuation.operator",
219
+ regex : /[.](?![.])/
220
+ }, {
221
+ token : "support.function",
222
+ 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(?=\()/
223
+ }, {
224
+ token : "support.function.dom",
225
+ 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(?=\()/
226
+ }, {
227
+ token : "support.constant",
228
+ 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/
229
+ }, {
230
+ token : "identifier",
231
+ regex : identifierRe
232
+ }, {
233
+ regex: "",
234
+ token: "empty",
235
+ next: "no_regex"
236
+ }
237
+ ],
238
+ "start": [
239
+ DocCommentHighlightRules.getStartRule("doc-start"),
240
+ comments("start"),
241
+ {
242
+ token: "string.regexp",
243
+ regex: "\\/",
244
+ next: "regex"
245
+ }, {
246
+ token : "text",
247
+ regex : "\\s+|^$",
248
+ next : "start"
249
+ }, {
250
+ token: "empty",
251
+ regex: "",
252
+ next: "no_regex"
253
+ }
254
+ ],
255
+ "regex": [
256
+ {
257
+ token: "regexp.keyword.operator",
258
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
259
+ }, {
260
+ token: "string.regexp",
261
+ regex: "/[sxngimy]*",
262
+ next: "no_regex"
263
+ }, {
264
+ token : "invalid",
265
+ regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
266
+ }, {
267
+ token : "constant.language.escape",
268
+ regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
269
+ }, {
270
+ token : "constant.language.delimiter",
271
+ regex: /\|/
272
+ }, {
273
+ token: "constant.language.escape",
274
+ regex: /\[\^?/,
275
+ next: "regex_character_class"
276
+ }, {
277
+ token: "empty",
278
+ regex: "$",
279
+ next: "no_regex"
280
+ }, {
281
+ defaultToken: "string.regexp"
282
+ }
283
+ ],
284
+ "regex_character_class": [
285
+ {
286
+ token: "regexp.charclass.keyword.operator",
287
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
288
+ }, {
289
+ token: "constant.language.escape",
290
+ regex: "]",
291
+ next: "regex"
292
+ }, {
293
+ token: "constant.language.escape",
294
+ regex: "-"
295
+ }, {
296
+ token: "empty",
297
+ regex: "$",
298
+ next: "no_regex"
299
+ }, {
300
+ defaultToken: "string.regexp.charachterclass"
301
+ }
302
+ ],
303
+ "function_arguments": [
304
+ {
305
+ token: "variable.parameter",
306
+ regex: identifierRe
307
+ }, {
308
+ token: "punctuation.operator",
309
+ regex: "[, ]+"
310
+ }, {
311
+ token: "punctuation.operator",
312
+ regex: "$"
313
+ }, {
314
+ token: "empty",
315
+ regex: "",
316
+ next: "no_regex"
317
+ }
318
+ ],
319
+ "qqstring" : [
320
+ {
321
+ token : "constant.language.escape",
322
+ regex : escapedRe
323
+ }, {
324
+ token : "string",
325
+ regex : "\\\\$",
326
+ consumeLineEnd : true
327
+ }, {
328
+ token : "string",
329
+ regex : '"|$',
330
+ next : "no_regex"
331
+ }, {
332
+ defaultToken: "string"
333
+ }
334
+ ],
335
+ "qstring" : [
336
+ {
337
+ token : "constant.language.escape",
338
+ regex : escapedRe
339
+ }, {
340
+ token : "string",
341
+ regex : "\\\\$",
342
+ consumeLineEnd : true
343
+ }, {
344
+ token : "string",
345
+ regex : "'|$",
346
+ next : "no_regex"
347
+ }, {
348
+ defaultToken: "string"
349
+ }
350
+ ]
351
+ };
352
+
353
+
354
+ if (!options || !options.noES6) {
355
+ this.$rules.no_regex.unshift({
356
+ regex: "[{}]", onMatch: function(val, state, stack) {
357
+ this.next = val == "{" ? this.nextState : "";
358
+ if (val == "{" && stack.length) {
359
+ stack.unshift("start", state);
360
+ }
361
+ else if (val == "}" && stack.length) {
362
+ stack.shift();
363
+ this.next = stack.shift();
364
+ if (this.next.indexOf("string") != -1 || this.next.indexOf("jsx") != -1)
365
+ return "paren.quasi.end";
366
+ }
367
+ return val == "{" ? "paren.lparen" : "paren.rparen";
368
+ },
369
+ nextState: "start"
370
+ }, {
371
+ token : "string.quasi.start",
372
+ regex : /`/,
373
+ push : [{
374
+ token : "constant.language.escape",
375
+ regex : escapedRe
376
+ }, {
377
+ token : "paren.quasi.start",
378
+ regex : /\${/,
379
+ push : "start"
380
+ }, {
381
+ token : "string.quasi.end",
382
+ regex : /`/,
383
+ next : "pop"
384
+ }, {
385
+ defaultToken: "string.quasi"
386
+ }]
387
+ });
388
+
389
+ if (!options || options.jsx != false)
390
+ JSX.call(this);
391
+ }
392
+
393
+ this.embedRules(DocCommentHighlightRules, "doc-",
394
+ [ DocCommentHighlightRules.getEndRule("no_regex") ]);
395
+
396
+ this.normalizeRules();
397
+ };
398
+
399
+ oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
400
+
401
+ function JSX() {
402
+ var tagRegex = identifierRe.replace("\\d", "\\d\\-");
403
+ var jsxTag = {
404
+ onMatch : function(val, state, stack) {
405
+ var offset = val.charAt(1) == "/" ? 2 : 1;
406
+ if (offset == 1) {
407
+ if (state != this.nextState)
408
+ stack.unshift(this.next, this.nextState, 0);
409
+ else
410
+ stack.unshift(this.next);
411
+ stack[2]++;
412
+ } else if (offset == 2) {
413
+ if (state == this.nextState) {
414
+ stack[1]--;
415
+ if (!stack[1] || stack[1] < 0) {
416
+ stack.shift();
417
+ stack.shift();
418
+ }
419
+ }
420
+ }
421
+ return [{
422
+ type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
423
+ value: val.slice(0, offset)
424
+ }, {
425
+ type: "meta.tag.tag-name.xml",
426
+ value: val.substr(offset)
427
+ }];
428
+ },
429
+ regex : "</?" + tagRegex + "",
430
+ next: "jsxAttributes",
431
+ nextState: "jsx"
432
+ };
433
+ this.$rules.start.unshift(jsxTag);
434
+ var jsxJsRule = {
435
+ regex: "{",
436
+ token: "paren.quasi.start",
437
+ push: "start"
438
+ };
439
+ this.$rules.jsx = [
440
+ jsxJsRule,
441
+ jsxTag,
442
+ {include : "reference"},
443
+ {defaultToken: "string"}
444
+ ];
445
+ this.$rules.jsxAttributes = [{
446
+ token : "meta.tag.punctuation.tag-close.xml",
447
+ regex : "/?>",
448
+ onMatch : function(value, currentState, stack) {
449
+ if (currentState == stack[0])
450
+ stack.shift();
451
+ if (value.length == 2) {
452
+ if (stack[0] == this.nextState)
453
+ stack[1]--;
454
+ if (!stack[1] || stack[1] < 0) {
455
+ stack.splice(0, 2);
456
+ }
457
+ }
458
+ this.next = stack[0] || "start";
459
+ return [{type: this.token, value: value}];
460
+ },
461
+ nextState: "jsx"
462
+ },
463
+ jsxJsRule,
464
+ comments("jsxAttributes"),
465
+ {
466
+ token : "entity.other.attribute-name.xml",
467
+ regex : tagRegex
468
+ }, {
469
+ token : "keyword.operator.attribute-equals.xml",
470
+ regex : "="
471
+ }, {
472
+ token : "text.tag-whitespace.xml",
473
+ regex : "\\s+"
474
+ }, {
475
+ token : "string.attribute-value.xml",
476
+ regex : "'",
477
+ stateName : "jsx_attr_q",
478
+ push : [
479
+ {token : "string.attribute-value.xml", regex: "'", next: "pop"},
480
+ {include : "reference"},
481
+ {defaultToken : "string.attribute-value.xml"}
482
+ ]
483
+ }, {
484
+ token : "string.attribute-value.xml",
485
+ regex : '"',
486
+ stateName : "jsx_attr_qq",
487
+ push : [
488
+ {token : "string.attribute-value.xml", regex: '"', next: "pop"},
489
+ {include : "reference"},
490
+ {defaultToken : "string.attribute-value.xml"}
491
+ ]
492
+ },
493
+ jsxTag
494
+ ];
495
+ this.$rules.reference = [{
496
+ token : "constant.language.escape.reference.xml",
497
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
498
+ }];
499
+ }
500
+
501
+ function comments(next) {
502
+ return [
503
+ {
504
+ token : "comment", // multi line comment
505
+ regex : /\/\*/,
506
+ next: [
507
+ DocCommentHighlightRules.getTagRule(),
508
+ {token : "comment", regex : "\\*\\/", next : next || "pop"},
509
+ {defaultToken : "comment", caseInsensitive: true}
510
+ ]
511
+ }, {
512
+ token : "comment",
513
+ regex : "\\/\\/",
514
+ next: [
515
+ DocCommentHighlightRules.getTagRule(),
516
+ {token : "comment", regex : "$|^", next : next || "pop"},
517
+ {defaultToken : "comment", caseInsensitive: true}
518
+ ]
519
+ }
520
+ ];
521
+ }
522
+ exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
523
+ });
524
+
525
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
526
+ "use strict";
527
+
528
+ var Range = require("../range").Range;
529
+
530
+ var MatchingBraceOutdent = function() {};
531
+
532
+ (function() {
533
+
534
+ this.checkOutdent = function(line, input) {
535
+ if (! /^\s+$/.test(line))
536
+ return false;
537
+
538
+ return /^\s*\}/.test(input);
539
+ };
540
+
541
+ this.autoOutdent = function(doc, row) {
542
+ var line = doc.getLine(row);
543
+ var match = line.match(/^(\s*\})/);
544
+
545
+ if (!match) return 0;
546
+
547
+ var column = match[1].length;
548
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
549
+
550
+ if (!openBracePos || openBracePos.row == row) return 0;
551
+
552
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
553
+ doc.replace(new Range(row, 0, row, column-1), indent);
554
+ };
555
+
556
+ this.$getIndent = function(line) {
557
+ return line.match(/^\s*/)[0];
558
+ };
559
+
560
+ }).call(MatchingBraceOutdent.prototype);
561
+
562
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
563
+ });
564
+
565
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
566
+ "use strict";
567
+
568
+ var oop = require("../../lib/oop");
569
+ var Range = require("../../range").Range;
570
+ var BaseFoldMode = require("./fold_mode").FoldMode;
571
+
572
+ var FoldMode = exports.FoldMode = function(commentRegex) {
573
+ if (commentRegex) {
574
+ this.foldingStartMarker = new RegExp(
575
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
576
+ );
577
+ this.foldingStopMarker = new RegExp(
578
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
579
+ );
580
+ }
581
+ };
582
+ oop.inherits(FoldMode, BaseFoldMode);
583
+
584
+ (function() {
585
+
586
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
587
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
588
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
589
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
590
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
591
+ this._getFoldWidgetBase = this.getFoldWidget;
592
+ this.getFoldWidget = function(session, foldStyle, row) {
593
+ var line = session.getLine(row);
594
+
595
+ if (this.singleLineBlockCommentRe.test(line)) {
596
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
597
+ return "";
598
+ }
599
+
600
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
601
+
602
+ if (!fw && this.startRegionRe.test(line))
603
+ return "start"; // lineCommentRegionStart
604
+
605
+ return fw;
606
+ };
607
+
608
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
609
+ var line = session.getLine(row);
610
+
611
+ if (this.startRegionRe.test(line))
612
+ return this.getCommentRegionBlock(session, line, row);
613
+
614
+ var match = line.match(this.foldingStartMarker);
615
+ if (match) {
616
+ var i = match.index;
617
+
618
+ if (match[1])
619
+ return this.openingBracketBlock(session, match[1], row, i);
620
+
621
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
622
+
623
+ if (range && !range.isMultiLine()) {
624
+ if (forceMultiline) {
625
+ range = this.getSectionRange(session, row);
626
+ } else if (foldStyle != "all")
627
+ range = null;
628
+ }
629
+
630
+ return range;
631
+ }
632
+
633
+ if (foldStyle === "markbegin")
634
+ return;
635
+
636
+ var match = line.match(this.foldingStopMarker);
637
+ if (match) {
638
+ var i = match.index + match[0].length;
639
+
640
+ if (match[1])
641
+ return this.closingBracketBlock(session, match[1], row, i);
642
+
643
+ return session.getCommentFoldRange(row, i, -1);
644
+ }
645
+ };
646
+
647
+ this.getSectionRange = function(session, row) {
648
+ var line = session.getLine(row);
649
+ var startIndent = line.search(/\S/);
650
+ var startRow = row;
651
+ var startColumn = line.length;
652
+ row = row + 1;
653
+ var endRow = row;
654
+ var maxRow = session.getLength();
655
+ while (++row < maxRow) {
656
+ line = session.getLine(row);
657
+ var indent = line.search(/\S/);
658
+ if (indent === -1)
659
+ continue;
660
+ if (startIndent > indent)
661
+ break;
662
+ var subRange = this.getFoldWidgetRange(session, "all", row);
663
+
664
+ if (subRange) {
665
+ if (subRange.start.row <= startRow) {
666
+ break;
667
+ } else if (subRange.isMultiLine()) {
668
+ row = subRange.end.row;
669
+ } else if (startIndent == indent) {
670
+ break;
671
+ }
672
+ }
673
+ endRow = row;
674
+ }
675
+
676
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
677
+ };
678
+ this.getCommentRegionBlock = function(session, line, row) {
679
+ var startColumn = line.search(/\s*$/);
680
+ var maxRow = session.getLength();
681
+ var startRow = row;
682
+
683
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
684
+ var depth = 1;
685
+ while (++row < maxRow) {
686
+ line = session.getLine(row);
687
+ var m = re.exec(line);
688
+ if (!m) continue;
689
+ if (m[1]) depth--;
690
+ else depth++;
691
+
692
+ if (!depth) break;
693
+ }
694
+
695
+ var endRow = row;
696
+ if (endRow > startRow) {
697
+ return new Range(startRow, startColumn, endRow, line.length);
698
+ }
699
+ };
700
+
701
+ }).call(FoldMode.prototype);
702
+
703
+ });
704
+
705
+ 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) {
706
+ "use strict";
707
+
708
+ var oop = require("../lib/oop");
709
+ var TextMode = require("./text").Mode;
710
+ var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
711
+ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
712
+ var WorkerClient = require("../worker/worker_client").WorkerClient;
713
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
714
+ var CStyleFoldMode = require("./folding/cstyle").FoldMode;
715
+
716
+ var Mode = function() {
717
+ this.HighlightRules = JavaScriptHighlightRules;
718
+
719
+ this.$outdent = new MatchingBraceOutdent();
720
+ this.$behaviour = new CstyleBehaviour();
721
+ this.foldingRules = new CStyleFoldMode();
722
+ };
723
+ oop.inherits(Mode, TextMode);
724
+
725
+ (function() {
726
+
727
+ this.lineCommentStart = "//";
728
+ this.blockComment = {start: "/*", end: "*/"};
729
+ this.$quotes = {'"': '"', "'": "'", "`": "`"};
730
+
731
+ this.getNextLineIndent = function(state, line, tab) {
732
+ var indent = this.$getIndent(line);
733
+
734
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
735
+ var tokens = tokenizedLine.tokens;
736
+ var endState = tokenizedLine.state;
737
+
738
+ if (tokens.length && tokens[tokens.length-1].type == "comment") {
739
+ return indent;
740
+ }
741
+
742
+ if (state == "start" || state == "no_regex") {
743
+ var match = line.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);
744
+ if (match) {
745
+ indent += tab;
746
+ }
747
+ } else if (state == "doc-start") {
748
+ if (endState == "start" || endState == "no_regex") {
749
+ return "";
750
+ }
751
+ var match = line.match(/^\s*(\/?)\*/);
752
+ if (match) {
753
+ if (match[1]) {
754
+ indent += " ";
755
+ }
756
+ indent += "* ";
757
+ }
758
+ }
759
+
760
+ return indent;
761
+ };
762
+
763
+ this.checkOutdent = function(state, line, input) {
764
+ return this.$outdent.checkOutdent(line, input);
765
+ };
766
+
767
+ this.autoOutdent = function(state, doc, row) {
768
+ this.$outdent.autoOutdent(doc, row);
769
+ };
770
+
771
+ this.createWorker = function(session) {
772
+ var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
773
+ worker.attachToDocument(session.getDocument());
774
+
775
+ worker.on("annotate", function(results) {
776
+ session.setAnnotations(results.data);
777
+ });
778
+
779
+ worker.on("terminate", function() {
780
+ session.clearAnnotations();
781
+ });
782
+
783
+ return worker;
784
+ };
785
+
786
+ this.$id = "ace/mode/javascript";
787
+ this.snippetFileId = "ace/snippets/javascript";
788
+ }).call(Mode.prototype);
789
+
790
+ exports.Mode = Mode;
791
+ }); (function() {
792
+ ace.require(["ace/mode/javascript"], function(m) {
793
+ if (typeof module == "object" && typeof exports == "object" && module) {
794
+ module.exports = m;
795
+ }
796
+ });
797
+ })();
798
+