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,344 @@
1
+ const conf = {
2
+ comments: {
3
+ lineComment: "//",
4
+ blockComment: ["/*", "*/"]
5
+ },
6
+ brackets: [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ autoClosingPairs: [
12
+ { open: "[", close: "]" },
13
+ { open: "{", close: "}" },
14
+ { open: "(", close: ")" },
15
+ { open: '"', close: '"', notIn: ["string"] }
16
+ ],
17
+ surroundingPairs: [
18
+ { open: "{", close: "}" },
19
+ { open: "[", close: "]" },
20
+ { open: "(", close: ")" },
21
+ { open: '"', close: '"' },
22
+ { open: "'", close: "'" }
23
+ ],
24
+ folding: {
25
+ markers: {
26
+ start: new RegExp("^\\s*#pragma\\s+region\\b"),
27
+ end: new RegExp("^\\s*#pragma\\s+endregion\\b")
28
+ }
29
+ }
30
+ };
31
+ const language = {
32
+ tokenPostfix: ".rust",
33
+ defaultToken: "invalid",
34
+ keywords: [
35
+ "as",
36
+ "async",
37
+ "await",
38
+ "box",
39
+ "break",
40
+ "const",
41
+ "continue",
42
+ "crate",
43
+ "dyn",
44
+ "else",
45
+ "enum",
46
+ "extern",
47
+ "false",
48
+ "fn",
49
+ "for",
50
+ "if",
51
+ "impl",
52
+ "in",
53
+ "let",
54
+ "loop",
55
+ "match",
56
+ "mod",
57
+ "move",
58
+ "mut",
59
+ "pub",
60
+ "ref",
61
+ "return",
62
+ "self",
63
+ "static",
64
+ "struct",
65
+ "super",
66
+ "trait",
67
+ "true",
68
+ "try",
69
+ "type",
70
+ "unsafe",
71
+ "use",
72
+ "where",
73
+ "while",
74
+ "catch",
75
+ "default",
76
+ "union",
77
+ "static",
78
+ "abstract",
79
+ "alignof",
80
+ "become",
81
+ "do",
82
+ "final",
83
+ "macro",
84
+ "offsetof",
85
+ "override",
86
+ "priv",
87
+ "proc",
88
+ "pure",
89
+ "sizeof",
90
+ "typeof",
91
+ "unsized",
92
+ "virtual",
93
+ "yield"
94
+ ],
95
+ typeKeywords: [
96
+ "Self",
97
+ "m32",
98
+ "m64",
99
+ "m128",
100
+ "f80",
101
+ "f16",
102
+ "f128",
103
+ "int",
104
+ "uint",
105
+ "float",
106
+ "char",
107
+ "bool",
108
+ "u8",
109
+ "u16",
110
+ "u32",
111
+ "u64",
112
+ "f32",
113
+ "f64",
114
+ "i8",
115
+ "i16",
116
+ "i32",
117
+ "i64",
118
+ "str",
119
+ "Option",
120
+ "Either",
121
+ "c_float",
122
+ "c_double",
123
+ "c_void",
124
+ "FILE",
125
+ "fpos_t",
126
+ "DIR",
127
+ "dirent",
128
+ "c_char",
129
+ "c_schar",
130
+ "c_uchar",
131
+ "c_short",
132
+ "c_ushort",
133
+ "c_int",
134
+ "c_uint",
135
+ "c_long",
136
+ "c_ulong",
137
+ "size_t",
138
+ "ptrdiff_t",
139
+ "clock_t",
140
+ "time_t",
141
+ "c_longlong",
142
+ "c_ulonglong",
143
+ "intptr_t",
144
+ "uintptr_t",
145
+ "off_t",
146
+ "dev_t",
147
+ "ino_t",
148
+ "pid_t",
149
+ "mode_t",
150
+ "ssize_t"
151
+ ],
152
+ constants: ["true", "false", "Some", "None", "Left", "Right", "Ok", "Err"],
153
+ supportConstants: [
154
+ "EXIT_FAILURE",
155
+ "EXIT_SUCCESS",
156
+ "RAND_MAX",
157
+ "EOF",
158
+ "SEEK_SET",
159
+ "SEEK_CUR",
160
+ "SEEK_END",
161
+ "_IOFBF",
162
+ "_IONBF",
163
+ "_IOLBF",
164
+ "BUFSIZ",
165
+ "FOPEN_MAX",
166
+ "FILENAME_MAX",
167
+ "L_tmpnam",
168
+ "TMP_MAX",
169
+ "O_RDONLY",
170
+ "O_WRONLY",
171
+ "O_RDWR",
172
+ "O_APPEND",
173
+ "O_CREAT",
174
+ "O_EXCL",
175
+ "O_TRUNC",
176
+ "S_IFIFO",
177
+ "S_IFCHR",
178
+ "S_IFBLK",
179
+ "S_IFDIR",
180
+ "S_IFREG",
181
+ "S_IFMT",
182
+ "S_IEXEC",
183
+ "S_IWRITE",
184
+ "S_IREAD",
185
+ "S_IRWXU",
186
+ "S_IXUSR",
187
+ "S_IWUSR",
188
+ "S_IRUSR",
189
+ "F_OK",
190
+ "R_OK",
191
+ "W_OK",
192
+ "X_OK",
193
+ "STDIN_FILENO",
194
+ "STDOUT_FILENO",
195
+ "STDERR_FILENO"
196
+ ],
197
+ supportMacros: [
198
+ "format!",
199
+ "print!",
200
+ "println!",
201
+ "panic!",
202
+ "format_args!",
203
+ "unreachable!",
204
+ "write!",
205
+ "writeln!"
206
+ ],
207
+ operators: [
208
+ "!",
209
+ "!=",
210
+ "%",
211
+ "%=",
212
+ "&",
213
+ "&=",
214
+ "&&",
215
+ "*",
216
+ "*=",
217
+ "+",
218
+ "+=",
219
+ "-",
220
+ "-=",
221
+ "->",
222
+ ".",
223
+ "..",
224
+ "...",
225
+ "/",
226
+ "/=",
227
+ ":",
228
+ ";",
229
+ "<<",
230
+ "<<=",
231
+ "<",
232
+ "<=",
233
+ "=",
234
+ "==",
235
+ "=>",
236
+ ">",
237
+ ">=",
238
+ ">>",
239
+ ">>=",
240
+ "@",
241
+ "^",
242
+ "^=",
243
+ "|",
244
+ "|=",
245
+ "||",
246
+ "_",
247
+ "?",
248
+ "#"
249
+ ],
250
+ escapes: /\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,
251
+ delimiters: /[,]/,
252
+ symbols: /[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,
253
+ intSuffixes: /[iu](8|16|32|64|128|size)/,
254
+ floatSuffixes: /f(32|64)/,
255
+ tokenizer: {
256
+ root: [
257
+ // Raw string literals
258
+ [/r(#*)"/, { token: "string.quote", bracket: "@open", next: "@stringraw.$1" }],
259
+ [
260
+ /[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,
261
+ {
262
+ cases: {
263
+ "@typeKeywords": "keyword.type",
264
+ "@keywords": "keyword",
265
+ "@supportConstants": "keyword",
266
+ "@supportMacros": "keyword",
267
+ "@constants": "keyword",
268
+ "@default": "identifier"
269
+ }
270
+ }
271
+ ],
272
+ // Designator
273
+ [/\$/, "identifier"],
274
+ // Lifetime annotations
275
+ [/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/, "identifier"],
276
+ // Byte literal
277
+ [/'(\S|@escapes)'/, "string.byteliteral"],
278
+ // Strings
279
+ [/"/, { token: "string.quote", bracket: "@open", next: "@string" }],
280
+ { include: "@numbers" },
281
+ // Whitespace + comments
282
+ { include: "@whitespace" },
283
+ [
284
+ /@delimiters/,
285
+ {
286
+ cases: {
287
+ "@keywords": "keyword",
288
+ "@default": "delimiter"
289
+ }
290
+ }
291
+ ],
292
+ [/[{}()\[\]<>]/, "@brackets"],
293
+ [/@symbols/, { cases: { "@operators": "operator", "@default": "" } }]
294
+ ],
295
+ whitespace: [
296
+ [/[ \t\r\n]+/, "white"],
297
+ [/\/\*/, "comment", "@comment"],
298
+ [/\/\/.*$/, "comment"]
299
+ ],
300
+ comment: [
301
+ [/[^\/*]+/, "comment"],
302
+ [/\/\*/, "comment", "@push"],
303
+ ["\\*/", "comment", "@pop"],
304
+ [/[\/*]/, "comment"]
305
+ ],
306
+ string: [
307
+ [/[^\\"]+/, "string"],
308
+ [/@escapes/, "string.escape"],
309
+ [/\\./, "string.escape.invalid"],
310
+ [/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
311
+ ],
312
+ stringraw: [
313
+ [/[^"#]+/, { token: "string" }],
314
+ [
315
+ /"(#*)/,
316
+ {
317
+ cases: {
318
+ "$1==$S2": { token: "string.quote", bracket: "@close", next: "@pop" },
319
+ "@default": { token: "string" }
320
+ }
321
+ }
322
+ ],
323
+ [/["#]/, { token: "string" }]
324
+ ],
325
+ numbers: [
326
+ //Octal
327
+ [/(0o[0-7_]+)(@intSuffixes)?/, { token: "number" }],
328
+ //Binary
329
+ [/(0b[0-1_]+)(@intSuffixes)?/, { token: "number" }],
330
+ //Exponent
331
+ [/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/, { token: "number" }],
332
+ //Float
333
+ [/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/, { token: "number" }],
334
+ //Hexadecimal
335
+ [/(0x[\da-fA-F]+)_?(@intSuffixes)?/, { token: "number" }],
336
+ //Integer
337
+ [/[\d][\d_]*(@intSuffixes?)?/, { token: "number" }]
338
+ ]
339
+ }
340
+ };
341
+ export {
342
+ conf,
343
+ language
344
+ };
@@ -0,0 +1,116 @@
1
+ const conf = {
2
+ comments: {
3
+ lineComment: "'"
4
+ },
5
+ brackets: [
6
+ ["(", ")"],
7
+ ["[", "]"],
8
+ ["If", "EndIf"],
9
+ ["While", "EndWhile"],
10
+ ["For", "EndFor"],
11
+ ["Sub", "EndSub"]
12
+ ],
13
+ autoClosingPairs: [
14
+ { open: '"', close: '"', notIn: ["string", "comment"] },
15
+ { open: "(", close: ")", notIn: ["string", "comment"] },
16
+ { open: "[", close: "]", notIn: ["string", "comment"] }
17
+ ]
18
+ };
19
+ const language = {
20
+ defaultToken: "",
21
+ tokenPostfix: ".sb",
22
+ ignoreCase: true,
23
+ brackets: [
24
+ { token: "delimiter.array", open: "[", close: "]" },
25
+ { token: "delimiter.parenthesis", open: "(", close: ")" },
26
+ // Special bracket statement pairs
27
+ { token: "keyword.tag-if", open: "If", close: "EndIf" },
28
+ { token: "keyword.tag-while", open: "While", close: "EndWhile" },
29
+ { token: "keyword.tag-for", open: "For", close: "EndFor" },
30
+ { token: "keyword.tag-sub", open: "Sub", close: "EndSub" }
31
+ ],
32
+ keywords: [
33
+ "Else",
34
+ "ElseIf",
35
+ "EndFor",
36
+ "EndIf",
37
+ "EndSub",
38
+ "EndWhile",
39
+ "For",
40
+ "Goto",
41
+ "If",
42
+ "Step",
43
+ "Sub",
44
+ "Then",
45
+ "To",
46
+ "While"
47
+ ],
48
+ tagwords: ["If", "Sub", "While", "For"],
49
+ operators: [">", "<", "<>", "<=", ">=", "And", "Or", "+", "-", "*", "/", "="],
50
+ // we include these common regular expressions
51
+ identifier: /[a-zA-Z_][\w]*/,
52
+ symbols: /[=><:+\-*\/%\.,]+/,
53
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
54
+ // The main tokenizer for our languages
55
+ tokenizer: {
56
+ root: [
57
+ // whitespace
58
+ { include: "@whitespace" },
59
+ // classes
60
+ [/(@identifier)(?=[.])/, "type"],
61
+ // identifiers, tagwords, and keywords
62
+ [
63
+ /@identifier/,
64
+ {
65
+ cases: {
66
+ "@keywords": { token: "keyword.$0" },
67
+ "@operators": "operator",
68
+ "@default": "variable.name"
69
+ }
70
+ }
71
+ ],
72
+ // methods, properties, and events
73
+ [
74
+ /([.])(@identifier)/,
75
+ {
76
+ cases: {
77
+ $2: ["delimiter", "type.member"],
78
+ "@default": ""
79
+ }
80
+ }
81
+ ],
82
+ // numbers
83
+ [/\d*\.\d+/, "number.float"],
84
+ [/\d+/, "number"],
85
+ // delimiters and operators
86
+ [/[()\[\]]/, "@brackets"],
87
+ [
88
+ /@symbols/,
89
+ {
90
+ cases: {
91
+ "@operators": "operator",
92
+ "@default": "delimiter"
93
+ }
94
+ }
95
+ ],
96
+ // strings
97
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
98
+ // non-teminated string
99
+ [/"/, "string", "@string"]
100
+ ],
101
+ whitespace: [
102
+ [/[ \t\r\n]+/, ""],
103
+ [/(\').*$/, "comment"]
104
+ ],
105
+ string: [
106
+ [/[^\\"]+/, "string"],
107
+ [/@escapes/, "string.escape"],
108
+ [/\\./, "string.escape.invalid"],
109
+ [/"C?/, "string", "@pop"]
110
+ ]
111
+ }
112
+ };
113
+ export {
114
+ conf,
115
+ language
116
+ };