pi-learning-agent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/CONTRIBUTING.md +34 -0
  3. package/LICENSE +21 -0
  4. package/README.md +154 -0
  5. package/SECURITY.md +9 -0
  6. package/docs/architecture.md +75 -0
  7. package/docs/images/learning-workspace.png +0 -0
  8. package/docs/releasing.md +51 -0
  9. package/extension/commands.ts +181 -0
  10. package/extension/index.ts +50 -0
  11. package/extension/learning-session.ts +75 -0
  12. package/extension/runner/code-runner.ts +275 -0
  13. package/extension/server/interaction-broker.ts +345 -0
  14. package/extension/server/learning-server.ts +753 -0
  15. package/extension/server/sse-hub.ts +63 -0
  16. package/extension/state/learning-state.ts +458 -0
  17. package/extension/state/session-persistence.ts +72 -0
  18. package/extension/tools/ask-code.ts +97 -0
  19. package/extension/tools/ask-free-response.ts +88 -0
  20. package/extension/tools/ask-multi-choice.ts +109 -0
  21. package/extension/tools/ask-record-attempt.ts +50 -0
  22. package/extension/tools/ask-single-choice.ts +110 -0
  23. package/extension/tools/index.ts +39 -0
  24. package/extension/tools/tui-presenter.ts +609 -0
  25. package/extension/transcript-sync.ts +197 -0
  26. package/extension/tutor-prompt.ts +64 -0
  27. package/extension/utils/browser.ts +35 -0
  28. package/extension/utils/ids.ts +5 -0
  29. package/extension/utils/validation.ts +138 -0
  30. package/package.json +82 -0
  31. package/shared/learning-state.ts +62 -0
  32. package/shared/protocol.ts +236 -0
  33. package/web/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  34. package/web/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  35. package/web/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  36. package/web/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  37. package/web/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  38. package/web/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  39. package/web/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  40. package/web/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  41. package/web/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  42. package/web/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  43. package/web/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  44. package/web/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  45. package/web/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  46. package/web/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  47. package/web/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  48. package/web/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  49. package/web/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  50. package/web/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  51. package/web/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  52. package/web/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  53. package/web/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  54. package/web/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  55. package/web/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  56. package/web/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  57. package/web/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  58. package/web/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  59. package/web/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  60. package/web/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  61. package/web/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  62. package/web/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  63. package/web/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  64. package/web/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  65. package/web/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  66. package/web/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  67. package/web/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  68. package/web/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  69. package/web/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  70. package/web/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  71. package/web/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  72. package/web/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  73. package/web/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  74. package/web/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  75. package/web/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  76. package/web/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  77. package/web/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  78. package/web/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  79. package/web/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  80. package/web/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  81. package/web/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  82. package/web/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  83. package/web/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  84. package/web/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  85. package/web/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  86. package/web/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  87. package/web/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  88. package/web/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  89. package/web/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  90. package/web/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  91. package/web/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  92. package/web/dist/assets/abap-08VXUWAP.js +1 -0
  93. package/web/dist/assets/apex-BWPQTe0t.js +1 -0
  94. package/web/dist/assets/azcli-Bc_sGQ0U.js +1 -0
  95. package/web/dist/assets/bat-i0X4ZdIN.js +1 -0
  96. package/web/dist/assets/bicep-B5-_aFwp.js +2 -0
  97. package/web/dist/assets/cameligo-DMUM7wLl.js +1 -0
  98. package/web/dist/assets/clojure-Cm7r79vr.js +1 -0
  99. package/web/dist/assets/codicon-Brq4_Ui5.ttf +0 -0
  100. package/web/dist/assets/coffee-Ba7i2nA0.js +1 -0
  101. package/web/dist/assets/cpp-C7h46wYY.js +1 -0
  102. package/web/dist/assets/csharp-BKxtCVv1.js +1 -0
  103. package/web/dist/assets/csp-bTuwJoIa.js +1 -0
  104. package/web/dist/assets/css-DIMkf-bt.js +3 -0
  105. package/web/dist/assets/css.worker-DRH2OcAG.js +93 -0
  106. package/web/dist/assets/cssMode-BpvqYhpN.js +1 -0
  107. package/web/dist/assets/cypher-CVaqCwHa.js +1 -0
  108. package/web/dist/assets/dart-onAF5SnQ.js +1 -0
  109. package/web/dist/assets/dockerfile-DZFCIeNp.js +1 -0
  110. package/web/dist/assets/ecl-D05T4iGw.js +1 -0
  111. package/web/dist/assets/editor.worker-D9zwrD0f.js +30 -0
  112. package/web/dist/assets/elixir-6RTg0lbw.js +1 -0
  113. package/web/dist/assets/flow9-C5_-GSwl.js +1 -0
  114. package/web/dist/assets/freemarker2-CmTivYCM.js +3 -0
  115. package/web/dist/assets/fsharp-C8Ef5oNN.js +1 -0
  116. package/web/dist/assets/go-C-y9NEjX.js +1 -0
  117. package/web/dist/assets/graphql-fmXr3nnJ.js +1 -0
  118. package/web/dist/assets/handlebars-ClhpojlY.js +1 -0
  119. package/web/dist/assets/hcl-CpzslTdj.js +1 -0
  120. package/web/dist/assets/html-CTqIxFH7.js +1 -0
  121. package/web/dist/assets/html.worker-DQLddT9h.js +506 -0
  122. package/web/dist/assets/htmlMode-BKCTQ4_a.js +1 -0
  123. package/web/dist/assets/index-6N_lnfyE.js +1243 -0
  124. package/web/dist/assets/index-B5x0MzHm.css +1 -0
  125. package/web/dist/assets/ini-sBoK_t0W.js +1 -0
  126. package/web/dist/assets/java-BEtHBSE6.js +1 -0
  127. package/web/dist/assets/javascript-Cp_q6aWP.js +1 -0
  128. package/web/dist/assets/json.worker-D_Dqrls5.js +62 -0
  129. package/web/dist/assets/jsonMode-CMDRrSMX.js +7 -0
  130. package/web/dist/assets/julia-Bri6UV-V.js +1 -0
  131. package/web/dist/assets/kotlin-BOotOW0E.js +1 -0
  132. package/web/dist/assets/less-B9JPFI3C.js +2 -0
  133. package/web/dist/assets/lexon-CfSJPG6W.js +1 -0
  134. package/web/dist/assets/liquid-BFK8j46k.js +1 -0
  135. package/web/dist/assets/lspLanguageFeatures-nT2b0EDJ.js +4 -0
  136. package/web/dist/assets/lua-CsQS60Ue.js +1 -0
  137. package/web/dist/assets/m3-D-oSqn_W.js +1 -0
  138. package/web/dist/assets/markdown-Cimd5fb3.js +1 -0
  139. package/web/dist/assets/mdx-cEJtnt-p.js +1 -0
  140. package/web/dist/assets/mips-CIPQ_RoX.js +1 -0
  141. package/web/dist/assets/msdax-DauUninz.js +1 -0
  142. package/web/dist/assets/mysql-SOo6toE5.js +1 -0
  143. package/web/dist/assets/objective-c-FvmIjYaQ.js +1 -0
  144. package/web/dist/assets/pascal-DrH0SRf2.js +1 -0
  145. package/web/dist/assets/pascaligo-D-ptJ9y-.js +1 -0
  146. package/web/dist/assets/perl-oz_6vUea.js +1 -0
  147. package/web/dist/assets/pgsql-DTj74zXo.js +1 -0
  148. package/web/dist/assets/php-nr791fC2.js +1 -0
  149. package/web/dist/assets/pla-CopQ2nXW.js +1 -0
  150. package/web/dist/assets/postiats-43DmfD33.js +1 -0
  151. package/web/dist/assets/powerquery-D3hlyOfw.js +1 -0
  152. package/web/dist/assets/powershell-DmHpPYUd.js +1 -0
  153. package/web/dist/assets/protobuf-C531GsRP.js +2 -0
  154. package/web/dist/assets/pug-Z5eAx3Zn.js +1 -0
  155. package/web/dist/assets/python-bhI_n2_n.js +1 -0
  156. package/web/dist/assets/qsharp-DkqhCAOL.js +1 -0
  157. package/web/dist/assets/r-BwWrilGY.js +1 -0
  158. package/web/dist/assets/razor-D40-I8aA.js +1 -0
  159. package/web/dist/assets/redis-ClamHrr6.js +1 -0
  160. package/web/dist/assets/redshift-DT7zqm-g.js +1 -0
  161. package/web/dist/assets/restructuredtext-BYgofb2h.js +1 -0
  162. package/web/dist/assets/ruby-DezsRK8O.js +1 -0
  163. package/web/dist/assets/rust-DdL9SqIa.js +1 -0
  164. package/web/dist/assets/sb-CcwsVR0C.js +1 -0
  165. package/web/dist/assets/scala-DHpiXF5c.js +1 -0
  166. package/web/dist/assets/scheme-BeGwcela.js +1 -0
  167. package/web/dist/assets/scss-gp-XZpBa.js +3 -0
  168. package/web/dist/assets/shell-CC2rA5mh.js +1 -0
  169. package/web/dist/assets/solidity-BEEn4gHE.js +1 -0
  170. package/web/dist/assets/sophia-CRfGWb83.js +1 -0
  171. package/web/dist/assets/sparql-D_Lu-MrJ.js +1 -0
  172. package/web/dist/assets/sql-NEE52Syq.js +1 -0
  173. package/web/dist/assets/st-DbInun42.js +1 -0
  174. package/web/dist/assets/swift-Bxkupp3x.js +1 -0
  175. package/web/dist/assets/systemverilog-Bz4Y3fRF.js +1 -0
  176. package/web/dist/assets/tcl-DISqw1ZD.js +1 -0
  177. package/web/dist/assets/ts.worker-DkYoA6bF.js +67738 -0
  178. package/web/dist/assets/tsMode-C9OJ2Aji.js +11 -0
  179. package/web/dist/assets/twig-De2hgUGE.js +1 -0
  180. package/web/dist/assets/typescript-CZ5RbSdB.js +1 -0
  181. package/web/dist/assets/typespec-B8J7ngcE.js +1 -0
  182. package/web/dist/assets/vb-DV3o63ZY.js +1 -0
  183. package/web/dist/assets/wgsl-DpFanUEy.js +298 -0
  184. package/web/dist/assets/workers-qb_EZhxe.js +1 -0
  185. package/web/dist/assets/xml-BdDnAXLl.js +1 -0
  186. package/web/dist/assets/yaml-BSYHoVQy.js +1 -0
  187. package/web/dist/index.html +23 -0
@@ -0,0 +1,236 @@
1
+ export interface ChoiceOption {
2
+ id: string;
3
+ label: string;
4
+ }
5
+
6
+ export interface SingleChoiceInteraction {
7
+ id: string;
8
+ type: "single_choice";
9
+ title?: string;
10
+ question: string;
11
+ options: ChoiceOption[];
12
+ conceptId?: string;
13
+ allowSkip: boolean;
14
+ createdAt: number;
15
+ }
16
+
17
+ export interface SingleChoiceAnswer {
18
+ optionId: string;
19
+ }
20
+
21
+ export interface MultiChoiceInteraction {
22
+ id: string;
23
+ type: "multi_choice";
24
+ title?: string;
25
+ question: string;
26
+ options: ChoiceOption[];
27
+ conceptId?: string;
28
+ allowSkip: boolean;
29
+ createdAt: number;
30
+ }
31
+
32
+ export interface MultiChoiceAnswer {
33
+ optionIds: string[];
34
+ }
35
+
36
+ export interface FreeResponseInteraction {
37
+ id: string;
38
+ type: "free_response";
39
+ question: string;
40
+ placeholder?: string;
41
+ multiline: boolean;
42
+ conceptId?: string;
43
+ createdAt: number;
44
+ }
45
+
46
+ export interface FreeResponseAnswer {
47
+ text: string;
48
+ }
49
+
50
+ export interface CodeExerciseInteraction {
51
+ id: string;
52
+ type: "code";
53
+ title?: string;
54
+ instructions: string;
55
+ language: string;
56
+ starterCode: string;
57
+ readOnlyRanges?: Array<{ start: number; end: number }>;
58
+ conceptId?: string;
59
+ createdAt: number;
60
+ }
61
+
62
+ export interface CodeExerciseAnswer {
63
+ language: string;
64
+ code: string;
65
+ }
66
+
67
+ export type LearningInteraction =
68
+ | SingleChoiceInteraction
69
+ | MultiChoiceInteraction
70
+ | FreeResponseInteraction
71
+ | CodeExerciseInteraction;
72
+
73
+ export interface SingleChoiceResolvedAnswer {
74
+ interactionId: string;
75
+ type: "single_choice";
76
+ answer: SingleChoiceAnswer;
77
+ responseTimeMs: number;
78
+ }
79
+
80
+ export interface MultiChoiceResolvedAnswer {
81
+ interactionId: string;
82
+ type: "multi_choice";
83
+ answer: MultiChoiceAnswer;
84
+ responseTimeMs: number;
85
+ }
86
+
87
+ export interface FreeResponseResolvedAnswer {
88
+ interactionId: string;
89
+ type: "free_response";
90
+ answer: FreeResponseAnswer;
91
+ responseTimeMs: number;
92
+ }
93
+
94
+ export interface CodeExerciseResolvedAnswer {
95
+ interactionId: string;
96
+ type: "code";
97
+ answer: CodeExerciseAnswer;
98
+ responseTimeMs: number;
99
+ }
100
+
101
+ /**
102
+ * Structured skip answer (spec 7.5 allowSkip): the learner declined the
103
+ * question. Only single/multi choice interactions carry allowSkip; the type
104
+ * mirrors the pending interaction's type.
105
+ */
106
+ export interface SkippedResolvedAnswer {
107
+ interactionId: string;
108
+ type: "single_choice" | "multi_choice";
109
+ skipped: true;
110
+ responseTimeMs: number;
111
+ }
112
+
113
+ export type ResolvedAnswer =
114
+ | SingleChoiceResolvedAnswer
115
+ | MultiChoiceResolvedAnswer
116
+ | FreeResponseResolvedAnswer
117
+ | CodeExerciseResolvedAnswer
118
+ | SkippedResolvedAnswer;
119
+
120
+ export interface InteractionSubmission {
121
+ interactionId: string;
122
+ answer: unknown;
123
+ clientTimestamp: number;
124
+ }
125
+
126
+ export type SubmitResult =
127
+ | { ok: true; answer: ResolvedAnswer }
128
+ | {
129
+ ok: false;
130
+ reason: "not_found" | "already_resolved" | "invalid_answer" | "skip_not_allowed";
131
+ message: string;
132
+ };
133
+
134
+ // --- Server-sent events (spec 7.1) ---
135
+
136
+ import type {
137
+ ConceptState,
138
+ LearningCourse,
139
+ LearningPhase,
140
+ LearningTopic
141
+ } from "./learning-state.js";
142
+
143
+ /** Shape of GET /api/session and the session.updated SSE event. */
144
+ export interface LearningSessionSnapshot {
145
+ learningMode: boolean;
146
+ course?: LearningCourse;
147
+ topic?: LearningTopic;
148
+ phase: LearningPhase;
149
+ /** Array in insertion order of the state's concept map. */
150
+ concepts: ConceptState[];
151
+ }
152
+
153
+ export interface InteractionPresentedEvent {
154
+ event: "interaction.presented";
155
+ interaction: LearningInteraction;
156
+ }
157
+
158
+ export interface InteractionResolvedEvent {
159
+ event: "interaction.resolved";
160
+ interactionId: string;
161
+ answer: ResolvedAnswer;
162
+ }
163
+
164
+ export interface InteractionCancelledEvent {
165
+ event: "interaction.cancelled";
166
+ interactionId: string;
167
+ reason: string;
168
+ }
169
+
170
+ export interface SessionUpdatedEvent {
171
+ event: "session.updated";
172
+ session: LearningSessionSnapshot;
173
+ }
174
+
175
+ /** Corresponds to spec 7.1's ErrorEvent. */
176
+ export interface LearningErrorEvent {
177
+ event: "error";
178
+ message: string;
179
+ }
180
+
181
+ /**
182
+ * Tutor's visible assistant text (spec 26; only text, never reasoning).
183
+ * Streaming: done=false frames carry partial text keyed by messageId;
184
+ * the final done=true frame replaces them. Compatible with pre-streaming
185
+ * clients (they ignore messageId/done and append every frame).
186
+ */
187
+ export interface TutorMessageEvent {
188
+ event: "tutor.message";
189
+ role: "assistant";
190
+ text: string;
191
+ /** Stable per pi message: AssistantMessage.responseId, or a local seq fallback. */
192
+ messageId?: string;
193
+ /** false = streaming partial frame; true = final text. */
194
+ done: boolean;
195
+ }
196
+
197
+ /** Tutor waiting for the learner (learning tool running) or idle (spec 26). */
198
+ export interface TutorStatusEvent {
199
+ event: "tutor.status";
200
+ status: "waiting" | "idle";
201
+ toolName?: string;
202
+ }
203
+
204
+ export type LearningEvent =
205
+ | InteractionPresentedEvent
206
+ | InteractionResolvedEvent
207
+ | InteractionCancelledEvent
208
+ | SessionUpdatedEvent
209
+ | LearningErrorEvent
210
+ | TutorMessageEvent
211
+ | TutorStatusEvent;
212
+
213
+ // --- Code runner (spec 25) ---
214
+
215
+ /**
216
+ * Local code-run request. Only the runner's language whitelist is accepted;
217
+ * the command template is defined by the program, never by the learner.
218
+ */
219
+ export interface CodeRunRequest {
220
+ language: string;
221
+ code: string;
222
+ /** Optional override of the default 8s timeout (server clamps to 100..30000). */
223
+ timeoutMs?: number;
224
+ }
225
+
226
+ /** Result of a local code run; shown only to the learner, never a tool result. */
227
+ export interface CodeRunResult {
228
+ /** null when the process was killed before exiting (timeout/abort). */
229
+ exitCode: number | null;
230
+ stdout: string;
231
+ stderr: string;
232
+ timedOut: boolean;
233
+ durationMs: number;
234
+ /** True when stdout/stderr hit the 64KB cap and were truncated. */
235
+ truncated: boolean;
236
+ }
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`*`},brackets:[[`[`,`]`],[`(`,`)`]]},t={defaultToken:`invalid`,ignoreCase:!0,tokenPostfix:`.abap`,keywords:`abap-source.abbreviated.abstract.accept.accepting.according.activation.actual.add.add-corresponding.adjacent.after.alias.aliases.align.all.allocate.alpha.analysis.analyzer.and.append.appendage.appending.application.archive.area.arithmetic.as.ascending.aspect.assert.assign.assigned.assigning.association.asynchronous.at.attributes.authority.authority-check.avg.back.background.backup.backward.badi.base.before.begin.between.big.binary.bintohex.bit.black.blank.blanks.blob.block.blocks.blue.bound.boundaries.bounds.boxed.break-point.buffer.by.bypassing.byte.byte-order.call.calling.case.cast.casting.catch.center.centered.chain.chain-input.chain-request.change.changing.channels.character.char-to-hex.check.checkbox.ci_.circular.class.class-coding.class-data.class-events.class-methods.class-pool.cleanup.clear.client.clob.clock.close.coalesce.code.coding.col_background.col_group.col_heading.col_key.col_negative.col_normal.col_positive.col_total.collect.color.column.columns.comment.comments.commit.common.communication.comparing.component.components.compression.compute.concat.concat_with_space.concatenate.cond.condense.condition.connect.connection.constants.context.contexts.continue.control.controls.conv.conversion.convert.copies.copy.corresponding.country.cover.cpi.create.creating.critical.currency.currency_conversion.current.cursor.cursor-selection.customer.customer-function.dangerous.data.database.datainfo.dataset.date.dats_add_days.dats_add_months.dats_days_between.dats_is_valid.daylight.dd/mm/yy.dd/mm/yyyy.ddmmyy.deallocate.decimal_shift.decimals.declarations.deep.default.deferred.define.defining.definition.delete.deleting.demand.department.descending.describe.destination.detail.dialog.directory.disconnect.display.display-mode.distinct.divide.divide-corresponding.division.do.dummy.duplicate.duplicates.duration.during.dynamic.dynpro.edit.editor-call.else.elseif.empty.enabled.enabling.encoding.end.endat.endcase.endcatch.endchain.endclass.enddo.endenhancement.end-enhancement-section.endexec.endform.endfunction.endian.endif.ending.endinterface.end-lines.endloop.endmethod.endmodule.end-of-definition.end-of-editing.end-of-file.end-of-page.end-of-selection.endon.endprovide.endselect.end-test-injection.end-test-seam.endtry.endwhile.endwith.engineering.enhancement.enhancement-point.enhancements.enhancement-section.entries.entry.enum.environment.equiv.errormessage.errors.escaping.event.events.exact.except.exception.exceptions.exception-table.exclude.excluding.exec.execute.exists.exit.exit-command.expand.expanding.expiration.explicit.exponent.export.exporting.extend.extended.extension.extract.fail.fetch.field.field-groups.fields.field-symbol.field-symbols.file.filter.filters.filter-table.final.find.first.first-line.fixed-point.fkeq.fkge.flush.font.for.form.format.forward.found.frame.frames.free.friends.from.function.functionality.function-pool.further.gaps.generate.get.giving.gkeq.gkge.global.grant.green.group.groups.handle.handler.harmless.hashed.having.hdb.header.headers.heading.head-lines.help-id.help-request.hextobin.hide.high.hint.hold.hotspot.icon.id.identification.identifier.ids.if.ignore.ignoring.immediately.implementation.implementations.implemented.implicit.import.importing.in.inactive.incl.include.includes.including.increment.index.index-line.infotypes.inheriting.init.initial.initialization.inner.inout.input.insert.instance.instances.instr.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.lines.line-count.linefeed.line-selection.line-size.list.listbox.list-processing.little.llang.load.load-of-program.lob.local.locale.locator.logfile.logical.log-point.long.loop.low.lower.lpad.lpi.ltrim.mail.main.major-id.mapping.margin.mark.mask.match.matchcode.max.maximum.medium.members.memory.mesh.message.message-id.messages.messaging.method.methods.min.minimum.minor-id.mm/dd/yy.mm/dd/yyyy.mmddyy.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-topofpage.no-zero.node.nodes.non-unicode.non-unique.not.null.number.object.objects.obligatory.occurrence.occurrences.occurs.of.off.offset.ole.on.only.open.option.optional.options.or.order.other.others.out.outer.output.output-length.overflow.overlay.pack.package.pad.padding.page.pages.parameter.parameters.parameter-table.part.partially.pattern.percentage.perform.performing.person.pf1.pf10.pf11.pf12.pf13.pf14.pf15.pf2.pf3.pf4.pf5.pf6.pf7.pf8.pf9.pf-status.pink.places.pool.pos_high.pos_low.position.pragmas.precompiled.preferred.preserving.primary.print.print-control.priority.private.procedure.process.program.property.protected.provide.public.push.pushbutton.put.queue-only.quickinfo.radiobutton.raise.raising.range.ranges.read.reader.read-only.receive.received.receiver.receiving.red.redefinition.reduce.reduced.ref.reference.refresh.regex.reject.remote.renaming.replace.replacement.replacing.report.request.requested.reserve.reset.resolution.respecting.responsible.result.results.resumable.resume.retry.return.returncode.returning.returns.right.right-justified.rightplus.rightspace.risk.rmc_communication_failure.rmc_invalid_status.rmc_system_failure.role.rollback.rows.rpad.rtrim.run.sap.sap-spool.saving.scale_preserving.scale_preserving_scientific.scan.scientific.scientific_with_leading_zero.scroll.scroll-boundary.scrolling.search.secondary.seconds.section.select.selection.selections.selection-screen.selection-set.selection-sets.selection-table.select-options.send.separate.separated.set.shared.shift.short.shortdump-id.sign_as_postfix.single.size.skip.skipping.smart.some.sort.sortable.sorted.source.specified.split.spool.spots.sql.sqlscript.stable.stamp.standard.starting.start-of-editing.start-of-selection.state.statement.statements.static.statics.statusinfo.step-loop.stop.structure.structures.style.subkey.submatches.submit.subroutine.subscreen.subtract.subtract-corresponding.suffix.sum.summary.summing.supplied.supply.suppress.switch.switchstates.symbol.syncpoints.syntax.syntax-check.syntax-trace.system-call.system-exceptions.system-exit.tab.tabbed.table.tables.tableview.tabstrip.target.task.tasks.test.testing.test-injection.test-seam.text.textpool.then.throw.time.times.timestamp.timezone.tims_is_valid.title.titlebar.title-lines.to.tokenization.tokens.top-lines.top-of-page.trace-file.trace-table.trailing.transaction.transfer.transformation.translate.transporting.trmac.truncate.truncation.try.tstmp_add_seconds.tstmp_current_utctimestamp.tstmp_is_valid.tstmp_seconds_between.type.type-pool.type-pools.types.uline.unassign.under.unicode.union.unique.unit_conversion.unix.unpack.until.unwind.up.update.upper.user.user-command.using.utf-8.valid.value.value-request.values.vary.varying.verification-message.version.via.view.visible.wait.warning.when.whenever.where.while.width.window.windows.with.with-heading.without.with-title.word.work.write.writer.xml.xsd.yellow.yes.yymmdd.zero.zone.abap_system_timezone.abap_user_timezone.access.action.adabas.adjust_numbers.allow_precision_loss.allowed.amdp.applicationuser.as_geo_json.as400.associations.balance.behavior.breakup.bulk.cds.cds_client.check_before_save.child.clients.corr.corr_spearman.cross.cycles.datn_add_days.datn_add_months.datn_days_between.dats_from_datn.dats_tims_to_tstmp.dats_to_datn.db2.db6.ddl.dense_rank.depth.deterministic.discarding.entities.entity.error.failed.finalize.first_value.fltp_to_dec.following.fractional.full.graph.grouping.hierarchy.hierarchy_ancestors.hierarchy_ancestors_aggregate.hierarchy_descendants.hierarchy_descendants_aggregate.hierarchy_siblings.incremental.indicators.lag.last_value.lead.leaves.like_regexpr.link.locale_sap.lock.locks.many.mapped.matched.measures.median.mssqlnt.multiple.nodetype.ntile.nulls.occurrences_regexpr.one.operations.oracle.orphans.over.parent.parents.partition.pcre.period.pfcg_mapping.preceding.privileged.product.projection.rank.redirected.replace_regexpr.reported.response.responses.root.row.row_number.sap_system_date.save.schema.session.sets.shortdump.siblings.spantree.start.stddev.string_agg.subtotal.sybase.tims_from_timn.tims_to_timn.to_blob.to_clob.total.trace-entry.tstmp_to_dats.tstmp_to_dst.tstmp_to_tims.tstmpl_from_utcl.tstmpl_to_utcl.unbounded.utcl_add_seconds.utcl_current.utcl_seconds_between.uuid.var.verbatim`.split(`.`),builtinFunctions:`abs.acos.asin.atan.bit-set.boolc.boolx.ceil.char_off.charlen.cmax.cmin.concat_lines_of.contains.contains_any_not_of.contains_any_of.cos.cosh.count.count_any_not_of.count_any_of.dbmaxlen.distance.escape.exp.find_any_not_of.find_any_of.find_end.floor.frac.from_mixed.ipow.line_exists.line_index.log.log10.matches.nmax.nmin.numofchar.repeat.rescale.reverse.round.segment.shift_left.shift_right.sign.sin.sinh.sqrt.strlen.substring.substring_after.substring_before.substring_from.substring_to.tan.tanh.to_lower.to_mixed.to_upper.trunc.utclong_add.utclong_current.utclong_diff.xsdbool.xstrlen`.split(`.`),typeKeywords:`b.c.d.decfloat16.decfloat34.f.i.int8.n.p.s.string.t.utclong.x.xstring.any.clike.csequence.decfloat.numeric.simple.xsequence.accp.char.clnt.cuky.curr.datn.dats.d16d.d16n.d16r.d34d.d34n.d34r.dec.df16_dec.df16_raw.df34_dec.df34_raw.fltp.geom_ewkb.int1.int2.int4.lang.lchr.lraw.numc.quan.raw.rawstring.sstring.timn.tims.unit.utcl.df16_scl.df34_scl.prec.varc.abap_bool.abap_false.abap_true.abap_undefined.me.screen.space.super.sy.syst.table_line.*sys*`.split(`.`),builtinMethods:[`class_constructor`,`constructor`],derivedTypes:[`%CID`,`%CID_REF`,`%CONTROL`,`%DATA`,`%ELEMENT`,`%FAIL`,`%KEY`,`%MSG`,`%PARAM`,`%PID`,`%PID_ASSOC`,`%PID_PARENT`,`%_HINTS`],cdsLanguage:[`@AbapAnnotation`,`@AbapCatalog`,`@AccessControl`,`@API`,`@ClientDependent`,`@ClientHandling`,`@CompatibilityContract`,`@DataAging`,`@EndUserText`,`@Environment`,`@LanguageDependency`,`@MappingRole`,`@Metadata`,`@MetadataExtension`,`@ObjectModel`,`@Scope`,`@Semantics`,`$EXTENSION`,`$SELF`],selectors:[`->`,`->*`,`=>`,`~`,`~*`],operators:` +. -./.*.**.div.mod.=.#.@.+=.-=.*=./=.**=.&&=.?=.&.&&.bit-and.bit-not.bit-or.bit-xor.m.o.z.<. >.<=.>=.<>.><.=<.=>.bt.byte-ca.byte-cn.byte-co.byte-cs.byte-na.byte-ns.ca.cn.co.cp.cs.eq.ge.gt.le.lt.na.nb.ne.np.ns.*/.*:.--./*.//`.split(`.`),symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":`type`,"@keywords":`keyword`,"@cdsLanguage":`annotation`,"@derivedTypes":`type`,"@builtinFunctions":`type`,"@builtinMethods":`type`,"@operators":`key`,"@default":`identifier`}}],[/<[\w]+>/,`identifier`],[/##[\w|_]+/,`comment`],{include:`@whitespace`},[/[:,.]/,`delimiter`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,{cases:{"@selectors":`tag`,"@operators":`key`,"@default":``}}],[/'/,{token:`string`,bracket:`@open`,next:`@stringquote`}],[/`/,{token:`string`,bracket:`@open`,next:`@stringping`}],[/\|/,{token:`string`,bracket:`@open`,next:`@stringtemplate`}],[/\d+/,`number`]],stringtemplate:[[/[^\\\|]+/,`string`],[/\\\|/,`string`],[/\|/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringping:[[/[^\\`]+/,`string`],[/`/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringquote:[[/[^\\']+/,`string`],[/'/,{token:`string`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/^\*.*$/,`comment`],[/\".*$/,`comment`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))`),end:RegExp(`^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))`)}}},t=`abstract.activate.and.any.array.as.asc.assert.autonomous.begin.bigdecimal.blob.boolean.break.bulk.by.case.cast.catch.char.class.collect.commit.const.continue.convertcurrency.decimal.default.delete.desc.do.double.else.end.enum.exception.exit.export.extends.false.final.finally.float.for.from.future.get.global.goto.group.having.hint.if.implements.import.in.inner.insert.instanceof.int.interface.into.join.last_90_days.last_month.last_n_days.last_week.like.limit.list.long.loop.map.merge.native.new.next_90_days.next_month.next_n_days.next_week.not.null.nulls.number.object.of.on.or.outer.override.package.parallel.pragma.private.protected.public.retrieve.return.returning.rollback.savepoint.search.select.set.short.sort.stat.static.strictfp.super.switch.synchronized.system.testmethod.then.this.this_month.this_week.throw.throws.today.tolabel.tomorrow.transaction.transient.trigger.true.try.type.undelete.update.upsert.using.virtual.void.volatile.webservice.when.where.while.yesterday`.split(`.`),n=e=>e.charAt(0).toUpperCase()+e.substr(1),r=[];t.forEach(e=>{r.push(e),r.push(e.toUpperCase()),r.push(n(e))});var i={defaultToken:``,tokenPostfix:`.apex`,keywords:r,operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.>>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=.>>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`type.identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/@\s*[a-zA-Z_\$][\w\$]*/,`annotation`],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)[fFdD]/,`number.float`],[/(@digits)[lL]?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@apexdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],apexdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}]]}};export{e as conf,i as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`#`}},t={defaultToken:`keyword`,ignoreCase:!0,tokenPostfix:`.azcli`,str:/[^#\s]/,tokenizer:{root:[{include:`@comment`},[/\s-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}]],type:[{include:`@comment`},[/-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":`key.identifier`}}],[/@str+\s*/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}]],comment:[[/#.*$/,{cases:{"@eos":{token:`comment`,next:`@popall`}}}]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`REM`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],surroundingPairs:[{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*(::\\s*|REM\\s+)#region`),end:RegExp(`^\\s*(::\\s*|REM\\s+)#endregion`)}}},t={defaultToken:``,ignoreCase:!0,tokenPostfix:`.bat`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,[``,`comment`]],[/(\@?)(@keywords)(?!\w)/,[{token:`keyword`},{token:`keyword.$2`}]],[/[ \t\r\n]+/,``],[/setlocal(?!\w)/,`keyword.tag-setlocal`],[/endlocal(?!\w)/,`keyword.tag-setlocal`],[/[a-zA-Z_]\w*/,``],[/:\w*/,`metatag`],[/%[^%]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/%[\w ]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/$/,`string`,`@popall`]]}};export{e as conf,t as language};
@@ -0,0 +1,2 @@
1
+ var e=(e=>`\\b${e}\\b`)(`[_a-zA-Z][_a-zA-Z0-9]*`),t=[`targetScope`,`resource`,`module`,`param`,`var`,`output`,`for`,`in`,`if`,`existing`],n=[`true`,`false`,`null`],r=`[ \\t\\r\\n]`,i=`[0-9]+`,a={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`'''`,close:`'''`}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`'''`,close:`'''`,notIn:[`string`,`comment`]}],autoCloseBefore:`:.,=}])'
2
+ `,indentationRules:{increaseIndentPattern:RegExp(`^((?!\\/\\/).)*(\\{[^}"'\`]*|\\([^)"'\`]*|\\[[^\\]"'\`]*)$`),decreaseIndentPattern:RegExp(`^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$`)}},o={defaultToken:``,tokenPostfix:`.bicep`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:t,namedLiterals:n,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:`@expression`},{include:`@whitespace`}],stringVerbatim:[{regex:`(|'|'')[^']`,action:{token:`string`}},{regex:`'''`,action:{token:`string.quote`,next:`@pop`}}],stringLiteral:[{regex:"\\${",action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`[^\\\\'$]+`,action:{token:`string`}},{regex:`@escapes`,action:{token:`string.escape`}},{regex:`\\\\.`,action:{token:`string.escape.invalid`}},{regex:`'`,action:{token:`string`,next:`@pop`}}],bracketCounting:[{regex:`{`,action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`}`,action:{token:`delimiter.bracket`,next:`@pop`}},{include:`expression`}],comment:[{regex:`[^\\*]+`,action:{token:`comment`}},{regex:`\\*\\/`,action:{token:`comment`,next:`@pop`}},{regex:`[\\/*]`,action:{token:`comment`}}],whitespace:[{regex:r},{regex:`\\/\\*`,action:{token:`comment`,next:`@comment`}},{regex:`\\/\\/.*$`,action:{token:`comment`}}],expression:[{regex:`'''`,action:{token:`string.quote`,next:`@stringVerbatim`}},{regex:`'`,action:{token:`string.quote`,next:`@stringLiteral`}},{regex:i,action:{token:`number`}},{regex:e,action:{cases:{"@keywords":{token:`keyword`},"@namedLiterals":{token:`keyword`},"@default":{token:`identifier`}}}}]}};export{a as conf,o as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`(*`,`*)`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`<`,`>`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}]},t={defaultToken:``,tokenPostfix:`.cameligo`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`abs.assert.block.Bytes.case.Crypto.Current.else.failwith.false.for.fun.if.in.let.let%entry.let%init.List.list.Map.map.match.match%nat.mod.not.operation.Operation.of.record.Set.set.sender.skip.source.String.then.to.true.type.with`.split(`.`),typeKeywords:[`int`,`unit`,`string`,`tz`,`nat`,`bool`],operators:[`=`,`>`,`<`,`<=`,`>=`,`<>`,`:`,`:=`,`and`,`mod`,`or`,`+`,`-`,`*`,`/`,`@`,`&`,`^`,`%`,`->`,`<-`,`&&`,`||`],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/\$[0-9a-fA-F]{1,16}/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'/,`string`,`@string`],[/'[^\\']'/,`string`],[/'/,`string.invalid`],[/\#\d+/,`string`]],comment:[[/[^\(\*]+/,`comment`],[/\*\)/,`comment`,`@pop`],[/\(\*/,`comment`]],string:[[/[^\\']+/,`string`],[/\\./,`string.escape.invalid`],[/'/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,`white`],[/\(\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`;;`},brackets:[[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}],surroundingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}]},t={defaultToken:``,ignoreCase:!0,tokenPostfix:`.clj`,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`}],constants:[`true`,`false`,`nil`],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[`.`,`catch`,`def`,`do`,`if`,`monitor-enter`,`monitor-exit`,`new`,`quote`,`recur`,`set!`,`throw`,`try`,`var`],coreSymbols:`*,*',*1,*2,*3,*agent*,*allow-unresolved-vars*,*assert*,*clojure-version*,*command-line-args*,*compile-files*,*compile-path*,*compiler-options*,*data-readers*,*default-data-reader-fn*,*e,*err*,*file*,*flush-on-newline*,*fn-loader*,*in*,*math-context*,*ns*,*out*,*print-dup*,*print-length*,*print-level*,*print-meta*,*print-namespace-maps*,*print-readably*,*read-eval*,*reader-resolver*,*source-path*,*suppress-read*,*unchecked-math*,*use-context-classloader*,*verbose-defrecords*,*warn-on-reflection*,+,+',-,-',->,->>,->ArrayChunk,->Eduction,->Vec,->VecNode,->VecSeq,-cache-protocol-fn,-reset-methods,..,/,<,<=,=,==,>,>=,EMPTY-NODE,Inst,StackTraceElement->vec,Throwable->map,accessor,aclone,add-classpath,add-watch,agent,agent-error,agent-errors,aget,alength,alias,all-ns,alter,alter-meta!,alter-var-root,amap,ancestors,and,any?,apply,areduce,array-map,as->,aset,aset-boolean,aset-byte,aset-char,aset-double,aset-float,aset-int,aset-long,aset-short,assert,assoc,assoc!,assoc-in,associative?,atom,await,await-for,await1,bases,bean,bigdec,bigint,biginteger,binding,bit-and,bit-and-not,bit-clear,bit-flip,bit-not,bit-or,bit-set,bit-shift-left,bit-shift-right,bit-test,bit-xor,boolean,boolean-array,boolean?,booleans,bound-fn,bound-fn*,bound?,bounded-count,butlast,byte,byte-array,bytes,bytes?,case,cast,cat,char,char-array,char-escape-string,char-name-string,char?,chars,chunk,chunk-append,chunk-buffer,chunk-cons,chunk-first,chunk-next,chunk-rest,chunked-seq?,class,class?,clear-agent-errors,clojure-version,coll?,comment,commute,comp,comparator,compare,compare-and-set!,compile,complement,completing,concat,cond,cond->,cond->>,condp,conj,conj!,cons,constantly,construct-proxy,contains?,count,counted?,create-ns,create-struct,cycle,dec,dec',decimal?,declare,dedupe,default-data-readers,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftype,delay,delay?,deliver,denominator,deref,derive,descendants,destructure,disj,disj!,dissoc,dissoc!,distinct,distinct?,doall,dorun,doseq,dosync,dotimes,doto,double,double-array,double?,doubles,drop,drop-last,drop-while,eduction,empty,empty?,ensure,ensure-reduced,enumeration-seq,error-handler,error-mode,eval,even?,every-pred,every?,ex-data,ex-info,extend,extend-protocol,extend-type,extenders,extends?,false?,ffirst,file-seq,filter,filterv,find,find-keyword,find-ns,find-protocol-impl,find-protocol-method,find-var,first,flatten,float,float-array,float?,floats,flush,fn,fn?,fnext,fnil,for,force,format,frequencies,future,future-call,future-cancel,future-cancelled?,future-done?,future?,gen-class,gen-interface,gensym,get,get-in,get-method,get-proxy-class,get-thread-bindings,get-validator,group-by,halt-when,hash,hash-combine,hash-map,hash-ordered-coll,hash-set,hash-unordered-coll,ident?,identical?,identity,if-let,if-not,if-some,ifn?,import,in-ns,inc,inc',indexed?,init-proxy,inst-ms,inst-ms*,inst?,instance?,int,int-array,int?,integer?,interleave,intern,interpose,into,into-array,ints,io!,isa?,iterate,iterator-seq,juxt,keep,keep-indexed,key,keys,keyword,keyword?,last,lazy-cat,lazy-seq,let,letfn,line-seq,list,list*,list?,load,load-file,load-reader,load-string,loaded-libs,locking,long,long-array,longs,loop,macroexpand,macroexpand-1,make-array,make-hierarchy,map,map-entry?,map-indexed,map?,mapcat,mapv,max,max-key,memfn,memoize,merge,merge-with,meta,method-sig,methods,min,min-key,mix-collection-hash,mod,munge,name,namespace,namespace-munge,nat-int?,neg-int?,neg?,newline,next,nfirst,nil?,nnext,not,not-any?,not-empty,not-every?,not=,ns,ns-aliases,ns-imports,ns-interns,ns-map,ns-name,ns-publics,ns-refers,ns-resolve,ns-unalias,ns-unmap,nth,nthnext,nthrest,num,number?,numerator,object-array,odd?,or,parents,partial,partition,partition-all,partition-by,pcalls,peek,persistent!,pmap,pop,pop!,pop-thread-bindings,pos-int?,pos?,pr,pr-str,prefer-method,prefers,primitives-classnames,print,print-ctor,print-dup,print-method,print-simple,print-str,printf,println,println-str,prn,prn-str,promise,proxy,proxy-call-with-super,proxy-mappings,proxy-name,proxy-super,push-thread-bindings,pvalues,qualified-ident?,qualified-keyword?,qualified-symbol?,quot,rand,rand-int,rand-nth,random-sample,range,ratio?,rational?,rationalize,re-find,re-groups,re-matcher,re-matches,re-pattern,re-seq,read,read-line,read-string,reader-conditional,reader-conditional?,realized?,record?,reduce,reduce-kv,reduced,reduced?,reductions,ref,ref-history-count,ref-max-history,ref-min-history,ref-set,refer,refer-clojure,reify,release-pending-sends,rem,remove,remove-all-methods,remove-method,remove-ns,remove-watch,repeat,repeatedly,replace,replicate,require,reset!,reset-meta!,reset-vals!,resolve,rest,restart-agent,resultset-seq,reverse,reversible?,rseq,rsubseq,run!,satisfies?,second,select-keys,send,send-off,send-via,seq,seq?,seqable?,seque,sequence,sequential?,set,set-agent-send-executor!,set-agent-send-off-executor!,set-error-handler!,set-error-mode!,set-validator!,set?,short,short-array,shorts,shuffle,shutdown-agents,simple-ident?,simple-keyword?,simple-symbol?,slurp,some,some->,some->>,some-fn,some?,sort,sort-by,sorted-map,sorted-map-by,sorted-set,sorted-set-by,sorted?,special-symbol?,spit,split-at,split-with,str,string?,struct,struct-map,subs,subseq,subvec,supers,swap!,swap-vals!,symbol,symbol?,sync,tagged-literal,tagged-literal?,take,take-last,take-nth,take-while,test,the-ns,thread-bound?,time,to-array,to-array-2d,trampoline,transduce,transient,tree-seq,true?,type,unchecked-add,unchecked-add-int,unchecked-byte,unchecked-char,unchecked-dec,unchecked-dec-int,unchecked-divide-int,unchecked-double,unchecked-float,unchecked-inc,unchecked-inc-int,unchecked-int,unchecked-long,unchecked-multiply,unchecked-multiply-int,unchecked-negate,unchecked-negate-int,unchecked-remainder-int,unchecked-short,unchecked-subtract,unchecked-subtract-int,underive,unquote,unquote-splicing,unreduced,unsigned-bit-shift-right,update,update-in,update-proxy,uri?,use,uuid?,val,vals,var-get,var-set,var?,vary-meta,vec,vector,vector-of,vector?,volatile!,volatile?,vreset!,vswap!,when,when-first,when-let,when-not,when-some,while,with-bindings,with-bindings*,with-in-str,with-loading-context,with-local-vars,with-meta,with-open,with-out-str,with-precision,with-redefs,with-redefs-fn,xml-seq,zero?,zipmap`.split(`,`),tokenizer:{root:[{include:`@whitespace`},[/@numbers/,`number`],[/@characters/,`string`],{include:`@string`},[/[()\[\]{}]/,`@brackets`],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,`regexp`],[/[#'@^`~]/,`meta`],[/@qualifiedSymbols/,{cases:{"^:.+$":`constant`,"@specialForms":`keyword`,"@coreSymbols":`keyword`,"@constants":`constant`,"@default":`identifier`}}]],whitespace:[[/[\s,]+/,`white`],[/;.*$/,`comment`],[/\(comment\b/,`comment`,`@comment`]],comment:[[/\(/,`comment`,`@push`],[/\)/,`comment`,`@pop`],[/[^()]/,`comment`]],string:[[/"/,`string`,`@multiLineString`]],multiLineString:[[/"/,`string`,`@popall`],[/@escapes/,`string.escape`],[/./,`string`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:[`###`,`###`],lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},t={defaultToken:``,ignoreCase:!0,tokenPostfix:`.coffee`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:`and.or.is.isnt.not.on.yes.@.no.off.true.false.null.this.new.delete.typeof.in.instanceof.return.throw.break.continue.debugger.if.else.switch.for.while.do.try.catch.finally.class.extends.super.undefined.then.unless.until.loop.of.by.when`.split(`.`),symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,`variable.predefined`],[/[a-zA-Z_]\w*/,{cases:{this:`variable.predefined`,"@keywords":{token:`keyword.$0`},"@default":``}}],[/[ \t\r\n]+/,``],[/###/,`comment`,`@comment`],[/#.*$/,`comment`],[`///`,{token:`regexp`,next:`@hereregexp`}],[/^(\s*)(@regEx)/,[``,`regexp`]],[/(\()(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\,)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\=)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\:)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\[)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\!)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\&)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\|)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\?)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\{)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\;)(\s*)(@regEx)/,[``,``,`regexp`]],[/}/,{cases:{"$S2==interpolatedstring":{token:`string`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d+[eE]([\-+]?\d+)?/,`number.float`],[/\d+\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F]+/,`number.hex`],[/0[0-7]+(?!\d)/,`number.octal`],[/\d+/,`number`],[/[,.]/,`delimiter`],[/"""/,`string`,`@herestring."""`],[/'''/,`string`,`@herestring.'''`],[/"/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string."`}}}],[/'/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string.'`}}}]],string:[[/[^"'\#\\]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/\./,`string.escape.invalid`],[/#{/,{cases:{'$S2=="':{token:`string`,next:`root.interpolatedstring`},"@default":`string`}}],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/#/,`string`]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/[^#\\'"]+/,`string`],[/['"]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/#{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/#/,`string`]],comment:[[/[^#]+/,`comment`],[/###/,`comment`,`@pop`],[/#/,`comment`]],hereregexp:[[/[^\\\/#]+/,`regexp`],[/\\./,`regexp`],[/#.*$/,`comment`],[`///[igm]*`,{token:`regexp`,next:`@pop`}],[/\//,`regexp`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#pragma\\s+region\\b`),end:RegExp(`^\\s*#pragma\\s+endregion\\b`)}}},t={defaultToken:``,tokenPostfix:`.cpp`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`abstract.amp.array.auto.bool.break.case.catch.char.class.const.constexpr.const_cast.continue.cpu.decltype.default.delegate.delete.do.double.dynamic_cast.each.else.enum.event.explicit.export.extern.false.final.finally.float.for.friend.gcnew.generic.goto.if.in.initonly.inline.int.interface.interior_ptr.internal.literal.long.mutable.namespace.new.noexcept.nullptr.__nullptr.operator.override.partial.pascal.pin_ptr.private.property.protected.public.ref.register.reinterpret_cast.restrict.return.safe_cast.sealed.short.signed.sizeof.static.static_assert.static_cast.struct.switch.template.this.thread_local.throw.tile_static.true.try.typedef.typeid.typename.union.unsigned.using.virtual.void.volatile.wchar_t.where.while._asm._based._cdecl._declspec._fastcall._if_exists._if_not_exists._inline._multiple_inheritance._pascal._single_inheritance._stdcall._virtual_inheritance._w64.__abstract.__alignof.__asm.__assume.__based.__box.__builtin_alignof.__cdecl.__clrcall.__declspec.__delegate.__event.__except.__fastcall.__finally.__forceinline.__gc.__hook.__identifier.__if_exists.__if_not_exists.__inline.__int128.__int16.__int32.__int64.__int8.__interface.__leave.__m128.__m128d.__m128i.__m256.__m256d.__m256i.__m512.__m512d.__m512i.__m64.__multiple_inheritance.__newslot.__nogc.__noop.__nounwind.__novtordisp.__pascal.__pin.__pragma.__property.__ptr32.__ptr64.__raise.__restrict.__resume.__sealed.__single_inheritance.__stdcall.__super.__thiscall.__try.__try_cast.__typeof.__unaligned.__unhook.__uuidof.__value.__virtual_inheritance.__w64.__wchar_t`.split(`.`),operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:`string.raw.begin`,next:`@raw.$1`}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/^\s*#\s*include/,{token:`keyword.directive.include`,next:`@include`}],[/^\s*#\s*\w+/,`keyword.directive`],{include:`@whitespace`},[/\[\s*\[/,{token:`annotation`,next:`@annotation`}],[/[{}()<>\[\]]/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,`number.float`],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,`number.float`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,`number.hex`],[/0[0-7']*[0-7](@integersuffix)/,`number.octal`],[/0[bB][0-1']*[0-1](@integersuffix)/,`number.binary`],[/\d[\d']*\d(@integersuffix)/,`number`],[/\d(@integersuffix)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@doccomment`],[/\/\*/,`comment`,`@comment`],[/\/\/.*\\$/,`comment`,`@linecomment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],linecomment:[[/.*[^\\]$/,`comment`,`@pop`],[/[^]+/,`comment`]],doccomment:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],raw:[[/[^)]+/,`string.raw`],[/\)$S2\"/,{token:`string.raw.end`,next:`@pop`}],[/\)/,`string.raw`]],annotation:[{include:`@whitespace`},[/using|alignas/,`keyword`],[/[a-zA-Z0-9_]+/,`annotation`],[/[,:]/,`delimiter`],[/[()]/,`@brackets`],[/\]\s*\]/,{token:`annotation`,next:`@pop`}]],include:[[/(\s*)(<)([^<>]*)(>)/,[``,`keyword.directive.include.begin`,`string.include.identifier`,{token:`keyword.directive.include.end`,next:`@pop`}]],[/(\s*)(")([^"]*)(")/,[``,`keyword.directive.include.begin`,`string.include.identifier`,{token:`keyword.directive.include.end`,next:`@pop`}]]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},t={defaultToken:``,tokenPostfix:`.cs`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`extern.alias.using.bool.decimal.sbyte.byte.short.ushort.int.uint.long.ulong.char.float.double.object.dynamic.string.assembly.is.as.ref.out.this.base.new.typeof.void.checked.unchecked.default.delegate.var.const.if.else.switch.case.while.do.for.foreach.in.break.continue.goto.return.throw.try.catch.finally.lock.yield.from.let.where.join.on.equals.into.orderby.ascending.descending.select.group.by.namespace.partial.class.field.event.method.param.public.protected.internal.private.abstract.sealed.static.struct.readonly.volatile.virtual.override.params.get.set.add.remove.operator.true.false.implicit.explicit.interface.enum.null.async.await.fixed.sizeof.stackalloc.unsafe.nameof.when`.split(`.`),namespaceFollows:[`namespace`,`using`],parenFollows:[`if`,`for`,`while`,`switch`,`foreach`,`using`,`catch`,`when`],operators:`=.??.||.&&.|.^.&.==.!=.<=.>=.<<.+.-.*./.%.!.~.++.--.+=.-=.*=./=.%=.&=.|=.^=.<<=.>>=.>>.=>`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:`keyword.$0`,next:`@namespace`},"@keywords":{token:`keyword.$0`,next:`@qualified`},"@default":{token:`identifier`,next:`@qualified`}}}],{include:`@whitespace`},[/}/,{cases:{"$S2==interpolatedstring":{token:`string.quote`,next:`@pop`},"$S2==litinterpstring":{token:`string.quote`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,`number.float`],[/0[xX][0-9a-fA-F_]+/,`number.hex`],[/0[bB][01_]+/,`number.hex`],[/[0-9_]+/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,{token:`string.quote`,next:`@string`}],[/\$\@"/,{token:`string.quote`,next:`@litinterpstring`}],[/\@"/,{token:`string.quote`,next:`@litstring`}],[/\$"/,{token:`string.quote`,next:`@interpolatedstring`}],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/\./,`delimiter`],[``,``,`@pop`]],namespace:[{include:`@whitespace`},[/[A-Z]\w*/,`namespace`],[/[\.=]/,`delimiter`],[``,``,`@pop`]],comment:[[/[^\/*]+/,`comment`],[`\\*/`,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,{token:`string.quote`,next:`@pop`}]],litstring:[[/[^"]+/,`string`],[/""/,`string.escape`],[/"/,{token:`string.quote`,next:`@pop`}]],litinterpstring:[[/[^"{]+/,`string`],[/""/,`string.escape`],[/{{/,`string.escape`],[/}}/,`string.escape`],[/{/,{token:`string.quote`,next:`root.litinterpstring`}],[/"/,{token:`string.quote`,next:`@pop`}]],interpolatedstring:[[/[^\\"{]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/{{/,`string.escape`],[/}}/,`string.escape`],[/{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/"/,{token:`string.quote`,next:`@pop`}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,`directive.csx`],[/^[ \t\v\f]*#\w.*$/,`namespace.cpp`],[/[ \t\v\f\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={brackets:[],autoClosingPairs:[],surroundingPairs:[]},t={keywords:[],typeKeywords:[],tokenPostfix:`.csp`,operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,`string.quote`],[/connect-src/,`string.quote`],[/default-src/,`string.quote`],[/font-src/,`string.quote`],[/frame-src/,`string.quote`],[/img-src/,`string.quote`],[/manifest-src/,`string.quote`],[/media-src/,`string.quote`],[/object-src/,`string.quote`],[/script-src/,`string.quote`],[/style-src/,`string.quote`],[/worker-src/,`string.quote`],[/base-uri/,`string.quote`],[/plugin-types/,`string.quote`],[/sandbox/,`string.quote`],[/disown-opener/,`string.quote`],[/form-action/,`string.quote`],[/frame-ancestors/,`string.quote`],[/report-uri/,`string.quote`],[/report-to/,`string.quote`],[/upgrade-insecure-requests/,`string.quote`],[/block-all-mixed-content/,`string.quote`],[/require-sri-for/,`string.quote`],[/reflected-xss/,`string.quote`],[/referrer/,`string.quote`],[/policy-uri/,`string.quote`],[/'self'/,`string.quote`],[/'unsafe-inline'/,`string.quote`],[/'unsafe-eval'/,`string.quote`],[/'strict-dynamic'/,`string.quote`],[/'unsafe-hashed-attributes'/,`string.quote`]]}};export{e as conf,t as language};
@@ -0,0 +1,3 @@
1
+ var e={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`,`comment`]},{open:`[`,close:`]`,notIn:[`string`,`comment`]},{open:`(`,close:`)`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/`),end:RegExp(`^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/`)}}},t={defaultToken:``,tokenPostfix:`.css`,ws:`[
2
+ \r\f]*`,identifier:`-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*`,brackets:[{open:`{`,close:`}`,token:`delimiter.bracket`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{root:[{include:`@selector`}],selector:[{include:`@comments`},{include:`@import`},{include:`@strings`},[`[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)`,{token:`keyword`,next:`@keyframedeclaration`}],[`[@](page|content|font-face|-moz-document)`,{token:`keyword`}],[`[@](charset|namespace)`,{token:`keyword`,next:`@declarationbody`}],[`(url-prefix)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],[`(url)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],{include:`@selectorname`},[`[\\*]`,`tag`],[`[>\\+,]`,`delimiter`],[`\\[`,{token:`delimiter.bracket`,next:`@selectorattribute`}],[`{`,{token:`delimiter.bracket`,next:`@selectorbody`}]],selectorbody:[{include:`@comments`},[`[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))`,`attribute.name`,`@rulevalue`],[`}`,{token:`delimiter.bracket`,next:`@pop`}]],selectorname:[[`(\\.|#(?=[^{])|%|(@identifier)|:)+`,`tag`]],selectorattribute:[{include:`@term`},[`]`,{token:`delimiter.bracket`,next:`@pop`}]],term:[{include:`@comments`},[`(url-prefix)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],[`(url)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],{include:`@functioninvocation`},{include:`@numbers`},{include:`@name`},{include:`@strings`},[`([<>=\\+\\-\\*\\/\\^\\|\\~,])`,`delimiter`],[`,`,`delimiter`]],rulevalue:[{include:`@comments`},{include:`@strings`},{include:`@term`},[`!important`,`keyword`],[`;`,`delimiter`,`@pop`],[`(?=})`,{token:``,next:`@pop`}]],warndebug:[[`[@](warn|debug)`,{token:`keyword`,next:`@declarationbody`}]],import:[[`[@](import)`,{token:`keyword`,next:`@declarationbody`}]],urldeclaration:[{include:`@strings`},[`[^)\r
3
+ ]+`,`string`],[`\\)`,{token:`delimiter.parenthesis`,next:`@pop`}]],parenthizedterm:[{include:`@term`},[`\\)`,{token:`delimiter.parenthesis`,next:`@pop`}]],declarationbody:[{include:`@term`},[`;`,`delimiter`,`@pop`],[`(?=})`,{token:``,next:`@pop`}]],comments:[[`\\/\\*`,`comment`,`@comment`],[`\\/\\/+.*`,`comment`]],comment:[[`\\*\\/`,`comment`,`@pop`],[/[^*/]+/,`comment`],[/./,`comment`]],name:[[`@identifier`,`attribute.value`]],numbers:[[`-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?`,{token:`attribute.value.number`,next:`@units`}],[`#[0-9a-fA-F_]+(?!\\w)`,`attribute.value.hex`]],units:[[`(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?`,`attribute.value.unit`,`@pop`]],keyframedeclaration:[[`@identifier`,`attribute.value`],[`{`,{token:`delimiter.bracket`,switchTo:`@keyframebody`}]],keyframebody:[{include:`@term`},[`{`,{token:`delimiter.bracket`,next:`@selectorbody`}],[`}`,{token:`delimiter.bracket`,next:`@pop`}]],functioninvocation:[[`@identifier\\(`,{token:`attribute.value`,next:`@functionarguments`}]],functionarguments:[[`\\$@identifier@ws:`,`attribute.name`],[`[,]`,`delimiter`],{include:`@term`},[`\\)`,{token:`attribute.value`,next:`@pop`}]],strings:[[`~?"`,{token:`string`,next:`@stringenddoublequote`}],[`~?'`,{token:`string`,next:`@stringendquote`}]],stringenddoublequote:[[`\\\\.`,`string`],[`"`,{token:`string`,next:`@pop`}],[/[^\\"]+/,`string`],[`.`,`string`]],stringendquote:[[`\\\\.`,`string`],[`'`,{token:`string`,next:`@pop`}],[/[^\\']+/,`string`],[`.`,`string`]]}};export{e as conf,t as language};