@aquera/nile-elements 0.0.124 → 0.0.126

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 (202) hide show
  1. package/README.md +6 -0
  2. package/dist/abap-1e9762d1.esm.js +1 -0
  3. package/dist/abap-3b3fe406.cjs.js +2 -0
  4. package/dist/abap-3b3fe406.cjs.js.map +1 -0
  5. package/dist/{angular-ts-a70761c6.cjs.js → angular-ts-32bbcd01.cjs.js} +2 -2
  6. package/dist/{angular-ts-a70761c6.cjs.js.map → angular-ts-32bbcd01.cjs.js.map} +1 -1
  7. package/dist/catppuccin-frappe-c0734345.esm.js +1 -0
  8. package/dist/catppuccin-frappe-eb77e95d.cjs.js +2 -0
  9. package/dist/catppuccin-frappe-eb77e95d.cjs.js.map +1 -0
  10. package/dist/catppuccin-latte-471f76fc.cjs.js +2 -0
  11. package/dist/catppuccin-latte-471f76fc.cjs.js.map +1 -0
  12. package/dist/catppuccin-latte-d798493f.esm.js +1 -0
  13. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js +2 -0
  14. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js.map +1 -0
  15. package/dist/catppuccin-macchiato-d78b2ec2.esm.js +1 -0
  16. package/dist/catppuccin-mocha-3b00f8d6.cjs.js +2 -0
  17. package/dist/catppuccin-mocha-3b00f8d6.cjs.js.map +1 -0
  18. package/dist/catppuccin-mocha-6a189a57.esm.js +1 -0
  19. package/dist/cobol-4ed2b235.esm.js +1 -0
  20. package/dist/cobol-c428fca2.cjs.js +2 -0
  21. package/dist/cobol-c428fca2.cjs.js.map +1 -0
  22. package/dist/{cpp-8812199e.cjs.js → cpp-c2442fe2.cjs.js} +2 -2
  23. package/dist/{cpp-8812199e.cjs.js.map → cpp-c2442fe2.cjs.js.map} +1 -1
  24. package/dist/{crystal-5458e62a.cjs.js → crystal-1913e34d.cjs.js} +2 -2
  25. package/dist/{crystal-5458e62a.cjs.js.map → crystal-1913e34d.cjs.js.map} +1 -1
  26. package/dist/{edge-cb04b11b.cjs.js → edge-ef9e682b.cjs.js} +2 -2
  27. package/dist/{edge-cb04b11b.cjs.js.map → edge-ef9e682b.cjs.js.map} +1 -1
  28. package/dist/{elm-53a0b5b4.cjs.js → elm-7fd07d47.cjs.js} +2 -2
  29. package/dist/{elm-53a0b5b4.cjs.js.map → elm-7fd07d47.cjs.js.map} +1 -1
  30. package/dist/{erb-1bc4721c.cjs.js → erb-c813c1f2.cjs.js} +2 -2
  31. package/dist/{erb-1bc4721c.cjs.js.map → erb-c813c1f2.cjs.js.map} +1 -1
  32. package/dist/{fortran-fixed-form-00a9d08f.cjs.js → fortran-fixed-form-c39bf051.cjs.js} +2 -2
  33. package/dist/{fortran-fixed-form-00a9d08f.cjs.js.map → fortran-fixed-form-c39bf051.cjs.js.map} +1 -1
  34. package/dist/{fsharp-661f4f18.cjs.js → fsharp-ba007c9c.cjs.js} +2 -2
  35. package/dist/{fsharp-661f4f18.cjs.js.map → fsharp-ba007c9c.cjs.js.map} +1 -1
  36. package/dist/{gdresource-8fb6a6ad.cjs.js → gdresource-f3068367.cjs.js} +2 -2
  37. package/dist/{gdresource-8fb6a6ad.cjs.js.map → gdresource-f3068367.cjs.js.map} +1 -1
  38. package/dist/{git-commit-9373b48b.cjs.js → git-commit-372b638c.cjs.js} +2 -2
  39. package/dist/{git-commit-9373b48b.cjs.js.map → git-commit-372b638c.cjs.js.map} +1 -1
  40. package/dist/{git-rebase-c3fa2bb9.cjs.js → git-rebase-2cc6f2a3.cjs.js} +2 -2
  41. package/dist/{git-rebase-c3fa2bb9.cjs.js.map → git-rebase-2cc6f2a3.cjs.js.map} +1 -1
  42. package/dist/go-4c55ae2b.esm.js +1 -0
  43. package/dist/go-9bee484b.cjs.js +2 -0
  44. package/dist/go-9bee484b.cjs.js.map +1 -0
  45. package/dist/{graphql-1541cb3c.cjs.js → graphql-74f146e1.cjs.js} +2 -2
  46. package/dist/{graphql-1541cb3c.cjs.js.map → graphql-74f146e1.cjs.js.map} +1 -1
  47. package/dist/{handlebars-39ab86cd.cjs.js → handlebars-864fcb12.cjs.js} +2 -2
  48. package/dist/{handlebars-39ab86cd.cjs.js.map → handlebars-864fcb12.cjs.js.map} +1 -1
  49. package/dist/{http-1cf9a3de.cjs.js → http-08501497.cjs.js} +2 -2
  50. package/dist/{http-1cf9a3de.cjs.js.map → http-08501497.cjs.js.map} +1 -1
  51. package/dist/{hxml-6d54d760.cjs.js → hxml-bbac80e4.cjs.js} +2 -2
  52. package/dist/{hxml-6d54d760.cjs.js.map → hxml-bbac80e4.cjs.js.map} +1 -1
  53. package/dist/hy-431f15f8.cjs.js +2 -0
  54. package/dist/hy-431f15f8.cjs.js.map +1 -0
  55. package/dist/hy-5e43d6c1.esm.js +1 -0
  56. package/dist/index.cjs.js +1 -1
  57. package/dist/index.esm.js +1 -1
  58. package/dist/{julia-0152d8b9.cjs.js → julia-689ac552.cjs.js} +2 -2
  59. package/dist/{julia-0152d8b9.cjs.js.map → julia-689ac552.cjs.js.map} +1 -1
  60. package/dist/{latex-33ebd2ce.cjs.js → latex-4d76e817.cjs.js} +2 -2
  61. package/dist/{latex-33ebd2ce.cjs.js.map → latex-4d76e817.cjs.js.map} +1 -1
  62. package/dist/luau-0b166b7a.cjs.js +2 -0
  63. package/dist/luau-0b166b7a.cjs.js.map +1 -0
  64. package/dist/luau-7d7eaa97.esm.js +1 -0
  65. package/dist/{marko-23ca6223.cjs.js → marko-2880d4ee.cjs.js} +2 -2
  66. package/dist/{marko-23ca6223.cjs.js.map → marko-2880d4ee.cjs.js.map} +1 -1
  67. package/dist/mdc-13285ad6.esm.js +1 -0
  68. package/dist/mdc-a3fe82c5.cjs.js +2 -0
  69. package/dist/mdc-a3fe82c5.cjs.js.map +1 -0
  70. package/dist/{mdx-01dab0d1.cjs.js → mdx-a859ee84.cjs.js} +2 -2
  71. package/dist/{mdx-01dab0d1.cjs.js.map → mdx-a859ee84.cjs.js.map} +1 -1
  72. package/dist/{mdx-0782bcd8.esm.js → mdx-bf2a8fe9.esm.js} +1 -1
  73. package/dist/nextflow-35e5a63d.esm.js +1 -0
  74. package/dist/nextflow-c666e91b.cjs.js +2 -0
  75. package/dist/nextflow-c666e91b.cjs.js.map +1 -0
  76. package/dist/{nginx-1aabec59.cjs.js → nginx-7bc0fc82.cjs.js} +2 -2
  77. package/dist/{nginx-1aabec59.cjs.js.map → nginx-7bc0fc82.cjs.js.map} +1 -1
  78. package/dist/nile-code-editor/extensionSetup.cjs.js +1 -1
  79. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  80. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  81. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  82. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  83. package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
  84. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  85. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  86. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  87. package/dist/nile-tour/index.cjs.js +2 -0
  88. package/dist/nile-tour/index.cjs.js.map +1 -0
  89. package/dist/nile-tour/index.esm.js +1 -0
  90. package/dist/nile-tour/nile-tour.cjs.js +10 -0
  91. package/dist/nile-tour/nile-tour.cjs.js.map +1 -0
  92. package/dist/nile-tour/nile-tour.css.cjs.js +2 -0
  93. package/dist/nile-tour/nile-tour.css.cjs.js.map +1 -0
  94. package/dist/nile-tour/nile-tour.css.esm.js +93 -0
  95. package/dist/nile-tour/nile-tour.esm.js +15 -0
  96. package/dist/{nim-55b3acf7.cjs.js → nim-1cf0460c.cjs.js} +2 -2
  97. package/dist/{nim-55b3acf7.cjs.js.map → nim-1cf0460c.cjs.js.map} +1 -1
  98. package/dist/one-dark-pro-9477257e.cjs.js +2 -0
  99. package/dist/one-dark-pro-9477257e.cjs.js.map +1 -0
  100. package/dist/one-dark-pro-deb4f5e9.esm.js +1 -0
  101. package/dist/{razor-57f13c4a.cjs.js → razor-0acc551a.cjs.js} +2 -2
  102. package/dist/{razor-57f13c4a.cjs.js.map → razor-0acc551a.cjs.js.map} +1 -1
  103. package/dist/{rst-4226018b.cjs.js → rst-6b792481.cjs.js} +2 -2
  104. package/dist/{rst-4226018b.cjs.js.map → rst-6b792481.cjs.js.map} +1 -1
  105. package/dist/{ruby-4306ddd1.cjs.js → ruby-578b1ee6.cjs.js} +2 -2
  106. package/dist/{ruby-4306ddd1.cjs.js.map → ruby-578b1ee6.cjs.js.map} +1 -1
  107. package/dist/{shaderlab-2234cd06.cjs.js → shaderlab-606f022b.cjs.js} +2 -2
  108. package/dist/{shaderlab-2234cd06.cjs.js.map → shaderlab-606f022b.cjs.js.map} +1 -1
  109. package/dist/{shellsession-cd95727e.cjs.js → shellsession-cb0df007.cjs.js} +2 -2
  110. package/dist/{shellsession-cd95727e.cjs.js.map → shellsession-cb0df007.cjs.js.map} +1 -1
  111. package/dist/{sparql-197a828d.cjs.js → sparql-589e0308.cjs.js} +2 -2
  112. package/dist/{sparql-197a828d.cjs.js.map → sparql-589e0308.cjs.js.map} +1 -1
  113. package/dist/src/index.d.ts +1 -0
  114. package/dist/src/index.js +1 -0
  115. package/dist/src/index.js.map +1 -1
  116. package/dist/src/nile-code-editor/extensionSetup.js +1 -2
  117. package/dist/src/nile-code-editor/extensionSetup.js.map +1 -1
  118. package/dist/src/nile-code-editor/nile-code-editor.d.ts +7 -1
  119. package/dist/src/nile-code-editor/nile-code-editor.js +85 -5
  120. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  121. package/dist/src/nile-tour/index.d.ts +1 -0
  122. package/dist/src/nile-tour/index.js +2 -0
  123. package/dist/src/nile-tour/index.js.map +1 -0
  124. package/dist/src/nile-tour/nile-tour.css.d.ts +12 -0
  125. package/dist/src/nile-tour/nile-tour.css.js +105 -0
  126. package/dist/src/nile-tour/nile-tour.css.js.map +1 -0
  127. package/dist/src/nile-tour/nile-tour.d.ts +47 -0
  128. package/dist/src/nile-tour/nile-tour.js +96 -0
  129. package/dist/src/nile-tour/nile-tour.js.map +1 -0
  130. package/dist/{svelte-5a90df12.cjs.js → svelte-2ae868b6.cjs.js} +2 -2
  131. package/dist/{svelte-5a90df12.cjs.js.map → svelte-2ae868b6.cjs.js.map} +1 -1
  132. package/dist/{svelte-cb8564e6.esm.js → svelte-ac03a3ac.esm.js} +1 -1
  133. package/dist/{system-verilog-c1c6377f.esm.js → system-verilog-2d49210f.esm.js} +1 -1
  134. package/dist/{system-verilog-b3e652eb.cjs.js → system-verilog-7d2d7268.cjs.js} +2 -2
  135. package/dist/{system-verilog-b3e652eb.cjs.js.map → system-verilog-7d2d7268.cjs.js.map} +1 -1
  136. package/dist/{templ-4425132d.cjs.js → templ-2a2d64b7.cjs.js} +2 -2
  137. package/dist/{templ-4425132d.cjs.js.map → templ-2a2d64b7.cjs.js.map} +1 -1
  138. package/dist/{templ-13492ead.esm.js → templ-f2d0dadd.esm.js} +1 -1
  139. package/dist/{tex-d609b400.cjs.js → tex-8addc455.cjs.js} +2 -2
  140. package/dist/{tex-d609b400.cjs.js.map → tex-8addc455.cjs.js.map} +1 -1
  141. package/dist/{ts-tags-ba7eb9e3.cjs.js → ts-tags-e56ee3ee.cjs.js} +2 -2
  142. package/dist/{ts-tags-ba7eb9e3.cjs.js.map → ts-tags-e56ee3ee.cjs.js.map} +1 -1
  143. package/dist/tsconfig.tsbuildinfo +1 -1
  144. package/dist/{twig-e9bb57f2.cjs.js → twig-911808dc.cjs.js} +2 -2
  145. package/dist/{twig-e9bb57f2.cjs.js.map → twig-911808dc.cjs.js.map} +1 -1
  146. package/dist/{vue-16d91bfa.cjs.js → vue-9b06428b.cjs.js} +2 -2
  147. package/dist/{vue-16d91bfa.cjs.js.map → vue-9b06428b.cjs.js.map} +1 -1
  148. package/dist/{vue-html-432cdd7f.cjs.js → vue-html-ca1dd5bf.cjs.js} +2 -2
  149. package/dist/{vue-html-432cdd7f.cjs.js.map → vue-html-ca1dd5bf.cjs.js.map} +1 -1
  150. package/dist/wikitext-b9a7e67b.cjs.js +2 -0
  151. package/dist/wikitext-b9a7e67b.cjs.js.map +1 -0
  152. package/dist/wikitext-c06489b3.esm.js +1 -0
  153. package/package.json +5 -3
  154. package/src/index.ts +2 -1
  155. package/src/nile-code-editor/extensionSetup.ts +0 -2
  156. package/src/nile-code-editor/nile-code-editor.ts +88 -8
  157. package/src/nile-tour/index.ts +1 -0
  158. package/src/nile-tour/nile-tour.css.ts +107 -0
  159. package/src/nile-tour/nile-tour.ts +119 -0
  160. package/vscode-html-custom-data.json +17 -2
  161. package/dist/abap-511af2a5.cjs.js +0 -2
  162. package/dist/abap-511af2a5.cjs.js.map +0 -1
  163. package/dist/abap-f2ab40d0.esm.js +0 -1
  164. package/dist/cairo-014ad724.cjs.js +0 -2
  165. package/dist/cairo-014ad724.cjs.js.map +0 -1
  166. package/dist/cairo-9be40999.esm.js +0 -1
  167. package/dist/catppuccin-frappe-52a52bb1.cjs.js +0 -2
  168. package/dist/catppuccin-frappe-52a52bb1.cjs.js.map +0 -1
  169. package/dist/catppuccin-frappe-dbc3161e.esm.js +0 -1
  170. package/dist/catppuccin-latte-d8a0f6a8.cjs.js +0 -2
  171. package/dist/catppuccin-latte-d8a0f6a8.cjs.js.map +0 -1
  172. package/dist/catppuccin-latte-e7591143.esm.js +0 -1
  173. package/dist/catppuccin-macchiato-19a7795e.cjs.js +0 -2
  174. package/dist/catppuccin-macchiato-19a7795e.cjs.js.map +0 -1
  175. package/dist/catppuccin-macchiato-283b424a.esm.js +0 -1
  176. package/dist/catppuccin-mocha-165e830c.esm.js +0 -1
  177. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js +0 -2
  178. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js.map +0 -1
  179. package/dist/cobol-8517cfc1.esm.js +0 -1
  180. package/dist/cobol-922d57ed.cjs.js +0 -2
  181. package/dist/cobol-922d57ed.cjs.js.map +0 -1
  182. package/dist/go-85139440.esm.js +0 -1
  183. package/dist/go-d5ed1b82.cjs.js +0 -2
  184. package/dist/go-d5ed1b82.cjs.js.map +0 -1
  185. package/dist/hy-33aa9c6f.cjs.js +0 -2
  186. package/dist/hy-33aa9c6f.cjs.js.map +0 -1
  187. package/dist/hy-a7a6e9c3.esm.js +0 -1
  188. package/dist/luau-19444703.cjs.js +0 -2
  189. package/dist/luau-19444703.cjs.js.map +0 -1
  190. package/dist/luau-b564b070.esm.js +0 -1
  191. package/dist/mdc-05d87356.esm.js +0 -1
  192. package/dist/mdc-56aefda2.cjs.js +0 -2
  193. package/dist/mdc-56aefda2.cjs.js.map +0 -1
  194. package/dist/nextflow-11e4899f.esm.js +0 -1
  195. package/dist/nextflow-2a4bf0cc.cjs.js +0 -2
  196. package/dist/nextflow-2a4bf0cc.cjs.js.map +0 -1
  197. package/dist/one-dark-pro-3bcc58f7.cjs.js +0 -2
  198. package/dist/one-dark-pro-3bcc58f7.cjs.js.map +0 -1
  199. package/dist/one-dark-pro-4fce25f8.esm.js +0 -1
  200. package/dist/wikitext-2748811a.cjs.js +0 -2
  201. package/dist/wikitext-2748811a.cjs.js.map +0 -1
  202. package/dist/wikitext-c9071578.esm.js +0 -1
@@ -31,7 +31,7 @@ import {
31
31
  } from '@codemirror/lang-javascript';
32
32
  import { sql } from '@codemirror/lang-sql';
33
33
  import { json } from '@codemirror/lang-json';
34
- import { autocompletion } from '@codemirror/autocomplete';
34
+ import { autocompletion,CompletionContext,CompletionResult } from '@codemirror/autocomplete';
35
35
  import NileElement from '../internal/nile-element';
36
36
  import { basicSetup } from './extensionSetup';
37
37
  import { classMap } from 'lit/directives/class-map.js';
@@ -53,7 +53,7 @@ export class NileCodeEditor extends NileElement {
53
53
 
54
54
  @property({ type: String, reflect: true , attribute: true }) value = '';
55
55
 
56
- @property({ type: Object, reflect: true , attribute: true }) customAutoCompletions: object = {};
56
+ @property({ type: Object, reflect: true , attribute: true }) customAutoCompletions: object | any = {};
57
57
 
58
58
  @property({ type: String, reflect: true , attribute: true}) language: 'javascript' | 'sql' | 'json' = 'javascript';
59
59
 
@@ -65,6 +65,8 @@ export class NileCodeEditor extends NileElement {
65
65
 
66
66
  @property({ type: Boolean, reflect: true , attribute: true }) multiline: boolean = false;
67
67
 
68
+ @property({ type: Boolean, reflect: true , attribute: true }) suggestionBracketSupport: boolean = false;
69
+
68
70
  @property({ type: Boolean, reflect: true , attribute: true }) lineNumbers: boolean = false;
69
71
 
70
72
  @property({ type: Boolean, reflect: true , attribute: true }) lineNumbersMultiline: boolean = true;
@@ -145,11 +147,11 @@ export class NileCodeEditor extends NileElement {
145
147
  ]
146
148
  })
147
149
  }
148
- if(changedProperties.has('customAutoCompletions')){
150
+ if(changedProperties.has('customAutoCompletions') || changedProperties.has('suggestionBracketSupport') ){
149
151
  this.view.dispatch({
150
152
  effects: [
151
153
  this.customCompletionComp.reconfigure(javascriptLanguage.data.of({
152
- autocomplete: scopeCompletionSource(this.customAutoCompletions),
154
+ autocomplete: this.suggestionBracketSupport?this.customAutocomplete: scopeCompletionSource(this.customAutoCompletions),
153
155
  }))
154
156
  ]
155
157
  })
@@ -206,14 +208,13 @@ export class NileCodeEditor extends NileElement {
206
208
  const readOnlyExtension = this.readOnlyComp.of(this.getReadOnlyExtension());
207
209
  const restrictSingleLineExtension = this.restrictSingleLineComp.of(this.getSingleLineExtension())
208
210
  const customAutoCompletions = this.customCompletionComp.of(javascriptLanguage.data.of({
209
- autocomplete: scopeCompletionSource(this.customAutoCompletions),
211
+ autocomplete: this.suggestionBracketSupport?this.customAutocomplete: scopeCompletionSource(this.customAutoCompletions),
210
212
  }));
211
213
  const language = this.getLanguageExtension()
212
214
  this.viewState = EditorState.create({
213
215
  doc: !this.multiline ? this.convertToSingleLine(this.value) : this.value,
214
216
  extensions: [
215
217
  basicSetup({
216
- lineNumbers: (!this.multiline && this.lineNumbers) || (this.multiline && this.lineNumbersMultiline),
217
218
  highlightActiveLine: false,
218
219
  foldGutter: false,
219
220
  }),
@@ -271,7 +272,6 @@ export class NileCodeEditor extends NileElement {
271
272
 
272
273
  //EXTENSION CONFIGURATIONS
273
274
  getLineNumbersExension() {
274
-
275
275
  return (!this.multiline && this.lineNumbers) || (this.multiline && this.lineNumbersMultiline) ? lineNumbers() : [];
276
276
  }
277
277
 
@@ -287,7 +287,7 @@ export class NileCodeEditor extends NileElement {
287
287
  }
288
288
 
289
289
  getReadOnlyExtension() {
290
- return EditorState.readOnly.of(this.readonly);
290
+ return this.readonly ? EditorState.readOnly.of(true) : [];
291
291
  }
292
292
 
293
293
  getSingleLineExtension() {
@@ -306,6 +306,86 @@ export class NileCodeEditor extends NileElement {
306
306
  this.emit('nile-expand', { expand: true },false);
307
307
  }
308
308
 
309
+ customAutocomplete = (context: CompletionContext): CompletionResult | null => {
310
+ // Getting the valid last line, last text from the code editor
311
+ let text = context.state.doc.sliceString(0, context.pos);
312
+ let textBeforeCursor=text.split('\n').at(-1)?.split(' ').at(-1)+'';
313
+
314
+ if (!(this.isValidPath(textBeforeCursor) && ['.', '['].includes(textBeforeCursor[textBeforeCursor.length - 1]))) {
315
+ return { from: context.pos, options: [] };
316
+ }
317
+ // Parse the path for dot or bracket notation
318
+ const path = this.parsePath(textBeforeCursor);
319
+ if (path) {
320
+ const resolved = this.resolveNestedProperties(this.customAutoCompletions, path);
321
+ // If resolved is an object, provide its keys as suggestions
322
+ if (resolved && typeof resolved === 'object') {
323
+ return {
324
+ from: context.pos,
325
+ options: Object.keys(resolved).map((key) => ({
326
+ label: key,
327
+ type: 'property',
328
+ info: `Key of ${path[path.length - 1]}`
329
+ })),
330
+ };
331
+ }
332
+ }
333
+ // Match for top-level object suggestions, e.g., "a"
334
+ const baseMatch: any = textBeforeCursor.match(/([a-zA-Z_$][\w$]*)$/);
335
+ if (baseMatch) {
336
+ const resolved = this.customAutoCompletions[baseMatch[1]];
337
+ // If resolved is an object, provide its top-level properties as suggestions
338
+ if (resolved && typeof resolved === 'object') {
339
+ return {
340
+ from: context.pos - baseMatch[1].length,
341
+ options: Object.keys(resolved).map((key) => ({
342
+ label: key,
343
+ type: 'property',
344
+ info: `Property of ${baseMatch[1]}`,
345
+ })),
346
+ };
347
+ }
348
+ }
349
+ // Default to an empty list if no match
350
+ return { from: context.pos, options: [] };
351
+ };
352
+
353
+ resolveNestedProperties = (obj:any, keys:any[]) => {
354
+ return keys.reduce((acc, key) => {
355
+ if (acc && typeof acc === 'object') {
356
+ return acc[key];
357
+ }
358
+ return null;
359
+ }, obj);
360
+ };
361
+
362
+ parsePath(text: string) {
363
+ const regex = /([a-zA-Z_$][\w$]*)(\[(?:[^\]]+)\]|\.[a-zA-Z_$][\w$]*)*/g;
364
+ const matches = [...text.matchAll(regex)];
365
+ if (matches.length > 0) {
366
+ const base = matches[0][1]; // The base object name
367
+ const keys = [base];
368
+ // Extract keys from dot or bracket notation
369
+ const pathMatches = text.match(/\[(.*?)\]|\.(\w+)/g) || [];
370
+ for (const match of pathMatches) {
371
+ if (match.startsWith('[')) {
372
+ keys.push(match.slice(1, -1).replace(/['"]/g, '')); // Remove brackets and quotes
373
+ } else if (match.startsWith('.')) {
374
+ keys.push(match.slice(1));
375
+ }
376
+ }
377
+ return keys;
378
+ }
379
+ return null;
380
+ };
381
+
382
+ isValidPath(path: string) {
383
+ // Regex to validate the format of the string
384
+ const regex = /^([a-zA-Z_$][\w$]*)(\.[a-zA-Z_$][\w$]*|\[\s*(['"]?[a-zA-Z0-9_$]*['"]?)\s*\])*([\.\[])?$/;
385
+ // Test the string against the regex
386
+ return regex.test(path);
387
+ }
388
+
309
389
  /* #endregion */
310
390
  }
311
391
 
@@ -0,0 +1 @@
1
+ export { NileTour } from './nile-tour';
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { css } from 'lit-element';
9
+
10
+ /**
11
+ * Tour CSS
12
+ */
13
+ export const styles = css`
14
+ :host {
15
+ }
16
+
17
+ .introjs-tooltip {
18
+ background-color: var(--nile-tour-background-color, #000);
19
+ color: var(--nile-tour-text-color, #fff);
20
+ width: 300px;
21
+ max-width: 300px;
22
+ }
23
+
24
+ .introjs-arrow.bottom {
25
+ border-top-color: var(--nile-tour-background-color, #000);
26
+ }
27
+
28
+ .introjs-arrow.top {
29
+ border-bottom-color: var(--nile-tour-background-color, #000);
30
+ }
31
+
32
+ .introjs-arrow.left {
33
+ border-right-color: var(--nile-tour-background-color, #000);
34
+ }
35
+
36
+ .introjs-arrow.right {
37
+ border-left-color: var(--nile-tour-background-color, #000);
38
+ }
39
+
40
+ .introjs-arrow.left-bottom {
41
+ border-right-color: var(--nile-tour-background-color, #000) !important;
42
+ }
43
+
44
+ .introjs-arrow.right-bottom {
45
+ border-right-color: var(--nile-tour-background-color, #000) !important;
46
+ }
47
+
48
+
49
+
50
+ .introjs-button {
51
+ background: none;
52
+ border: none;
53
+ color: var(--nile-tour-text-color, #fff);
54
+ font-size: 14px;
55
+ padding: 0;
56
+ cursor: pointer;
57
+ text-shadow: none;
58
+ background: transparent;
59
+ border-color: transparent;
60
+ }
61
+
62
+ .introjs-button:hover {
63
+ outline: 0;
64
+ text-decoration: none;
65
+ border-color: transparent;
66
+ background: transparent;
67
+ color: white;
68
+ }
69
+
70
+ .introjs-button:focus {
71
+ outline: 0;
72
+ text-decoration: none;
73
+ border-color: transparent;
74
+ background: transparent;
75
+ color: white;
76
+ border: none;
77
+ box-shadow: none;
78
+ }
79
+
80
+ .introjs-tooltipbuttons {
81
+ border-top: none;
82
+ display: flex;
83
+ justify-content: flex-end;
84
+ gap: 10px;
85
+ }
86
+
87
+ .introjs-helperNumberLayer{
88
+ display: none;
89
+ }
90
+
91
+ .introjs-bullets{
92
+ display: none;
93
+
94
+ }
95
+
96
+ .introjs-skipbutton {
97
+ display: none;
98
+
99
+ }
100
+
101
+
102
+ .introjs-prev-button {
103
+ color: #C7CED4;
104
+ }
105
+ `;
106
+
107
+ export default [styles];
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { LitElement, html, CSSResultArray, TemplateResult, property } from 'lit-element';
9
+ import { customElement } from 'lit/decorators.js';
10
+ import { styles } from './nile-tour.css';
11
+ import NileElement from '../internal/nile-element';
12
+ import introJs from 'intro.js';
13
+ // import 'intro.js/introjs.css';
14
+
15
+ /**
16
+ * Nile tour component.
17
+ *
18
+ * @tag nile-tour
19
+ *
20
+ */
21
+ @customElement('nile-tour')
22
+ export class NileTour extends NileElement {
23
+ // Define the type of tourInstance using ReturnType<typeof introJs>
24
+ private tourInstance: ReturnType<typeof introJs> | null = null;
25
+
26
+ /**
27
+ * The steps for the tour.
28
+ */
29
+ @property({ type: Array })
30
+ steps: Array<{
31
+ stepNo: number;
32
+ element: string;
33
+ title: string;
34
+ content: string;
35
+ position: "top" | "left" | "right" | "bottom";
36
+ beforeChange?: () => Promise<boolean> | boolean;
37
+ afterChange?: () => Promise<void> | void;
38
+ }> = [];
39
+
40
+ public static get styles(): CSSResultArray {
41
+ return [styles];
42
+ }
43
+
44
+ createRenderRoot() {
45
+ return this;
46
+ }
47
+
48
+ constructor() {
49
+ super();
50
+ }
51
+
52
+ /**
53
+ * Initializes and starts the Intro.js tour.
54
+ */
55
+ public startTour(): void {
56
+ const introSteps = this.steps.map((step) => ({
57
+ element: document.querySelector(step.element) as HTMLElement | null,
58
+ intro: step.content,
59
+ title: step.title,
60
+ position: step.position,
61
+ beforeChange: step.beforeChange,
62
+ afterChange: step.afterChange,
63
+ })).filter((step) => step.element !== null); // Filter out steps with null elements
64
+
65
+ this.tourInstance = introJs().setOptions({
66
+ steps: introSteps,
67
+ nextLabel: "<button class='introjs-button introjs-next-button'>Next</button>",
68
+ prevLabel: "<button class='introjs-button introjs-prev-button'>Prev</button>",
69
+ showButtons: true,
70
+ showStepNumbers: true,
71
+ });
72
+
73
+ // Handle beforeChange
74
+ this.tourInstance.onbeforechange(async (targetElement) => {
75
+ const currentStepIndex = this.tourInstance?._currentStep ?? 0;
76
+ const currentStep = this.steps[currentStepIndex];
77
+
78
+ if (currentStep?.beforeChange) {
79
+ const result = await currentStep.beforeChange();
80
+ return result === true; // Proceed only if `true` is returned
81
+ }
82
+
83
+ return true; // Proceed if no beforeChange function is provided
84
+ });
85
+
86
+ // Handle afterChange
87
+ this.tourInstance.onafterchange((targetElement) => {
88
+ const currentStepIndex = this.tourInstance?._currentStep ?? 0;
89
+ const currentStep = this.steps[currentStepIndex];
90
+
91
+ if (currentStep?.afterChange) {
92
+ currentStep.afterChange();
93
+ }
94
+ });
95
+
96
+ this.tourInstance.start();
97
+ }
98
+
99
+ /**
100
+ * Render method
101
+ * @slot This is a slot test
102
+ */
103
+ public render(): TemplateResult {
104
+ return html`
105
+ <style>
106
+ ${styles.cssText}
107
+ </style>
108
+ <slot></slot>
109
+ `;
110
+ }
111
+ }
112
+
113
+ export default NileTour;
114
+
115
+ declare global {
116
+ interface HTMLElementTagNameMap {
117
+ 'nile-tour': NileTour;
118
+ }
119
+ }
@@ -726,7 +726,7 @@
726
726
  },
727
727
  {
728
728
  "name": "nile-code-editor",
729
- "description": "Nile icon component.\n\nEvents:\n\n * `nile-focus` {`Event`} - \n\n * `nile-blur` {`Event`} - \n\nAttributes:\n\n * `value` {`string`} - \n\n * `customAutoCompletions` {`object`} - \n\n * `language` {`\"javascript\" | \"sql\" | \"json\"`} - \n\n * `error-message` {`string`} - \n\n * `error` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\nProperties:\n\n * `codeEditor` {`HTMLInputElement`} - \n\n * `value` {`string`} - \n\n * `customAutoCompletions` {`object`} - \n\n * `language` {`\"javascript\" | \"sql\" | \"json\"`} - \n\n * `errorMessage` {`string`} - \n\n * `error` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `view` - \n\n * `viewState` - \n\n * `timeOut` - \n\n * `lineNumbersComp` - \n\n * `restrictSingleLineComp` - \n\n * `readOnlyComp` - \n\n * `customCompletionComp` - \n\n * `insertBetweenCode` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
729
+ "description": "Nile icon component.\n\nEvents:\n\n * `nile-focus` {`Event`} - \n\n * `nile-blur` {`Event`} - \n\nAttributes:\n\n * `value` {`string`} - \n\n * `customAutoCompletions` - \n\n * `language` {`\"javascript\" | \"sql\" | \"json\"`} - \n\n * `error-message` {`string`} - \n\n * `error` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `suggestionBracketSupport` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\nProperties:\n\n * `codeEditor` {`HTMLInputElement`} - \n\n * `value` {`string`} - \n\n * `customAutoCompletions` - \n\n * `language` {`\"javascript\" | \"sql\" | \"json\"`} - \n\n * `errorMessage` {`string`} - \n\n * `error` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `suggestionBracketSupport` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `view` - \n\n * `viewState` - \n\n * `timeOut` - \n\n * `lineNumbersComp` - \n\n * `restrictSingleLineComp` - \n\n * `readOnlyComp` - \n\n * `customCompletionComp` - \n\n * `insertBetweenCode` - \n\n * `customAutocomplete` - \n\n * `resolveNestedProperties` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
730
730
  "attributes": [
731
731
  {
732
732
  "name": "value",
@@ -734,7 +734,7 @@
734
734
  },
735
735
  {
736
736
  "name": "customAutoCompletions",
737
- "description": "`customAutoCompletions` {`object`} - \n\nProperty: customAutoCompletions\n\nDefault: [object Object]"
737
+ "description": "`customAutoCompletions` - \n\nProperty: customAutoCompletions\n\nDefault: [object Object]"
738
738
  },
739
739
  {
740
740
  "name": "language",
@@ -770,6 +770,11 @@
770
770
  "description": "`multiline` {`boolean`} - \n\nProperty: multiline\n\nDefault: false",
771
771
  "valueSet": "v"
772
772
  },
773
+ {
774
+ "name": "suggestionBracketSupport",
775
+ "description": "`suggestionBracketSupport` {`boolean`} - \n\nProperty: suggestionBracketSupport\n\nDefault: false",
776
+ "valueSet": "v"
777
+ },
773
778
  {
774
779
  "name": "lineNumbers",
775
780
  "description": "`lineNumbers` {`boolean`} - \n\nProperty: lineNumbers\n\nDefault: false",
@@ -3721,6 +3726,16 @@
3721
3726
  }
3722
3727
  ]
3723
3728
  },
3729
+ {
3730
+ "name": "nile-tour",
3731
+ "description": "Nile tour component.\n\nAttributes:\n\n * `steps` {`{ stepNo: number; element: string; title: string; content: string; position: \"top\" | \"bottom\" | \"right\" | \"left\"; beforeChange?: (() => boolean | Promise<boolean>) | undefined; afterChange?: (() => void | Promise<...>) | undefined; }[]`} - The steps for the tour.\n\nProperties:\n\n * `tourInstance` - \n\n * `steps` {`{ stepNo: number; element: string; title: string; content: string; position: \"top\" | \"bottom\" | \"right\" | \"left\"; beforeChange?: (() => boolean | Promise<boolean>) | undefined; afterChange?: (() => void | Promise<...>) | undefined; }[]`} - The steps for the tour.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3732
+ "attributes": [
3733
+ {
3734
+ "name": "steps",
3735
+ "description": "`steps` {`{ stepNo: number; element: string; title: string; content: string; position: \"top\" | \"bottom\" | \"right\" | \"left\"; beforeChange?: (() => boolean | Promise<boolean>) | undefined; afterChange?: (() => void | Promise<...>) | undefined; }[]`} - The steps for the tour.\n\nProperty: steps\n\nDefault: "
3736
+ }
3737
+ ]
3738
+ },
3724
3739
  {
3725
3740
  "name": "nile-tree-item",
3726
3741
  "description": "Events:\n\n * `nile-expand` {} - Emitted when the tree item expands.\n\n * `nile-after-expand` {} - Emitted after the tree item expands and all animations are complete.\n\n * `nile-collapse` {} - Emitted when the tree item collapses.\n\n * `nile-after-collapse` {} - Emitted after the tree item collapses and all animations are complete.\n\n * `nile-lazy-change` {} - Emitted when the tree item's lazy state changes.\n\n * `nile-lazy-load` {} - Emitted when a lazy item is selected. Use this event to asynchronously load data and append\nitems to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading\nstate and update the tree.\n\nSlots:\n\n * ` ` {} - The default slot.\n\n * `expand-icon` {} - The icon to show when the tree item is expanded.\n\n * `collapse-icon` {} - The icon to show when the tree item is collapsed.\n\nAttributes:\n\n * `expanded` {`boolean`} - Expands the tree item.\n\n * `selected` {`boolean`} - Draws the tree item in a selected state.\n\n * `disabled` {`boolean`} - Disables the tree item.\n\n * `lazy` {`boolean`} - Enables lazy loading behavior.\n\nProperties:\n\n * `styles` - \n\n * `indeterminate` {`boolean`} - \n\n * `isLeaf` {`boolean`} - \n\n * `loading` {`boolean`} - \n\n * `selectable` {`boolean`} - \n\n * `expanded` {`boolean`} - Expands the tree item.\n\n * `selected` {`boolean`} - Draws the tree item in a selected state.\n\n * `disabled` {`boolean`} - Disables the tree item.\n\n * `lazy` {`boolean`} - Enables lazy loading behavior.\n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `childrenSlot` {`HTMLSlotElement`} - \n\n * `itemElement` {`HTMLDivElement`} - \n\n * `childrenContainer` {`HTMLDivElement`} - \n\n * `expandButtonSlot` {`HTMLSlotElement`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
@@ -1,2 +0,0 @@
1
- System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("default",e=[Object.freeze(JSON.parse('{"displayName":"ABAP","fileTypes":["abap","ABAP"],"foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*\\\\}","name":"abap","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"^\\\\*.*\\\\n?","name":"comment.line.full.abap"},{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"\\".*\\\\n?","name":"comment.line.partial.abap"},{"match":"(?<![^\\\\s])##.*?(?=([\\\\.:,\\\\s]))","name":"comment.line.pragma.abap"},{"match":"(?i)(?<=(?:\\\\s|~|-))(?<=(?:->|=>))([a-z_\\\\/][a-z_0-9\\\\/]*)(?=\\\\s+(?:=|\\\\+=|-=|\\\\*=|\\\\/=|&&=|&=)\\\\s+)","name":"variable.other.abap"},{"match":"\\\\b\\\\d+(\\\\b|\\\\.|,)","name":"constant.numeric.abap"},{"match":"(?i)(^|\\\\s+)((PUBLIC|PRIVATE|PROTECTED)\\\\sSECTION)(?=\\\\s+|:|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?<!\\\\\\\\)(\\\\|)(.*?)","beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"end":"(?<!\\\\\\\\)(\\\\||(\\\\\\\\\\\\\\\\\\\\|))","endCaptures":{"1":{"name":"constant.character.escape.abap"}},"name":"string.interpolated.abap","patterns":[{"match":"({ )|( })","name":"constant.character.escape"},{"match":"(?<={ ).*?(?= })","name":"variable.other.abap"},{"match":"\\\\\\\\\\\\|","name":"constant.character.escape.abap"}]},{"begin":"\'","end":"\'","name":"string.quoted.single.abap","patterns":[{"match":"\'\'","name":"constant.character.escape.abap"}]},{"begin":"`","end":"`","name":"string.quoted.single.abap","patterns":[{"match":"``","name":"constant.character.escape.abap"}]},{"begin":"(?i)^\\\\s*(class)\\\\s([a-z_\\\\/][a-z_0-9\\\\/]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","name":"meta.block.begin.implementation.abap","patterns":[{"match":"(?i)(^|\\\\s+)(definition|implementation|public|inheriting\\\\s+from|final|deferred|abstract|shared\\\\s+memory\\\\s+enabled|(global|local)*\\\\s*friends|(create\\\\s+(public|protected|private))|for\\\\s+behavior\\\\s+of|for\\\\s+testing|risk\\\\s+level\\\\s+(critical|dangerous|harmless))|duration\\\\s(short|medium|long)(?=\\\\s+|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","contentName":"entity.name.type.block.abap","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(method)\\\\s(?:([a-z_\\\\/][a-z_0-9\\\\/]*)~)?([a-z_\\\\/][a-z_0-9\\\\/]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(BY\\\\s+DATABASE(\\\\s+PROCEDURE|\\\\s+FUNCTION|\\\\s+GRAPH\\\\s+WORKSPACE)|BY\\\\s+KERNEL\\\\s+MODULE)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(FOR\\\\s+(HDB|LLANG))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=\\\\s)(OPTIONS\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\s+SYNTAX\\\\s+ERRORS))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(LANGUAGE\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"captures":{"1":{"name":"storage.modifier.method.abap"}},"match":"(?i)(?<=\\\\s)(USING)\\\\s+([a-z_\\\\/][a-z_0-9\\\\/=>]*)+(?=\\\\s+|\\\\.)"},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(INTERFACE)\\\\s([a-z_\\\\/][a-z_0-9\\\\/]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(DEFERRED|PUBLIC)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"}]},{"begin":"(?i)^\\\\s*(FORM)\\\\s([a-z_\\\\/][a-z_0-9\\\\/\\\\-?]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\s+|\\\\.)","name":"storage.modifier.form.abap"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}]},{"match":"(?i)(endclass|endmethod|endform|endinterface)","name":"storage.type.block.end.abap"},{"match":"(?i)(<[A-Za-z_][A-Za-z0-9_]*>)","name":"variable.other.field.symbol.abap"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"},{"include":"#sql_functions"},{"include":"#sql_types"}],"repository":{"abap_constants":{"match":"(?i)(?<=\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\\\s|\\\\.|,)","name":"constant.language.abap"},"abaptypes":{"patterns":[{"match":"(?i)\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|c|n|i|p|f|d|t|x)(?=\\\\s|\\\\.|,)","name":"support.type.abap"},{"match":"(?i)\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\\\s|\\\\.|,)","name":"keyword.control.simple.abap"}]},"arithmetic_operator":{"match":"(?i)(?<=\\\\s)(\\\\+|-|\\\\*|\\\\*\\\\*|\\\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\s)","name":"keyword.control.simple.abap"},"builtin_functions":{"match":"(?i)(?<=\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\()","name":"entity.name.function.builtin.abap"},"comparison_operator":{"match":"(?i)(?<=\\\\s)(<|>|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|o|z|m)(?=\\\\s)","name":"keyword.control.simple.abap"},"control_keywords":{"match":"(?i)(^|\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\\\s|\\\\.|:)","name":"keyword.control.flow.abap"},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}},"match":"(?i)\\\\b(data|value|field-symbol|final|reference|resumable)\\\\((<?[a-z_\\\\/][a-z_0-9\\\\/]*>?)\\\\)"},"logical_operator":{"match":"(?i)(?<=\\\\s)(not|or|and)(?=\\\\s)","name":"keyword.control.simple.abap"},"main_keywords":{"match":"(?i)(?<=^|\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|align|all|allocate|alpha|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blank|blanks|block|blocks|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|center|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-method|class-methods|class-pool|cleanup|clear|client|clients|clock|clone|close|cnt|code|collect|color|column|comment|comments|commit|common|communication|comparing|component|components|compression|compute|concatenate|cond|condense|condition|connection|constant|constants|context|contexts|control|controls|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicate|duplicates|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|engineering|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|environment|equiv|errors|escape|escaping|event|events|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filter|filters|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frame|frames|free|from|full|function|function-pool|generate|get|giving|graph|group|groups|handle|handler|hashed|having|header|headers|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|include|includes|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instance|instances|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|iso|job|join|keep|keeping|kernel|key|keys|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|leftplus|leftspace|legacy|length|let|level|levels|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|local|locale|lock|locks|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|method|methods|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no|no-display|no-extension|no-gap|no-gaps|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|object|objects|objmgr|obligatory|occurence|occurences|occurrence|occurrences|occurs|of|offset|on|only|open|optional|option|options|order|others|out|outer|output|output-length|overflow|overlay|pack|package|pad|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|range|ranges|read|read-only|receive|received|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|result|results|resumable|resume|retry|return|returning|right|right-justified|rightplus|rightspace|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scale_preserving|scale_preserving_scientific|scan|scientific|scientific_with_leading_zero|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-set|selection-sets|selection-table|selections|send|separate|separated|session|set|shared|shift|shortdump|shortdump-id|sign|sign_as_postfix|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statement|statements|static|statics|statusinfo|step|step-loop|stop|structure|structures|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|table|tables|tableview|tabstrip|target|task|tasks|test|test-injection|test-seam|testing|text|textpool|then|throw|time|times|timestamp|timezone|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pool|type-pools|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|width|window|windows|with|with-heading|with-title|without|word|work|workspace|write|xml|xsd|yes|zero|zone)(?=\\\\s|\\\\.|:|,)","name":"keyword.control.simple.abap"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"match":"(?<=\\\\s)(&&|&|\\\\?=|\\\\+=|-=|\\\\/=|\\\\*=|&&=|&=)(?=\\\\s)","name":"keyword.control.simple.abap"},"reserved_names":{"match":"(?i)(?<=\\\\s)(me|super)(?=\\\\s|\\\\.|,|->)","name":"constant.language.abap"},"sql_functions":{"match":"(?i)(?<=\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\()","name":"entity.name.function.sql.abap"},"sql_types":{"match":"(?i)(?<=\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=\\\\s|\\\\(|\\\\))","name":"entity.name.type.sql.abap"},"system_fields":{"captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}},"match":"(?i)\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar\\\\d|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\\\.|\\\\s)"},"text_symbols":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}},"match":"(?i)(?<=^|\\\\s)(text)-([A-Z0-9]{1,3})(?=\\\\s|\\\\.|:|,)"}},"scopeName":"source.abap"}'))]);}};});
2
- //# sourceMappingURL=abap-511af2a5.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abap-511af2a5.cjs.js","sources":["../../../node_modules/shiki/dist/langs/abap.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ABAP\\\",\\\"fileTypes\\\":[\\\"abap\\\",\\\"ABAP\\\"],\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*\\\\\\\\*|\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\*\\\\\\\\*/|^\\\\\\\\s*\\\\\\\\}\\\",\\\"name\\\":\\\"abap\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.abap\\\"}},\\\"match\\\":\\\"^\\\\\\\\*.*\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.full.abap\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.abap\\\"}},\\\"match\\\":\\\"\\\\\\\".*\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.partial.abap\\\"},{\\\"match\\\":\\\"(?<![^\\\\\\\\s])##.*?(?=([\\\\\\\\.:,\\\\\\\\s]))\\\",\\\"name\\\":\\\"comment.line.pragma.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=(?:\\\\\\\\s|~|-))(?<=(?:->|=>))([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/]*)(?=\\\\\\\\s+(?:=|\\\\\\\\+=|-=|\\\\\\\\*=|\\\\\\\\/=|&&=|&=)\\\\\\\\s+)\\\",\\\"name\\\":\\\"variable.other.abap\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+(\\\\\\\\b|\\\\\\\\.|,)\\\",\\\"name\\\":\\\"constant.numeric.abap\\\"},{\\\"match\\\":\\\"(?i)(^|\\\\\\\\s+)((PUBLIC|PRIVATE|PROTECTED)\\\\\\\\sSECTION)(?=\\\\\\\\s+|:|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.class.abap\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\|)(.*?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.abap\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\||(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.abap\\\"}},\\\"name\\\":\\\"string.interpolated.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"({ )|( })\\\",\\\"name\\\":\\\"constant.character.escape\\\"},{\\\"match\\\":\\\"(?<={ ).*?(?= })\\\",\\\"name\\\":\\\"variable.other.abap\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\|\\\",\\\"name\\\":\\\"constant.character.escape.abap\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.abap\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.single.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"``\\\",\\\"name\\\":\\\"constant.character.escape.abap\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(class)\\\\\\\\s([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.block.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.block.begin.implementation.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(^|\\\\\\\\s+)(definition|implementation|public|inheriting\\\\\\\\s+from|final|deferred|abstract|shared\\\\\\\\s+memory\\\\\\\\s+enabled|(global|local)*\\\\\\\\s*friends|(create\\\\\\\\s+(public|protected|private))|for\\\\\\\\s+behavior\\\\\\\\s+of|for\\\\\\\\s+testing|risk\\\\\\\\s+level\\\\\\\\s+(critical|dangerous|harmless))|duration\\\\\\\\s(short|medium|long)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.class.abap\\\"},{\\\"begin\\\":\\\"(?=[A-Za-z_][A-Za-z0-9_]*)\\\",\\\"contentName\\\":\\\"entity.name.type.block.abap\\\",\\\"end\\\":\\\"(?![A-Za-z0-9_])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#generic_names\\\"}]}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(method)\\\\\\\\s(?:([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/]*)~)?([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.abap\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(BY\\\\\\\\s+DATABASE(\\\\\\\\s+PROCEDURE|\\\\\\\\s+FUNCTION|\\\\\\\\s+GRAPH\\\\\\\\s+WORKSPACE)|BY\\\\\\\\s+KERNEL\\\\\\\\s+MODULE)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(FOR\\\\\\\\s+(HDB|LLANG))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(OPTIONS\\\\\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\\\\\s+SYNTAX\\\\\\\\s+ERRORS))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(LANGUAGE\\\\\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.method.abap\\\"}},\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(USING)\\\\\\\\s+([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/=>]*)+(?=\\\\\\\\s+|\\\\\\\\.)\\\"},{\\\"begin\\\":\\\"(?=[A-Za-z_][A-Za-z0-9_]*)\\\",\\\"end\\\":\\\"(?![A-Za-z0-9_])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#generic_names\\\"}]}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(INTERFACE)\\\\\\\\s([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(DEFERRED|PUBLIC)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(FORM)\\\\\\\\s([a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/\\\\\\\\-?]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.form.abap\\\"},{\\\"include\\\":\\\"#abaptypes\\\"},{\\\"include\\\":\\\"#keywords_followed_by_braces\\\"}]},{\\\"match\\\":\\\"(?i)(endclass|endmethod|endform|endinterface)\\\",\\\"name\\\":\\\"storage.type.block.end.abap\\\"},{\\\"match\\\":\\\"(?i)(<[A-Za-z_][A-Za-z0-9_]*>)\\\",\\\"name\\\":\\\"variable.other.field.symbol.abap\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#abap_constants\\\"},{\\\"include\\\":\\\"#reserved_names\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#builtin_functions\\\"},{\\\"include\\\":\\\"#abaptypes\\\"},{\\\"include\\\":\\\"#system_fields\\\"},{\\\"include\\\":\\\"#sql_functions\\\"},{\\\"include\\\":\\\"#sql_types\\\"}],\\\"repository\\\":{\\\"abap_constants\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\\\\\\\s|\\\\\\\\.|,)\\\",\\\"name\\\":\\\"constant.language.abap\\\"},\\\"abaptypes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|c|n|i|p|f|d|t|x)(?=\\\\\\\\s|\\\\\\\\.|,)\\\",\\\"name\\\":\\\"support.type.abap\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\\\\\\\s|\\\\\\\\.|,)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"}]},\\\"arithmetic_operator\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(\\\\\\\\+|-|\\\\\\\\*|\\\\\\\\*\\\\\\\\*|\\\\\\\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"builtin_functions\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.builtin.abap\\\"},\\\"comparison_operator\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(<|>|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|o|z|m)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"control_keywords\\\":{\\\"match\\\":\\\"(?i)(^|\\\\\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\\\\\\\s|\\\\\\\\.|:)\\\",\\\"name\\\":\\\"keyword.control.flow.abap\\\"},\\\"generic_names\\\":{\\\"match\\\":\\\"[A-Za-z_][A-Za-z0-9_]*\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main_keywords\\\"},{\\\"include\\\":\\\"#text_symbols\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#keywords_followed_by_braces\\\"}]},\\\"keywords_followed_by_braces\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.abap\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(data|value|field-symbol|final|reference|resumable)\\\\\\\\((<?[a-z_\\\\\\\\/][a-z_0-9\\\\\\\\/]*>?)\\\\\\\\)\\\"},\\\"logical_operator\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(not|or|and)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"main_keywords\\\":{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|align|all|allocate|alpha|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blank|blanks|block|blocks|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|center|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-method|class-methods|class-pool|cleanup|clear|client|clients|clock|clone|close|cnt|code|collect|color|column|comment|comments|commit|common|communication|comparing|component|components|compression|compute|concatenate|cond|condense|condition|connection|constant|constants|context|contexts|control|controls|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicate|duplicates|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|engineering|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|environment|equiv|errors|escape|escaping|event|events|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filter|filters|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frame|frames|free|from|full|function|function-pool|generate|get|giving|graph|group|groups|handle|handler|hashed|having|header|headers|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|include|includes|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instance|instances|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|iso|job|join|keep|keeping|kernel|key|keys|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|leftplus|leftspace|legacy|length|let|level|levels|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|local|locale|lock|locks|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|method|methods|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no|no-display|no-extension|no-gap|no-gaps|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|object|objects|objmgr|obligatory|occurence|occurences|occurrence|occurrences|occurs|of|offset|on|only|open|optional|option|options|order|others|out|outer|output|output-length|overflow|overlay|pack|package|pad|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|range|ranges|read|read-only|receive|received|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|result|results|resumable|resume|retry|return|returning|right|right-justified|rightplus|rightspace|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scale_preserving|scale_preserving_scientific|scan|scientific|scientific_with_leading_zero|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-set|selection-sets|selection-table|selections|send|separate|separated|session|set|shared|shift|shortdump|shortdump-id|sign|sign_as_postfix|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statement|statements|static|statics|statusinfo|step|step-loop|stop|structure|structures|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|table|tables|tableview|tabstrip|target|task|tasks|test|test-injection|test-seam|testing|text|textpool|then|throw|time|times|timestamp|timezone|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pool|type-pools|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|width|window|windows|with|with-heading|with-title|without|word|work|workspace|write|xml|xsd|yes|zero|zone)(?=\\\\\\\\s|\\\\\\\\.|:|,)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#other_operator\\\"},{\\\"include\\\":\\\"#arithmetic_operator\\\"},{\\\"include\\\":\\\"#comparison_operator\\\"},{\\\"include\\\":\\\"#logical_operator\\\"}]},\\\"other_operator\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\s)(&&|&|\\\\\\\\?=|\\\\\\\\+=|-=|\\\\\\\\/=|\\\\\\\\*=|&&=|&=)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"reserved_names\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(me|super)(?=\\\\\\\\s|\\\\\\\\.|,|->)\\\",\\\"name\\\":\\\"constant.language.abap\\\"},\\\"sql_functions\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.sql.abap\\\"},\\\"sql_types\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=\\\\\\\\s|\\\\\\\\(|\\\\\\\\))\\\",\\\"name\\\":\\\"entity.name.type.sql.abap\\\"},\\\"system_fields\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.abap\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar\\\\\\\\d|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\\\\\\\.|\\\\\\\\s)\\\"},\\\"text_symbols\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.abap\\\"}},\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(text)-([A-Z0-9]{1,3})(?=\\\\\\\\s|\\\\\\\\.|:|,)\\\"}},\\\"scopeName\\\":\\\"source.abap\\\"}\"))\n\nexport default [\nlang\n]\n"],"names":["abap","Object","freeze","JSON","parse"],"mappings":"gIAEeA,EAAA,CAFFC,MAAAA,CAAOC,MAAOC,CAAAA,IAAAA,CAAKC,MAAM","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- var e=[Object.freeze(JSON.parse('{"displayName":"ABAP","fileTypes":["abap","ABAP"],"foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*\\\\}","name":"abap","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"^\\\\*.*\\\\n?","name":"comment.line.full.abap"},{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"\\".*\\\\n?","name":"comment.line.partial.abap"},{"match":"(?<![^\\\\s])##.*?(?=([\\\\.:,\\\\s]))","name":"comment.line.pragma.abap"},{"match":"(?i)(?<=(?:\\\\s|~|-))(?<=(?:->|=>))([a-z_\\\\/][a-z_0-9\\\\/]*)(?=\\\\s+(?:=|\\\\+=|-=|\\\\*=|\\\\/=|&&=|&=)\\\\s+)","name":"variable.other.abap"},{"match":"\\\\b\\\\d+(\\\\b|\\\\.|,)","name":"constant.numeric.abap"},{"match":"(?i)(^|\\\\s+)((PUBLIC|PRIVATE|PROTECTED)\\\\sSECTION)(?=\\\\s+|:|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?<!\\\\\\\\)(\\\\|)(.*?)","beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"end":"(?<!\\\\\\\\)(\\\\||(\\\\\\\\\\\\\\\\\\\\|))","endCaptures":{"1":{"name":"constant.character.escape.abap"}},"name":"string.interpolated.abap","patterns":[{"match":"({ )|( })","name":"constant.character.escape"},{"match":"(?<={ ).*?(?= })","name":"variable.other.abap"},{"match":"\\\\\\\\\\\\|","name":"constant.character.escape.abap"}]},{"begin":"\'","end":"\'","name":"string.quoted.single.abap","patterns":[{"match":"\'\'","name":"constant.character.escape.abap"}]},{"begin":"`","end":"`","name":"string.quoted.single.abap","patterns":[{"match":"``","name":"constant.character.escape.abap"}]},{"begin":"(?i)^\\\\s*(class)\\\\s([a-z_\\\\/][a-z_0-9\\\\/]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","name":"meta.block.begin.implementation.abap","patterns":[{"match":"(?i)(^|\\\\s+)(definition|implementation|public|inheriting\\\\s+from|final|deferred|abstract|shared\\\\s+memory\\\\s+enabled|(global|local)*\\\\s*friends|(create\\\\s+(public|protected|private))|for\\\\s+behavior\\\\s+of|for\\\\s+testing|risk\\\\s+level\\\\s+(critical|dangerous|harmless))|duration\\\\s(short|medium|long)(?=\\\\s+|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","contentName":"entity.name.type.block.abap","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(method)\\\\s(?:([a-z_\\\\/][a-z_0-9\\\\/]*)~)?([a-z_\\\\/][a-z_0-9\\\\/]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(BY\\\\s+DATABASE(\\\\s+PROCEDURE|\\\\s+FUNCTION|\\\\s+GRAPH\\\\s+WORKSPACE)|BY\\\\s+KERNEL\\\\s+MODULE)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(FOR\\\\s+(HDB|LLANG))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=\\\\s)(OPTIONS\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\s+SYNTAX\\\\s+ERRORS))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(LANGUAGE\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"captures":{"1":{"name":"storage.modifier.method.abap"}},"match":"(?i)(?<=\\\\s)(USING)\\\\s+([a-z_\\\\/][a-z_0-9\\\\/=>]*)+(?=\\\\s+|\\\\.)"},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(INTERFACE)\\\\s([a-z_\\\\/][a-z_0-9\\\\/]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(DEFERRED|PUBLIC)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"}]},{"begin":"(?i)^\\\\s*(FORM)\\\\s([a-z_\\\\/][a-z_0-9\\\\/\\\\-?]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\s+|\\\\.)","name":"storage.modifier.form.abap"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}]},{"match":"(?i)(endclass|endmethod|endform|endinterface)","name":"storage.type.block.end.abap"},{"match":"(?i)(<[A-Za-z_][A-Za-z0-9_]*>)","name":"variable.other.field.symbol.abap"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"},{"include":"#sql_functions"},{"include":"#sql_types"}],"repository":{"abap_constants":{"match":"(?i)(?<=\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\\\s|\\\\.|,)","name":"constant.language.abap"},"abaptypes":{"patterns":[{"match":"(?i)\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|c|n|i|p|f|d|t|x)(?=\\\\s|\\\\.|,)","name":"support.type.abap"},{"match":"(?i)\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\\\s|\\\\.|,)","name":"keyword.control.simple.abap"}]},"arithmetic_operator":{"match":"(?i)(?<=\\\\s)(\\\\+|-|\\\\*|\\\\*\\\\*|\\\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\s)","name":"keyword.control.simple.abap"},"builtin_functions":{"match":"(?i)(?<=\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\()","name":"entity.name.function.builtin.abap"},"comparison_operator":{"match":"(?i)(?<=\\\\s)(<|>|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|o|z|m)(?=\\\\s)","name":"keyword.control.simple.abap"},"control_keywords":{"match":"(?i)(^|\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\\\s|\\\\.|:)","name":"keyword.control.flow.abap"},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}},"match":"(?i)\\\\b(data|value|field-symbol|final|reference|resumable)\\\\((<?[a-z_\\\\/][a-z_0-9\\\\/]*>?)\\\\)"},"logical_operator":{"match":"(?i)(?<=\\\\s)(not|or|and)(?=\\\\s)","name":"keyword.control.simple.abap"},"main_keywords":{"match":"(?i)(?<=^|\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|align|all|allocate|alpha|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blank|blanks|block|blocks|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|center|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-method|class-methods|class-pool|cleanup|clear|client|clients|clock|clone|close|cnt|code|collect|color|column|comment|comments|commit|common|communication|comparing|component|components|compression|compute|concatenate|cond|condense|condition|connection|constant|constants|context|contexts|control|controls|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicate|duplicates|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|engineering|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|environment|equiv|errors|escape|escaping|event|events|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filter|filters|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frame|frames|free|from|full|function|function-pool|generate|get|giving|graph|group|groups|handle|handler|hashed|having|header|headers|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|include|includes|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instance|instances|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|iso|job|join|keep|keeping|kernel|key|keys|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|leftplus|leftspace|legacy|length|let|level|levels|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|local|locale|lock|locks|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|method|methods|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no|no-display|no-extension|no-gap|no-gaps|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|object|objects|objmgr|obligatory|occurence|occurences|occurrence|occurrences|occurs|of|offset|on|only|open|optional|option|options|order|others|out|outer|output|output-length|overflow|overlay|pack|package|pad|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|range|ranges|read|read-only|receive|received|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|result|results|resumable|resume|retry|return|returning|right|right-justified|rightplus|rightspace|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scale_preserving|scale_preserving_scientific|scan|scientific|scientific_with_leading_zero|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-set|selection-sets|selection-table|selections|send|separate|separated|session|set|shared|shift|shortdump|shortdump-id|sign|sign_as_postfix|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statement|statements|static|statics|statusinfo|step|step-loop|stop|structure|structures|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|table|tables|tableview|tabstrip|target|task|tasks|test|test-injection|test-seam|testing|text|textpool|then|throw|time|times|timestamp|timezone|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pool|type-pools|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|width|window|windows|with|with-heading|with-title|without|word|work|workspace|write|xml|xsd|yes|zero|zone)(?=\\\\s|\\\\.|:|,)","name":"keyword.control.simple.abap"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"match":"(?<=\\\\s)(&&|&|\\\\?=|\\\\+=|-=|\\\\/=|\\\\*=|&&=|&=)(?=\\\\s)","name":"keyword.control.simple.abap"},"reserved_names":{"match":"(?i)(?<=\\\\s)(me|super)(?=\\\\s|\\\\.|,|->)","name":"constant.language.abap"},"sql_functions":{"match":"(?i)(?<=\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\()","name":"entity.name.function.sql.abap"},"sql_types":{"match":"(?i)(?<=\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=\\\\s|\\\\(|\\\\))","name":"entity.name.type.sql.abap"},"system_fields":{"captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}},"match":"(?i)\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar\\\\d|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\\\.|\\\\s)"},"text_symbols":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}},"match":"(?i)(?<=^|\\\\s)(text)-([A-Z0-9]{1,3})(?=\\\\s|\\\\.|:|,)"}},"scopeName":"source.abap"}'))];export{e as default};
@@ -1,2 +0,0 @@
1
- System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("default",e=[Object.freeze(JSON.parse('{"displayName":"Cairo","name":"cairo","patterns":[{"begin":"(<)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.cairo"},"2":{"name":"punctuation.brackets.square.cairo"}},"comment":"boxed slice literal","end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.cairo"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"storage.type.cairo"},"2":{"name":"entity.name.module.cairo"}},"comment":"modules","match":"(mod)\\\\s+([a-z][A-Za-z0-9_]*)"},{"begin":"\\\\b(use)\\\\s","beginCaptures":{"1":{"name":"keyword.other.cairo"}},"comment":"use statements","end":";","endCaptures":{"0":{"name":"punctuation.semi.cairo"}},"name":"meta.use.cairo","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.cairo"},"3":{"name":"punctuation.brackets.attribute.cairo"}},"comment":"attributes","end":"\\\\]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.cairo"}},"name":"meta.attribute.cairo","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"comment":"empty block comments","match":"/\\\\*\\\\*/","name":"comment.block.cairo"},{"begin":"/\\\\*\\\\*","comment":"block documentation comments","end":"\\\\*/","name":"comment.block.documentation.cairo","patterns":[{"include":"#block-comments"}]},{"begin":"/\\\\*(?!\\\\*)","comment":"block comments","end":"\\\\*/","name":"comment.block.cairo","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.cairo"}},"comment":"documentation comments","match":"(///).*$","name":"comment.line.documentation.cairo"},{"captures":{"1":{"name":"punctuation.definition.comment.cairo"}},"comment":"line comments","match":"(//).*$","name":"comment.line.double-slash.cairo"}]},"constants":{"patterns":[{"comment":"ALL CAPS constants","match":"\\\\b[A-Z]{2}[A-Z0-9_]*\\\\b","name":"constant.other.caps.cairo"},{"captures":{"1":{"name":"storage.type.cairo"},"2":{"name":"constant.other.caps.cairo"}},"comment":"constant declarations","match":"\\\\b(const)\\\\s+([A-Z][A-Za-z0-9_]*)\\\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.cairo"},"2":{"name":"keyword.operator.exponent.cairo"},"3":{"name":"keyword.operator.exponent.sign.cairo"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.cairo"},"5":{"name":"entity.name.type.numeric.cairo"}},"comment":"decimal integers and floats","match":"\\\\b\\\\d[\\\\d_]*(\\\\.?)[\\\\d_]*(?:(E|e)([+-]?)([\\\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.decimal.cairo"},{"captures":{"1":{"name":"entity.name.type.numeric.cairo"}},"comment":"hexadecimal integers","match":"\\\\b0x[\\\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.hex.cairo"},{"captures":{"1":{"name":"entity.name.type.numeric.cairo"}},"comment":"octal integers","match":"\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.oct.cairo"},{"captures":{"1":{"name":"entity.name.type.numeric.cairo"}},"comment":"binary integers","match":"\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.bin.cairo"},{"comment":"booleans","match":"\\\\b(true|false)\\\\b","name":"constant.language.bool.cairo"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.cairo"},"2":{"name":"constant.character.escape.bit.cairo"},"3":{"name":"constant.character.escape.unicode.cairo"},"4":{"name":"constant.character.escape.unicode.punctuation.cairo"},"5":{"name":"constant.character.escape.unicode.punctuation.cairo"}},"comment":"escapes: ASCII, byte, Unicode, quote, regex","match":"(\\\\\\\\)(?:(?:(x[0-7][\\\\da-fA-F])|(u(\\\\{)[\\\\da-fA-F]{4,6}(\\\\}))|.))","name":"constant.character.escape.cairo"},"functions":{"patterns":[{"captures":{"1":{"name":"keyword.other.cairo"},"2":{"name":"punctuation.brackets.round.cairo"}},"comment":"pub as a function","match":"\\\\b(pub)(\\\\()"},{"begin":"\\\\b(fn)\\\\s+([A-Za-z0-9_]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.cairo"},"2":{"name":"entity.name.function.cairo"},"4":{"name":"punctuation.brackets.round.cairo"},"5":{"name":"punctuation.brackets.angle.cairo"}},"comment":"function definition","end":"\\\\{|;","endCaptures":{"0":{"name":"punctuation.brackets.curly.cairo"}},"name":"meta.function.definition.cairo","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"([A-Za-z0-9_]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.cairo"},"2":{"name":"punctuation.brackets.round.cairo"}},"comment":"function/method calls, chaining","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.cairo"}},"name":"meta.function.call.cairo","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"([A-Za-z0-9_]+)(?=::<.*>\\\\()","beginCaptures":{"1":{"name":"entity.name.function.cairo"}},"comment":"function/method calls with turbofish","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.cairo"}},"name":"meta.function.call.cairo","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"comment":"option types","match":"\\\\b(Some|None)\\\\b","name":"entity.name.type.option.cairo"},{"comment":"result types","match":"\\\\b(Ok|Err)\\\\b","name":"entity.name.type.result.cairo"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.cairo"},"2":{"name":"punctuation.definition.interpolation.cairo"}},"comment":"curly brace interpolations","match":"({)[^\\"{}]*(})","name":"meta.interpolation.cairo"},"keywords":{"patterns":[{"comment":"control flow keywords","match":"\\\\b(break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\b","name":"keyword.control.cairo"},{"comment":"storage keywords","match":"\\\\b(extern|let|macro|mod)\\\\b","name":"keyword.other.cairo storage.type.cairo"},{"comment":"const keyword","match":"\\\\b(const)\\\\b","name":"storage.modifier.cairo"},{"comment":"type keyword","match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.cairo storage.type.cairo"},{"comment":"enum keyword","match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.cairo storage.type.cairo"},{"comment":"trait keyword","match":"\\\\b(trait)\\\\b","name":"keyword.declaration.trait.cairo storage.type.cairo"},{"comment":"struct keyword","match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.cairo storage.type.cairo"},{"comment":"storage modifiers","match":"\\\\b(ref|static)\\\\b","name":"storage.modifier.cairo"},{"comment":"other keywords","match":"\\\\b(as|dyn|move|impl|implicits|in|nopanic|of|priv|pub|static_assert|typeof|unsafe|use|where|with)\\\\b","name":"keyword.other.cairo"},{"comment":"fn","match":"\\\\bfn\\\\b","name":"keyword.other.fn.cairo"},{"comment":"crate","match":"\\\\bcrate\\\\b","name":"keyword.other.crate.cairo"},{"comment":"mut","match":"\\\\bmut\\\\b","name":"storage.modifier.mut.cairo"},{"comment":"logical operators","match":"(\\\\^|\\\\||\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.cairo"},{"comment":"logical AND, borrow references","match":"&(?![&=])","name":"keyword.operator.borrow.and.cairo"},{"comment":"assignment operators","match":"(\\\\+=|-=|\\\\*=|/=|%=|\\\\^=|&=|\\\\|=|<<=|>>=)","name":"keyword.operator.assignment.cairo"},{"comment":"single equal","match":"(?<![<>])=(?!=|>)","name":"keyword.operator.assignment.equal.cairo"},{"comment":"comparison operators","match":"(=(=)?(?!>)|!=|<=|(?<!=)>=)","name":"keyword.operator.comparison.cairo"},{"comment":"math operators","match":"(([+%]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.cairo"},{"captures":{"1":{"name":"punctuation.brackets.round.cairo"},"2":{"name":"punctuation.brackets.square.cairo"},"3":{"name":"punctuation.brackets.curly.cairo"},"4":{"name":"keyword.operator.comparison.cairo"},"5":{"name":"punctuation.brackets.round.cairo"},"6":{"name":"punctuation.brackets.square.cairo"},"7":{"name":"punctuation.brackets.curly.cairo"}},"comment":"less than, greater than (special case)","match":"(?:\\\\b|(?:(\\\\))|(\\\\])|(\\\\})))[ \\\\t]+([<>])[ \\\\t]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"comment":"namespace operator","match":"::","name":"keyword.operator.namespace.cairo"},{"captures":{"1":{"name":"keyword.operator.desnap.cairo"}},"comment":"desnap","match":"(\\\\*)(?=\\\\w+)"},{"comment":"snap","match":"@","name":"keyword.operator.snap.cairo"},{"comment":"dot access","match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.cairo"},{"comment":"ranges, range patterns","match":"\\\\.{2}(=|\\\\.)?","name":"keyword.operator.range.cairo"},{"comment":"colon","match":":(?!:)","name":"keyword.operator.key-value.cairo"},{"comment":"dashrocket, skinny arrow","match":"->","name":"keyword.operator.arrow.skinny.cairo"},{"comment":"hashrocket, fat arrow","match":"=>","name":"keyword.operator.arrow.fat.cairo"},{"comment":"dollar macros","match":"\\\\$","name":"keyword.operator.macro.dollar.cairo"},{"comment":"question mark operator, questionably sized, macro kleene matcher","match":"\\\\?","name":"keyword.operator.question.cairo"}]},"lvariables":{"patterns":[{"comment":"super","match":"\\\\bsuper\\\\b","name":"variable.language.super.cairo"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.cairo"},"3":{"name":"entity.name.type.macro.cairo"}},"comment":"macros","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","name":"meta.macro.cairo"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.cairo"},"2":{"name":"keyword.operator.namespace.cairo"}},"comment":"namespace (non-type, non-function path segment)","match":"(?<![A-Za-z0-9_])([A-Za-z0-9_]+)((?<!super)::)"}]},"punctuation":{"patterns":[{"comment":"comma","match":",","name":"punctuation.comma.cairo"},{"comment":"curly braces","match":"[{}]","name":"punctuation.brackets.curly.cairo"},{"comment":"parentheses, round brackets","match":"[()]","name":"punctuation.brackets.round.cairo"},{"comment":"semicolon","match":";","name":"punctuation.semi.cairo"},{"comment":"square brackets","match":"[\\\\[\\\\]]","name":"punctuation.brackets.square.cairo"},{"comment":"angle brackets","match":"(?<!=)[<>]","name":"punctuation.brackets.angle.cairo"}]},"strings":{"patterns":[{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.bytearray.cairo"}},"comment":"double-quoted byte array strings","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.bytearray.cairo"}},"name":"string.quoted.double.cairo","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(\')","beginCaptures":{"1":{"name":"punctuation.definition.string.short.cairo"}},"comment":"single-quoted short strings","end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.short.cairo"}},"name":"string.quoted.single.cairo","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.cairo"}},"comment":"numeric types","match":"(?<![A-Za-z])(felt252|i8|i16|i32|i64|i128|u8|u16|u32|u64|u128|u256|u512)\\\\b"},{"begin":"\\\\b(_?[A-Z][A-Za-z0-9_]*)(<)","beginCaptures":{"1":{"name":"entity.name.type.cairo"},"2":{"name":"punctuation.brackets.angle.cairo"}},"comment":"parameterized types","end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.cairo"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"comment":"primitive types","match":"\\\\b(bool|never)\\\\b","name":"entity.name.type.primitive.cairo"},{"captures":{"1":{"name":"keyword.declaration.trait.cairo storage.type.cairo"},"2":{"name":"entity.name.type.trait.cairo"}},"comment":"trait declarations","match":"\\\\b(trait)\\\\s+(_?[A-Z][A-Za-z0-9_]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.cairo storage.type.cairo"},"2":{"name":"entity.name.type.struct.cairo"}},"comment":"struct declarations","match":"\\\\b(struct)\\\\s+(_?[A-Z][A-Za-z0-9_]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.cairo storage.type.cairo"},"2":{"name":"entity.name.type.enum.cairo"}},"comment":"enum declarations","match":"\\\\b(enum)\\\\s+(_?[A-Z][A-Za-z0-9_]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.type.cairo storage.type.cairo"},"2":{"name":"entity.name.type.declaration.cairo"}},"comment":"type declarations","match":"\\\\b(type)\\\\s+(_?[A-Z][A-Za-z0-9_]*)\\\\b"},{"comment":"types","match":"\\\\b_?[A-Z][A-Za-z0-9_]*\\\\b(?!!)","name":"entity.name.type.cairo"}]},"variables":{"patterns":[{"comment":"variables","match":"\\\\b(?<!(?<!\\\\.)\\\\.)[a-z0-9_]+\\\\b","name":"variable.other.cairo"}]}},"scopeName":"source.cairo"}'))]);}};});
2
- //# sourceMappingURL=cairo-014ad724.cjs.js.map