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,208 @@
1
+ import { c as createWebWorker, l as languages } from "./index-ByP1RhpK.js";
2
+ import { C as CompletionAdapter, H as HoverAdapter, D as DocumentHighlightAdapter, a as DefinitionAdapter, R as ReferenceAdapter, b as DocumentSymbolAdapter, c as RenameAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, e as DiagnosticsAdapter, S as SelectionRangeAdapter, f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider } from "./lspLanguageFeatures-CkDn9c2y.js";
3
+ import { h, i, j, t, k } from "./lspLanguageFeatures-CkDn9c2y.js";
4
+ const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
5
+ class WorkerManager {
6
+ constructor(defaults) {
7
+ this._defaults = defaults;
8
+ this._worker = null;
9
+ this._client = null;
10
+ this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
11
+ this._lastUsedTime = 0;
12
+ this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
13
+ }
14
+ _stopWorker() {
15
+ if (this._worker) {
16
+ this._worker.dispose();
17
+ this._worker = null;
18
+ }
19
+ this._client = null;
20
+ }
21
+ dispose() {
22
+ clearInterval(this._idleCheckInterval);
23
+ this._configChangeListener.dispose();
24
+ this._stopWorker();
25
+ }
26
+ _checkIfIdle() {
27
+ if (!this._worker) {
28
+ return;
29
+ }
30
+ let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
31
+ if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
32
+ this._stopWorker();
33
+ }
34
+ }
35
+ _getClient() {
36
+ this._lastUsedTime = Date.now();
37
+ if (!this._client) {
38
+ this._worker = createWebWorker({
39
+ // module that exports the create() method and returns a `CSSWorker` instance
40
+ moduleId: "vs/language/css/cssWorker",
41
+ createWorker: () => new Worker(new URL(
42
+ /* @vite-ignore */
43
+ "" + new URL("css.worker-umuuUiIb.js", import.meta.url).href,
44
+ import.meta.url
45
+ ), { type: "module" }),
46
+ label: this._defaults.languageId,
47
+ // passed in to the create() method
48
+ createData: {
49
+ options: this._defaults.options,
50
+ languageId: this._defaults.languageId
51
+ }
52
+ });
53
+ this._client = this._worker.getProxy();
54
+ }
55
+ return this._client;
56
+ }
57
+ getLanguageServiceWorker(...resources) {
58
+ let _client;
59
+ return this._getClient().then((client) => {
60
+ _client = client;
61
+ }).then((_) => {
62
+ if (this._worker) {
63
+ return this._worker.withSyncedResources(resources);
64
+ }
65
+ }).then((_) => _client);
66
+ }
67
+ }
68
+ function setupMode(defaults) {
69
+ const disposables = [];
70
+ const providers = [];
71
+ const client = new WorkerManager(defaults);
72
+ disposables.push(client);
73
+ const worker = (...uris) => {
74
+ return client.getLanguageServiceWorker(...uris);
75
+ };
76
+ function registerProviders() {
77
+ const { languageId, modeConfiguration } = defaults;
78
+ disposeAll(providers);
79
+ if (modeConfiguration.completionItems) {
80
+ providers.push(
81
+ languages.registerCompletionItemProvider(
82
+ languageId,
83
+ new CompletionAdapter(worker, ["/", "-", ":"])
84
+ )
85
+ );
86
+ }
87
+ if (modeConfiguration.hovers) {
88
+ providers.push(
89
+ languages.registerHoverProvider(languageId, new HoverAdapter(worker))
90
+ );
91
+ }
92
+ if (modeConfiguration.documentHighlights) {
93
+ providers.push(
94
+ languages.registerDocumentHighlightProvider(
95
+ languageId,
96
+ new DocumentHighlightAdapter(worker)
97
+ )
98
+ );
99
+ }
100
+ if (modeConfiguration.definitions) {
101
+ providers.push(
102
+ languages.registerDefinitionProvider(
103
+ languageId,
104
+ new DefinitionAdapter(worker)
105
+ )
106
+ );
107
+ }
108
+ if (modeConfiguration.references) {
109
+ providers.push(
110
+ languages.registerReferenceProvider(
111
+ languageId,
112
+ new ReferenceAdapter(worker)
113
+ )
114
+ );
115
+ }
116
+ if (modeConfiguration.documentSymbols) {
117
+ providers.push(
118
+ languages.registerDocumentSymbolProvider(
119
+ languageId,
120
+ new DocumentSymbolAdapter(worker)
121
+ )
122
+ );
123
+ }
124
+ if (modeConfiguration.rename) {
125
+ providers.push(
126
+ languages.registerRenameProvider(languageId, new RenameAdapter(worker))
127
+ );
128
+ }
129
+ if (modeConfiguration.colors) {
130
+ providers.push(
131
+ languages.registerColorProvider(
132
+ languageId,
133
+ new DocumentColorAdapter(worker)
134
+ )
135
+ );
136
+ }
137
+ if (modeConfiguration.foldingRanges) {
138
+ providers.push(
139
+ languages.registerFoldingRangeProvider(
140
+ languageId,
141
+ new FoldingRangeAdapter(worker)
142
+ )
143
+ );
144
+ }
145
+ if (modeConfiguration.diagnostics) {
146
+ providers.push(
147
+ new DiagnosticsAdapter(languageId, worker, defaults.onDidChange)
148
+ );
149
+ }
150
+ if (modeConfiguration.selectionRanges) {
151
+ providers.push(
152
+ languages.registerSelectionRangeProvider(
153
+ languageId,
154
+ new SelectionRangeAdapter(worker)
155
+ )
156
+ );
157
+ }
158
+ if (modeConfiguration.documentFormattingEdits) {
159
+ providers.push(
160
+ languages.registerDocumentFormattingEditProvider(
161
+ languageId,
162
+ new DocumentFormattingEditProvider(worker)
163
+ )
164
+ );
165
+ }
166
+ if (modeConfiguration.documentRangeFormattingEdits) {
167
+ providers.push(
168
+ languages.registerDocumentRangeFormattingEditProvider(
169
+ languageId,
170
+ new DocumentRangeFormattingEditProvider(worker)
171
+ )
172
+ );
173
+ }
174
+ }
175
+ registerProviders();
176
+ disposables.push(asDisposable(providers));
177
+ return asDisposable(disposables);
178
+ }
179
+ function asDisposable(disposables) {
180
+ return { dispose: () => disposeAll(disposables) };
181
+ }
182
+ function disposeAll(disposables) {
183
+ while (disposables.length) {
184
+ disposables.pop().dispose();
185
+ }
186
+ }
187
+ export {
188
+ CompletionAdapter,
189
+ DefinitionAdapter,
190
+ DiagnosticsAdapter,
191
+ DocumentColorAdapter,
192
+ DocumentFormattingEditProvider,
193
+ DocumentHighlightAdapter,
194
+ h as DocumentLinkAdapter,
195
+ DocumentRangeFormattingEditProvider,
196
+ DocumentSymbolAdapter,
197
+ FoldingRangeAdapter,
198
+ HoverAdapter,
199
+ ReferenceAdapter,
200
+ RenameAdapter,
201
+ SelectionRangeAdapter,
202
+ WorkerManager,
203
+ i as fromPosition,
204
+ j as fromRange,
205
+ setupMode,
206
+ t as toRange,
207
+ k as toTextEdit
208
+ };
@@ -0,0 +1,264 @@
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: '"' },
16
+ { open: "'", close: "'" },
17
+ { open: "`", close: "`" }
18
+ ],
19
+ surroundingPairs: [
20
+ { open: "{", close: "}" },
21
+ { open: "[", close: "]" },
22
+ { open: "(", close: ")" },
23
+ { open: '"', close: '"' },
24
+ { open: "'", close: "'" },
25
+ { open: "`", close: "`" }
26
+ ]
27
+ };
28
+ const language = {
29
+ defaultToken: "",
30
+ tokenPostfix: `.cypher`,
31
+ ignoreCase: true,
32
+ brackets: [
33
+ { open: "{", close: "}", token: "delimiter.curly" },
34
+ { open: "[", close: "]", token: "delimiter.bracket" },
35
+ { open: "(", close: ")", token: "delimiter.parenthesis" }
36
+ ],
37
+ keywords: [
38
+ "ALL",
39
+ "AND",
40
+ "AS",
41
+ "ASC",
42
+ "ASCENDING",
43
+ "BY",
44
+ "CALL",
45
+ "CASE",
46
+ "CONTAINS",
47
+ "CREATE",
48
+ "DELETE",
49
+ "DESC",
50
+ "DESCENDING",
51
+ "DETACH",
52
+ "DISTINCT",
53
+ "ELSE",
54
+ "END",
55
+ "ENDS",
56
+ "EXISTS",
57
+ "IN",
58
+ "IS",
59
+ "LIMIT",
60
+ "MANDATORY",
61
+ "MATCH",
62
+ "MERGE",
63
+ "NOT",
64
+ "ON",
65
+ "ON",
66
+ "OPTIONAL",
67
+ "OR",
68
+ "ORDER",
69
+ "REMOVE",
70
+ "RETURN",
71
+ "SET",
72
+ "SKIP",
73
+ "STARTS",
74
+ "THEN",
75
+ "UNION",
76
+ "UNWIND",
77
+ "WHEN",
78
+ "WHERE",
79
+ "WITH",
80
+ "XOR",
81
+ "YIELD"
82
+ ],
83
+ builtinLiterals: ["true", "TRUE", "false", "FALSE", "null", "NULL"],
84
+ builtinFunctions: [
85
+ "abs",
86
+ "acos",
87
+ "asin",
88
+ "atan",
89
+ "atan2",
90
+ "avg",
91
+ "ceil",
92
+ "coalesce",
93
+ "collect",
94
+ "cos",
95
+ "cot",
96
+ "count",
97
+ "degrees",
98
+ "e",
99
+ "endNode",
100
+ "exists",
101
+ "exp",
102
+ "floor",
103
+ "head",
104
+ "id",
105
+ "keys",
106
+ "labels",
107
+ "last",
108
+ "left",
109
+ "length",
110
+ "log",
111
+ "log10",
112
+ "lTrim",
113
+ "max",
114
+ "min",
115
+ "nodes",
116
+ "percentileCont",
117
+ "percentileDisc",
118
+ "pi",
119
+ "properties",
120
+ "radians",
121
+ "rand",
122
+ "range",
123
+ "relationships",
124
+ "replace",
125
+ "reverse",
126
+ "right",
127
+ "round",
128
+ "rTrim",
129
+ "sign",
130
+ "sin",
131
+ "size",
132
+ "split",
133
+ "sqrt",
134
+ "startNode",
135
+ "stDev",
136
+ "stDevP",
137
+ "substring",
138
+ "sum",
139
+ "tail",
140
+ "tan",
141
+ "timestamp",
142
+ "toBoolean",
143
+ "toFloat",
144
+ "toInteger",
145
+ "toLower",
146
+ "toString",
147
+ "toUpper",
148
+ "trim",
149
+ "type"
150
+ ],
151
+ operators: [
152
+ // Math operators
153
+ "+",
154
+ "-",
155
+ "*",
156
+ "/",
157
+ "%",
158
+ "^",
159
+ // Comparison operators
160
+ "=",
161
+ "<>",
162
+ "<",
163
+ ">",
164
+ "<=",
165
+ ">=",
166
+ // Pattern operators
167
+ "->",
168
+ "<-",
169
+ "-->",
170
+ "<--"
171
+ ],
172
+ escapes: /\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
173
+ digits: /\d+/,
174
+ octaldigits: /[0-7]+/,
175
+ hexdigits: /[0-9a-fA-F]+/,
176
+ tokenizer: {
177
+ root: [[/[{}[\]()]/, "@brackets"], { include: "common" }],
178
+ common: [
179
+ { include: "@whitespace" },
180
+ { include: "@numbers" },
181
+ { include: "@strings" },
182
+ // Cypher labels on nodes/relationships, e.g. (n:NodeLabel)-[e:RelationshipLabel]
183
+ [/:[a-zA-Z_][\w]*/, "type.identifier"],
184
+ [
185
+ /[a-zA-Z_][\w]*(?=\()/,
186
+ {
187
+ cases: {
188
+ "@builtinFunctions": "predefined.function"
189
+ }
190
+ }
191
+ ],
192
+ [
193
+ /[a-zA-Z_$][\w$]*/,
194
+ {
195
+ cases: {
196
+ "@keywords": "keyword",
197
+ "@builtinLiterals": "predefined.literal",
198
+ "@default": "identifier"
199
+ }
200
+ }
201
+ ],
202
+ [/`/, "identifier.escape", "@identifierBacktick"],
203
+ // delimiter and operator after number because of `.\d` floats and `:` in labels
204
+ [/[;,.:|]/, "delimiter"],
205
+ [
206
+ /[<>=%+\-*/^]+/,
207
+ {
208
+ cases: {
209
+ "@operators": "delimiter",
210
+ "@default": ""
211
+ }
212
+ }
213
+ ]
214
+ ],
215
+ numbers: [
216
+ [/-?(@digits)[eE](-?(@digits))?/, "number.float"],
217
+ [/-?(@digits)?\.(@digits)([eE]-?(@digits))?/, "number.float"],
218
+ [/-?0x(@hexdigits)/, "number.hex"],
219
+ [/-?0(@octaldigits)/, "number.octal"],
220
+ [/-?(@digits)/, "number"]
221
+ ],
222
+ strings: [
223
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
224
+ // non-teminated string
225
+ [/'([^'\\]|\\.)*$/, "string.invalid"],
226
+ // non-teminated string
227
+ [/"/, "string", "@stringDouble"],
228
+ [/'/, "string", "@stringSingle"]
229
+ ],
230
+ whitespace: [
231
+ [/[ \t\r\n]+/, "white"],
232
+ [/\/\*/, "comment", "@comment"],
233
+ [/\/\/.*$/, "comment"]
234
+ ],
235
+ comment: [
236
+ [/\/\/.*/, "comment"],
237
+ [/[^/*]+/, "comment"],
238
+ [/\*\//, "comment", "@pop"],
239
+ [/[/*]/, "comment"]
240
+ ],
241
+ stringDouble: [
242
+ [/[^\\"]+/, "string"],
243
+ [/@escapes/, "string"],
244
+ [/\\./, "string.invalid"],
245
+ [/"/, "string", "@pop"]
246
+ ],
247
+ stringSingle: [
248
+ [/[^\\']+/, "string"],
249
+ [/@escapes/, "string"],
250
+ [/\\./, "string.invalid"],
251
+ [/'/, "string", "@pop"]
252
+ ],
253
+ identifierBacktick: [
254
+ [/[^\\`]+/, "identifier.escape"],
255
+ [/@escapes/, "identifier.escape"],
256
+ [/\\./, "identifier.escape.invalid"],
257
+ [/`/, "identifier.escape", "@pop"]
258
+ ]
259
+ }
260
+ };
261
+ export {
262
+ conf,
263
+ language
264
+ };