app-ai-solution-exp 0.1.2

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 (173) hide show
  1. package/bin/app-ai-solution-exp.js +20 -0
  2. package/out/main/index.js +1631 -0
  3. package/out/preload/index.js +108 -0
  4. package/out/renderer/assets/abap-D5KwWAsZ.js +1399 -0
  5. package/out/renderer/assets/apex-DVGUZ64i.js +331 -0
  6. package/out/renderer/assets/azcli-BEAhqcuE.js +69 -0
  7. package/out/renderer/assets/bat-Bqkp9Cfu.js +101 -0
  8. package/out/renderer/assets/bicep-DIlfshcM.js +110 -0
  9. package/out/renderer/assets/cameligo-CLaaYNMV.js +175 -0
  10. package/out/renderer/assets/clojure-fcgFaMHx.js +762 -0
  11. package/out/renderer/assets/codicon-ngg6Pgfi.ttf +0 -0
  12. package/out/renderer/assets/coffee-CzJ5oEdj.js +233 -0
  13. package/out/renderer/assets/cpp-CcN6f0ik.js +390 -0
  14. package/out/renderer/assets/csharp-BJeIuvde.js +327 -0
  15. package/out/renderer/assets/csp-D_3BK2Wp.js +54 -0
  16. package/out/renderer/assets/css-i3rI3_64.js +186 -0
  17. package/out/renderer/assets/css.worker-umuuUiIb.js +53567 -0
  18. package/out/renderer/assets/cssMode-BlKZF8mS.js +208 -0
  19. package/out/renderer/assets/cypher-D0--_GAN.js +264 -0
  20. package/out/renderer/assets/dart-vLMHv35g.js +282 -0
  21. package/out/renderer/assets/dockerfile--oxj0cAH.js +131 -0
  22. package/out/renderer/assets/ecl-CeuUgzaZ.js +457 -0
  23. package/out/renderer/assets/editor.worker-CNgWLVu7.js +13695 -0
  24. package/out/renderer/assets/elixir-eLfY1jWH.js +570 -0
  25. package/out/renderer/assets/flow9-ZSTChSMd.js +143 -0
  26. package/out/renderer/assets/freemarker2-BTb0QKKy.js +995 -0
  27. package/out/renderer/assets/fsharp-D2uoxuLH.js +218 -0
  28. package/out/renderer/assets/go-brnMpFrj.js +219 -0
  29. package/out/renderer/assets/graphql-BeiGgjIU.js +152 -0
  30. package/out/renderer/assets/handlebars-DKVnkZoO.js +414 -0
  31. package/out/renderer/assets/hcl-CrX1Es2W.js +184 -0
  32. package/out/renderer/assets/html-DSHBWNSF.js +303 -0
  33. package/out/renderer/assets/html.worker-BT47iy49.js +29777 -0
  34. package/out/renderer/assets/htmlMode-hdSFcfq-.js +224 -0
  35. package/out/renderer/assets/index-ByP1RhpK.js +309272 -0
  36. package/out/renderer/assets/index-CgixHIqL.css +11502 -0
  37. package/out/renderer/assets/ini-BcQysCTb.js +72 -0
  38. package/out/renderer/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  39. package/out/renderer/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  40. package/out/renderer/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  41. package/out/renderer/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  42. package/out/renderer/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  43. package/out/renderer/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  44. package/out/renderer/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
  45. package/out/renderer/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
  46. package/out/renderer/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  47. package/out/renderer/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  48. package/out/renderer/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  49. package/out/renderer/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  50. package/out/renderer/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  51. package/out/renderer/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  52. package/out/renderer/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
  53. package/out/renderer/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
  54. package/out/renderer/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  55. package/out/renderer/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  56. package/out/renderer/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  57. package/out/renderer/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  58. package/out/renderer/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  59. package/out/renderer/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  60. package/out/renderer/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
  61. package/out/renderer/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
  62. package/out/renderer/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  63. package/out/renderer/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  64. package/out/renderer/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  65. package/out/renderer/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  66. package/out/renderer/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  67. package/out/renderer/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  68. package/out/renderer/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
  69. package/out/renderer/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
  70. package/out/renderer/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  71. package/out/renderer/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  72. package/out/renderer/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  73. package/out/renderer/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  74. package/out/renderer/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  75. package/out/renderer/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  76. package/out/renderer/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
  77. package/out/renderer/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  78. package/out/renderer/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  79. package/out/renderer/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  80. package/out/renderer/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  81. package/out/renderer/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  82. package/out/renderer/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  83. package/out/renderer/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  84. package/out/renderer/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
  85. package/out/renderer/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
  86. package/out/renderer/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  87. package/out/renderer/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  88. package/out/renderer/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  89. package/out/renderer/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  90. package/out/renderer/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  91. package/out/renderer/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  92. package/out/renderer/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
  93. package/out/renderer/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
  94. package/out/renderer/assets/java-Dt3iMn2o.js +233 -0
  95. package/out/renderer/assets/javascript-Ae6t5gfn.js +72 -0
  96. package/out/renderer/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  97. package/out/renderer/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  98. package/out/renderer/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff +0 -0
  99. package/out/renderer/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2 +0 -0
  100. package/out/renderer/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  101. package/out/renderer/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  102. package/out/renderer/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff +0 -0
  103. package/out/renderer/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2 +0 -0
  104. package/out/renderer/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  105. package/out/renderer/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  106. package/out/renderer/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  107. package/out/renderer/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  108. package/out/renderer/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  109. package/out/renderer/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  110. package/out/renderer/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2 +0 -0
  111. package/out/renderer/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff +0 -0
  112. package/out/renderer/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  113. package/out/renderer/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff +0 -0
  114. package/out/renderer/assets/json.worker-D4JVmXIe.js +21424 -0
  115. package/out/renderer/assets/jsonMode-B3dQSNhP.js +931 -0
  116. package/out/renderer/assets/julia-Cm3ItYL_.js +512 -0
  117. package/out/renderer/assets/kotlin-Ddo1SjA5.js +253 -0
  118. package/out/renderer/assets/less-B7Qaxw-O.js +162 -0
  119. package/out/renderer/assets/lexon-C1U0m2n9.js +158 -0
  120. package/out/renderer/assets/liquid-Zgyb8DZ5.js +235 -0
  121. package/out/renderer/assets/lspLanguageFeatures-CkDn9c2y.js +1841 -0
  122. package/out/renderer/assets/lua-hNsuGJkO.js +163 -0
  123. package/out/renderer/assets/m3-6ko6q9-_.js +211 -0
  124. package/out/renderer/assets/markdown-B0YTnTxW.js +230 -0
  125. package/out/renderer/assets/mdx-C8e8DFOf.js +159 -0
  126. package/out/renderer/assets/mips-CJm71dS3.js +199 -0
  127. package/out/renderer/assets/msdax-BBeIktCY.js +376 -0
  128. package/out/renderer/assets/mysql-BWiizXSn.js +879 -0
  129. package/out/renderer/assets/objective-c-B1L1C5EC.js +184 -0
  130. package/out/renderer/assets/pascal-DMQyD4Xk.js +252 -0
  131. package/out/renderer/assets/pascaligo-VA_LQ1oU.js +165 -0
  132. package/out/renderer/assets/perl-DC0Z0tlO.js +627 -0
  133. package/out/renderer/assets/pgsql-DaSGFTLp.js +852 -0
  134. package/out/renderer/assets/php-Bkx1qpkQ.js +501 -0
  135. package/out/renderer/assets/pla-DEV89yYj.js +138 -0
  136. package/out/renderer/assets/postiats-CVVurEnu.js +908 -0
  137. package/out/renderer/assets/powerquery-BQ_t1ZiQ.js +891 -0
  138. package/out/renderer/assets/powershell-BXiKvz7Z.js +240 -0
  139. package/out/renderer/assets/protobuf-CndvAUGu.js +421 -0
  140. package/out/renderer/assets/pug-BxCXwerb.js +403 -0
  141. package/out/renderer/assets/python-8eSQckTG.js +295 -0
  142. package/out/renderer/assets/qsharp-BWK6YLKm.js +302 -0
  143. package/out/renderer/assets/r-CtqYUQ6l.js +244 -0
  144. package/out/renderer/assets/razor-eAkN4Qfv.js +545 -0
  145. package/out/renderer/assets/redis-O7gSt3oh.js +303 -0
  146. package/out/renderer/assets/redshift-CvYMMYZY.js +810 -0
  147. package/out/renderer/assets/restructuredtext-B-KQCVu_.js +175 -0
  148. package/out/renderer/assets/ruby-DCd4DmAr.js +512 -0
  149. package/out/renderer/assets/rust-B1c0VCeq.js +344 -0
  150. package/out/renderer/assets/sb-Chfc_wZF.js +116 -0
  151. package/out/renderer/assets/scala-DbVzH-3O.js +371 -0
  152. package/out/renderer/assets/scheme-D7PxodDG.js +109 -0
  153. package/out/renderer/assets/scss-B42qMyAu.js +261 -0
  154. package/out/renderer/assets/shell-vZEubQ82.js +222 -0
  155. package/out/renderer/assets/solidity-yHOxYChb.js +1368 -0
  156. package/out/renderer/assets/sophia-D7pU0Y1d.js +200 -0
  157. package/out/renderer/assets/sparql-DxuVdnRl.js +202 -0
  158. package/out/renderer/assets/sql-BAGepFCR.js +854 -0
  159. package/out/renderer/assets/st-C-b0Dh53.js +417 -0
  160. package/out/renderer/assets/swift-BmOZGynf.js +313 -0
  161. package/out/renderer/assets/systemverilog-BOC0OOdC.js +577 -0
  162. package/out/renderer/assets/tcl-Bb4GCwBr.js +233 -0
  163. package/out/renderer/assets/ts.worker-C7hW3aY-.js +225330 -0
  164. package/out/renderer/assets/tsMode-D7ET908H.js +1265 -0
  165. package/out/renderer/assets/twig-DvgEGWAV.js +393 -0
  166. package/out/renderer/assets/typescript-BhqUlrW4.js +337 -0
  167. package/out/renderer/assets/typespec-R77Ln7Jb.js +128 -0
  168. package/out/renderer/assets/vb-Bm6ESA0Q.js +373 -0
  169. package/out/renderer/assets/wgsl-_KPae5vw.js +454 -0
  170. package/out/renderer/assets/xml-Bg3Ctug6.js +89 -0
  171. package/out/renderer/assets/yaml-C9aCL4uU.js +200 -0
  172. package/out/renderer/index.html +13 -0
  173. package/package.json +110 -0
@@ -0,0 +1,331 @@
1
+ const conf = {
2
+ // the default separators except `@$`
3
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
4
+ comments: {
5
+ lineComment: "//",
6
+ blockComment: ["/*", "*/"]
7
+ },
8
+ brackets: [
9
+ ["{", "}"],
10
+ ["[", "]"],
11
+ ["(", ")"]
12
+ ],
13
+ autoClosingPairs: [
14
+ { open: "{", close: "}" },
15
+ { open: "[", close: "]" },
16
+ { open: "(", close: ")" },
17
+ { open: '"', close: '"' },
18
+ { open: "'", close: "'" }
19
+ ],
20
+ surroundingPairs: [
21
+ { open: "{", close: "}" },
22
+ { open: "[", close: "]" },
23
+ { open: "(", close: ")" },
24
+ { open: '"', close: '"' },
25
+ { open: "'", close: "'" },
26
+ { open: "<", close: ">" }
27
+ ],
28
+ folding: {
29
+ markers: {
30
+ start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
31
+ end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
32
+ }
33
+ }
34
+ };
35
+ const keywords = [
36
+ "abstract",
37
+ "activate",
38
+ "and",
39
+ "any",
40
+ "array",
41
+ "as",
42
+ "asc",
43
+ "assert",
44
+ "autonomous",
45
+ "begin",
46
+ "bigdecimal",
47
+ "blob",
48
+ "boolean",
49
+ "break",
50
+ "bulk",
51
+ "by",
52
+ "case",
53
+ "cast",
54
+ "catch",
55
+ "char",
56
+ "class",
57
+ "collect",
58
+ "commit",
59
+ "const",
60
+ "continue",
61
+ "convertcurrency",
62
+ "decimal",
63
+ "default",
64
+ "delete",
65
+ "desc",
66
+ "do",
67
+ "double",
68
+ "else",
69
+ "end",
70
+ "enum",
71
+ "exception",
72
+ "exit",
73
+ "export",
74
+ "extends",
75
+ "false",
76
+ "final",
77
+ "finally",
78
+ "float",
79
+ "for",
80
+ "from",
81
+ "future",
82
+ "get",
83
+ "global",
84
+ "goto",
85
+ "group",
86
+ "having",
87
+ "hint",
88
+ "if",
89
+ "implements",
90
+ "import",
91
+ "in",
92
+ "inner",
93
+ "insert",
94
+ "instanceof",
95
+ "int",
96
+ "interface",
97
+ "into",
98
+ "join",
99
+ "last_90_days",
100
+ "last_month",
101
+ "last_n_days",
102
+ "last_week",
103
+ "like",
104
+ "limit",
105
+ "list",
106
+ "long",
107
+ "loop",
108
+ "map",
109
+ "merge",
110
+ "native",
111
+ "new",
112
+ "next_90_days",
113
+ "next_month",
114
+ "next_n_days",
115
+ "next_week",
116
+ "not",
117
+ "null",
118
+ "nulls",
119
+ "number",
120
+ "object",
121
+ "of",
122
+ "on",
123
+ "or",
124
+ "outer",
125
+ "override",
126
+ "package",
127
+ "parallel",
128
+ "pragma",
129
+ "private",
130
+ "protected",
131
+ "public",
132
+ "retrieve",
133
+ "return",
134
+ "returning",
135
+ "rollback",
136
+ "savepoint",
137
+ "search",
138
+ "select",
139
+ "set",
140
+ "short",
141
+ "sort",
142
+ "stat",
143
+ "static",
144
+ "strictfp",
145
+ "super",
146
+ "switch",
147
+ "synchronized",
148
+ "system",
149
+ "testmethod",
150
+ "then",
151
+ "this",
152
+ "this_month",
153
+ "this_week",
154
+ "throw",
155
+ "throws",
156
+ "today",
157
+ "tolabel",
158
+ "tomorrow",
159
+ "transaction",
160
+ "transient",
161
+ "trigger",
162
+ "true",
163
+ "try",
164
+ "type",
165
+ "undelete",
166
+ "update",
167
+ "upsert",
168
+ "using",
169
+ "virtual",
170
+ "void",
171
+ "volatile",
172
+ "webservice",
173
+ "when",
174
+ "where",
175
+ "while",
176
+ "yesterday"
177
+ ];
178
+ const uppercaseFirstLetter = (lowercase) => lowercase.charAt(0).toUpperCase() + lowercase.substr(1);
179
+ let keywordsWithCaseVariations = [];
180
+ keywords.forEach((lowercase) => {
181
+ keywordsWithCaseVariations.push(lowercase);
182
+ keywordsWithCaseVariations.push(lowercase.toUpperCase());
183
+ keywordsWithCaseVariations.push(uppercaseFirstLetter(lowercase));
184
+ });
185
+ const language = {
186
+ defaultToken: "",
187
+ tokenPostfix: ".apex",
188
+ keywords: keywordsWithCaseVariations,
189
+ operators: [
190
+ "=",
191
+ ">",
192
+ "<",
193
+ "!",
194
+ "~",
195
+ "?",
196
+ ":",
197
+ "==",
198
+ "<=",
199
+ ">=",
200
+ "!=",
201
+ "&&",
202
+ "||",
203
+ "++",
204
+ "--",
205
+ "+",
206
+ "-",
207
+ "*",
208
+ "/",
209
+ "&",
210
+ "|",
211
+ "^",
212
+ "%",
213
+ "<<",
214
+ ">>",
215
+ ">>>",
216
+ "+=",
217
+ "-=",
218
+ "*=",
219
+ "/=",
220
+ "&=",
221
+ "|=",
222
+ "^=",
223
+ "%=",
224
+ "<<=",
225
+ ">>=",
226
+ ">>>="
227
+ ],
228
+ // we include these common regular expressions
229
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
230
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
231
+ digits: /\d+(_+\d+)*/,
232
+ octaldigits: /[0-7]+(_+[0-7]+)*/,
233
+ binarydigits: /[0-1]+(_+[0-1]+)*/,
234
+ hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
235
+ // The main tokenizer for our languages
236
+ tokenizer: {
237
+ root: [
238
+ // identifiers and keywords
239
+ [
240
+ /[a-z_$][\w$]*/,
241
+ {
242
+ cases: {
243
+ "@keywords": { token: "keyword.$0" },
244
+ "@default": "identifier"
245
+ }
246
+ }
247
+ ],
248
+ // assume that identifiers starting with an uppercase letter are types
249
+ [
250
+ /[A-Z][\w\$]*/,
251
+ {
252
+ cases: {
253
+ "@keywords": { token: "keyword.$0" },
254
+ "@default": "type.identifier"
255
+ }
256
+ }
257
+ ],
258
+ // whitespace
259
+ { include: "@whitespace" },
260
+ // delimiters and operators
261
+ [/[{}()\[\]]/, "@brackets"],
262
+ [/[<>](?!@symbols)/, "@brackets"],
263
+ [
264
+ /@symbols/,
265
+ {
266
+ cases: {
267
+ "@operators": "delimiter",
268
+ "@default": ""
269
+ }
270
+ }
271
+ ],
272
+ // @ annotations.
273
+ [/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
274
+ // numbers
275
+ [/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"],
276
+ [/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"],
277
+ [/(@digits)[fFdD]/, "number.float"],
278
+ [/(@digits)[lL]?/, "number"],
279
+ // delimiter: after number because of .\d floats
280
+ [/[;,.]/, "delimiter"],
281
+ // strings
282
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
283
+ // non-teminated string
284
+ [/'([^'\\]|\\.)*$/, "string.invalid"],
285
+ // non-teminated string
286
+ [/"/, "string", '@string."'],
287
+ [/'/, "string", "@string.'"],
288
+ // characters
289
+ [/'[^\\']'/, "string"],
290
+ [/(')(@escapes)(')/, ["string", "string.escape", "string"]],
291
+ [/'/, "string.invalid"]
292
+ ],
293
+ whitespace: [
294
+ [/[ \t\r\n]+/, ""],
295
+ [/\/\*\*(?!\/)/, "comment.doc", "@apexdoc"],
296
+ [/\/\*/, "comment", "@comment"],
297
+ [/\/\/.*$/, "comment"]
298
+ ],
299
+ comment: [
300
+ [/[^\/*]+/, "comment"],
301
+ // [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
302
+ // [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
303
+ [/\*\//, "comment", "@pop"],
304
+ [/[\/*]/, "comment"]
305
+ ],
306
+ //Identical copy of comment above, except for the addition of .doc
307
+ apexdoc: [
308
+ [/[^\/*]+/, "comment.doc"],
309
+ [/\*\//, "comment.doc", "@pop"],
310
+ [/[\/*]/, "comment.doc"]
311
+ ],
312
+ string: [
313
+ [/[^\\"']+/, "string"],
314
+ [/@escapes/, "string.escape"],
315
+ [/\\./, "string.escape.invalid"],
316
+ [
317
+ /["']/,
318
+ {
319
+ cases: {
320
+ "$#==$S2": { token: "string", next: "@pop" },
321
+ "@default": "string"
322
+ }
323
+ }
324
+ ]
325
+ ]
326
+ }
327
+ };
328
+ export {
329
+ conf,
330
+ language
331
+ };
@@ -0,0 +1,69 @@
1
+ const conf = {
2
+ comments: {
3
+ lineComment: "#"
4
+ }
5
+ };
6
+ const language = {
7
+ defaultToken: "keyword",
8
+ ignoreCase: true,
9
+ tokenPostfix: ".azcli",
10
+ str: /[^#\s]/,
11
+ tokenizer: {
12
+ root: [
13
+ { include: "@comment" },
14
+ [
15
+ /\s-+@str*\s*/,
16
+ {
17
+ cases: {
18
+ "@eos": { token: "key.identifier", next: "@popall" },
19
+ "@default": { token: "key.identifier", next: "@type" }
20
+ }
21
+ }
22
+ ],
23
+ [
24
+ /^-+@str*\s*/,
25
+ {
26
+ cases: {
27
+ "@eos": { token: "key.identifier", next: "@popall" },
28
+ "@default": { token: "key.identifier", next: "@type" }
29
+ }
30
+ }
31
+ ]
32
+ ],
33
+ type: [
34
+ { include: "@comment" },
35
+ [
36
+ /-+@str*\s*/,
37
+ {
38
+ cases: {
39
+ "@eos": { token: "key.identifier", next: "@popall" },
40
+ "@default": "key.identifier"
41
+ }
42
+ }
43
+ ],
44
+ [
45
+ /@str+\s*/,
46
+ {
47
+ cases: {
48
+ "@eos": { token: "string", next: "@popall" },
49
+ "@default": "string"
50
+ }
51
+ }
52
+ ]
53
+ ],
54
+ comment: [
55
+ [
56
+ /#.*$/,
57
+ {
58
+ cases: {
59
+ "@eos": { token: "comment", next: "@popall" }
60
+ }
61
+ }
62
+ ]
63
+ ]
64
+ }
65
+ };
66
+ export {
67
+ conf,
68
+ language
69
+ };
@@ -0,0 +1,101 @@
1
+ const conf = {
2
+ comments: {
3
+ lineComment: "REM"
4
+ },
5
+ brackets: [
6
+ ["{", "}"],
7
+ ["[", "]"],
8
+ ["(", ")"]
9
+ ],
10
+ autoClosingPairs: [
11
+ { open: "{", close: "}" },
12
+ { open: "[", close: "]" },
13
+ { open: "(", close: ")" },
14
+ { open: '"', close: '"' }
15
+ ],
16
+ surroundingPairs: [
17
+ { open: "[", close: "]" },
18
+ { open: "(", close: ")" },
19
+ { open: '"', close: '"' }
20
+ ],
21
+ folding: {
22
+ markers: {
23
+ start: new RegExp("^\\s*(::\\s*|REM\\s+)#region"),
24
+ end: new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")
25
+ }
26
+ }
27
+ };
28
+ const language = {
29
+ defaultToken: "",
30
+ ignoreCase: true,
31
+ tokenPostfix: ".bat",
32
+ brackets: [
33
+ { token: "delimiter.bracket", open: "{", close: "}" },
34
+ { token: "delimiter.parenthesis", open: "(", close: ")" },
35
+ { token: "delimiter.square", open: "[", close: "]" }
36
+ ],
37
+ keywords: /call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,
38
+ // we include these common regular expressions
39
+ symbols: /[=><!~?&|+\-*\/\^;\.,]+/,
40
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
41
+ // The main tokenizer for our languages
42
+ tokenizer: {
43
+ root: [
44
+ [/^(\s*)(rem(?:\s.*|))$/, ["", "comment"]],
45
+ [/(\@?)(@keywords)(?!\w)/, [{ token: "keyword" }, { token: "keyword.$2" }]],
46
+ // whitespace
47
+ [/[ \t\r\n]+/, ""],
48
+ // blocks
49
+ [/setlocal(?!\w)/, "keyword.tag-setlocal"],
50
+ [/endlocal(?!\w)/, "keyword.tag-setlocal"],
51
+ // words
52
+ [/[a-zA-Z_]\w*/, ""],
53
+ // labels
54
+ [/:\w*/, "metatag"],
55
+ // variables
56
+ [/%[^%]+%/, "variable"],
57
+ [/%%[\w]+(?!\w)/, "variable"],
58
+ // punctuations
59
+ [/[{}()\[\]]/, "@brackets"],
60
+ [/@symbols/, "delimiter"],
61
+ // numbers
62
+ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
63
+ [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
64
+ [/\d+/, "number"],
65
+ // punctuation: after number because of .\d floats
66
+ [/[;,.]/, "delimiter"],
67
+ // strings:
68
+ [/"/, "string", '@string."'],
69
+ [/'/, "string", "@string.'"]
70
+ ],
71
+ string: [
72
+ [
73
+ /[^\\"'%]+/,
74
+ {
75
+ cases: {
76
+ "@eos": { token: "string", next: "@popall" },
77
+ "@default": "string"
78
+ }
79
+ }
80
+ ],
81
+ [/@escapes/, "string.escape"],
82
+ [/\\./, "string.escape.invalid"],
83
+ [/%[\w ]+%/, "variable"],
84
+ [/%%[\w]+(?!\w)/, "variable"],
85
+ [
86
+ /["']/,
87
+ {
88
+ cases: {
89
+ "$#==$S2": { token: "string", next: "@pop" },
90
+ "@default": "string"
91
+ }
92
+ }
93
+ ],
94
+ [/$/, "string", "@popall"]
95
+ ]
96
+ }
97
+ };
98
+ export {
99
+ conf,
100
+ language
101
+ };
@@ -0,0 +1,110 @@
1
+ const bounded = (text) => `\\b${text}\\b`;
2
+ const identifierStart = "[_a-zA-Z]";
3
+ const identifierContinue = "[_a-zA-Z0-9]";
4
+ const identifier = bounded(`${identifierStart}${identifierContinue}*`);
5
+ const keywords = [
6
+ "targetScope",
7
+ "resource",
8
+ "module",
9
+ "param",
10
+ "var",
11
+ "output",
12
+ "for",
13
+ "in",
14
+ "if",
15
+ "existing"
16
+ ];
17
+ const namedLiterals = ["true", "false", "null"];
18
+ const nonCommentWs = `[ \\t\\r\\n]`;
19
+ const numericLiteral = `[0-9]+`;
20
+ const conf = {
21
+ comments: {
22
+ lineComment: "//",
23
+ blockComment: ["/*", "*/"]
24
+ },
25
+ brackets: [
26
+ ["{", "}"],
27
+ ["[", "]"],
28
+ ["(", ")"]
29
+ ],
30
+ surroundingPairs: [
31
+ { open: "{", close: "}" },
32
+ { open: "[", close: "]" },
33
+ { open: "(", close: ")" },
34
+ { open: "'", close: "'" },
35
+ { open: "'''", close: "'''" }
36
+ ],
37
+ autoClosingPairs: [
38
+ { open: "{", close: "}" },
39
+ { open: "[", close: "]" },
40
+ { open: "(", close: ")" },
41
+ { open: "'", close: "'", notIn: ["string", "comment"] },
42
+ { open: "'''", close: "'''", notIn: ["string", "comment"] }
43
+ ],
44
+ autoCloseBefore: ":.,=}])' \n ",
45
+ indentationRules: {
46
+ increaseIndentPattern: new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),
47
+ decreaseIndentPattern: new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")
48
+ }
49
+ };
50
+ const language = {
51
+ defaultToken: "",
52
+ tokenPostfix: ".bicep",
53
+ brackets: [
54
+ { open: "{", close: "}", token: "delimiter.curly" },
55
+ { open: "[", close: "]", token: "delimiter.square" },
56
+ { open: "(", close: ")", token: "delimiter.parenthesis" }
57
+ ],
58
+ symbols: /[=><!~?:&|+\-*/^%]+/,
59
+ keywords,
60
+ namedLiterals,
61
+ escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,
62
+ tokenizer: {
63
+ root: [{ include: "@expression" }, { include: "@whitespace" }],
64
+ stringVerbatim: [
65
+ { regex: `(|'|'')[^']`, action: { token: "string" } },
66
+ { regex: `'''`, action: { token: "string.quote", next: "@pop" } }
67
+ ],
68
+ stringLiteral: [
69
+ { regex: `\\\${`, action: { token: "delimiter.bracket", next: "@bracketCounting" } },
70
+ { regex: `[^\\\\'$]+`, action: { token: "string" } },
71
+ { regex: "@escapes", action: { token: "string.escape" } },
72
+ { regex: `\\\\.`, action: { token: "string.escape.invalid" } },
73
+ { regex: `'`, action: { token: "string", next: "@pop" } }
74
+ ],
75
+ bracketCounting: [
76
+ { regex: `{`, action: { token: "delimiter.bracket", next: "@bracketCounting" } },
77
+ { regex: `}`, action: { token: "delimiter.bracket", next: "@pop" } },
78
+ { include: "expression" }
79
+ ],
80
+ comment: [
81
+ { regex: `[^\\*]+`, action: { token: "comment" } },
82
+ { regex: `\\*\\/`, action: { token: "comment", next: "@pop" } },
83
+ { regex: `[\\/*]`, action: { token: "comment" } }
84
+ ],
85
+ whitespace: [
86
+ { regex: nonCommentWs },
87
+ { regex: `\\/\\*`, action: { token: "comment", next: "@comment" } },
88
+ { regex: `\\/\\/.*$`, action: { token: "comment" } }
89
+ ],
90
+ expression: [
91
+ { regex: `'''`, action: { token: "string.quote", next: "@stringVerbatim" } },
92
+ { regex: `'`, action: { token: "string.quote", next: "@stringLiteral" } },
93
+ { regex: numericLiteral, action: { token: "number" } },
94
+ {
95
+ regex: identifier,
96
+ action: {
97
+ cases: {
98
+ "@keywords": { token: "keyword" },
99
+ "@namedLiterals": { token: "keyword" },
100
+ "@default": { token: "identifier" }
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ }
106
+ };
107
+ export {
108
+ conf,
109
+ language
110
+ };