mehhl commited on
Commit
63abdaf
·
verified ·
1 Parent(s): 76c504a

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. temp_venv/lib/python3.13/site-packages/pygments/lexers/_css_builtins.py +558 -0
  2. temp_venv/lib/python3.13/site-packages/pygments/lexers/_googlesql_builtins.py +918 -0
  3. temp_venv/lib/python3.13/site-packages/pygments/lexers/_lilypond_builtins.py +0 -0
  4. temp_venv/lib/python3.13/site-packages/pygments/lexers/_luau_builtins.py +62 -0
  5. temp_venv/lib/python3.13/site-packages/pygments/lexers/_openedge_builtins.py +2600 -0
  6. temp_venv/lib/python3.13/site-packages/pygments/lexers/_qlik_builtins.py +666 -0
  7. temp_venv/lib/python3.13/site-packages/pygments/lexers/_scilab_builtins.py +3093 -0
  8. temp_venv/lib/python3.13/site-packages/pygments/lexers/_sourcemod_builtins.py +1151 -0
  9. temp_venv/lib/python3.13/site-packages/pygments/lexers/_vbscript_builtins.py +279 -0
  10. temp_venv/lib/python3.13/site-packages/pygments/lexers/amdgpu.py +54 -0
  11. temp_venv/lib/python3.13/site-packages/pygments/lexers/apdlexer.py +593 -0
  12. temp_venv/lib/python3.13/site-packages/pygments/lexers/blueprint.py +173 -0
  13. temp_venv/lib/python3.13/site-packages/pygments/lexers/boa.py +97 -0
  14. temp_venv/lib/python3.13/site-packages/pygments/lexers/c_cpp.py +414 -0
  15. temp_venv/lib/python3.13/site-packages/pygments/lexers/capnproto.py +74 -0
  16. temp_venv/lib/python3.13/site-packages/pygments/lexers/chapel.py +139 -0
  17. temp_venv/lib/python3.13/site-packages/pygments/lexers/clean.py +180 -0
  18. temp_venv/lib/python3.13/site-packages/pygments/lexers/comal.py +81 -0
  19. temp_venv/lib/python3.13/site-packages/pygments/lexers/configs.py +1433 -0
  20. temp_venv/lib/python3.13/site-packages/pygments/lexers/cplint.py +43 -0
  21. temp_venv/lib/python3.13/site-packages/pygments/lexers/crystal.py +364 -0
  22. temp_venv/lib/python3.13/site-packages/pygments/lexers/dns.py +109 -0
  23. temp_venv/lib/python3.13/site-packages/pygments/lexers/dsls.py +970 -0
  24. temp_venv/lib/python3.13/site-packages/pygments/lexers/elpi.py +175 -0
  25. temp_venv/lib/python3.13/site-packages/pygments/lexers/erlang.py +526 -0
  26. temp_venv/lib/python3.13/site-packages/pygments/lexers/graphql.py +176 -0
  27. temp_venv/lib/python3.13/site-packages/pygments/lexers/graphviz.py +58 -0
  28. temp_venv/lib/python3.13/site-packages/pygments/lexers/hare.py +73 -0
  29. temp_venv/lib/python3.13/site-packages/pygments/lexers/idl.py +284 -0
  30. temp_venv/lib/python3.13/site-packages/pygments/lexers/inferno.py +95 -0
  31. temp_venv/lib/python3.13/site-packages/pygments/lexers/iolang.py +61 -0
  32. temp_venv/lib/python3.13/site-packages/pygments/lexers/j.py +151 -0
  33. temp_venv/lib/python3.13/site-packages/pygments/lexers/jslt.py +94 -0
  34. temp_venv/lib/python3.13/site-packages/pygments/lexers/jsonnet.py +169 -0
  35. temp_venv/lib/python3.13/site-packages/pygments/lexers/jsx.py +100 -0
  36. temp_venv/lib/python3.13/site-packages/pygments/lexers/ldap.py +155 -0
  37. temp_venv/lib/python3.13/site-packages/pygments/lexers/lisp.py +0 -0
  38. temp_venv/lib/python3.13/site-packages/pygments/lexers/maple.py +291 -0
  39. temp_venv/lib/python3.13/site-packages/pygments/lexers/maxima.py +84 -0
  40. temp_venv/lib/python3.13/site-packages/pygments/lexers/mojo.py +707 -0
  41. temp_venv/lib/python3.13/site-packages/pygments/lexers/monte.py +203 -0
  42. temp_venv/lib/python3.13/site-packages/pygments/lexers/mosel.py +447 -0
  43. temp_venv/lib/python3.13/site-packages/pygments/lexers/nimrod.py +199 -0
  44. temp_venv/lib/python3.13/site-packages/pygments/lexers/nix.py +144 -0
  45. temp_venv/lib/python3.13/site-packages/pygments/lexers/numbair.py +63 -0
  46. temp_venv/lib/python3.13/site-packages/pygments/lexers/objective.py +513 -0
  47. temp_venv/lib/python3.13/site-packages/pygments/lexers/parasail.py +78 -0
  48. temp_venv/lib/python3.13/site-packages/pygments/lexers/pawn.py +202 -0
  49. temp_venv/lib/python3.13/site-packages/pygments/lexers/perl.py +733 -0
  50. temp_venv/lib/python3.13/site-packages/pygments/lexers/phix.py +363 -0
temp_venv/lib/python3.13/site-packages/pygments/lexers/_css_builtins.py ADDED
@@ -0,0 +1,558 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._css_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ This file is autogenerated by scripts/get_css_properties.py
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ _css_properties = (
12
+ '-webkit-line-clamp',
13
+ 'accent-color',
14
+ 'align-content',
15
+ 'align-items',
16
+ 'align-self',
17
+ 'alignment-baseline',
18
+ 'all',
19
+ 'animation',
20
+ 'animation-delay',
21
+ 'animation-direction',
22
+ 'animation-duration',
23
+ 'animation-fill-mode',
24
+ 'animation-iteration-count',
25
+ 'animation-name',
26
+ 'animation-play-state',
27
+ 'animation-timing-function',
28
+ 'appearance',
29
+ 'aspect-ratio',
30
+ 'azimuth',
31
+ 'backface-visibility',
32
+ 'background',
33
+ 'background-attachment',
34
+ 'background-blend-mode',
35
+ 'background-clip',
36
+ 'background-color',
37
+ 'background-image',
38
+ 'background-origin',
39
+ 'background-position',
40
+ 'background-repeat',
41
+ 'background-size',
42
+ 'baseline-shift',
43
+ 'baseline-source',
44
+ 'block-ellipsis',
45
+ 'block-size',
46
+ 'block-step',
47
+ 'block-step-align',
48
+ 'block-step-insert',
49
+ 'block-step-round',
50
+ 'block-step-size',
51
+ 'bookmark-label',
52
+ 'bookmark-level',
53
+ 'bookmark-state',
54
+ 'border',
55
+ 'border-block',
56
+ 'border-block-color',
57
+ 'border-block-end',
58
+ 'border-block-end-color',
59
+ 'border-block-end-style',
60
+ 'border-block-end-width',
61
+ 'border-block-start',
62
+ 'border-block-start-color',
63
+ 'border-block-start-style',
64
+ 'border-block-start-width',
65
+ 'border-block-style',
66
+ 'border-block-width',
67
+ 'border-bottom',
68
+ 'border-bottom-color',
69
+ 'border-bottom-left-radius',
70
+ 'border-bottom-right-radius',
71
+ 'border-bottom-style',
72
+ 'border-bottom-width',
73
+ 'border-boundary',
74
+ 'border-collapse',
75
+ 'border-color',
76
+ 'border-end-end-radius',
77
+ 'border-end-start-radius',
78
+ 'border-image',
79
+ 'border-image-outset',
80
+ 'border-image-repeat',
81
+ 'border-image-slice',
82
+ 'border-image-source',
83
+ 'border-image-width',
84
+ 'border-inline',
85
+ 'border-inline-color',
86
+ 'border-inline-end',
87
+ 'border-inline-end-color',
88
+ 'border-inline-end-style',
89
+ 'border-inline-end-width',
90
+ 'border-inline-start',
91
+ 'border-inline-start-color',
92
+ 'border-inline-start-style',
93
+ 'border-inline-start-width',
94
+ 'border-inline-style',
95
+ 'border-inline-width',
96
+ 'border-left',
97
+ 'border-left-color',
98
+ 'border-left-style',
99
+ 'border-left-width',
100
+ 'border-radius',
101
+ 'border-right',
102
+ 'border-right-color',
103
+ 'border-right-style',
104
+ 'border-right-width',
105
+ 'border-spacing',
106
+ 'border-start-end-radius',
107
+ 'border-start-start-radius',
108
+ 'border-style',
109
+ 'border-top',
110
+ 'border-top-color',
111
+ 'border-top-left-radius',
112
+ 'border-top-right-radius',
113
+ 'border-top-style',
114
+ 'border-top-width',
115
+ 'border-width',
116
+ 'bottom',
117
+ 'box-decoration-break',
118
+ 'box-shadow',
119
+ 'box-sizing',
120
+ 'box-snap',
121
+ 'break-after',
122
+ 'break-before',
123
+ 'break-inside',
124
+ 'caption-side',
125
+ 'caret',
126
+ 'caret-color',
127
+ 'caret-shape',
128
+ 'chains',
129
+ 'clear',
130
+ 'clip',
131
+ 'clip-path',
132
+ 'clip-rule',
133
+ 'color',
134
+ 'color-adjust',
135
+ 'color-interpolation-filters',
136
+ 'color-scheme',
137
+ 'column-count',
138
+ 'column-fill',
139
+ 'column-gap',
140
+ 'column-rule',
141
+ 'column-rule-color',
142
+ 'column-rule-style',
143
+ 'column-rule-width',
144
+ 'column-span',
145
+ 'column-width',
146
+ 'columns',
147
+ 'contain',
148
+ 'contain-intrinsic-block-size',
149
+ 'contain-intrinsic-height',
150
+ 'contain-intrinsic-inline-size',
151
+ 'contain-intrinsic-size',
152
+ 'contain-intrinsic-width',
153
+ 'container',
154
+ 'container-name',
155
+ 'container-type',
156
+ 'content',
157
+ 'content-visibility',
158
+ 'continue',
159
+ 'counter-increment',
160
+ 'counter-reset',
161
+ 'counter-set',
162
+ 'cue',
163
+ 'cue-after',
164
+ 'cue-before',
165
+ 'cursor',
166
+ 'direction',
167
+ 'display',
168
+ 'dominant-baseline',
169
+ 'elevation',
170
+ 'empty-cells',
171
+ 'fill',
172
+ 'fill-break',
173
+ 'fill-color',
174
+ 'fill-image',
175
+ 'fill-opacity',
176
+ 'fill-origin',
177
+ 'fill-position',
178
+ 'fill-repeat',
179
+ 'fill-rule',
180
+ 'fill-size',
181
+ 'filter',
182
+ 'flex',
183
+ 'flex-basis',
184
+ 'flex-direction',
185
+ 'flex-flow',
186
+ 'flex-grow',
187
+ 'flex-shrink',
188
+ 'flex-wrap',
189
+ 'float',
190
+ 'float-defer',
191
+ 'float-offset',
192
+ 'float-reference',
193
+ 'flood-color',
194
+ 'flood-opacity',
195
+ 'flow',
196
+ 'flow-from',
197
+ 'flow-into',
198
+ 'font',
199
+ 'font-family',
200
+ 'font-feature-settings',
201
+ 'font-kerning',
202
+ 'font-language-override',
203
+ 'font-optical-sizing',
204
+ 'font-palette',
205
+ 'font-size',
206
+ 'font-size-adjust',
207
+ 'font-stretch',
208
+ 'font-style',
209
+ 'font-synthesis',
210
+ 'font-synthesis-small-caps',
211
+ 'font-synthesis-style',
212
+ 'font-synthesis-weight',
213
+ 'font-variant',
214
+ 'font-variant-alternates',
215
+ 'font-variant-caps',
216
+ 'font-variant-east-asian',
217
+ 'font-variant-emoji',
218
+ 'font-variant-ligatures',
219
+ 'font-variant-numeric',
220
+ 'font-variant-position',
221
+ 'font-variation-settings',
222
+ 'font-weight',
223
+ 'footnote-display',
224
+ 'footnote-policy',
225
+ 'forced-color-adjust',
226
+ 'gap',
227
+ 'glyph-orientation-vertical',
228
+ 'grid',
229
+ 'grid-area',
230
+ 'grid-auto-columns',
231
+ 'grid-auto-flow',
232
+ 'grid-auto-rows',
233
+ 'grid-column',
234
+ 'grid-column-end',
235
+ 'grid-column-start',
236
+ 'grid-row',
237
+ 'grid-row-end',
238
+ 'grid-row-start',
239
+ 'grid-template',
240
+ 'grid-template-areas',
241
+ 'grid-template-columns',
242
+ 'grid-template-rows',
243
+ 'hanging-punctuation',
244
+ 'height',
245
+ 'hyphenate-character',
246
+ 'hyphenate-limit-chars',
247
+ 'hyphenate-limit-last',
248
+ 'hyphenate-limit-lines',
249
+ 'hyphenate-limit-zone',
250
+ 'hyphens',
251
+ 'image-orientation',
252
+ 'image-rendering',
253
+ 'image-resolution',
254
+ 'initial-letter',
255
+ 'initial-letter-align',
256
+ 'initial-letter-wrap',
257
+ 'inline-size',
258
+ 'inline-sizing',
259
+ 'input-security',
260
+ 'inset',
261
+ 'inset-block',
262
+ 'inset-block-end',
263
+ 'inset-block-start',
264
+ 'inset-inline',
265
+ 'inset-inline-end',
266
+ 'inset-inline-start',
267
+ 'isolation',
268
+ 'justify-content',
269
+ 'justify-items',
270
+ 'justify-self',
271
+ 'leading-trim',
272
+ 'left',
273
+ 'letter-spacing',
274
+ 'lighting-color',
275
+ 'line-break',
276
+ 'line-clamp',
277
+ 'line-grid',
278
+ 'line-height',
279
+ 'line-height-step',
280
+ 'line-padding',
281
+ 'line-snap',
282
+ 'list-style',
283
+ 'list-style-image',
284
+ 'list-style-position',
285
+ 'list-style-type',
286
+ 'margin',
287
+ 'margin-block',
288
+ 'margin-block-end',
289
+ 'margin-block-start',
290
+ 'margin-bottom',
291
+ 'margin-break',
292
+ 'margin-inline',
293
+ 'margin-inline-end',
294
+ 'margin-inline-start',
295
+ 'margin-left',
296
+ 'margin-right',
297
+ 'margin-top',
298
+ 'margin-trim',
299
+ 'marker',
300
+ 'marker-end',
301
+ 'marker-knockout-left',
302
+ 'marker-knockout-right',
303
+ 'marker-mid',
304
+ 'marker-pattern',
305
+ 'marker-segment',
306
+ 'marker-side',
307
+ 'marker-start',
308
+ 'mask',
309
+ 'mask-border',
310
+ 'mask-border-mode',
311
+ 'mask-border-outset',
312
+ 'mask-border-repeat',
313
+ 'mask-border-slice',
314
+ 'mask-border-source',
315
+ 'mask-border-width',
316
+ 'mask-clip',
317
+ 'mask-composite',
318
+ 'mask-image',
319
+ 'mask-mode',
320
+ 'mask-origin',
321
+ 'mask-position',
322
+ 'mask-repeat',
323
+ 'mask-size',
324
+ 'mask-type',
325
+ 'max-block-size',
326
+ 'max-height',
327
+ 'max-inline-size',
328
+ 'max-lines',
329
+ 'max-width',
330
+ 'min-block-size',
331
+ 'min-height',
332
+ 'min-inline-size',
333
+ 'min-intrinsic-sizing',
334
+ 'min-width',
335
+ 'mix-blend-mode',
336
+ 'nav-down',
337
+ 'nav-left',
338
+ 'nav-right',
339
+ 'nav-up',
340
+ 'object-fit',
341
+ 'object-overflow',
342
+ 'object-position',
343
+ 'object-view-box',
344
+ 'offset',
345
+ 'offset-anchor',
346
+ 'offset-distance',
347
+ 'offset-path',
348
+ 'offset-position',
349
+ 'offset-rotate',
350
+ 'opacity',
351
+ 'order',
352
+ 'orphans',
353
+ 'outline',
354
+ 'outline-color',
355
+ 'outline-offset',
356
+ 'outline-style',
357
+ 'outline-width',
358
+ 'overflow',
359
+ 'overflow-anchor',
360
+ 'overflow-block',
361
+ 'overflow-clip-margin',
362
+ 'overflow-inline',
363
+ 'overflow-wrap',
364
+ 'overflow-x',
365
+ 'overflow-y',
366
+ 'overscroll-behavior',
367
+ 'overscroll-behavior-block',
368
+ 'overscroll-behavior-inline',
369
+ 'overscroll-behavior-x',
370
+ 'overscroll-behavior-y',
371
+ 'padding',
372
+ 'padding-block',
373
+ 'padding-block-end',
374
+ 'padding-block-start',
375
+ 'padding-bottom',
376
+ 'padding-inline',
377
+ 'padding-inline-end',
378
+ 'padding-inline-start',
379
+ 'padding-left',
380
+ 'padding-right',
381
+ 'padding-top',
382
+ 'page',
383
+ 'page-break-after',
384
+ 'page-break-before',
385
+ 'page-break-inside',
386
+ 'pause',
387
+ 'pause-after',
388
+ 'pause-before',
389
+ 'perspective',
390
+ 'perspective-origin',
391
+ 'pitch',
392
+ 'pitch-range',
393
+ 'place-content',
394
+ 'place-items',
395
+ 'place-self',
396
+ 'play-during',
397
+ 'pointer-events',
398
+ 'position',
399
+ 'print-color-adjust',
400
+ 'property-name',
401
+ 'quotes',
402
+ 'region-fragment',
403
+ 'resize',
404
+ 'rest',
405
+ 'rest-after',
406
+ 'rest-before',
407
+ 'richness',
408
+ 'right',
409
+ 'rotate',
410
+ 'row-gap',
411
+ 'ruby-align',
412
+ 'ruby-merge',
413
+ 'ruby-overhang',
414
+ 'ruby-position',
415
+ 'running',
416
+ 'scale',
417
+ 'scroll-behavior',
418
+ 'scroll-margin',
419
+ 'scroll-margin-block',
420
+ 'scroll-margin-block-end',
421
+ 'scroll-margin-block-start',
422
+ 'scroll-margin-bottom',
423
+ 'scroll-margin-inline',
424
+ 'scroll-margin-inline-end',
425
+ 'scroll-margin-inline-start',
426
+ 'scroll-margin-left',
427
+ 'scroll-margin-right',
428
+ 'scroll-margin-top',
429
+ 'scroll-padding',
430
+ 'scroll-padding-block',
431
+ 'scroll-padding-block-end',
432
+ 'scroll-padding-block-start',
433
+ 'scroll-padding-bottom',
434
+ 'scroll-padding-inline',
435
+ 'scroll-padding-inline-end',
436
+ 'scroll-padding-inline-start',
437
+ 'scroll-padding-left',
438
+ 'scroll-padding-right',
439
+ 'scroll-padding-top',
440
+ 'scroll-snap-align',
441
+ 'scroll-snap-stop',
442
+ 'scroll-snap-type',
443
+ 'scrollbar-color',
444
+ 'scrollbar-gutter',
445
+ 'scrollbar-width',
446
+ 'shape-image-threshold',
447
+ 'shape-inside',
448
+ 'shape-margin',
449
+ 'shape-outside',
450
+ 'spatial-navigation-action',
451
+ 'spatial-navigation-contain',
452
+ 'spatial-navigation-function',
453
+ 'speak',
454
+ 'speak-as',
455
+ 'speak-header',
456
+ 'speak-numeral',
457
+ 'speak-punctuation',
458
+ 'speech-rate',
459
+ 'stress',
460
+ 'string-set',
461
+ 'stroke',
462
+ 'stroke-align',
463
+ 'stroke-alignment',
464
+ 'stroke-break',
465
+ 'stroke-color',
466
+ 'stroke-dash-corner',
467
+ 'stroke-dash-justify',
468
+ 'stroke-dashadjust',
469
+ 'stroke-dasharray',
470
+ 'stroke-dashcorner',
471
+ 'stroke-dashoffset',
472
+ 'stroke-image',
473
+ 'stroke-linecap',
474
+ 'stroke-linejoin',
475
+ 'stroke-miterlimit',
476
+ 'stroke-opacity',
477
+ 'stroke-origin',
478
+ 'stroke-position',
479
+ 'stroke-repeat',
480
+ 'stroke-size',
481
+ 'stroke-width',
482
+ 'tab-size',
483
+ 'table-layout',
484
+ 'text-align',
485
+ 'text-align-all',
486
+ 'text-align-last',
487
+ 'text-combine-upright',
488
+ 'text-decoration',
489
+ 'text-decoration-color',
490
+ 'text-decoration-line',
491
+ 'text-decoration-skip',
492
+ 'text-decoration-skip-box',
493
+ 'text-decoration-skip-ink',
494
+ 'text-decoration-skip-inset',
495
+ 'text-decoration-skip-self',
496
+ 'text-decoration-skip-spaces',
497
+ 'text-decoration-style',
498
+ 'text-decoration-thickness',
499
+ 'text-edge',
500
+ 'text-emphasis',
501
+ 'text-emphasis-color',
502
+ 'text-emphasis-position',
503
+ 'text-emphasis-skip',
504
+ 'text-emphasis-style',
505
+ 'text-group-align',
506
+ 'text-indent',
507
+ 'text-justify',
508
+ 'text-orientation',
509
+ 'text-overflow',
510
+ 'text-shadow',
511
+ 'text-space-collapse',
512
+ 'text-space-trim',
513
+ 'text-spacing',
514
+ 'text-transform',
515
+ 'text-underline-offset',
516
+ 'text-underline-position',
517
+ 'text-wrap',
518
+ 'top',
519
+ 'transform',
520
+ 'transform-box',
521
+ 'transform-origin',
522
+ 'transform-style',
523
+ 'transition',
524
+ 'transition-delay',
525
+ 'transition-duration',
526
+ 'transition-property',
527
+ 'transition-timing-function',
528
+ 'translate',
529
+ 'unicode-bidi',
530
+ 'user-select',
531
+ 'vertical-align',
532
+ 'visibility',
533
+ 'voice-balance',
534
+ 'voice-duration',
535
+ 'voice-family',
536
+ 'voice-pitch',
537
+ 'voice-range',
538
+ 'voice-rate',
539
+ 'voice-stress',
540
+ 'voice-volume',
541
+ 'volume',
542
+ 'white-space',
543
+ 'widows',
544
+ 'width',
545
+ 'will-change',
546
+ 'word-boundary-detection',
547
+ 'word-boundary-expansion',
548
+ 'word-break',
549
+ 'word-spacing',
550
+ 'word-wrap',
551
+ 'wrap-after',
552
+ 'wrap-before',
553
+ 'wrap-flow',
554
+ 'wrap-inside',
555
+ 'wrap-through',
556
+ 'writing-mode',
557
+ 'z-index',
558
+ )
temp_venv/lib/python3.13/site-packages/pygments/lexers/_googlesql_builtins.py ADDED
@@ -0,0 +1,918 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._googlesql_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Autogenerated data files for the GoogleSQL lexer.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ constants = [
12
+ 'FALSE',
13
+ 'NULL',
14
+ 'TRUE',
15
+ 'UNKNOWN',
16
+ ]
17
+
18
+ # Everything below this line is auto-generated from the GoogleSQL source code.
19
+ # ----------------------------------------------------------------------------
20
+
21
+ functionnames = [
22
+ 'ABS',
23
+ 'ACOS',
24
+ 'ACOSH',
25
+ 'AEAD.DECRYPT_BYTES',
26
+ 'AEAD.DECRYPT_STRING',
27
+ 'AEAD.ENCRYPT',
28
+ 'AEAD.ENVELOPE_DECRYPT_BYTES',
29
+ 'AEAD.ENVELOPE_DECRYPT_STRING',
30
+ 'AEAD.ENVELOPE_ENCRYPT',
31
+ 'ALL_DIFFERENT',
32
+ 'ANON_AVG',
33
+ 'ANON_COUNT',
34
+ 'ANON_COUNT',
35
+ 'ANON_PERCENTILE_CONT',
36
+ 'ANON_QUANTILES',
37
+ 'ANON_STDDEV_POP',
38
+ 'ANON_SUM',
39
+ 'ANON_VAR_POP',
40
+ 'ANY_VALUE',
41
+ 'APPROX_COSINE_DISTANCE',
42
+ 'APPROX_COUNT_DISTINCT',
43
+ 'APPROX_DOT_PRODUCT',
44
+ 'APPROX_EUCLIDEAN_DISTANCE',
45
+ 'APPROX_QUANTILES',
46
+ 'APPROX_TOP_COUNT',
47
+ 'APPROX_TOP_SUM',
48
+ 'ARRAY[KEY()]',
49
+ 'ARRAY[SAFE_KEY()]',
50
+ 'ARRAY_AGG',
51
+ 'ARRAY_AVG',
52
+ 'ARRAY_CONCAT',
53
+ 'ARRAY_CONCAT_AGG',
54
+ 'ARRAY_FILTER',
55
+ 'ARRAY_FIND',
56
+ 'ARRAY_FIND_ALL',
57
+ 'ARRAY_FIRST',
58
+ 'ARRAY_FIRST_N',
59
+ 'ARRAY_INCLUDES',
60
+ 'ARRAY_INCLUDES_ALL',
61
+ 'ARRAY_INCLUDES_ANY',
62
+ 'ARRAY_IS_DISTINCT',
63
+ 'ARRAY_LAST',
64
+ 'ARRAY_LAST_N',
65
+ 'ARRAY_LENGTH',
66
+ 'ARRAY_MAX',
67
+ 'ARRAY_MIN',
68
+ 'ARRAY_OFFSET',
69
+ 'ARRAY_OFFSETS',
70
+ 'ARRAY_REMOVE_FIRST_N',
71
+ 'ARRAY_REMOVE_LAST_N',
72
+ 'ARRAY_REVERSE',
73
+ 'ARRAY_SLICE',
74
+ 'ARRAY_SUM',
75
+ 'ARRAY_TO_STRING',
76
+ 'ARRAY_TRANSFORM',
77
+ 'ARRAY_ZIP',
78
+ 'ASCII',
79
+ 'ASIN',
80
+ 'ASINH',
81
+ 'ATAN',
82
+ 'ATAN2',
83
+ 'ATANH',
84
+ 'AVG',
85
+ 'BIT_AND',
86
+ 'BIT_COUNT',
87
+ 'BIT_OR',
88
+ 'BIT_XOR',
89
+ 'BOOL',
90
+ 'BOOL_ARRAY',
91
+ 'BYTE_LENGTH',
92
+ 'CASE',
93
+ 'CAST',
94
+ 'CBRT',
95
+ 'CEIL',
96
+ 'CEILING',
97
+ 'CHARACTER_LENGTH',
98
+ 'CHAR_LENGTH',
99
+ 'CHR',
100
+ 'COALESCE',
101
+ 'CODE_POINTS_TO_BYTES',
102
+ 'CODE_POINTS_TO_STRING',
103
+ 'COLLATE',
104
+ 'CONCAT',
105
+ 'CORR',
106
+ 'COS',
107
+ 'COSH',
108
+ 'COSINE_DISTANCE',
109
+ 'COT',
110
+ 'COTH',
111
+ 'COUNT',
112
+ 'COUNT(*)',
113
+ 'COUNTIF',
114
+ 'COVAR_POP',
115
+ 'COVAR_SAMP',
116
+ 'CSC',
117
+ 'CSCH',
118
+ 'CUME_DIST',
119
+ 'CURRENT_DATE',
120
+ 'CURRENT_DATETIME',
121
+ 'CURRENT_TIME',
122
+ 'CURRENT_TIMESTAMP',
123
+ 'D3A_COUNT.EXTRACT',
124
+ 'D3A_COUNT.INIT',
125
+ 'D3A_COUNT.MERGE',
126
+ 'D3A_COUNT.MERGE_PARTIAL',
127
+ 'D3A_COUNT.TO_HLL',
128
+ 'DATE',
129
+ 'DATETIME',
130
+ 'DATETIME_ADD',
131
+ 'DATETIME_BUCKET',
132
+ 'DATETIME_DIFF',
133
+ 'DATETIME_SUB',
134
+ 'DATETIME_TRUNC',
135
+ 'DATE_ADD',
136
+ 'DATE_BUCKET',
137
+ 'DATE_DIFF',
138
+ 'DATE_FROM_UNIX_DATE',
139
+ 'DATE_SUB',
140
+ 'DATE_TRUNC',
141
+ 'DENSE_RANK',
142
+ 'DESTINATION_NODE_ID',
143
+ 'DETERMINISTIC_DECRYPT_BYTES',
144
+ 'DETERMINISTIC_DECRYPT_STRING',
145
+ 'DETERMINISTIC_ENCRYPT',
146
+ 'DIV',
147
+ 'DOT_PRODUCT',
148
+ 'EDGES',
149
+ 'EDIT_DISTANCE',
150
+ 'ELEMENTWISE_AVG',
151
+ 'ELEMENTWISE_SUM',
152
+ 'ELEMENT_DEFINITION_NAME',
153
+ 'ELEMENT_ID',
154
+ 'ENDS_WITH',
155
+ 'ENUM_VALUE_DESCRIPTOR_PROTO',
156
+ 'ERROR',
157
+ 'EUCLIDEAN_DISTANCE',
158
+ 'EXP',
159
+ 'EXTRACT',
160
+ 'EXTRACT_FOR_DP_APPROX_COUNT_DISTINCT',
161
+ 'FARM_FINGERPRINT',
162
+ 'FILTER_FIELDS',
163
+ 'FIRST_VALUE',
164
+ 'FLATTEN',
165
+ 'FLOAT32',
166
+ 'FLOAT32_ARRAY',
167
+ 'FLOAT64',
168
+ 'FLOAT64_ARRAY',
169
+ 'FLOOR',
170
+ 'FORMAT',
171
+ 'FORMAT_DATE',
172
+ 'FORMAT_DATETIME',
173
+ 'FORMAT_TIME',
174
+ 'FORMAT_TIMESTAMP',
175
+ 'FROM_BASE32',
176
+ 'FROM_BASE64',
177
+ 'FROM_HEX',
178
+ 'GENERATE_ARRAY',
179
+ 'GENERATE_DATE_ARRAY',
180
+ 'GENERATE_RANGE_ARRAY',
181
+ 'GENERATE_TIMESTAMP_ARRAY',
182
+ 'GENERATE_UUID',
183
+ 'GREATEST',
184
+ 'GROUPING',
185
+ 'HLL_COUNT.EXTRACT',
186
+ 'HLL_COUNT.INIT',
187
+ 'HLL_COUNT.MERGE',
188
+ 'HLL_COUNT.MERGE_PARTIAL',
189
+ 'IEEE_DIVIDE',
190
+ 'IF',
191
+ 'IFERROR',
192
+ 'IFNULL',
193
+ 'IN UNNEST',
194
+ 'INITCAP',
195
+ 'INIT_FOR_DP_APPROX_COUNT_DISTINCT',
196
+ 'INSTR',
197
+ 'INT64',
198
+ 'INT64_ARRAY',
199
+ 'IS DESTINATION OF',
200
+ 'IS DISTINCT FROM',
201
+ 'IS NOT DISTINCT FROM',
202
+ 'IS SOURCE OF',
203
+ 'ISERROR',
204
+ 'IS_ACYCLIC',
205
+ 'IS_INF',
206
+ 'IS_NAN',
207
+ 'IS_SIMPLE',
208
+ 'IS_TRAIL',
209
+ 'JSON_ARRAY',
210
+ 'JSON_ARRAY_APPEND',
211
+ 'JSON_ARRAY_INSERT',
212
+ 'JSON_CONTAINS',
213
+ 'JSON_EXTRACT',
214
+ 'JSON_EXTRACT_ARRAY',
215
+ 'JSON_EXTRACT_SCALAR',
216
+ 'JSON_EXTRACT_STRING_ARRAY',
217
+ 'JSON_KEYS',
218
+ 'JSON_OBJECT',
219
+ 'JSON_QUERY',
220
+ 'JSON_QUERY_ARRAY',
221
+ 'JSON_REMOVE',
222
+ 'JSON_SET',
223
+ 'JSON_STRIP_NULLS',
224
+ 'JSON_TYPE',
225
+ 'JSON_VALUE',
226
+ 'JSON_VALUE_ARRAY',
227
+ 'JUSTIFY_DAYS',
228
+ 'JUSTIFY_HOURS',
229
+ 'JUSTIFY_INTERVAL',
230
+ 'KEYS.ADD_KEY_FROM_RAW_BYTES',
231
+ 'KEYS.KEYSET_CHAIN',
232
+ 'KEYS.KEYSET_FROM_JSON',
233
+ 'KEYS.KEYSET_LENGTH',
234
+ 'KEYS.KEYSET_TO_JSON',
235
+ 'KEYS.NEW_KEYSET',
236
+ 'KEYS.NEW_WRAPPED_KEYSET',
237
+ 'KEYS.REWRAP_KEYSET',
238
+ 'KEYS.ROTATE_KEYSET',
239
+ 'KEYS.ROTATE_WRAPPED_KEYSET',
240
+ 'KLL_QUANTILES.EXTRACT_FLOAT64',
241
+ 'KLL_QUANTILES.EXTRACT_INT64',
242
+ 'KLL_QUANTILES.EXTRACT_POINT_FLOAT64',
243
+ 'KLL_QUANTILES.EXTRACT_POINT_INT64',
244
+ 'KLL_QUANTILES.INIT_FLOAT64',
245
+ 'KLL_QUANTILES.INIT_INT64',
246
+ 'KLL_QUANTILES.MERGE_FLOAT64',
247
+ 'KLL_QUANTILES.MERGE_INT64',
248
+ 'KLL_QUANTILES.MERGE_PARTIAL',
249
+ 'KLL_QUANTILES.MERGE_POINT_FLOAT64',
250
+ 'KLL_QUANTILES.MERGE_POINT_INT64',
251
+ 'L1_NORM',
252
+ 'L2_NORM',
253
+ 'LABELS',
254
+ 'LAG',
255
+ 'LAST_DAY',
256
+ 'LAST_VALUE',
257
+ 'LAX_BOOL',
258
+ 'LAX_BOOL_ARRAY',
259
+ 'LAX_FLOAT32',
260
+ 'LAX_FLOAT32_ARRAY',
261
+ 'LAX_FLOAT64',
262
+ 'LAX_FLOAT64_ARRAY',
263
+ 'LAX_INT64',
264
+ 'LAX_INT64_ARRAY',
265
+ 'LAX_STRING',
266
+ 'LAX_STRING_ARRAY',
267
+ 'LEAD',
268
+ 'LEAST',
269
+ 'LEFT',
270
+ 'LENGTH',
271
+ 'LIKE ALL',
272
+ 'LIKE ALL UNNEST',
273
+ 'LIKE ANY',
274
+ 'LIKE ANY UNNEST',
275
+ 'LN',
276
+ 'LOG',
277
+ 'LOG10',
278
+ 'LOGICAL_AND',
279
+ 'LOGICAL_OR',
280
+ 'LOWER',
281
+ 'LPAD',
282
+ 'LTRIM',
283
+ 'MAKE_INTERVAL',
284
+ 'MANHATTAN_DISTANCE',
285
+ 'MAP_CARDINALITY',
286
+ 'MAP_CONTAINS_KEY',
287
+ 'MAP_DELETE',
288
+ 'MAP_EMPTY',
289
+ 'MAP_ENTRIES_SORTED',
290
+ 'MAP_ENTRIES_UNSORTED',
291
+ 'MAP_FILTER',
292
+ 'MAP_FROM_ARRAY',
293
+ 'MAP_GET',
294
+ 'MAP_INSERT',
295
+ 'MAP_INSERT_OR_REPLACE',
296
+ 'MAP_KEYS_SORTED',
297
+ 'MAP_KEYS_UNSORTED',
298
+ 'MAP_REPLACE',
299
+ 'MAP_VALUES_SORTED',
300
+ 'MAP_VALUES_SORTED_BY_KEY',
301
+ 'MAP_VALUES_UNSORTED',
302
+ 'MAX',
303
+ 'MD5',
304
+ 'MERGE_PARTIAL_FOR_DP_APPROX_COUNT_DISTINCT',
305
+ 'MIN',
306
+ 'MOD',
307
+ 'NET.HOST',
308
+ 'NET.IPV4_FROM_INT64',
309
+ 'NET.IPV4_TO_INT64',
310
+ 'NET.IP_FROM_STRING',
311
+ 'NET.IP_NET_MASK',
312
+ 'NET.IP_TO_STRING',
313
+ 'NET.IP_TRUNC',
314
+ 'NET.PUBLIC_SUFFIX',
315
+ 'NET.REG_DOMAIN',
316
+ 'NET.SAFE_IP_FROM_STRING',
317
+ 'NEW_UUID',
318
+ 'NODES',
319
+ 'NORMALIZE',
320
+ 'NORMALIZE_AND_CASEFOLD',
321
+ 'NOT LIKE ALL',
322
+ 'NOT LIKE ALL UNNEST',
323
+ 'NOT LIKE ANY',
324
+ 'NOT LIKE ANY UNNEST',
325
+ 'NTH_VALUE',
326
+ 'NTILE',
327
+ 'NULLIF',
328
+ 'NULLIFERROR',
329
+ 'NULLIFZERO',
330
+ 'OCTET_LENGTH',
331
+ 'OFFSET',
332
+ 'ORDINAL',
333
+ 'PARSE_BIGNUMERIC',
334
+ 'PARSE_DATE',
335
+ 'PARSE_DATETIME',
336
+ 'PARSE_JSON',
337
+ 'PARSE_NUMERIC',
338
+ 'PARSE_TIME',
339
+ 'PARSE_TIMESTAMP',
340
+ 'PATH',
341
+ 'PATH_FIRST',
342
+ 'PATH_LAST',
343
+ 'PATH_LENGTH',
344
+ 'PERCENTILE_CONT',
345
+ 'PERCENTILE_DISC',
346
+ 'PERCENT_RANK',
347
+ 'PI',
348
+ 'PIVOT',
349
+ 'PI_BIGNUMERIC',
350
+ 'PI_NUMERIC',
351
+ 'POW',
352
+ 'POWER',
353
+ 'PROPERTY_EXISTS',
354
+ 'PROPERTY_NAMES',
355
+ 'PROTO_MAP_CONTAINS_KEY',
356
+ 'PROTO_MODIFY_MAP',
357
+ 'RAND',
358
+ 'RANGE',
359
+ 'RANGE_BUCKET',
360
+ 'RANGE_CONTAINS',
361
+ 'RANGE_END',
362
+ 'RANGE_INTERSECT',
363
+ 'RANGE_IS_END_UNBOUNDED',
364
+ 'RANGE_IS_START_UNBOUNDED',
365
+ 'RANGE_OVERLAPS',
366
+ 'RANGE_START',
367
+ 'RANK',
368
+ 'REGEXP_CONTAINS',
369
+ 'REGEXP_EXTRACT',
370
+ 'REGEXP_EXTRACT_ALL',
371
+ 'REGEXP_INSTR',
372
+ 'REGEXP_REPLACE',
373
+ 'REGEXP_SUBSTR',
374
+ 'REPEAT',
375
+ 'REPLACE',
376
+ 'REVERSE',
377
+ 'RIGHT',
378
+ 'ROUND',
379
+ 'ROW_NUMBER',
380
+ 'RPAD',
381
+ 'RTRIM',
382
+ 'S2_CELLIDFROMPOINT',
383
+ 'S2_COVERINGCELLIDS',
384
+ 'SAFE_ADD',
385
+ 'SAFE_CONVERT_BYTES_TO_STRING',
386
+ 'SAFE_DIVIDE',
387
+ 'SAFE_MULTIPLY',
388
+ 'SAFE_NEGATE',
389
+ 'SAFE_OFFSET',
390
+ 'SAFE_ORDINAL',
391
+ 'SAFE_SUBTRACT',
392
+ 'SAFE_TO_JSON',
393
+ 'SAME',
394
+ 'SEC',
395
+ 'SECH',
396
+ 'SESSION_USER',
397
+ 'SHA1',
398
+ 'SHA256',
399
+ 'SHA512',
400
+ 'SIGN',
401
+ 'SIN',
402
+ 'SINH',
403
+ 'SOUNDEX',
404
+ 'SOURCE_NODE_ID',
405
+ 'SPLIT',
406
+ 'SPLIT_SUBSTR',
407
+ 'SQRT',
408
+ 'STARTS_WITH',
409
+ 'STDDEV',
410
+ 'STDDEV_POP',
411
+ 'STDDEV_SAMP',
412
+ 'STRING',
413
+ 'STRING_AGG',
414
+ 'STRING_ARRAY',
415
+ 'STRPOS',
416
+ 'ST_ANGLE',
417
+ 'ST_AREA',
418
+ 'ST_ASBINARY',
419
+ 'ST_ASGEOJSON',
420
+ 'ST_ASKML',
421
+ 'ST_ASTEXT',
422
+ 'ST_AZIMUTH',
423
+ 'ST_BOUNDARY',
424
+ 'ST_BOUNDINGBOX',
425
+ 'ST_BUFFER',
426
+ 'ST_BUFFERWITHTOLERANCE',
427
+ 'ST_CENTROID',
428
+ 'ST_CENTROID_AGG',
429
+ 'ST_CLOSESTPOINT',
430
+ 'ST_CLUSTERDBSCAN',
431
+ 'ST_CONTAINS',
432
+ 'ST_CONVEXHULL',
433
+ 'ST_COVEREDBY',
434
+ 'ST_COVERS',
435
+ 'ST_DIFFERENCE',
436
+ 'ST_DIMENSION',
437
+ 'ST_DISJOINT',
438
+ 'ST_DISTANCE',
439
+ 'ST_DUMP',
440
+ 'ST_DUMPPOINTS',
441
+ 'ST_DWITHIN',
442
+ 'ST_ENDPOINT',
443
+ 'ST_EQUALS',
444
+ 'ST_EXTENT',
445
+ 'ST_EXTERIORRING',
446
+ 'ST_GEOGFROM',
447
+ 'ST_GEOGFROMGEOJSON',
448
+ 'ST_GEOGFROMKML',
449
+ 'ST_GEOGFROMTEXT',
450
+ 'ST_GEOGFROMWKB',
451
+ 'ST_GEOGPOINT',
452
+ 'ST_GEOGPOINTFROMGEOHASH',
453
+ 'ST_GEOHASH',
454
+ 'ST_GEOMETRYTYPE',
455
+ 'ST_HAUSDORFFDISTANCE',
456
+ 'ST_HAUSDORFFDWITHIN',
457
+ 'ST_INTERIORRINGS',
458
+ 'ST_INTERSECTION',
459
+ 'ST_INTERSECTS',
460
+ 'ST_INTERSECTSBOX',
461
+ 'ST_ISCLOSED',
462
+ 'ST_ISCOLLECTION',
463
+ 'ST_ISEMPTY',
464
+ 'ST_ISRING',
465
+ 'ST_LENGTH',
466
+ 'ST_LINEINTERPOLATEPOINT',
467
+ 'ST_LINELOCATEPOINT',
468
+ 'ST_LINESUBSTRING',
469
+ 'ST_MAKELINE',
470
+ 'ST_MAKEPOLYGON',
471
+ 'ST_MAKEPOLYGONORIENTED',
472
+ 'ST_MAXDISTANCE',
473
+ 'ST_NEAREST_NEIGHBORS',
474
+ 'ST_NPOINTS',
475
+ 'ST_NUMGEOMETRIES',
476
+ 'ST_NUMPOINTS',
477
+ 'ST_PERIMETER',
478
+ 'ST_POINTN',
479
+ 'ST_SIMPLIFY',
480
+ 'ST_SNAPTOGRID',
481
+ 'ST_STARTPOINT',
482
+ 'ST_TOUCHES',
483
+ 'ST_UNARYUNION',
484
+ 'ST_UNION',
485
+ 'ST_UNION_AGG',
486
+ 'ST_WITHIN',
487
+ 'ST_X',
488
+ 'ST_Y',
489
+ 'SUBSTR',
490
+ 'SUBSTRING',
491
+ 'SUM',
492
+ 'TAN',
493
+ 'TANH',
494
+ 'TIME',
495
+ 'TIMESTAMP',
496
+ 'TIMESTAMP_ADD',
497
+ 'TIMESTAMP_BUCKET',
498
+ 'TIMESTAMP_DIFF',
499
+ 'TIMESTAMP_FROM_UNIX_MICROS',
500
+ 'TIMESTAMP_FROM_UNIX_MILLIS',
501
+ 'TIMESTAMP_FROM_UNIX_SECONDS',
502
+ 'TIMESTAMP_MICROS',
503
+ 'TIMESTAMP_MILLIS',
504
+ 'TIMESTAMP_SECONDS',
505
+ 'TIMESTAMP_SUB',
506
+ 'TIMESTAMP_TRUNC',
507
+ 'TIME_ADD',
508
+ 'TIME_DIFF',
509
+ 'TIME_SUB',
510
+ 'TIME_TRUNC',
511
+ 'TO_BASE32',
512
+ 'TO_BASE64',
513
+ 'TO_CODE_POINTS',
514
+ 'TO_HEX',
515
+ 'TO_JSON',
516
+ 'TO_JSON_STRING',
517
+ 'TRANSLATE',
518
+ 'TRIM',
519
+ 'TRUNC',
520
+ 'TYPEOF',
521
+ 'UNICODE',
522
+ 'UNIX_DATE',
523
+ 'UNIX_MICROS',
524
+ 'UNIX_MILLIS',
525
+ 'UNIX_SECONDS',
526
+ 'UNNEST',
527
+ 'UNPIVOT',
528
+ 'UPPER',
529
+ 'VARIANCE',
530
+ 'VAR_POP',
531
+ 'VAR_SAMP',
532
+ 'ZEROIFNULL',
533
+ ]
534
+
535
+ keywords = [
536
+ 'ABORT',
537
+ 'ACCESS',
538
+ 'ACTION',
539
+ 'ACYCLIC',
540
+ 'ADD',
541
+ 'AFTER',
542
+ 'AGGREGATE',
543
+ 'ALL',
544
+ 'ALTER',
545
+ 'ALWAYS',
546
+ 'ANALYZE',
547
+ 'AND',
548
+ 'ANY',
549
+ 'APPROX',
550
+ 'ARE',
551
+ 'AS',
552
+ 'ASC',
553
+ 'ASCENDING',
554
+ 'ASSERT',
555
+ 'ASSERT_ROWS_MODIFIED',
556
+ 'AT',
557
+ 'BATCH',
558
+ 'BEGIN',
559
+ 'BETWEEN',
560
+ 'BIGDECIMAL',
561
+ 'BREAK',
562
+ 'BY',
563
+ 'CALL',
564
+ 'CASCADE',
565
+ 'CASE',
566
+ 'CAST',
567
+ 'CHECK',
568
+ 'CLAMPED',
569
+ 'CLONE',
570
+ 'CLUSTER',
571
+ 'COLLATE',
572
+ 'COLUMN',
573
+ 'COLUMNS',
574
+ 'COMMIT',
575
+ 'CONFLICT',
576
+ 'CONNECTION',
577
+ 'CONSTANT',
578
+ 'CONSTRAINT',
579
+ 'CONTAINS',
580
+ 'CONTINUE',
581
+ 'COPY',
582
+ 'CORRESPONDING',
583
+ 'CREATE',
584
+ 'CROSS',
585
+ 'CUBE',
586
+ 'CURRENT',
587
+ 'CYCLE',
588
+ 'DATA',
589
+ 'DATABASE',
590
+ 'DAY',
591
+ 'DAYOFWEEK',
592
+ 'DAYOFYEAR',
593
+ 'DECIMAL',
594
+ 'DECLARE',
595
+ 'DEFAULT',
596
+ 'DEFINE',
597
+ 'DEFINER',
598
+ 'DELETE',
599
+ 'DELETION',
600
+ 'DEPTH',
601
+ 'DESC',
602
+ 'DESCENDING',
603
+ 'DESCRIBE',
604
+ 'DESCRIPTOR',
605
+ 'DESTINATION',
606
+ 'DETERMINISTIC',
607
+ 'DISTINCT',
608
+ 'DO',
609
+ 'DROP',
610
+ 'EDGE',
611
+ 'ELSE',
612
+ 'ELSEIF',
613
+ 'END',
614
+ 'ENFORCED',
615
+ 'ERROR',
616
+ 'ESCAPE',
617
+ 'EXCEPT',
618
+ 'EXCEPTION',
619
+ 'EXCLUDE',
620
+ 'EXECUTE',
621
+ 'EXISTS',
622
+ 'EXPLAIN',
623
+ 'EXPORT',
624
+ 'EXTEND',
625
+ 'EXTERNAL',
626
+ 'EXTRACT',
627
+ 'FALSE',
628
+ 'FETCH',
629
+ 'FIELD',
630
+ 'FILES',
631
+ 'FILL',
632
+ 'FILTER',
633
+ 'FIRST',
634
+ 'FOLLOWING',
635
+ 'FOR',
636
+ 'FOREIGN',
637
+ 'FORK',
638
+ 'FORMAT',
639
+ 'FRIDAY',
640
+ 'FROM',
641
+ 'FULL',
642
+ 'FUNCTION',
643
+ 'GENERATED',
644
+ 'GRANT',
645
+ 'GRAPH',
646
+ 'GRAPH_TABLE',
647
+ 'GROUP',
648
+ 'GROUPING',
649
+ 'GROUPS',
650
+ 'GROUP_ROWS',
651
+ 'HAS',
652
+ 'HASH',
653
+ 'HAVING',
654
+ 'HIDDEN',
655
+ 'HOUR',
656
+ 'IDENTITY',
657
+ 'IF',
658
+ 'IGNORE',
659
+ 'IMMEDIATE',
660
+ 'IMMUTABLE',
661
+ 'IMPORT',
662
+ 'IN',
663
+ 'INCLUDE',
664
+ 'INCREMENT',
665
+ 'INDEX',
666
+ 'INNER',
667
+ 'INOUT',
668
+ 'INPUT',
669
+ 'INSERT',
670
+ 'INTERLEAVE',
671
+ 'INTERSECT',
672
+ 'INTO',
673
+ 'INVOKER',
674
+ 'IS',
675
+ 'ISOLATION',
676
+ 'ISOWEEK ',
677
+ 'ISOYEAR',
678
+ 'ITERATE',
679
+ 'JOIN',
680
+ 'KEY',
681
+ 'LABEL',
682
+ 'LABELED',
683
+ 'LANGUAGE',
684
+ 'LAST',
685
+ 'LATERAL',
686
+ 'LEAVE',
687
+ 'LEFT',
688
+ 'LET',
689
+ 'LEVEL',
690
+ 'LIKE',
691
+ 'LIMIT',
692
+ 'LOAD',
693
+ 'LOG',
694
+ 'LOOKUP',
695
+ 'LOOP',
696
+ 'MACRO',
697
+ 'MATCH',
698
+ 'MATCHED',
699
+ 'MATCH_RECOGNIZE',
700
+ 'MATERIALIZED',
701
+ 'MAX',
702
+ 'MAXVALUE',
703
+ 'MEASURES',
704
+ 'MERGE',
705
+ 'MESSAGE',
706
+ 'METADATA',
707
+ 'MICROSECOND',
708
+ 'MILLISECOND',
709
+ 'MIN',
710
+ 'MINUTE',
711
+ 'MINVALUE',
712
+ 'MODEL',
713
+ 'MODULE',
714
+ 'MONDAY',
715
+ 'MONTH',
716
+ 'NAME',
717
+ 'NANOSECOND',
718
+ 'NATURAL',
719
+ 'NEW',
720
+ 'NEXT',
721
+ 'NO',
722
+ 'NODE',
723
+ 'NOT',
724
+ 'NOTHING',
725
+ 'NULL',
726
+ 'NULLS',
727
+ 'NULL_FILTERED',
728
+ 'OF',
729
+ 'OFFSET',
730
+ 'ON',
731
+ 'ONEOF_CASE',
732
+ 'ONLY',
733
+ 'OPTIONAL',
734
+ 'OPTIONS',
735
+ 'OR',
736
+ 'ORDER',
737
+ 'OUT',
738
+ 'OUTER',
739
+ 'OUTPUT',
740
+ 'OVER',
741
+ 'OVERWRITE',
742
+ 'PARENT',
743
+ 'PARTITION',
744
+ 'PARTITIONS',
745
+ 'PAST',
746
+ 'PATH',
747
+ 'PATHS',
748
+ 'PATTERN',
749
+ 'PERCENT',
750
+ 'PIVOT',
751
+ 'POLICIES',
752
+ 'POLICY',
753
+ 'PRECEDING',
754
+ 'PRIMARY',
755
+ 'PRIVATE',
756
+ 'PRIVILEGE',
757
+ 'PRIVILEGES',
758
+ 'PROCEDURE',
759
+ 'PROJECT',
760
+ 'PROPERTIES',
761
+ 'PROPERTY',
762
+ 'PUBLIC',
763
+ 'QUALIFY',
764
+ 'QUARTER',
765
+ 'RAISE',
766
+ 'RAW',
767
+ 'READ',
768
+ 'RECURSIVE',
769
+ 'REFERENCES',
770
+ 'REMOTE',
771
+ 'REMOVE',
772
+ 'RENAME',
773
+ 'REPEAT',
774
+ 'REPEATABLE',
775
+ 'REPLACE',
776
+ 'REPLACE_FIELDS',
777
+ 'REPLICA',
778
+ 'REPORT',
779
+ 'RESPECT',
780
+ 'RESTRICT',
781
+ 'RESTRICTION',
782
+ 'RETURN',
783
+ 'RETURNS',
784
+ 'REVOKE',
785
+ 'RIGHT',
786
+ 'ROLLBACK',
787
+ 'ROLLUP',
788
+ 'ROW',
789
+ 'ROWS',
790
+ 'RUN',
791
+ 'SAFE_CAST',
792
+ 'SATURDAY',
793
+ 'SCHEMA',
794
+ 'SEARCH',
795
+ 'SECOND ',
796
+ 'SECURITY',
797
+ 'SELECT',
798
+ 'SEQUENCE',
799
+ 'SET',
800
+ 'SETS',
801
+ 'SHORTEST',
802
+ 'SHOW',
803
+ 'SIMPLE',
804
+ 'SKIP',
805
+ 'SNAPSHOT',
806
+ 'SOME',
807
+ 'SOURCE',
808
+ 'SQL',
809
+ 'STABLE',
810
+ 'START',
811
+ 'STATIC_DESCRIBE',
812
+ 'STORED',
813
+ 'STORING',
814
+ 'STRICT',
815
+ 'SUNDAY',
816
+ 'SYSTEM',
817
+ 'SYSTEM_TIME',
818
+ 'TABLE',
819
+ 'TABLES',
820
+ 'TABLESAMPLE',
821
+ 'TARGET',
822
+ 'TEMP',
823
+ 'TEMPORARY',
824
+ 'THEN',
825
+ 'THURSDAY',
826
+ 'TO',
827
+ 'TRAIL',
828
+ 'TRANSACTION',
829
+ 'TRANSFORM',
830
+ 'TREAT',
831
+ 'TRUE',
832
+ 'TRUNCATE',
833
+ 'TUESDAY',
834
+ 'TYPE',
835
+ 'UNBOUNDED',
836
+ 'UNDROP',
837
+ 'UNION',
838
+ 'UNIQUE',
839
+ 'UNKNOWN',
840
+ 'UNNEST',
841
+ 'UNPIVOT',
842
+ 'UNTIL',
843
+ 'UPDATE',
844
+ 'USING',
845
+ 'VALUE',
846
+ 'VALUES',
847
+ 'VECTOR',
848
+ 'VIEW',
849
+ 'VIEWS',
850
+ 'VOLATILE',
851
+ 'WALK',
852
+ 'WEDNESDAY',
853
+ 'WEEK',
854
+ 'WEIGHT',
855
+ 'WHEN',
856
+ 'WHERE',
857
+ 'WHILE',
858
+ 'WINDOW',
859
+ 'WITH',
860
+ 'WITHIN',
861
+ 'WRITE',
862
+ 'YEAR',
863
+ 'ZONE',
864
+ ]
865
+
866
+ operators = [
867
+ '!=',
868
+ '&',
869
+ '*',
870
+ '+',
871
+ '-',
872
+ '/',
873
+ '<',
874
+ '<<',
875
+ '<=',
876
+ '=',
877
+ '>',
878
+ '>=',
879
+ '>>',
880
+ '^',
881
+ '|',
882
+ '||',
883
+ '~',
884
+ ]
885
+
886
+ types = [
887
+ 'ARRAY',
888
+ 'BIGNUMERIC',
889
+ 'BOOL',
890
+ 'BYTES',
891
+ 'DATE',
892
+ 'DATETIME',
893
+ 'DOUBLE',
894
+ 'ENUM',
895
+ 'EXTENDED',
896
+ 'FLOAT',
897
+ 'GEOGRAPHY',
898
+ 'GRAPH_ELEMENT',
899
+ 'GRAPH_PATH',
900
+ 'INT32',
901
+ 'INT64',
902
+ 'INTERVAL',
903
+ 'JSON',
904
+ 'MAP',
905
+ 'MEASURE',
906
+ 'NUMERIC',
907
+ 'PROTO',
908
+ 'RANGE',
909
+ 'STRING',
910
+ 'STRUCT',
911
+ 'TIME',
912
+ 'TIMESTAMP',
913
+ 'TIMESTAMP_PICOS',
914
+ 'TOKENLIST',
915
+ 'UINT32',
916
+ 'UINT64',
917
+ 'UUID',
918
+ ]
temp_venv/lib/python3.13/site-packages/pygments/lexers/_lilypond_builtins.py ADDED
The diff for this file is too large to render. See raw diff
 
temp_venv/lib/python3.13/site-packages/pygments/lexers/_luau_builtins.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._luau_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Includes the builtins for Luau and Roblox.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ LUAU_BUILTINS = {
12
+ 'bit32',
13
+ 'buffer',
14
+ 'coroutine',
15
+ 'debug',
16
+ 'math',
17
+ 'os',
18
+ 'string',
19
+ 'table',
20
+ 'utf8',
21
+ }
22
+
23
+ ROBLOX_BUILTINS = {
24
+ 'task',
25
+
26
+ 'Axes',
27
+ 'BrickColor',
28
+ 'CatalogSearchParams',
29
+ 'CFrame',
30
+ 'Color3',
31
+ 'ColorSequence',
32
+ 'ColorSequenceKeypoint',
33
+ 'DateTime',
34
+ 'DockWidgetPluginGuiInfo',
35
+ 'Faces',
36
+ 'FloatCurveKey',
37
+ 'Font',
38
+ 'Instance',
39
+ 'NumberRange',
40
+ 'NumberSequence',
41
+ 'NumberSequenceKeypoint',
42
+ 'OverlapParams',
43
+ 'PathWaypoint',
44
+ 'PhysicalProperties',
45
+ 'Random',
46
+ 'Ray',
47
+ 'RaycastParams',
48
+ 'RaycastResult',
49
+ 'RBXScriptConnection',
50
+ 'RBXScriptSignal',
51
+ 'Rect',
52
+ 'Region3',
53
+ 'Region3int16',
54
+ 'SharedTable',
55
+ 'TweenInfo',
56
+ 'UDim',
57
+ 'UDim2',
58
+ 'Vector2',
59
+ 'Vector2int16',
60
+ 'Vector3',
61
+ 'Vector3int16',
62
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/_openedge_builtins.py ADDED
@@ -0,0 +1,2600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._openedge_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Builtin list for the OpenEdgeLexer.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ OPENEDGEKEYWORDS = (
12
+ 'ABS',
13
+ 'ABSO',
14
+ 'ABSOL',
15
+ 'ABSOLU',
16
+ 'ABSOLUT',
17
+ 'ABSOLUTE',
18
+ 'ABSTRACT',
19
+ 'ACCELERATOR',
20
+ 'ACCUM',
21
+ 'ACCUMU',
22
+ 'ACCUMUL',
23
+ 'ACCUMULA',
24
+ 'ACCUMULAT',
25
+ 'ACCUMULATE',
26
+ 'ACTIVE-FORM',
27
+ 'ACTIVE-WINDOW',
28
+ 'ADD',
29
+ 'ADD-BUFFER',
30
+ 'ADD-CALC-COLUMN',
31
+ 'ADD-COLUMNS-FROM',
32
+ 'ADD-EVENTS-PROCEDURE',
33
+ 'ADD-FIELDS-FROM',
34
+ 'ADD-FIRST',
35
+ 'ADD-INDEX-FIELD',
36
+ 'ADD-LAST',
37
+ 'ADD-LIKE-COLUMN',
38
+ 'ADD-LIKE-FIELD',
39
+ 'ADD-LIKE-INDEX',
40
+ 'ADD-NEW-FIELD',
41
+ 'ADD-NEW-INDEX',
42
+ 'ADD-SCHEMA-LOCATION',
43
+ 'ADD-SUPER-PROCEDURE',
44
+ 'ADM-DATA',
45
+ 'ADVISE',
46
+ 'ALERT-BOX',
47
+ 'ALIAS',
48
+ 'ALL',
49
+ 'ALLOW-COLUMN-SEARCHING',
50
+ 'ALLOW-REPLICATION',
51
+ 'ALTER',
52
+ 'ALWAYS-ON-TOP',
53
+ 'AMBIG',
54
+ 'AMBIGU',
55
+ 'AMBIGUO',
56
+ 'AMBIGUOU',
57
+ 'AMBIGUOUS',
58
+ 'ANALYZ',
59
+ 'ANALYZE',
60
+ 'AND',
61
+ 'ANSI-ONLY',
62
+ 'ANY',
63
+ 'ANYWHERE',
64
+ 'APPEND',
65
+ 'APPL-ALERT',
66
+ 'APPL-ALERT-',
67
+ 'APPL-ALERT-B',
68
+ 'APPL-ALERT-BO',
69
+ 'APPL-ALERT-BOX',
70
+ 'APPL-ALERT-BOXE',
71
+ 'APPL-ALERT-BOXES',
72
+ 'APPL-CONTEXT-ID',
73
+ 'APPLICATION',
74
+ 'APPLY',
75
+ 'APPSERVER-INFO',
76
+ 'APPSERVER-PASSWORD',
77
+ 'APPSERVER-USERID',
78
+ 'ARRAY-MESSAGE',
79
+ 'AS',
80
+ 'ASC',
81
+ 'ASCE',
82
+ 'ASCEN',
83
+ 'ASCEND',
84
+ 'ASCENDI',
85
+ 'ASCENDIN',
86
+ 'ASCENDING',
87
+ 'ASK-OVERWRITE',
88
+ 'ASSEMBLY',
89
+ 'ASSIGN',
90
+ 'ASYNC-REQUEST-COUNT',
91
+ 'ASYNC-REQUEST-HANDLE',
92
+ 'ASYNCHRONOUS',
93
+ 'AT',
94
+ 'ATTACHED-PAIRLIST',
95
+ 'ATTR',
96
+ 'ATTR-SPACE',
97
+ 'ATTRI',
98
+ 'ATTRIB',
99
+ 'ATTRIBU',
100
+ 'ATTRIBUT',
101
+ 'AUDIT-CONTROL',
102
+ 'AUDIT-ENABLED',
103
+ 'AUDIT-EVENT-CONTEXT',
104
+ 'AUDIT-POLICY',
105
+ 'AUTHENTICATION-FAILED',
106
+ 'AUTHORIZATION',
107
+ 'AUTO-COMP',
108
+ 'AUTO-COMPL',
109
+ 'AUTO-COMPLE',
110
+ 'AUTO-COMPLET',
111
+ 'AUTO-COMPLETI',
112
+ 'AUTO-COMPLETIO',
113
+ 'AUTO-COMPLETION',
114
+ 'AUTO-END-KEY',
115
+ 'AUTO-ENDKEY',
116
+ 'AUTO-GO',
117
+ 'AUTO-IND',
118
+ 'AUTO-INDE',
119
+ 'AUTO-INDEN',
120
+ 'AUTO-INDENT',
121
+ 'AUTO-RESIZE',
122
+ 'AUTO-RET',
123
+ 'AUTO-RETU',
124
+ 'AUTO-RETUR',
125
+ 'AUTO-RETURN',
126
+ 'AUTO-SYNCHRONIZE',
127
+ 'AUTO-Z',
128
+ 'AUTO-ZA',
129
+ 'AUTO-ZAP',
130
+ 'AUTOMATIC',
131
+ 'AVAIL',
132
+ 'AVAILA',
133
+ 'AVAILAB',
134
+ 'AVAILABL',
135
+ 'AVAILABLE',
136
+ 'AVAILABLE-FORMATS',
137
+ 'AVE',
138
+ 'AVER',
139
+ 'AVERA',
140
+ 'AVERAG',
141
+ 'AVERAGE',
142
+ 'AVG',
143
+ 'BACK',
144
+ 'BACKG',
145
+ 'BACKGR',
146
+ 'BACKGRO',
147
+ 'BACKGROU',
148
+ 'BACKGROUN',
149
+ 'BACKGROUND',
150
+ 'BACKWARD',
151
+ 'BACKWARDS',
152
+ 'BASE64-DECODE',
153
+ 'BASE64-ENCODE',
154
+ 'BASE-ADE',
155
+ 'BASE-KEY',
156
+ 'BATCH',
157
+ 'BATCH-',
158
+ 'BATCH-M',
159
+ 'BATCH-MO',
160
+ 'BATCH-MOD',
161
+ 'BATCH-MODE',
162
+ 'BATCH-SIZE',
163
+ 'BEFORE-H',
164
+ 'BEFORE-HI',
165
+ 'BEFORE-HID',
166
+ 'BEFORE-HIDE',
167
+ 'BEGIN-EVENT-GROUP',
168
+ 'BEGINS',
169
+ 'BELL',
170
+ 'BETWEEN',
171
+ 'BGC',
172
+ 'BGCO',
173
+ 'BGCOL',
174
+ 'BGCOLO',
175
+ 'BGCOLOR',
176
+ 'BIG-ENDIAN',
177
+ 'BINARY',
178
+ 'BIND',
179
+ 'BIND-WHERE',
180
+ 'BLANK',
181
+ 'BLOCK-ITERATION-DISPLAY',
182
+ 'BLOCK-LEVEL',
183
+ 'BORDER-B',
184
+ 'BORDER-BO',
185
+ 'BORDER-BOT',
186
+ 'BORDER-BOTT',
187
+ 'BORDER-BOTTO',
188
+ 'BORDER-BOTTOM-CHARS',
189
+ 'BORDER-BOTTOM-P',
190
+ 'BORDER-BOTTOM-PI',
191
+ 'BORDER-BOTTOM-PIX',
192
+ 'BORDER-BOTTOM-PIXE',
193
+ 'BORDER-BOTTOM-PIXEL',
194
+ 'BORDER-BOTTOM-PIXELS',
195
+ 'BORDER-L',
196
+ 'BORDER-LE',
197
+ 'BORDER-LEF',
198
+ 'BORDER-LEFT',
199
+ 'BORDER-LEFT-',
200
+ 'BORDER-LEFT-C',
201
+ 'BORDER-LEFT-CH',
202
+ 'BORDER-LEFT-CHA',
203
+ 'BORDER-LEFT-CHAR',
204
+ 'BORDER-LEFT-CHARS',
205
+ 'BORDER-LEFT-P',
206
+ 'BORDER-LEFT-PI',
207
+ 'BORDER-LEFT-PIX',
208
+ 'BORDER-LEFT-PIXE',
209
+ 'BORDER-LEFT-PIXEL',
210
+ 'BORDER-LEFT-PIXELS',
211
+ 'BORDER-R',
212
+ 'BORDER-RI',
213
+ 'BORDER-RIG',
214
+ 'BORDER-RIGH',
215
+ 'BORDER-RIGHT',
216
+ 'BORDER-RIGHT-',
217
+ 'BORDER-RIGHT-C',
218
+ 'BORDER-RIGHT-CH',
219
+ 'BORDER-RIGHT-CHA',
220
+ 'BORDER-RIGHT-CHAR',
221
+ 'BORDER-RIGHT-CHARS',
222
+ 'BORDER-RIGHT-P',
223
+ 'BORDER-RIGHT-PI',
224
+ 'BORDER-RIGHT-PIX',
225
+ 'BORDER-RIGHT-PIXE',
226
+ 'BORDER-RIGHT-PIXEL',
227
+ 'BORDER-RIGHT-PIXELS',
228
+ 'BORDER-T',
229
+ 'BORDER-TO',
230
+ 'BORDER-TOP',
231
+ 'BORDER-TOP-',
232
+ 'BORDER-TOP-C',
233
+ 'BORDER-TOP-CH',
234
+ 'BORDER-TOP-CHA',
235
+ 'BORDER-TOP-CHAR',
236
+ 'BORDER-TOP-CHARS',
237
+ 'BORDER-TOP-P',
238
+ 'BORDER-TOP-PI',
239
+ 'BORDER-TOP-PIX',
240
+ 'BORDER-TOP-PIXE',
241
+ 'BORDER-TOP-PIXEL',
242
+ 'BORDER-TOP-PIXELS',
243
+ 'BOX',
244
+ 'BOX-SELECT',
245
+ 'BOX-SELECTA',
246
+ 'BOX-SELECTAB',
247
+ 'BOX-SELECTABL',
248
+ 'BOX-SELECTABLE',
249
+ 'BREAK',
250
+ 'BROWSE',
251
+ 'BUFFER',
252
+ 'BUFFER-CHARS',
253
+ 'BUFFER-COMPARE',
254
+ 'BUFFER-COPY',
255
+ 'BUFFER-CREATE',
256
+ 'BUFFER-DELETE',
257
+ 'BUFFER-FIELD',
258
+ 'BUFFER-HANDLE',
259
+ 'BUFFER-LINES',
260
+ 'BUFFER-NAME',
261
+ 'BUFFER-PARTITION-ID',
262
+ 'BUFFER-RELEASE',
263
+ 'BUFFER-VALUE',
264
+ 'BUTTON',
265
+ 'BUTTONS',
266
+ 'BY',
267
+ 'BY-POINTER',
268
+ 'BY-VARIANT-POINTER',
269
+ 'CACHE',
270
+ 'CACHE-SIZE',
271
+ 'CALL',
272
+ 'CALL-NAME',
273
+ 'CALL-TYPE',
274
+ 'CAN-CREATE',
275
+ 'CAN-DELETE',
276
+ 'CAN-DO',
277
+ 'CAN-DO-DOMAIN-SUPPORT',
278
+ 'CAN-FIND',
279
+ 'CAN-QUERY',
280
+ 'CAN-READ',
281
+ 'CAN-SET',
282
+ 'CAN-WRITE',
283
+ 'CANCEL-BREAK',
284
+ 'CANCEL-BUTTON',
285
+ 'CAPS',
286
+ 'CAREFUL-PAINT',
287
+ 'CASE',
288
+ 'CASE-SEN',
289
+ 'CASE-SENS',
290
+ 'CASE-SENSI',
291
+ 'CASE-SENSIT',
292
+ 'CASE-SENSITI',
293
+ 'CASE-SENSITIV',
294
+ 'CASE-SENSITIVE',
295
+ 'CAST',
296
+ 'CATCH',
297
+ 'CDECL',
298
+ 'CENTER',
299
+ 'CENTERE',
300
+ 'CENTERED',
301
+ 'CHAINED',
302
+ 'CHARACTER',
303
+ 'CHARACTER_LENGTH',
304
+ 'CHARSET',
305
+ 'CHECK',
306
+ 'CHECKED',
307
+ 'CHOOSE',
308
+ 'CHR',
309
+ 'CLASS',
310
+ 'CLASS-TYPE',
311
+ 'CLEAR',
312
+ 'CLEAR-APPL-CONTEXT',
313
+ 'CLEAR-LOG',
314
+ 'CLEAR-SELECT',
315
+ 'CLEAR-SELECTI',
316
+ 'CLEAR-SELECTIO',
317
+ 'CLEAR-SELECTION',
318
+ 'CLEAR-SORT-ARROW',
319
+ 'CLEAR-SORT-ARROWS',
320
+ 'CLIENT-CONNECTION-ID',
321
+ 'CLIENT-PRINCIPAL',
322
+ 'CLIENT-TTY',
323
+ 'CLIENT-TYPE',
324
+ 'CLIENT-WORKSTATION',
325
+ 'CLIPBOARD',
326
+ 'CLOSE',
327
+ 'CLOSE-LOG',
328
+ 'CODE',
329
+ 'CODEBASE-LOCATOR',
330
+ 'CODEPAGE',
331
+ 'CODEPAGE-CONVERT',
332
+ 'COL',
333
+ 'COL-OF',
334
+ 'COLLATE',
335
+ 'COLON',
336
+ 'COLON-ALIGN',
337
+ 'COLON-ALIGNE',
338
+ 'COLON-ALIGNED',
339
+ 'COLOR',
340
+ 'COLOR-TABLE',
341
+ 'COLU',
342
+ 'COLUM',
343
+ 'COLUMN',
344
+ 'COLUMN-BGCOLOR',
345
+ 'COLUMN-DCOLOR',
346
+ 'COLUMN-FGCOLOR',
347
+ 'COLUMN-FONT',
348
+ 'COLUMN-LAB',
349
+ 'COLUMN-LABE',
350
+ 'COLUMN-LABEL',
351
+ 'COLUMN-MOVABLE',
352
+ 'COLUMN-OF',
353
+ 'COLUMN-PFCOLOR',
354
+ 'COLUMN-READ-ONLY',
355
+ 'COLUMN-RESIZABLE',
356
+ 'COLUMN-SCROLLING',
357
+ 'COLUMNS',
358
+ 'COM-HANDLE',
359
+ 'COM-SELF',
360
+ 'COMBO-BOX',
361
+ 'COMMAND',
362
+ 'COMPARES',
363
+ 'COMPILE',
364
+ 'COMPILER',
365
+ 'COMPLETE',
366
+ 'CONFIG-NAME',
367
+ 'CONNECT',
368
+ 'CONNECTED',
369
+ 'CONSTRUCTOR',
370
+ 'CONTAINS',
371
+ 'CONTENTS',
372
+ 'CONTEXT',
373
+ 'CONTEXT-HELP',
374
+ 'CONTEXT-HELP-FILE',
375
+ 'CONTEXT-HELP-ID',
376
+ 'CONTEXT-POPUP',
377
+ 'CONTROL',
378
+ 'CONTROL-BOX',
379
+ 'CONTROL-FRAME',
380
+ 'CONVERT',
381
+ 'CONVERT-3D-COLORS',
382
+ 'CONVERT-TO-OFFS',
383
+ 'CONVERT-TO-OFFSE',
384
+ 'CONVERT-TO-OFFSET',
385
+ 'COPY-DATASET',
386
+ 'COPY-LOB',
387
+ 'COPY-SAX-ATTRIBUTES',
388
+ 'COPY-TEMP-TABLE',
389
+ 'COUNT',
390
+ 'COUNT-OF',
391
+ 'CPCASE',
392
+ 'CPCOLL',
393
+ 'CPINTERNAL',
394
+ 'CPLOG',
395
+ 'CPPRINT',
396
+ 'CPRCODEIN',
397
+ 'CPRCODEOUT',
398
+ 'CPSTREAM',
399
+ 'CPTERM',
400
+ 'CRC-VALUE',
401
+ 'CREATE',
402
+ 'CREATE-LIKE',
403
+ 'CREATE-LIKE-SEQUENTIAL',
404
+ 'CREATE-NODE-NAMESPACE',
405
+ 'CREATE-RESULT-LIST-ENTRY',
406
+ 'CREATE-TEST-FILE',
407
+ 'CURRENT',
408
+ 'CURRENT-CHANGED',
409
+ 'CURRENT-COLUMN',
410
+ 'CURRENT-ENV',
411
+ 'CURRENT-ENVI',
412
+ 'CURRENT-ENVIR',
413
+ 'CURRENT-ENVIRO',
414
+ 'CURRENT-ENVIRON',
415
+ 'CURRENT-ENVIRONM',
416
+ 'CURRENT-ENVIRONME',
417
+ 'CURRENT-ENVIRONMEN',
418
+ 'CURRENT-ENVIRONMENT',
419
+ 'CURRENT-ITERATION',
420
+ 'CURRENT-LANG',
421
+ 'CURRENT-LANGU',
422
+ 'CURRENT-LANGUA',
423
+ 'CURRENT-LANGUAG',
424
+ 'CURRENT-LANGUAGE',
425
+ 'CURRENT-QUERY',
426
+ 'CURRENT-REQUEST-INFO',
427
+ 'CURRENT-RESPONSE-INFO',
428
+ 'CURRENT-RESULT-ROW',
429
+ 'CURRENT-ROW-MODIFIED',
430
+ 'CURRENT-VALUE',
431
+ 'CURRENT-WINDOW',
432
+ 'CURRENT_DATE',
433
+ 'CURS',
434
+ 'CURSO',
435
+ 'CURSOR',
436
+ 'CURSOR-CHAR',
437
+ 'CURSOR-LINE',
438
+ 'CURSOR-OFFSET',
439
+ 'DATA-BIND',
440
+ 'DATA-ENTRY-RET',
441
+ 'DATA-ENTRY-RETU',
442
+ 'DATA-ENTRY-RETUR',
443
+ 'DATA-ENTRY-RETURN',
444
+ 'DATA-REL',
445
+ 'DATA-RELA',
446
+ 'DATA-RELAT',
447
+ 'DATA-RELATI',
448
+ 'DATA-RELATIO',
449
+ 'DATA-RELATION',
450
+ 'DATA-SOURCE',
451
+ 'DATA-SOURCE-COMPLETE-MAP',
452
+ 'DATA-SOURCE-MODIFIED',
453
+ 'DATA-SOURCE-ROWID',
454
+ 'DATA-T',
455
+ 'DATA-TY',
456
+ 'DATA-TYP',
457
+ 'DATA-TYPE',
458
+ 'DATABASE',
459
+ 'DATASERVERS',
460
+ 'DATASET',
461
+ 'DATASET-HANDLE',
462
+ 'DATE',
463
+ 'DATE-F',
464
+ 'DATE-FO',
465
+ 'DATE-FOR',
466
+ 'DATE-FORM',
467
+ 'DATE-FORMA',
468
+ 'DATE-FORMAT',
469
+ 'DAY',
470
+ 'DB-CONTEXT',
471
+ 'DB-REFERENCES',
472
+ 'DBCODEPAGE',
473
+ 'DBCOLLATION',
474
+ 'DBNAME',
475
+ 'DBPARAM',
476
+ 'DBREST',
477
+ 'DBRESTR',
478
+ 'DBRESTRI',
479
+ 'DBRESTRIC',
480
+ 'DBRESTRICT',
481
+ 'DBRESTRICTI',
482
+ 'DBRESTRICTIO',
483
+ 'DBRESTRICTION',
484
+ 'DBRESTRICTIONS',
485
+ 'DBTASKID',
486
+ 'DBTYPE',
487
+ 'DBVERS',
488
+ 'DBVERSI',
489
+ 'DBVERSIO',
490
+ 'DBVERSION',
491
+ 'DCOLOR',
492
+ 'DDE',
493
+ 'DDE-ERROR',
494
+ 'DDE-I',
495
+ 'DDE-ID',
496
+ 'DDE-ITEM',
497
+ 'DDE-NAME',
498
+ 'DDE-TOPIC',
499
+ 'DEBLANK',
500
+ 'DEBU',
501
+ 'DEBUG',
502
+ 'DEBUG-ALERT',
503
+ 'DEBUG-LIST',
504
+ 'DEBUGGER',
505
+ 'DECIMAL',
506
+ 'DECIMALS',
507
+ 'DECLARE',
508
+ 'DECLARE-NAMESPACE',
509
+ 'DECRYPT',
510
+ 'DEFAULT',
511
+ 'DEFAULT-B',
512
+ 'DEFAULT-BU',
513
+ 'DEFAULT-BUFFER-HANDLE',
514
+ 'DEFAULT-BUT',
515
+ 'DEFAULT-BUTT',
516
+ 'DEFAULT-BUTTO',
517
+ 'DEFAULT-BUTTON',
518
+ 'DEFAULT-COMMIT',
519
+ 'DEFAULT-EX',
520
+ 'DEFAULT-EXT',
521
+ 'DEFAULT-EXTE',
522
+ 'DEFAULT-EXTEN',
523
+ 'DEFAULT-EXTENS',
524
+ 'DEFAULT-EXTENSI',
525
+ 'DEFAULT-EXTENSIO',
526
+ 'DEFAULT-EXTENSION',
527
+ 'DEFAULT-NOXL',
528
+ 'DEFAULT-NOXLA',
529
+ 'DEFAULT-NOXLAT',
530
+ 'DEFAULT-NOXLATE',
531
+ 'DEFAULT-VALUE',
532
+ 'DEFAULT-WINDOW',
533
+ 'DEFINE',
534
+ 'DEFINE-USER-EVENT-MANAGER',
535
+ 'DEFINED',
536
+ 'DEL',
537
+ 'DELE',
538
+ 'DELEGATE',
539
+ 'DELET',
540
+ 'DELETE PROCEDURE',
541
+ 'DELETE',
542
+ 'DELETE-CHAR',
543
+ 'DELETE-CHARA',
544
+ 'DELETE-CHARAC',
545
+ 'DELETE-CHARACT',
546
+ 'DELETE-CHARACTE',
547
+ 'DELETE-CHARACTER',
548
+ 'DELETE-CURRENT-ROW',
549
+ 'DELETE-LINE',
550
+ 'DELETE-RESULT-LIST-ENTRY',
551
+ 'DELETE-SELECTED-ROW',
552
+ 'DELETE-SELECTED-ROWS',
553
+ 'DELIMITER',
554
+ 'DESC',
555
+ 'DESCE',
556
+ 'DESCEN',
557
+ 'DESCEND',
558
+ 'DESCENDI',
559
+ 'DESCENDIN',
560
+ 'DESCENDING',
561
+ 'DESELECT-FOCUSED-ROW',
562
+ 'DESELECT-ROWS',
563
+ 'DESELECT-SELECTED-ROW',
564
+ 'DESELECTION',
565
+ 'DESTRUCTOR',
566
+ 'DIALOG-BOX',
567
+ 'DICT',
568
+ 'DICTI',
569
+ 'DICTIO',
570
+ 'DICTION',
571
+ 'DICTIONA',
572
+ 'DICTIONAR',
573
+ 'DICTIONARY',
574
+ 'DIR',
575
+ 'DISABLE',
576
+ 'DISABLE-AUTO-ZAP',
577
+ 'DISABLE-DUMP-TRIGGERS',
578
+ 'DISABLE-LOAD-TRIGGERS',
579
+ 'DISABLED',
580
+ 'DISCON',
581
+ 'DISCONN',
582
+ 'DISCONNE',
583
+ 'DISCONNEC',
584
+ 'DISCONNECT',
585
+ 'DISP',
586
+ 'DISPL',
587
+ 'DISPLA',
588
+ 'DISPLAY',
589
+ 'DISPLAY-MESSAGE',
590
+ 'DISPLAY-T',
591
+ 'DISPLAY-TY',
592
+ 'DISPLAY-TYP',
593
+ 'DISPLAY-TYPE',
594
+ 'DISTINCT',
595
+ 'DO',
596
+ 'DOMAIN-DESCRIPTION',
597
+ 'DOMAIN-NAME',
598
+ 'DOMAIN-TYPE',
599
+ 'DOS',
600
+ 'DOUBLE',
601
+ 'DOWN',
602
+ 'DRAG-ENABLED',
603
+ 'DROP',
604
+ 'DROP-DOWN',
605
+ 'DROP-DOWN-LIST',
606
+ 'DROP-FILE-NOTIFY',
607
+ 'DROP-TARGET',
608
+ 'DS-CLOSE-CURSOR',
609
+ 'DSLOG-MANAGER',
610
+ 'DUMP',
611
+ 'DYNAMIC',
612
+ 'DYNAMIC-ENUM',
613
+ 'DYNAMIC-FUNCTION',
614
+ 'DYNAMIC-INVOKE',
615
+ 'EACH',
616
+ 'ECHO',
617
+ 'EDGE',
618
+ 'EDGE-',
619
+ 'EDGE-C',
620
+ 'EDGE-CH',
621
+ 'EDGE-CHA',
622
+ 'EDGE-CHAR',
623
+ 'EDGE-CHARS',
624
+ 'EDGE-P',
625
+ 'EDGE-PI',
626
+ 'EDGE-PIX',
627
+ 'EDGE-PIXE',
628
+ 'EDGE-PIXEL',
629
+ 'EDGE-PIXELS',
630
+ 'EDIT-CAN-PASTE',
631
+ 'EDIT-CAN-UNDO',
632
+ 'EDIT-CLEAR',
633
+ 'EDIT-COPY',
634
+ 'EDIT-CUT',
635
+ 'EDIT-PASTE',
636
+ 'EDIT-UNDO',
637
+ 'EDITING',
638
+ 'EDITOR',
639
+ 'ELSE',
640
+ 'EMPTY',
641
+ 'EMPTY-TEMP-TABLE',
642
+ 'ENABLE',
643
+ 'ENABLED-FIELDS',
644
+ 'ENCODE',
645
+ 'ENCRYPT',
646
+ 'ENCRYPT-AUDIT-MAC-KEY',
647
+ 'ENCRYPTION-SALT',
648
+ 'END',
649
+ 'END-DOCUMENT',
650
+ 'END-ELEMENT',
651
+ 'END-EVENT-GROUP',
652
+ 'END-FILE-DROP',
653
+ 'END-KEY',
654
+ 'END-MOVE',
655
+ 'END-RESIZE',
656
+ 'END-ROW-RESIZE',
657
+ 'END-USER-PROMPT',
658
+ 'ENDKEY',
659
+ 'ENTERED',
660
+ 'ENTITY-EXPANSION-LIMIT',
661
+ 'ENTRY',
662
+ 'ENUM',
663
+ 'EQ',
664
+ 'ERROR',
665
+ 'ERROR-COL',
666
+ 'ERROR-COLU',
667
+ 'ERROR-COLUM',
668
+ 'ERROR-COLUMN',
669
+ 'ERROR-ROW',
670
+ 'ERROR-STACK-TRACE',
671
+ 'ERROR-STAT',
672
+ 'ERROR-STATU',
673
+ 'ERROR-STATUS',
674
+ 'ESCAPE',
675
+ 'ETIME',
676
+ 'EVENT',
677
+ 'EVENT-GROUP-ID',
678
+ 'EVENT-PROCEDURE',
679
+ 'EVENT-PROCEDURE-CONTEXT',
680
+ 'EVENT-T',
681
+ 'EVENT-TY',
682
+ 'EVENT-TYP',
683
+ 'EVENT-TYPE',
684
+ 'EVENTS',
685
+ 'EXCEPT',
686
+ 'EXCLUSIVE',
687
+ 'EXCLUSIVE-',
688
+ 'EXCLUSIVE-ID',
689
+ 'EXCLUSIVE-L',
690
+ 'EXCLUSIVE-LO',
691
+ 'EXCLUSIVE-LOC',
692
+ 'EXCLUSIVE-LOCK',
693
+ 'EXCLUSIVE-WEB-USER',
694
+ 'EXECUTE',
695
+ 'EXISTS',
696
+ 'EXP',
697
+ 'EXPAND',
698
+ 'EXPANDABLE',
699
+ 'EXPLICIT',
700
+ 'EXPORT',
701
+ 'EXPORT-PRINCIPAL',
702
+ 'EXTENDED',
703
+ 'EXTENT',
704
+ 'EXTERNAL',
705
+ 'FALSE',
706
+ 'FETCH',
707
+ 'FETCH-SELECTED-ROW',
708
+ 'FGC',
709
+ 'FGCO',
710
+ 'FGCOL',
711
+ 'FGCOLO',
712
+ 'FGCOLOR',
713
+ 'FIELD',
714
+ 'FIELDS',
715
+ 'FILE',
716
+ 'FILE-CREATE-DATE',
717
+ 'FILE-CREATE-TIME',
718
+ 'FILE-INFO',
719
+ 'FILE-INFOR',
720
+ 'FILE-INFORM',
721
+ 'FILE-INFORMA',
722
+ 'FILE-INFORMAT',
723
+ 'FILE-INFORMATI',
724
+ 'FILE-INFORMATIO',
725
+ 'FILE-INFORMATION',
726
+ 'FILE-MOD-DATE',
727
+ 'FILE-MOD-TIME',
728
+ 'FILE-NAME',
729
+ 'FILE-OFF',
730
+ 'FILE-OFFS',
731
+ 'FILE-OFFSE',
732
+ 'FILE-OFFSET',
733
+ 'FILE-SIZE',
734
+ 'FILE-TYPE',
735
+ 'FILENAME',
736
+ 'FILL',
737
+ 'FILL-IN',
738
+ 'FILLED',
739
+ 'FILTERS',
740
+ 'FINAL',
741
+ 'FINALLY',
742
+ 'FIND',
743
+ 'FIND-BY-ROWID',
744
+ 'FIND-CASE-SENSITIVE',
745
+ 'FIND-CURRENT',
746
+ 'FIND-FIRST',
747
+ 'FIND-GLOBAL',
748
+ 'FIND-LAST',
749
+ 'FIND-NEXT-OCCURRENCE',
750
+ 'FIND-PREV-OCCURRENCE',
751
+ 'FIND-SELECT',
752
+ 'FIND-UNIQUE',
753
+ 'FIND-WRAP-AROUND',
754
+ 'FINDER',
755
+ 'FIRST',
756
+ 'FIRST-ASYNCH-REQUEST',
757
+ 'FIRST-CHILD',
758
+ 'FIRST-COLUMN',
759
+ 'FIRST-FORM',
760
+ 'FIRST-OBJECT',
761
+ 'FIRST-OF',
762
+ 'FIRST-PROC',
763
+ 'FIRST-PROCE',
764
+ 'FIRST-PROCED',
765
+ 'FIRST-PROCEDU',
766
+ 'FIRST-PROCEDUR',
767
+ 'FIRST-PROCEDURE',
768
+ 'FIRST-SERVER',
769
+ 'FIRST-TAB-I',
770
+ 'FIRST-TAB-IT',
771
+ 'FIRST-TAB-ITE',
772
+ 'FIRST-TAB-ITEM',
773
+ 'FIT-LAST-COLUMN',
774
+ 'FIXED-ONLY',
775
+ 'FLAT-BUTTON',
776
+ 'FLOAT',
777
+ 'FOCUS',
778
+ 'FOCUSED-ROW',
779
+ 'FOCUSED-ROW-SELECTED',
780
+ 'FONT',
781
+ 'FONT-TABLE',
782
+ 'FOR',
783
+ 'FORCE-FILE',
784
+ 'FORE',
785
+ 'FOREG',
786
+ 'FOREGR',
787
+ 'FOREGRO',
788
+ 'FOREGROU',
789
+ 'FOREGROUN',
790
+ 'FOREGROUND',
791
+ 'FORM INPUT',
792
+ 'FORM',
793
+ 'FORM-LONG-INPUT',
794
+ 'FORMA',
795
+ 'FORMAT',
796
+ 'FORMATTE',
797
+ 'FORMATTED',
798
+ 'FORWARD',
799
+ 'FORWARDS',
800
+ 'FRAGMEN',
801
+ 'FRAGMENT',
802
+ 'FRAM',
803
+ 'FRAME',
804
+ 'FRAME-COL',
805
+ 'FRAME-DB',
806
+ 'FRAME-DOWN',
807
+ 'FRAME-FIELD',
808
+ 'FRAME-FILE',
809
+ 'FRAME-INDE',
810
+ 'FRAME-INDEX',
811
+ 'FRAME-LINE',
812
+ 'FRAME-NAME',
813
+ 'FRAME-ROW',
814
+ 'FRAME-SPA',
815
+ 'FRAME-SPAC',
816
+ 'FRAME-SPACI',
817
+ 'FRAME-SPACIN',
818
+ 'FRAME-SPACING',
819
+ 'FRAME-VAL',
820
+ 'FRAME-VALU',
821
+ 'FRAME-VALUE',
822
+ 'FRAME-X',
823
+ 'FRAME-Y',
824
+ 'FREQUENCY',
825
+ 'FROM',
826
+ 'FROM-C',
827
+ 'FROM-CH',
828
+ 'FROM-CHA',
829
+ 'FROM-CHAR',
830
+ 'FROM-CHARS',
831
+ 'FROM-CUR',
832
+ 'FROM-CURR',
833
+ 'FROM-CURRE',
834
+ 'FROM-CURREN',
835
+ 'FROM-CURRENT',
836
+ 'FROM-P',
837
+ 'FROM-PI',
838
+ 'FROM-PIX',
839
+ 'FROM-PIXE',
840
+ 'FROM-PIXEL',
841
+ 'FROM-PIXELS',
842
+ 'FULL-HEIGHT',
843
+ 'FULL-HEIGHT-',
844
+ 'FULL-HEIGHT-C',
845
+ 'FULL-HEIGHT-CH',
846
+ 'FULL-HEIGHT-CHA',
847
+ 'FULL-HEIGHT-CHAR',
848
+ 'FULL-HEIGHT-CHARS',
849
+ 'FULL-HEIGHT-P',
850
+ 'FULL-HEIGHT-PI',
851
+ 'FULL-HEIGHT-PIX',
852
+ 'FULL-HEIGHT-PIXE',
853
+ 'FULL-HEIGHT-PIXEL',
854
+ 'FULL-HEIGHT-PIXELS',
855
+ 'FULL-PATHN',
856
+ 'FULL-PATHNA',
857
+ 'FULL-PATHNAM',
858
+ 'FULL-PATHNAME',
859
+ 'FULL-WIDTH',
860
+ 'FULL-WIDTH-',
861
+ 'FULL-WIDTH-C',
862
+ 'FULL-WIDTH-CH',
863
+ 'FULL-WIDTH-CHA',
864
+ 'FULL-WIDTH-CHAR',
865
+ 'FULL-WIDTH-CHARS',
866
+ 'FULL-WIDTH-P',
867
+ 'FULL-WIDTH-PI',
868
+ 'FULL-WIDTH-PIX',
869
+ 'FULL-WIDTH-PIXE',
870
+ 'FULL-WIDTH-PIXEL',
871
+ 'FULL-WIDTH-PIXELS',
872
+ 'FUNCTION',
873
+ 'FUNCTION-CALL-TYPE',
874
+ 'GATEWAY',
875
+ 'GATEWAYS',
876
+ 'GE',
877
+ 'GENERATE-MD5',
878
+ 'GENERATE-PBE-KEY',
879
+ 'GENERATE-PBE-SALT',
880
+ 'GENERATE-RANDOM-KEY',
881
+ 'GENERATE-UUID',
882
+ 'GET',
883
+ 'GET-ATTR-CALL-TYPE',
884
+ 'GET-ATTRIBUTE-NODE',
885
+ 'GET-BINARY-DATA',
886
+ 'GET-BLUE',
887
+ 'GET-BLUE-',
888
+ 'GET-BLUE-V',
889
+ 'GET-BLUE-VA',
890
+ 'GET-BLUE-VAL',
891
+ 'GET-BLUE-VALU',
892
+ 'GET-BLUE-VALUE',
893
+ 'GET-BROWSE-COLUMN',
894
+ 'GET-BUFFER-HANDLE',
895
+ 'GET-BYTE',
896
+ 'GET-CALLBACK-PROC-CONTEXT',
897
+ 'GET-CALLBACK-PROC-NAME',
898
+ 'GET-CGI-LIST',
899
+ 'GET-CGI-LONG-VALUE',
900
+ 'GET-CGI-VALUE',
901
+ 'GET-CLASS',
902
+ 'GET-CODEPAGES',
903
+ 'GET-COLLATIONS',
904
+ 'GET-CONFIG-VALUE',
905
+ 'GET-CURRENT',
906
+ 'GET-DOUBLE',
907
+ 'GET-DROPPED-FILE',
908
+ 'GET-DYNAMIC',
909
+ 'GET-ERROR-COLUMN',
910
+ 'GET-ERROR-ROW',
911
+ 'GET-FILE',
912
+ 'GET-FILE-NAME',
913
+ 'GET-FILE-OFFSE',
914
+ 'GET-FILE-OFFSET',
915
+ 'GET-FIRST',
916
+ 'GET-FLOAT',
917
+ 'GET-GREEN',
918
+ 'GET-GREEN-',
919
+ 'GET-GREEN-V',
920
+ 'GET-GREEN-VA',
921
+ 'GET-GREEN-VAL',
922
+ 'GET-GREEN-VALU',
923
+ 'GET-GREEN-VALUE',
924
+ 'GET-INDEX-BY-NAMESPACE-NAME',
925
+ 'GET-INDEX-BY-QNAME',
926
+ 'GET-INT64',
927
+ 'GET-ITERATION',
928
+ 'GET-KEY-VAL',
929
+ 'GET-KEY-VALU',
930
+ 'GET-KEY-VALUE',
931
+ 'GET-LAST',
932
+ 'GET-LOCALNAME-BY-INDEX',
933
+ 'GET-LONG',
934
+ 'GET-MESSAGE',
935
+ 'GET-NEXT',
936
+ 'GET-NUMBER',
937
+ 'GET-POINTER-VALUE',
938
+ 'GET-PREV',
939
+ 'GET-PRINTERS',
940
+ 'GET-PROPERTY',
941
+ 'GET-QNAME-BY-INDEX',
942
+ 'GET-RED',
943
+ 'GET-RED-',
944
+ 'GET-RED-V',
945
+ 'GET-RED-VA',
946
+ 'GET-RED-VAL',
947
+ 'GET-RED-VALU',
948
+ 'GET-RED-VALUE',
949
+ 'GET-REPOSITIONED-ROW',
950
+ 'GET-RGB-VALUE',
951
+ 'GET-SELECTED',
952
+ 'GET-SELECTED-',
953
+ 'GET-SELECTED-W',
954
+ 'GET-SELECTED-WI',
955
+ 'GET-SELECTED-WID',
956
+ 'GET-SELECTED-WIDG',
957
+ 'GET-SELECTED-WIDGE',
958
+ 'GET-SELECTED-WIDGET',
959
+ 'GET-SHORT',
960
+ 'GET-SIGNATURE',
961
+ 'GET-SIZE',
962
+ 'GET-STRING',
963
+ 'GET-TAB-ITEM',
964
+ 'GET-TEXT-HEIGHT',
965
+ 'GET-TEXT-HEIGHT-',
966
+ 'GET-TEXT-HEIGHT-C',
967
+ 'GET-TEXT-HEIGHT-CH',
968
+ 'GET-TEXT-HEIGHT-CHA',
969
+ 'GET-TEXT-HEIGHT-CHAR',
970
+ 'GET-TEXT-HEIGHT-CHARS',
971
+ 'GET-TEXT-HEIGHT-P',
972
+ 'GET-TEXT-HEIGHT-PI',
973
+ 'GET-TEXT-HEIGHT-PIX',
974
+ 'GET-TEXT-HEIGHT-PIXE',
975
+ 'GET-TEXT-HEIGHT-PIXEL',
976
+ 'GET-TEXT-HEIGHT-PIXELS',
977
+ 'GET-TEXT-WIDTH',
978
+ 'GET-TEXT-WIDTH-',
979
+ 'GET-TEXT-WIDTH-C',
980
+ 'GET-TEXT-WIDTH-CH',
981
+ 'GET-TEXT-WIDTH-CHA',
982
+ 'GET-TEXT-WIDTH-CHAR',
983
+ 'GET-TEXT-WIDTH-CHARS',
984
+ 'GET-TEXT-WIDTH-P',
985
+ 'GET-TEXT-WIDTH-PI',
986
+ 'GET-TEXT-WIDTH-PIX',
987
+ 'GET-TEXT-WIDTH-PIXE',
988
+ 'GET-TEXT-WIDTH-PIXEL',
989
+ 'GET-TEXT-WIDTH-PIXELS',
990
+ 'GET-TYPE-BY-INDEX',
991
+ 'GET-TYPE-BY-NAMESPACE-NAME',
992
+ 'GET-TYPE-BY-QNAME',
993
+ 'GET-UNSIGNED-LONG',
994
+ 'GET-UNSIGNED-SHORT',
995
+ 'GET-URI-BY-INDEX',
996
+ 'GET-VALUE-BY-INDEX',
997
+ 'GET-VALUE-BY-NAMESPACE-NAME',
998
+ 'GET-VALUE-BY-QNAME',
999
+ 'GET-WAIT-STATE',
1000
+ 'GETBYTE',
1001
+ 'GLOBAL',
1002
+ 'GO-ON',
1003
+ 'GO-PEND',
1004
+ 'GO-PENDI',
1005
+ 'GO-PENDIN',
1006
+ 'GO-PENDING',
1007
+ 'GRANT',
1008
+ 'GRAPHIC-E',
1009
+ 'GRAPHIC-ED',
1010
+ 'GRAPHIC-EDG',
1011
+ 'GRAPHIC-EDGE',
1012
+ 'GRID-FACTOR-H',
1013
+ 'GRID-FACTOR-HO',
1014
+ 'GRID-FACTOR-HOR',
1015
+ 'GRID-FACTOR-HORI',
1016
+ 'GRID-FACTOR-HORIZ',
1017
+ 'GRID-FACTOR-HORIZO',
1018
+ 'GRID-FACTOR-HORIZON',
1019
+ 'GRID-FACTOR-HORIZONT',
1020
+ 'GRID-FACTOR-HORIZONTA',
1021
+ 'GRID-FACTOR-HORIZONTAL',
1022
+ 'GRID-FACTOR-V',
1023
+ 'GRID-FACTOR-VE',
1024
+ 'GRID-FACTOR-VER',
1025
+ 'GRID-FACTOR-VERT',
1026
+ 'GRID-FACTOR-VERTI',
1027
+ 'GRID-FACTOR-VERTIC',
1028
+ 'GRID-FACTOR-VERTICA',
1029
+ 'GRID-FACTOR-VERTICAL',
1030
+ 'GRID-SNAP',
1031
+ 'GRID-UNIT-HEIGHT',
1032
+ 'GRID-UNIT-HEIGHT-',
1033
+ 'GRID-UNIT-HEIGHT-C',
1034
+ 'GRID-UNIT-HEIGHT-CH',
1035
+ 'GRID-UNIT-HEIGHT-CHA',
1036
+ 'GRID-UNIT-HEIGHT-CHARS',
1037
+ 'GRID-UNIT-HEIGHT-P',
1038
+ 'GRID-UNIT-HEIGHT-PI',
1039
+ 'GRID-UNIT-HEIGHT-PIX',
1040
+ 'GRID-UNIT-HEIGHT-PIXE',
1041
+ 'GRID-UNIT-HEIGHT-PIXEL',
1042
+ 'GRID-UNIT-HEIGHT-PIXELS',
1043
+ 'GRID-UNIT-WIDTH',
1044
+ 'GRID-UNIT-WIDTH-',
1045
+ 'GRID-UNIT-WIDTH-C',
1046
+ 'GRID-UNIT-WIDTH-CH',
1047
+ 'GRID-UNIT-WIDTH-CHA',
1048
+ 'GRID-UNIT-WIDTH-CHAR',
1049
+ 'GRID-UNIT-WIDTH-CHARS',
1050
+ 'GRID-UNIT-WIDTH-P',
1051
+ 'GRID-UNIT-WIDTH-PI',
1052
+ 'GRID-UNIT-WIDTH-PIX',
1053
+ 'GRID-UNIT-WIDTH-PIXE',
1054
+ 'GRID-UNIT-WIDTH-PIXEL',
1055
+ 'GRID-UNIT-WIDTH-PIXELS',
1056
+ 'GRID-VISIBLE',
1057
+ 'GROUP',
1058
+ 'GT',
1059
+ 'GUID',
1060
+ 'HANDLE',
1061
+ 'HANDLER',
1062
+ 'HAS-RECORDS',
1063
+ 'HAVING',
1064
+ 'HEADER',
1065
+ 'HEIGHT',
1066
+ 'HEIGHT-',
1067
+ 'HEIGHT-C',
1068
+ 'HEIGHT-CH',
1069
+ 'HEIGHT-CHA',
1070
+ 'HEIGHT-CHAR',
1071
+ 'HEIGHT-CHARS',
1072
+ 'HEIGHT-P',
1073
+ 'HEIGHT-PI',
1074
+ 'HEIGHT-PIX',
1075
+ 'HEIGHT-PIXE',
1076
+ 'HEIGHT-PIXEL',
1077
+ 'HEIGHT-PIXELS',
1078
+ 'HELP',
1079
+ 'HEX-DECODE',
1080
+ 'HEX-ENCODE',
1081
+ 'HIDDEN',
1082
+ 'HIDE',
1083
+ 'HORI',
1084
+ 'HORIZ',
1085
+ 'HORIZO',
1086
+ 'HORIZON',
1087
+ 'HORIZONT',
1088
+ 'HORIZONTA',
1089
+ 'HORIZONTAL',
1090
+ 'HOST-BYTE-ORDER',
1091
+ 'HTML-CHARSET',
1092
+ 'HTML-END-OF-LINE',
1093
+ 'HTML-END-OF-PAGE',
1094
+ 'HTML-FRAME-BEGIN',
1095
+ 'HTML-FRAME-END',
1096
+ 'HTML-HEADER-BEGIN',
1097
+ 'HTML-HEADER-END',
1098
+ 'HTML-TITLE-BEGIN',
1099
+ 'HTML-TITLE-END',
1100
+ 'HWND',
1101
+ 'ICON',
1102
+ 'IF',
1103
+ 'IMAGE',
1104
+ 'IMAGE-DOWN',
1105
+ 'IMAGE-INSENSITIVE',
1106
+ 'IMAGE-SIZE',
1107
+ 'IMAGE-SIZE-C',
1108
+ 'IMAGE-SIZE-CH',
1109
+ 'IMAGE-SIZE-CHA',
1110
+ 'IMAGE-SIZE-CHAR',
1111
+ 'IMAGE-SIZE-CHARS',
1112
+ 'IMAGE-SIZE-P',
1113
+ 'IMAGE-SIZE-PI',
1114
+ 'IMAGE-SIZE-PIX',
1115
+ 'IMAGE-SIZE-PIXE',
1116
+ 'IMAGE-SIZE-PIXEL',
1117
+ 'IMAGE-SIZE-PIXELS',
1118
+ 'IMAGE-UP',
1119
+ 'IMMEDIATE-DISPLAY',
1120
+ 'IMPLEMENTS',
1121
+ 'IMPORT',
1122
+ 'IMPORT-PRINCIPAL',
1123
+ 'IN',
1124
+ 'IN-HANDLE',
1125
+ 'INCREMENT-EXCLUSIVE-ID',
1126
+ 'INDEX',
1127
+ 'INDEX-HINT',
1128
+ 'INDEX-INFORMATION',
1129
+ 'INDEXED-REPOSITION',
1130
+ 'INDICATOR',
1131
+ 'INFO',
1132
+ 'INFOR',
1133
+ 'INFORM',
1134
+ 'INFORMA',
1135
+ 'INFORMAT',
1136
+ 'INFORMATI',
1137
+ 'INFORMATIO',
1138
+ 'INFORMATION',
1139
+ 'INHERIT-BGC',
1140
+ 'INHERIT-BGCO',
1141
+ 'INHERIT-BGCOL',
1142
+ 'INHERIT-BGCOLO',
1143
+ 'INHERIT-BGCOLOR',
1144
+ 'INHERIT-FGC',
1145
+ 'INHERIT-FGCO',
1146
+ 'INHERIT-FGCOL',
1147
+ 'INHERIT-FGCOLO',
1148
+ 'INHERIT-FGCOLOR',
1149
+ 'INHERITS',
1150
+ 'INIT',
1151
+ 'INITI',
1152
+ 'INITIA',
1153
+ 'INITIAL',
1154
+ 'INITIAL-DIR',
1155
+ 'INITIAL-FILTER',
1156
+ 'INITIALIZE-DOCUMENT-TYPE',
1157
+ 'INITIATE',
1158
+ 'INNER-CHARS',
1159
+ 'INNER-LINES',
1160
+ 'INPUT',
1161
+ 'INPUT-O',
1162
+ 'INPUT-OU',
1163
+ 'INPUT-OUT',
1164
+ 'INPUT-OUTP',
1165
+ 'INPUT-OUTPU',
1166
+ 'INPUT-OUTPUT',
1167
+ 'INPUT-VALUE',
1168
+ 'INSERT',
1169
+ 'INSERT-ATTRIBUTE',
1170
+ 'INSERT-B',
1171
+ 'INSERT-BA',
1172
+ 'INSERT-BAC',
1173
+ 'INSERT-BACK',
1174
+ 'INSERT-BACKT',
1175
+ 'INSERT-BACKTA',
1176
+ 'INSERT-BACKTAB',
1177
+ 'INSERT-FILE',
1178
+ 'INSERT-ROW',
1179
+ 'INSERT-STRING',
1180
+ 'INSERT-T',
1181
+ 'INSERT-TA',
1182
+ 'INSERT-TAB',
1183
+ 'INT64',
1184
+ 'INT',
1185
+ 'INTEGER',
1186
+ 'INTERFACE',
1187
+ 'INTERNAL-ENTRIES',
1188
+ 'INTO',
1189
+ 'INVOKE',
1190
+ 'IS',
1191
+ 'IS-ATTR',
1192
+ 'IS-ATTR-',
1193
+ 'IS-ATTR-S',
1194
+ 'IS-ATTR-SP',
1195
+ 'IS-ATTR-SPA',
1196
+ 'IS-ATTR-SPAC',
1197
+ 'IS-ATTR-SPACE',
1198
+ 'IS-CLASS',
1199
+ 'IS-JSON',
1200
+ 'IS-LEAD-BYTE',
1201
+ 'IS-OPEN',
1202
+ 'IS-PARAMETER-SET',
1203
+ 'IS-PARTITIONED',
1204
+ 'IS-ROW-SELECTED',
1205
+ 'IS-SELECTED',
1206
+ 'IS-XML',
1207
+ 'ITEM',
1208
+ 'ITEMS-PER-ROW',
1209
+ 'JOIN',
1210
+ 'JOIN-BY-SQLDB',
1211
+ 'KBLABEL',
1212
+ 'KEEP-CONNECTION-OPEN',
1213
+ 'KEEP-FRAME-Z',
1214
+ 'KEEP-FRAME-Z-',
1215
+ 'KEEP-FRAME-Z-O',
1216
+ 'KEEP-FRAME-Z-OR',
1217
+ 'KEEP-FRAME-Z-ORD',
1218
+ 'KEEP-FRAME-Z-ORDE',
1219
+ 'KEEP-FRAME-Z-ORDER',
1220
+ 'KEEP-MESSAGES',
1221
+ 'KEEP-SECURITY-CACHE',
1222
+ 'KEEP-TAB-ORDER',
1223
+ 'KEY',
1224
+ 'KEY-CODE',
1225
+ 'KEY-FUNC',
1226
+ 'KEY-FUNCT',
1227
+ 'KEY-FUNCTI',
1228
+ 'KEY-FUNCTIO',
1229
+ 'KEY-FUNCTION',
1230
+ 'KEY-LABEL',
1231
+ 'KEYCODE',
1232
+ 'KEYFUNC',
1233
+ 'KEYFUNCT',
1234
+ 'KEYFUNCTI',
1235
+ 'KEYFUNCTIO',
1236
+ 'KEYFUNCTION',
1237
+ 'KEYLABEL',
1238
+ 'KEYS',
1239
+ 'KEYWORD',
1240
+ 'KEYWORD-ALL',
1241
+ 'LABEL',
1242
+ 'LABEL-BGC',
1243
+ 'LABEL-BGCO',
1244
+ 'LABEL-BGCOL',
1245
+ 'LABEL-BGCOLO',
1246
+ 'LABEL-BGCOLOR',
1247
+ 'LABEL-DC',
1248
+ 'LABEL-DCO',
1249
+ 'LABEL-DCOL',
1250
+ 'LABEL-DCOLO',
1251
+ 'LABEL-DCOLOR',
1252
+ 'LABEL-FGC',
1253
+ 'LABEL-FGCO',
1254
+ 'LABEL-FGCOL',
1255
+ 'LABEL-FGCOLO',
1256
+ 'LABEL-FGCOLOR',
1257
+ 'LABEL-FONT',
1258
+ 'LABEL-PFC',
1259
+ 'LABEL-PFCO',
1260
+ 'LABEL-PFCOL',
1261
+ 'LABEL-PFCOLO',
1262
+ 'LABEL-PFCOLOR',
1263
+ 'LABELS',
1264
+ 'LABELS-HAVE-COLONS',
1265
+ 'LANDSCAPE',
1266
+ 'LANGUAGE',
1267
+ 'LANGUAGES',
1268
+ 'LARGE',
1269
+ 'LARGE-TO-SMALL',
1270
+ 'LAST',
1271
+ 'LAST-ASYNCH-REQUEST',
1272
+ 'LAST-BATCH',
1273
+ 'LAST-CHILD',
1274
+ 'LAST-EVEN',
1275
+ 'LAST-EVENT',
1276
+ 'LAST-FORM',
1277
+ 'LAST-KEY',
1278
+ 'LAST-OBJECT',
1279
+ 'LAST-OF',
1280
+ 'LAST-PROCE',
1281
+ 'LAST-PROCED',
1282
+ 'LAST-PROCEDU',
1283
+ 'LAST-PROCEDUR',
1284
+ 'LAST-PROCEDURE',
1285
+ 'LAST-SERVER',
1286
+ 'LAST-TAB-I',
1287
+ 'LAST-TAB-IT',
1288
+ 'LAST-TAB-ITE',
1289
+ 'LAST-TAB-ITEM',
1290
+ 'LASTKEY',
1291
+ 'LC',
1292
+ 'LDBNAME',
1293
+ 'LE',
1294
+ 'LEAVE',
1295
+ 'LEFT-ALIGN',
1296
+ 'LEFT-ALIGNE',
1297
+ 'LEFT-ALIGNED',
1298
+ 'LEFT-TRIM',
1299
+ 'LENGTH',
1300
+ 'LIBRARY',
1301
+ 'LIKE',
1302
+ 'LIKE-SEQUENTIAL',
1303
+ 'LINE',
1304
+ 'LINE-COUNT',
1305
+ 'LINE-COUNTE',
1306
+ 'LINE-COUNTER',
1307
+ 'LIST-EVENTS',
1308
+ 'LIST-ITEM-PAIRS',
1309
+ 'LIST-ITEMS',
1310
+ 'LIST-PROPERTY-NAMES',
1311
+ 'LIST-QUERY-ATTRS',
1312
+ 'LIST-SET-ATTRS',
1313
+ 'LIST-WIDGETS',
1314
+ 'LISTI',
1315
+ 'LISTIN',
1316
+ 'LISTING',
1317
+ 'LITERAL-QUESTION',
1318
+ 'LITTLE-ENDIAN',
1319
+ 'LOAD',
1320
+ 'LOAD-DOMAINS',
1321
+ 'LOAD-ICON',
1322
+ 'LOAD-IMAGE',
1323
+ 'LOAD-IMAGE-DOWN',
1324
+ 'LOAD-IMAGE-INSENSITIVE',
1325
+ 'LOAD-IMAGE-UP',
1326
+ 'LOAD-MOUSE-P',
1327
+ 'LOAD-MOUSE-PO',
1328
+ 'LOAD-MOUSE-POI',
1329
+ 'LOAD-MOUSE-POIN',
1330
+ 'LOAD-MOUSE-POINT',
1331
+ 'LOAD-MOUSE-POINTE',
1332
+ 'LOAD-MOUSE-POINTER',
1333
+ 'LOAD-PICTURE',
1334
+ 'LOAD-SMALL-ICON',
1335
+ 'LOCAL-NAME',
1336
+ 'LOCAL-VERSION-INFO',
1337
+ 'LOCATOR-COLUMN-NUMBER',
1338
+ 'LOCATOR-LINE-NUMBER',
1339
+ 'LOCATOR-PUBLIC-ID',
1340
+ 'LOCATOR-SYSTEM-ID',
1341
+ 'LOCATOR-TYPE',
1342
+ 'LOCK-REGISTRATION',
1343
+ 'LOCKED',
1344
+ 'LOG',
1345
+ 'LOG-AUDIT-EVENT',
1346
+ 'LOG-MANAGER',
1347
+ 'LOGICAL',
1348
+ 'LOGIN-EXPIRATION-TIMESTAMP',
1349
+ 'LOGIN-HOST',
1350
+ 'LOGIN-STATE',
1351
+ 'LOGOUT',
1352
+ 'LONGCHAR',
1353
+ 'LOOKAHEAD',
1354
+ 'LOOKUP',
1355
+ 'LT',
1356
+ 'MACHINE-CLASS',
1357
+ 'MANDATORY',
1358
+ 'MANUAL-HIGHLIGHT',
1359
+ 'MAP',
1360
+ 'MARGIN-EXTRA',
1361
+ 'MARGIN-HEIGHT',
1362
+ 'MARGIN-HEIGHT-',
1363
+ 'MARGIN-HEIGHT-C',
1364
+ 'MARGIN-HEIGHT-CH',
1365
+ 'MARGIN-HEIGHT-CHA',
1366
+ 'MARGIN-HEIGHT-CHAR',
1367
+ 'MARGIN-HEIGHT-CHARS',
1368
+ 'MARGIN-HEIGHT-P',
1369
+ 'MARGIN-HEIGHT-PI',
1370
+ 'MARGIN-HEIGHT-PIX',
1371
+ 'MARGIN-HEIGHT-PIXE',
1372
+ 'MARGIN-HEIGHT-PIXEL',
1373
+ 'MARGIN-HEIGHT-PIXELS',
1374
+ 'MARGIN-WIDTH',
1375
+ 'MARGIN-WIDTH-',
1376
+ 'MARGIN-WIDTH-C',
1377
+ 'MARGIN-WIDTH-CH',
1378
+ 'MARGIN-WIDTH-CHA',
1379
+ 'MARGIN-WIDTH-CHAR',
1380
+ 'MARGIN-WIDTH-CHARS',
1381
+ 'MARGIN-WIDTH-P',
1382
+ 'MARGIN-WIDTH-PI',
1383
+ 'MARGIN-WIDTH-PIX',
1384
+ 'MARGIN-WIDTH-PIXE',
1385
+ 'MARGIN-WIDTH-PIXEL',
1386
+ 'MARGIN-WIDTH-PIXELS',
1387
+ 'MARK-NEW',
1388
+ 'MARK-ROW-STATE',
1389
+ 'MATCHES',
1390
+ 'MAX',
1391
+ 'MAX-BUTTON',
1392
+ 'MAX-CHARS',
1393
+ 'MAX-DATA-GUESS',
1394
+ 'MAX-HEIGHT',
1395
+ 'MAX-HEIGHT-C',
1396
+ 'MAX-HEIGHT-CH',
1397
+ 'MAX-HEIGHT-CHA',
1398
+ 'MAX-HEIGHT-CHAR',
1399
+ 'MAX-HEIGHT-CHARS',
1400
+ 'MAX-HEIGHT-P',
1401
+ 'MAX-HEIGHT-PI',
1402
+ 'MAX-HEIGHT-PIX',
1403
+ 'MAX-HEIGHT-PIXE',
1404
+ 'MAX-HEIGHT-PIXEL',
1405
+ 'MAX-HEIGHT-PIXELS',
1406
+ 'MAX-ROWS',
1407
+ 'MAX-SIZE',
1408
+ 'MAX-VAL',
1409
+ 'MAX-VALU',
1410
+ 'MAX-VALUE',
1411
+ 'MAX-WIDTH',
1412
+ 'MAX-WIDTH-',
1413
+ 'MAX-WIDTH-C',
1414
+ 'MAX-WIDTH-CH',
1415
+ 'MAX-WIDTH-CHA',
1416
+ 'MAX-WIDTH-CHAR',
1417
+ 'MAX-WIDTH-CHARS',
1418
+ 'MAX-WIDTH-P',
1419
+ 'MAX-WIDTH-PI',
1420
+ 'MAX-WIDTH-PIX',
1421
+ 'MAX-WIDTH-PIXE',
1422
+ 'MAX-WIDTH-PIXEL',
1423
+ 'MAX-WIDTH-PIXELS',
1424
+ 'MAXI',
1425
+ 'MAXIM',
1426
+ 'MAXIMIZE',
1427
+ 'MAXIMU',
1428
+ 'MAXIMUM',
1429
+ 'MAXIMUM-LEVEL',
1430
+ 'MD5-DIGEST',
1431
+ 'MEMBER',
1432
+ 'MEMPTR-TO-NODE-VALUE',
1433
+ 'MENU',
1434
+ 'MENU-BAR',
1435
+ 'MENU-ITEM',
1436
+ 'MENU-K',
1437
+ 'MENU-KE',
1438
+ 'MENU-KEY',
1439
+ 'MENU-M',
1440
+ 'MENU-MO',
1441
+ 'MENU-MOU',
1442
+ 'MENU-MOUS',
1443
+ 'MENU-MOUSE',
1444
+ 'MENUBAR',
1445
+ 'MERGE-BY-FIELD',
1446
+ 'MESSAGE',
1447
+ 'MESSAGE-AREA',
1448
+ 'MESSAGE-AREA-FONT',
1449
+ 'MESSAGE-LINES',
1450
+ 'METHOD',
1451
+ 'MIN',
1452
+ 'MIN-BUTTON',
1453
+ 'MIN-COLUMN-WIDTH-C',
1454
+ 'MIN-COLUMN-WIDTH-CH',
1455
+ 'MIN-COLUMN-WIDTH-CHA',
1456
+ 'MIN-COLUMN-WIDTH-CHAR',
1457
+ 'MIN-COLUMN-WIDTH-CHARS',
1458
+ 'MIN-COLUMN-WIDTH-P',
1459
+ 'MIN-COLUMN-WIDTH-PI',
1460
+ 'MIN-COLUMN-WIDTH-PIX',
1461
+ 'MIN-COLUMN-WIDTH-PIXE',
1462
+ 'MIN-COLUMN-WIDTH-PIXEL',
1463
+ 'MIN-COLUMN-WIDTH-PIXELS',
1464
+ 'MIN-HEIGHT',
1465
+ 'MIN-HEIGHT-',
1466
+ 'MIN-HEIGHT-C',
1467
+ 'MIN-HEIGHT-CH',
1468
+ 'MIN-HEIGHT-CHA',
1469
+ 'MIN-HEIGHT-CHAR',
1470
+ 'MIN-HEIGHT-CHARS',
1471
+ 'MIN-HEIGHT-P',
1472
+ 'MIN-HEIGHT-PI',
1473
+ 'MIN-HEIGHT-PIX',
1474
+ 'MIN-HEIGHT-PIXE',
1475
+ 'MIN-HEIGHT-PIXEL',
1476
+ 'MIN-HEIGHT-PIXELS',
1477
+ 'MIN-SIZE',
1478
+ 'MIN-VAL',
1479
+ 'MIN-VALU',
1480
+ 'MIN-VALUE',
1481
+ 'MIN-WIDTH',
1482
+ 'MIN-WIDTH-',
1483
+ 'MIN-WIDTH-C',
1484
+ 'MIN-WIDTH-CH',
1485
+ 'MIN-WIDTH-CHA',
1486
+ 'MIN-WIDTH-CHAR',
1487
+ 'MIN-WIDTH-CHARS',
1488
+ 'MIN-WIDTH-P',
1489
+ 'MIN-WIDTH-PI',
1490
+ 'MIN-WIDTH-PIX',
1491
+ 'MIN-WIDTH-PIXE',
1492
+ 'MIN-WIDTH-PIXEL',
1493
+ 'MIN-WIDTH-PIXELS',
1494
+ 'MINI',
1495
+ 'MINIM',
1496
+ 'MINIMU',
1497
+ 'MINIMUM',
1498
+ 'MOD',
1499
+ 'MODIFIED',
1500
+ 'MODU',
1501
+ 'MODUL',
1502
+ 'MODULO',
1503
+ 'MONTH',
1504
+ 'MOUSE',
1505
+ 'MOUSE-P',
1506
+ 'MOUSE-PO',
1507
+ 'MOUSE-POI',
1508
+ 'MOUSE-POIN',
1509
+ 'MOUSE-POINT',
1510
+ 'MOUSE-POINTE',
1511
+ 'MOUSE-POINTER',
1512
+ 'MOVABLE',
1513
+ 'MOVE-AFTER',
1514
+ 'MOVE-AFTER-',
1515
+ 'MOVE-AFTER-T',
1516
+ 'MOVE-AFTER-TA',
1517
+ 'MOVE-AFTER-TAB',
1518
+ 'MOVE-AFTER-TAB-',
1519
+ 'MOVE-AFTER-TAB-I',
1520
+ 'MOVE-AFTER-TAB-IT',
1521
+ 'MOVE-AFTER-TAB-ITE',
1522
+ 'MOVE-AFTER-TAB-ITEM',
1523
+ 'MOVE-BEFOR',
1524
+ 'MOVE-BEFORE',
1525
+ 'MOVE-BEFORE-',
1526
+ 'MOVE-BEFORE-T',
1527
+ 'MOVE-BEFORE-TA',
1528
+ 'MOVE-BEFORE-TAB',
1529
+ 'MOVE-BEFORE-TAB-',
1530
+ 'MOVE-BEFORE-TAB-I',
1531
+ 'MOVE-BEFORE-TAB-IT',
1532
+ 'MOVE-BEFORE-TAB-ITE',
1533
+ 'MOVE-BEFORE-TAB-ITEM',
1534
+ 'MOVE-COL',
1535
+ 'MOVE-COLU',
1536
+ 'MOVE-COLUM',
1537
+ 'MOVE-COLUMN',
1538
+ 'MOVE-TO-B',
1539
+ 'MOVE-TO-BO',
1540
+ 'MOVE-TO-BOT',
1541
+ 'MOVE-TO-BOTT',
1542
+ 'MOVE-TO-BOTTO',
1543
+ 'MOVE-TO-BOTTOM',
1544
+ 'MOVE-TO-EOF',
1545
+ 'MOVE-TO-T',
1546
+ 'MOVE-TO-TO',
1547
+ 'MOVE-TO-TOP',
1548
+ 'MPE',
1549
+ 'MTIME',
1550
+ 'MULTI-COMPILE',
1551
+ 'MULTIPLE',
1552
+ 'MULTIPLE-KEY',
1553
+ 'MULTITASKING-INTERVAL',
1554
+ 'MUST-EXIST',
1555
+ 'NAME',
1556
+ 'NAMESPACE-PREFIX',
1557
+ 'NAMESPACE-URI',
1558
+ 'NATIVE',
1559
+ 'NE',
1560
+ 'NEEDS-APPSERVER-PROMPT',
1561
+ 'NEEDS-PROMPT',
1562
+ 'NEW',
1563
+ 'NEW-INSTANCE',
1564
+ 'NEW-ROW',
1565
+ 'NEXT',
1566
+ 'NEXT-COLUMN',
1567
+ 'NEXT-PROMPT',
1568
+ 'NEXT-ROWID',
1569
+ 'NEXT-SIBLING',
1570
+ 'NEXT-TAB-I',
1571
+ 'NEXT-TAB-IT',
1572
+ 'NEXT-TAB-ITE',
1573
+ 'NEXT-TAB-ITEM',
1574
+ 'NEXT-VALUE',
1575
+ 'NO',
1576
+ 'NO-APPLY',
1577
+ 'NO-ARRAY-MESSAGE',
1578
+ 'NO-ASSIGN',
1579
+ 'NO-ATTR',
1580
+ 'NO-ATTR-',
1581
+ 'NO-ATTR-L',
1582
+ 'NO-ATTR-LI',
1583
+ 'NO-ATTR-LIS',
1584
+ 'NO-ATTR-LIST',
1585
+ 'NO-ATTR-S',
1586
+ 'NO-ATTR-SP',
1587
+ 'NO-ATTR-SPA',
1588
+ 'NO-ATTR-SPAC',
1589
+ 'NO-ATTR-SPACE',
1590
+ 'NO-AUTO-VALIDATE',
1591
+ 'NO-BIND-WHERE',
1592
+ 'NO-BOX',
1593
+ 'NO-CONSOLE',
1594
+ 'NO-CONVERT',
1595
+ 'NO-CONVERT-3D-COLORS',
1596
+ 'NO-CURRENT-VALUE',
1597
+ 'NO-DEBUG',
1598
+ 'NO-DRAG',
1599
+ 'NO-ECHO',
1600
+ 'NO-EMPTY-SPACE',
1601
+ 'NO-ERROR',
1602
+ 'NO-F',
1603
+ 'NO-FI',
1604
+ 'NO-FIL',
1605
+ 'NO-FILL',
1606
+ 'NO-FOCUS',
1607
+ 'NO-HELP',
1608
+ 'NO-HIDE',
1609
+ 'NO-INDEX-HINT',
1610
+ 'NO-INHERIT-BGC',
1611
+ 'NO-INHERIT-BGCO',
1612
+ 'NO-INHERIT-BGCOLOR',
1613
+ 'NO-INHERIT-FGC',
1614
+ 'NO-INHERIT-FGCO',
1615
+ 'NO-INHERIT-FGCOL',
1616
+ 'NO-INHERIT-FGCOLO',
1617
+ 'NO-INHERIT-FGCOLOR',
1618
+ 'NO-JOIN-BY-SQLDB',
1619
+ 'NO-LABE',
1620
+ 'NO-LABELS',
1621
+ 'NO-LOBS',
1622
+ 'NO-LOCK',
1623
+ 'NO-LOOKAHEAD',
1624
+ 'NO-MAP',
1625
+ 'NO-MES',
1626
+ 'NO-MESS',
1627
+ 'NO-MESSA',
1628
+ 'NO-MESSAG',
1629
+ 'NO-MESSAGE',
1630
+ 'NO-PAUSE',
1631
+ 'NO-PREFE',
1632
+ 'NO-PREFET',
1633
+ 'NO-PREFETC',
1634
+ 'NO-PREFETCH',
1635
+ 'NO-ROW-MARKERS',
1636
+ 'NO-SCROLLBAR-VERTICAL',
1637
+ 'NO-SEPARATE-CONNECTION',
1638
+ 'NO-SEPARATORS',
1639
+ 'NO-TAB-STOP',
1640
+ 'NO-UND',
1641
+ 'NO-UNDE',
1642
+ 'NO-UNDER',
1643
+ 'NO-UNDERL',
1644
+ 'NO-UNDERLI',
1645
+ 'NO-UNDERLIN',
1646
+ 'NO-UNDERLINE',
1647
+ 'NO-UNDO',
1648
+ 'NO-VAL',
1649
+ 'NO-VALI',
1650
+ 'NO-VALID',
1651
+ 'NO-VALIDA',
1652
+ 'NO-VALIDAT',
1653
+ 'NO-VALIDATE',
1654
+ 'NO-WAIT',
1655
+ 'NO-WORD-WRAP',
1656
+ 'NODE-VALUE-TO-MEMPTR',
1657
+ 'NONAMESPACE-SCHEMA-LOCATION',
1658
+ 'NONE',
1659
+ 'NORMALIZE',
1660
+ 'NOT',
1661
+ 'NOT-ACTIVE',
1662
+ 'NOW',
1663
+ 'NULL',
1664
+ 'NUM-ALI',
1665
+ 'NUM-ALIA',
1666
+ 'NUM-ALIAS',
1667
+ 'NUM-ALIASE',
1668
+ 'NUM-ALIASES',
1669
+ 'NUM-BUFFERS',
1670
+ 'NUM-BUT',
1671
+ 'NUM-BUTT',
1672
+ 'NUM-BUTTO',
1673
+ 'NUM-BUTTON',
1674
+ 'NUM-BUTTONS',
1675
+ 'NUM-COL',
1676
+ 'NUM-COLU',
1677
+ 'NUM-COLUM',
1678
+ 'NUM-COLUMN',
1679
+ 'NUM-COLUMNS',
1680
+ 'NUM-COPIES',
1681
+ 'NUM-DBS',
1682
+ 'NUM-DROPPED-FILES',
1683
+ 'NUM-ENTRIES',
1684
+ 'NUM-FIELDS',
1685
+ 'NUM-FORMATS',
1686
+ 'NUM-ITEMS',
1687
+ 'NUM-ITERATIONS',
1688
+ 'NUM-LINES',
1689
+ 'NUM-LOCKED-COL',
1690
+ 'NUM-LOCKED-COLU',
1691
+ 'NUM-LOCKED-COLUM',
1692
+ 'NUM-LOCKED-COLUMN',
1693
+ 'NUM-LOCKED-COLUMNS',
1694
+ 'NUM-MESSAGES',
1695
+ 'NUM-PARAMETERS',
1696
+ 'NUM-REFERENCES',
1697
+ 'NUM-REPLACED',
1698
+ 'NUM-RESULTS',
1699
+ 'NUM-SELECTED',
1700
+ 'NUM-SELECTED-',
1701
+ 'NUM-SELECTED-ROWS',
1702
+ 'NUM-SELECTED-W',
1703
+ 'NUM-SELECTED-WI',
1704
+ 'NUM-SELECTED-WID',
1705
+ 'NUM-SELECTED-WIDG',
1706
+ 'NUM-SELECTED-WIDGE',
1707
+ 'NUM-SELECTED-WIDGET',
1708
+ 'NUM-SELECTED-WIDGETS',
1709
+ 'NUM-TABS',
1710
+ 'NUM-TO-RETAIN',
1711
+ 'NUM-VISIBLE-COLUMNS',
1712
+ 'NUMERIC',
1713
+ 'NUMERIC-F',
1714
+ 'NUMERIC-FO',
1715
+ 'NUMERIC-FOR',
1716
+ 'NUMERIC-FORM',
1717
+ 'NUMERIC-FORMA',
1718
+ 'NUMERIC-FORMAT',
1719
+ 'OCTET-LENGTH',
1720
+ 'OF',
1721
+ 'OFF',
1722
+ 'OK',
1723
+ 'OK-CANCEL',
1724
+ 'OLD',
1725
+ 'ON',
1726
+ 'ON-FRAME',
1727
+ 'ON-FRAME-',
1728
+ 'ON-FRAME-B',
1729
+ 'ON-FRAME-BO',
1730
+ 'ON-FRAME-BOR',
1731
+ 'ON-FRAME-BORD',
1732
+ 'ON-FRAME-BORDE',
1733
+ 'ON-FRAME-BORDER',
1734
+ 'OPEN',
1735
+ 'OPSYS',
1736
+ 'OPTION',
1737
+ 'OR',
1738
+ 'ORDERED-JOIN',
1739
+ 'ORDINAL',
1740
+ 'OS-APPEND',
1741
+ 'OS-COMMAND',
1742
+ 'OS-COPY',
1743
+ 'OS-CREATE-DIR',
1744
+ 'OS-DELETE',
1745
+ 'OS-DIR',
1746
+ 'OS-DRIVE',
1747
+ 'OS-DRIVES',
1748
+ 'OS-ERROR',
1749
+ 'OS-GETENV',
1750
+ 'OS-RENAME',
1751
+ 'OTHERWISE',
1752
+ 'OUTPUT',
1753
+ 'OVERLAY',
1754
+ 'OVERRIDE',
1755
+ 'OWNER',
1756
+ 'PAGE',
1757
+ 'PAGE-BOT',
1758
+ 'PAGE-BOTT',
1759
+ 'PAGE-BOTTO',
1760
+ 'PAGE-BOTTOM',
1761
+ 'PAGE-NUM',
1762
+ 'PAGE-NUMB',
1763
+ 'PAGE-NUMBE',
1764
+ 'PAGE-NUMBER',
1765
+ 'PAGE-SIZE',
1766
+ 'PAGE-TOP',
1767
+ 'PAGE-WID',
1768
+ 'PAGE-WIDT',
1769
+ 'PAGE-WIDTH',
1770
+ 'PAGED',
1771
+ 'PARAM',
1772
+ 'PARAME',
1773
+ 'PARAMET',
1774
+ 'PARAMETE',
1775
+ 'PARAMETER',
1776
+ 'PARENT',
1777
+ 'PARSE-STATUS',
1778
+ 'PARTIAL-KEY',
1779
+ 'PASCAL',
1780
+ 'PASSWORD-FIELD',
1781
+ 'PATHNAME',
1782
+ 'PAUSE',
1783
+ 'PBE-HASH-ALG',
1784
+ 'PBE-HASH-ALGO',
1785
+ 'PBE-HASH-ALGOR',
1786
+ 'PBE-HASH-ALGORI',
1787
+ 'PBE-HASH-ALGORIT',
1788
+ 'PBE-HASH-ALGORITH',
1789
+ 'PBE-HASH-ALGORITHM',
1790
+ 'PBE-KEY-ROUNDS',
1791
+ 'PDBNAME',
1792
+ 'PERSIST',
1793
+ 'PERSISTE',
1794
+ 'PERSISTEN',
1795
+ 'PERSISTENT',
1796
+ 'PERSISTENT-CACHE-DISABLED',
1797
+ 'PFC',
1798
+ 'PFCO',
1799
+ 'PFCOL',
1800
+ 'PFCOLO',
1801
+ 'PFCOLOR',
1802
+ 'PIXELS',
1803
+ 'PIXELS-PER-COL',
1804
+ 'PIXELS-PER-COLU',
1805
+ 'PIXELS-PER-COLUM',
1806
+ 'PIXELS-PER-COLUMN',
1807
+ 'PIXELS-PER-ROW',
1808
+ 'POPUP-M',
1809
+ 'POPUP-ME',
1810
+ 'POPUP-MEN',
1811
+ 'POPUP-MENU',
1812
+ 'POPUP-O',
1813
+ 'POPUP-ON',
1814
+ 'POPUP-ONL',
1815
+ 'POPUP-ONLY',
1816
+ 'PORTRAIT',
1817
+ 'POSITION',
1818
+ 'PRECISION',
1819
+ 'PREFER-DATASET',
1820
+ 'PREPARE-STRING',
1821
+ 'PREPARED',
1822
+ 'PREPROC',
1823
+ 'PREPROCE',
1824
+ 'PREPROCES',
1825
+ 'PREPROCESS',
1826
+ 'PRESEL',
1827
+ 'PRESELE',
1828
+ 'PRESELEC',
1829
+ 'PRESELECT',
1830
+ 'PREV',
1831
+ 'PREV-COLUMN',
1832
+ 'PREV-SIBLING',
1833
+ 'PREV-TAB-I',
1834
+ 'PREV-TAB-IT',
1835
+ 'PREV-TAB-ITE',
1836
+ 'PREV-TAB-ITEM',
1837
+ 'PRIMARY',
1838
+ 'PRINTER',
1839
+ 'PRINTER-CONTROL-HANDLE',
1840
+ 'PRINTER-HDC',
1841
+ 'PRINTER-NAME',
1842
+ 'PRINTER-PORT',
1843
+ 'PRINTER-SETUP',
1844
+ 'PRIVATE',
1845
+ 'PRIVATE-D',
1846
+ 'PRIVATE-DA',
1847
+ 'PRIVATE-DAT',
1848
+ 'PRIVATE-DATA',
1849
+ 'PRIVILEGES',
1850
+ 'PROC-HA',
1851
+ 'PROC-HAN',
1852
+ 'PROC-HAND',
1853
+ 'PROC-HANDL',
1854
+ 'PROC-HANDLE',
1855
+ 'PROC-ST',
1856
+ 'PROC-STA',
1857
+ 'PROC-STAT',
1858
+ 'PROC-STATU',
1859
+ 'PROC-STATUS',
1860
+ 'PROC-TEXT',
1861
+ 'PROC-TEXT-BUFFER',
1862
+ 'PROCE',
1863
+ 'PROCED',
1864
+ 'PROCEDU',
1865
+ 'PROCEDUR',
1866
+ 'PROCEDURE',
1867
+ 'PROCEDURE-CALL-TYPE',
1868
+ 'PROCEDURE-TYPE',
1869
+ 'PROCESS',
1870
+ 'PROFILER',
1871
+ 'PROGRAM-NAME',
1872
+ 'PROGRESS',
1873
+ 'PROGRESS-S',
1874
+ 'PROGRESS-SO',
1875
+ 'PROGRESS-SOU',
1876
+ 'PROGRESS-SOUR',
1877
+ 'PROGRESS-SOURC',
1878
+ 'PROGRESS-SOURCE',
1879
+ 'PROMPT',
1880
+ 'PROMPT-F',
1881
+ 'PROMPT-FO',
1882
+ 'PROMPT-FOR',
1883
+ 'PROMSGS',
1884
+ 'PROPATH',
1885
+ 'PROPERTY',
1886
+ 'PROTECTED',
1887
+ 'PROVERS',
1888
+ 'PROVERSI',
1889
+ 'PROVERSIO',
1890
+ 'PROVERSION',
1891
+ 'PROXY',
1892
+ 'PROXY-PASSWORD',
1893
+ 'PROXY-USERID',
1894
+ 'PUBLIC',
1895
+ 'PUBLIC-ID',
1896
+ 'PUBLISH',
1897
+ 'PUBLISHED-EVENTS',
1898
+ 'PUT',
1899
+ 'PUT-BYTE',
1900
+ 'PUT-DOUBLE',
1901
+ 'PUT-FLOAT',
1902
+ 'PUT-INT64',
1903
+ 'PUT-KEY-VAL',
1904
+ 'PUT-KEY-VALU',
1905
+ 'PUT-KEY-VALUE',
1906
+ 'PUT-LONG',
1907
+ 'PUT-SHORT',
1908
+ 'PUT-STRING',
1909
+ 'PUT-UNSIGNED-LONG',
1910
+ 'PUTBYTE',
1911
+ 'QUERY',
1912
+ 'QUERY-CLOSE',
1913
+ 'QUERY-OFF-END',
1914
+ 'QUERY-OPEN',
1915
+ 'QUERY-PREPARE',
1916
+ 'QUERY-TUNING',
1917
+ 'QUESTION',
1918
+ 'QUIT',
1919
+ 'QUOTER',
1920
+ 'R-INDEX',
1921
+ 'RADIO-BUTTONS',
1922
+ 'RADIO-SET',
1923
+ 'RANDOM',
1924
+ 'RAW',
1925
+ 'RAW-TRANSFER',
1926
+ 'RCODE-INFO',
1927
+ 'RCODE-INFOR',
1928
+ 'RCODE-INFORM',
1929
+ 'RCODE-INFORMA',
1930
+ 'RCODE-INFORMAT',
1931
+ 'RCODE-INFORMATI',
1932
+ 'RCODE-INFORMATIO',
1933
+ 'RCODE-INFORMATION',
1934
+ 'READ-AVAILABLE',
1935
+ 'READ-EXACT-NUM',
1936
+ 'READ-FILE',
1937
+ 'READ-JSON',
1938
+ 'READ-ONLY',
1939
+ 'READ-XML',
1940
+ 'READ-XMLSCHEMA',
1941
+ 'READKEY',
1942
+ 'REAL',
1943
+ 'RECID',
1944
+ 'RECORD-LENGTH',
1945
+ 'RECT',
1946
+ 'RECTA',
1947
+ 'RECTAN',
1948
+ 'RECTANG',
1949
+ 'RECTANGL',
1950
+ 'RECTANGLE',
1951
+ 'RECURSIVE',
1952
+ 'REFERENCE-ONLY',
1953
+ 'REFRESH',
1954
+ 'REFRESH-AUDIT-POLICY',
1955
+ 'REFRESHABLE',
1956
+ 'REGISTER-DOMAIN',
1957
+ 'RELEASE',
1958
+ 'REMOTE',
1959
+ 'REMOVE-EVENTS-PROCEDURE',
1960
+ 'REMOVE-SUPER-PROCEDURE',
1961
+ 'REPEAT',
1962
+ 'REPLACE',
1963
+ 'REPLACE-SELECTION-TEXT',
1964
+ 'REPOSITION',
1965
+ 'REPOSITION-BACKWARD',
1966
+ 'REPOSITION-FORWARD',
1967
+ 'REPOSITION-MODE',
1968
+ 'REPOSITION-TO-ROW',
1969
+ 'REPOSITION-TO-ROWID',
1970
+ 'REQUEST',
1971
+ 'REQUEST-INFO',
1972
+ 'RESET',
1973
+ 'RESIZA',
1974
+ 'RESIZAB',
1975
+ 'RESIZABL',
1976
+ 'RESIZABLE',
1977
+ 'RESIZE',
1978
+ 'RESPONSE-INFO',
1979
+ 'RESTART-ROW',
1980
+ 'RESTART-ROWID',
1981
+ 'RETAIN',
1982
+ 'RETAIN-SHAPE',
1983
+ 'RETRY',
1984
+ 'RETRY-CANCEL',
1985
+ 'RETURN',
1986
+ 'RETURN-ALIGN',
1987
+ 'RETURN-ALIGNE',
1988
+ 'RETURN-INS',
1989
+ 'RETURN-INSE',
1990
+ 'RETURN-INSER',
1991
+ 'RETURN-INSERT',
1992
+ 'RETURN-INSERTE',
1993
+ 'RETURN-INSERTED',
1994
+ 'RETURN-TO-START-DI',
1995
+ 'RETURN-TO-START-DIR',
1996
+ 'RETURN-VAL',
1997
+ 'RETURN-VALU',
1998
+ 'RETURN-VALUE',
1999
+ 'RETURN-VALUE-DATA-TYPE',
2000
+ 'RETURNS',
2001
+ 'REVERSE-FROM',
2002
+ 'REVERT',
2003
+ 'REVOKE',
2004
+ 'RGB-VALUE',
2005
+ 'RIGHT-ALIGNED',
2006
+ 'RIGHT-TRIM',
2007
+ 'ROLES',
2008
+ 'ROUND',
2009
+ 'ROUTINE-LEVEL',
2010
+ 'ROW',
2011
+ 'ROW-HEIGHT-CHARS',
2012
+ 'ROW-HEIGHT-PIXELS',
2013
+ 'ROW-MARKERS',
2014
+ 'ROW-OF',
2015
+ 'ROW-RESIZABLE',
2016
+ 'ROWID',
2017
+ 'RULE',
2018
+ 'RUN',
2019
+ 'RUN-PROCEDURE',
2020
+ 'SAVE CACHE',
2021
+ 'SAVE',
2022
+ 'SAVE-AS',
2023
+ 'SAVE-FILE',
2024
+ 'SAX-COMPLE',
2025
+ 'SAX-COMPLET',
2026
+ 'SAX-COMPLETE',
2027
+ 'SAX-PARSE',
2028
+ 'SAX-PARSE-FIRST',
2029
+ 'SAX-PARSE-NEXT',
2030
+ 'SAX-PARSER-ERROR',
2031
+ 'SAX-RUNNING',
2032
+ 'SAX-UNINITIALIZED',
2033
+ 'SAX-WRITE-BEGIN',
2034
+ 'SAX-WRITE-COMPLETE',
2035
+ 'SAX-WRITE-CONTENT',
2036
+ 'SAX-WRITE-ELEMENT',
2037
+ 'SAX-WRITE-ERROR',
2038
+ 'SAX-WRITE-IDLE',
2039
+ 'SAX-WRITE-TAG',
2040
+ 'SAX-WRITER',
2041
+ 'SCHEMA',
2042
+ 'SCHEMA-LOCATION',
2043
+ 'SCHEMA-MARSHAL',
2044
+ 'SCHEMA-PATH',
2045
+ 'SCREEN',
2046
+ 'SCREEN-IO',
2047
+ 'SCREEN-LINES',
2048
+ 'SCREEN-VAL',
2049
+ 'SCREEN-VALU',
2050
+ 'SCREEN-VALUE',
2051
+ 'SCROLL',
2052
+ 'SCROLL-BARS',
2053
+ 'SCROLL-DELTA',
2054
+ 'SCROLL-OFFSET',
2055
+ 'SCROLL-TO-CURRENT-ROW',
2056
+ 'SCROLL-TO-I',
2057
+ 'SCROLL-TO-IT',
2058
+ 'SCROLL-TO-ITE',
2059
+ 'SCROLL-TO-ITEM',
2060
+ 'SCROLL-TO-SELECTED-ROW',
2061
+ 'SCROLLABLE',
2062
+ 'SCROLLBAR-H',
2063
+ 'SCROLLBAR-HO',
2064
+ 'SCROLLBAR-HOR',
2065
+ 'SCROLLBAR-HORI',
2066
+ 'SCROLLBAR-HORIZ',
2067
+ 'SCROLLBAR-HORIZO',
2068
+ 'SCROLLBAR-HORIZON',
2069
+ 'SCROLLBAR-HORIZONT',
2070
+ 'SCROLLBAR-HORIZONTA',
2071
+ 'SCROLLBAR-HORIZONTAL',
2072
+ 'SCROLLBAR-V',
2073
+ 'SCROLLBAR-VE',
2074
+ 'SCROLLBAR-VER',
2075
+ 'SCROLLBAR-VERT',
2076
+ 'SCROLLBAR-VERTI',
2077
+ 'SCROLLBAR-VERTIC',
2078
+ 'SCROLLBAR-VERTICA',
2079
+ 'SCROLLBAR-VERTICAL',
2080
+ 'SCROLLED-ROW-POS',
2081
+ 'SCROLLED-ROW-POSI',
2082
+ 'SCROLLED-ROW-POSIT',
2083
+ 'SCROLLED-ROW-POSITI',
2084
+ 'SCROLLED-ROW-POSITIO',
2085
+ 'SCROLLED-ROW-POSITION',
2086
+ 'SCROLLING',
2087
+ 'SDBNAME',
2088
+ 'SEAL',
2089
+ 'SEAL-TIMESTAMP',
2090
+ 'SEARCH',
2091
+ 'SEARCH-SELF',
2092
+ 'SEARCH-TARGET',
2093
+ 'SECTION',
2094
+ 'SECURITY-POLICY',
2095
+ 'SEEK',
2096
+ 'SELECT',
2097
+ 'SELECT-ALL',
2098
+ 'SELECT-FOCUSED-ROW',
2099
+ 'SELECT-NEXT-ROW',
2100
+ 'SELECT-PREV-ROW',
2101
+ 'SELECT-ROW',
2102
+ 'SELECTABLE',
2103
+ 'SELECTED',
2104
+ 'SELECTION',
2105
+ 'SELECTION-END',
2106
+ 'SELECTION-LIST',
2107
+ 'SELECTION-START',
2108
+ 'SELECTION-TEXT',
2109
+ 'SELF',
2110
+ 'SEND',
2111
+ 'SEND-SQL-STATEMENT',
2112
+ 'SENSITIVE',
2113
+ 'SEPARATE-CONNECTION',
2114
+ 'SEPARATOR-FGCOLOR',
2115
+ 'SEPARATORS',
2116
+ 'SERIALIZABLE',
2117
+ 'SERIALIZE-HIDDEN',
2118
+ 'SERIALIZE-NAME',
2119
+ 'SERVER',
2120
+ 'SERVER-CONNECTION-BOUND',
2121
+ 'SERVER-CONNECTION-BOUND-REQUEST',
2122
+ 'SERVER-CONNECTION-CONTEXT',
2123
+ 'SERVER-CONNECTION-ID',
2124
+ 'SERVER-OPERATING-MODE',
2125
+ 'SESSION',
2126
+ 'SESSION-ID',
2127
+ 'SET',
2128
+ 'SET-APPL-CONTEXT',
2129
+ 'SET-ATTR-CALL-TYPE',
2130
+ 'SET-ATTRIBUTE-NODE',
2131
+ 'SET-BLUE',
2132
+ 'SET-BLUE-',
2133
+ 'SET-BLUE-V',
2134
+ 'SET-BLUE-VA',
2135
+ 'SET-BLUE-VAL',
2136
+ 'SET-BLUE-VALU',
2137
+ 'SET-BLUE-VALUE',
2138
+ 'SET-BREAK',
2139
+ 'SET-BUFFERS',
2140
+ 'SET-CALLBACK',
2141
+ 'SET-CLIENT',
2142
+ 'SET-COMMIT',
2143
+ 'SET-CONTENTS',
2144
+ 'SET-CURRENT-VALUE',
2145
+ 'SET-DB-CLIENT',
2146
+ 'SET-DYNAMIC',
2147
+ 'SET-EVENT-MANAGER-OPTION',
2148
+ 'SET-GREEN',
2149
+ 'SET-GREEN-',
2150
+ 'SET-GREEN-V',
2151
+ 'SET-GREEN-VA',
2152
+ 'SET-GREEN-VAL',
2153
+ 'SET-GREEN-VALU',
2154
+ 'SET-GREEN-VALUE',
2155
+ 'SET-INPUT-SOURCE',
2156
+ 'SET-OPTION',
2157
+ 'SET-OUTPUT-DESTINATION',
2158
+ 'SET-PARAMETER',
2159
+ 'SET-POINTER-VALUE',
2160
+ 'SET-PROPERTY',
2161
+ 'SET-RED',
2162
+ 'SET-RED-',
2163
+ 'SET-RED-V',
2164
+ 'SET-RED-VA',
2165
+ 'SET-RED-VAL',
2166
+ 'SET-RED-VALU',
2167
+ 'SET-RED-VALUE',
2168
+ 'SET-REPOSITIONED-ROW',
2169
+ 'SET-RGB-VALUE',
2170
+ 'SET-ROLLBACK',
2171
+ 'SET-SELECTION',
2172
+ 'SET-SIZE',
2173
+ 'SET-SORT-ARROW',
2174
+ 'SET-WAIT-STATE',
2175
+ 'SETUSER',
2176
+ 'SETUSERI',
2177
+ 'SETUSERID',
2178
+ 'SHA1-DIGEST',
2179
+ 'SHARE',
2180
+ 'SHARE-',
2181
+ 'SHARE-L',
2182
+ 'SHARE-LO',
2183
+ 'SHARE-LOC',
2184
+ 'SHARE-LOCK',
2185
+ 'SHARED',
2186
+ 'SHOW-IN-TASKBAR',
2187
+ 'SHOW-STAT',
2188
+ 'SHOW-STATS',
2189
+ 'SIDE-LAB',
2190
+ 'SIDE-LABE',
2191
+ 'SIDE-LABEL',
2192
+ 'SIDE-LABEL-H',
2193
+ 'SIDE-LABEL-HA',
2194
+ 'SIDE-LABEL-HAN',
2195
+ 'SIDE-LABEL-HAND',
2196
+ 'SIDE-LABEL-HANDL',
2197
+ 'SIDE-LABEL-HANDLE',
2198
+ 'SIDE-LABELS',
2199
+ 'SIGNATURE',
2200
+ 'SILENT',
2201
+ 'SIMPLE',
2202
+ 'SINGLE',
2203
+ 'SINGLE-RUN',
2204
+ 'SINGLETON',
2205
+ 'SIZE',
2206
+ 'SIZE-C',
2207
+ 'SIZE-CH',
2208
+ 'SIZE-CHA',
2209
+ 'SIZE-CHAR',
2210
+ 'SIZE-CHARS',
2211
+ 'SIZE-P',
2212
+ 'SIZE-PI',
2213
+ 'SIZE-PIX',
2214
+ 'SIZE-PIXE',
2215
+ 'SIZE-PIXEL',
2216
+ 'SIZE-PIXELS',
2217
+ 'SKIP',
2218
+ 'SKIP-DELETED-RECORD',
2219
+ 'SLIDER',
2220
+ 'SMALL-ICON',
2221
+ 'SMALL-TITLE',
2222
+ 'SMALLINT',
2223
+ 'SOME',
2224
+ 'SORT',
2225
+ 'SORT-ASCENDING',
2226
+ 'SORT-NUMBER',
2227
+ 'SOURCE',
2228
+ 'SOURCE-PROCEDURE',
2229
+ 'SPACE',
2230
+ 'SQL',
2231
+ 'SQRT',
2232
+ 'SSL-SERVER-NAME',
2233
+ 'STANDALONE',
2234
+ 'START',
2235
+ 'START-DOCUMENT',
2236
+ 'START-ELEMENT',
2237
+ 'START-MOVE',
2238
+ 'START-RESIZE',
2239
+ 'START-ROW-RESIZE',
2240
+ 'STATE-DETAIL',
2241
+ 'STATIC',
2242
+ 'STATUS',
2243
+ 'STATUS-AREA',
2244
+ 'STATUS-AREA-FONT',
2245
+ 'STDCALL',
2246
+ 'STOP',
2247
+ 'STOP-AFTER',
2248
+ 'STOP-PARSING',
2249
+ 'STOPPE',
2250
+ 'STOPPED',
2251
+ 'STORED-PROC',
2252
+ 'STORED-PROCE',
2253
+ 'STORED-PROCED',
2254
+ 'STORED-PROCEDU',
2255
+ 'STORED-PROCEDUR',
2256
+ 'STORED-PROCEDURE',
2257
+ 'STREAM',
2258
+ 'STREAM-HANDLE',
2259
+ 'STREAM-IO',
2260
+ 'STRETCH-TO-FIT',
2261
+ 'STRICT',
2262
+ 'STRICT-ENTITY-RESOLUTION',
2263
+ 'STRING',
2264
+ 'STRING-VALUE',
2265
+ 'STRING-XREF',
2266
+ 'SUB-AVE',
2267
+ 'SUB-AVER',
2268
+ 'SUB-AVERA',
2269
+ 'SUB-AVERAG',
2270
+ 'SUB-AVERAGE',
2271
+ 'SUB-COUNT',
2272
+ 'SUB-MAXIMUM',
2273
+ 'SUB-MENU',
2274
+ 'SUB-MIN',
2275
+ 'SUB-MINIMUM',
2276
+ 'SUB-TOTAL',
2277
+ 'SUBSCRIBE',
2278
+ 'SUBST',
2279
+ 'SUBSTI',
2280
+ 'SUBSTIT',
2281
+ 'SUBSTITU',
2282
+ 'SUBSTITUT',
2283
+ 'SUBSTITUTE',
2284
+ 'SUBSTR',
2285
+ 'SUBSTRI',
2286
+ 'SUBSTRIN',
2287
+ 'SUBSTRING',
2288
+ 'SUBTYPE',
2289
+ 'SUM',
2290
+ 'SUM-MAX',
2291
+ 'SUM-MAXI',
2292
+ 'SUM-MAXIM',
2293
+ 'SUM-MAXIMU',
2294
+ 'SUPER',
2295
+ 'SUPER-PROCEDURES',
2296
+ 'SUPPRESS-NAMESPACE-PROCESSING',
2297
+ 'SUPPRESS-W',
2298
+ 'SUPPRESS-WA',
2299
+ 'SUPPRESS-WAR',
2300
+ 'SUPPRESS-WARN',
2301
+ 'SUPPRESS-WARNI',
2302
+ 'SUPPRESS-WARNIN',
2303
+ 'SUPPRESS-WARNING',
2304
+ 'SUPPRESS-WARNINGS',
2305
+ 'SYMMETRIC-ENCRYPTION-ALGORITHM',
2306
+ 'SYMMETRIC-ENCRYPTION-IV',
2307
+ 'SYMMETRIC-ENCRYPTION-KEY',
2308
+ 'SYMMETRIC-SUPPORT',
2309
+ 'SYSTEM-ALERT',
2310
+ 'SYSTEM-ALERT-',
2311
+ 'SYSTEM-ALERT-B',
2312
+ 'SYSTEM-ALERT-BO',
2313
+ 'SYSTEM-ALERT-BOX',
2314
+ 'SYSTEM-ALERT-BOXE',
2315
+ 'SYSTEM-ALERT-BOXES',
2316
+ 'SYSTEM-DIALOG',
2317
+ 'SYSTEM-HELP',
2318
+ 'SYSTEM-ID',
2319
+ 'TAB-POSITION',
2320
+ 'TAB-STOP',
2321
+ 'TABLE',
2322
+ 'TABLE-HANDLE',
2323
+ 'TABLE-NUMBER',
2324
+ 'TABLE-SCAN',
2325
+ 'TARGET',
2326
+ 'TARGET-PROCEDURE',
2327
+ 'TEMP-DIR',
2328
+ 'TEMP-DIRE',
2329
+ 'TEMP-DIREC',
2330
+ 'TEMP-DIRECT',
2331
+ 'TEMP-DIRECTO',
2332
+ 'TEMP-DIRECTOR',
2333
+ 'TEMP-DIRECTORY',
2334
+ 'TEMP-TABLE',
2335
+ 'TEMP-TABLE-PREPARE',
2336
+ 'TERM',
2337
+ 'TERMI',
2338
+ 'TERMIN',
2339
+ 'TERMINA',
2340
+ 'TERMINAL',
2341
+ 'TERMINATE',
2342
+ 'TEXT',
2343
+ 'TEXT-CURSOR',
2344
+ 'TEXT-SEG-GROW',
2345
+ 'TEXT-SELECTED',
2346
+ 'THEN',
2347
+ 'THIS-OBJECT',
2348
+ 'THIS-PROCEDURE',
2349
+ 'THREAD-SAFE',
2350
+ 'THREE-D',
2351
+ 'THROUGH',
2352
+ 'THROW',
2353
+ 'THRU',
2354
+ 'TIC-MARKS',
2355
+ 'TIME',
2356
+ 'TIME-SOURCE',
2357
+ 'TITLE',
2358
+ 'TITLE-BGC',
2359
+ 'TITLE-BGCO',
2360
+ 'TITLE-BGCOL',
2361
+ 'TITLE-BGCOLO',
2362
+ 'TITLE-BGCOLOR',
2363
+ 'TITLE-DC',
2364
+ 'TITLE-DCO',
2365
+ 'TITLE-DCOL',
2366
+ 'TITLE-DCOLO',
2367
+ 'TITLE-DCOLOR',
2368
+ 'TITLE-FGC',
2369
+ 'TITLE-FGCO',
2370
+ 'TITLE-FGCOL',
2371
+ 'TITLE-FGCOLO',
2372
+ 'TITLE-FGCOLOR',
2373
+ 'TITLE-FO',
2374
+ 'TITLE-FON',
2375
+ 'TITLE-FONT',
2376
+ 'TO',
2377
+ 'TO-ROWID',
2378
+ 'TODAY',
2379
+ 'TOGGLE-BOX',
2380
+ 'TOOLTIP',
2381
+ 'TOOLTIPS',
2382
+ 'TOP-NAV-QUERY',
2383
+ 'TOP-ONLY',
2384
+ 'TOPIC',
2385
+ 'TOTAL',
2386
+ 'TRAILING',
2387
+ 'TRANS',
2388
+ 'TRANS-INIT-PROCEDURE',
2389
+ 'TRANSACTION',
2390
+ 'TRANSACTION-MODE',
2391
+ 'TRANSPARENT',
2392
+ 'TRIGGER',
2393
+ 'TRIGGERS',
2394
+ 'TRIM',
2395
+ 'TRUE',
2396
+ 'TRUNC',
2397
+ 'TRUNCA',
2398
+ 'TRUNCAT',
2399
+ 'TRUNCATE',
2400
+ 'TYPE',
2401
+ 'TYPE-OF',
2402
+ 'UNBOX',
2403
+ 'UNBUFF',
2404
+ 'UNBUFFE',
2405
+ 'UNBUFFER',
2406
+ 'UNBUFFERE',
2407
+ 'UNBUFFERED',
2408
+ 'UNDERL',
2409
+ 'UNDERLI',
2410
+ 'UNDERLIN',
2411
+ 'UNDERLINE',
2412
+ 'UNDO',
2413
+ 'UNFORM',
2414
+ 'UNFORMA',
2415
+ 'UNFORMAT',
2416
+ 'UNFORMATT',
2417
+ 'UNFORMATTE',
2418
+ 'UNFORMATTED',
2419
+ 'UNION',
2420
+ 'UNIQUE',
2421
+ 'UNIQUE-ID',
2422
+ 'UNIQUE-MATCH',
2423
+ 'UNIX',
2424
+ 'UNLESS-HIDDEN',
2425
+ 'UNLOAD',
2426
+ 'UNSIGNED-LONG',
2427
+ 'UNSUBSCRIBE',
2428
+ 'UP',
2429
+ 'UPDATE',
2430
+ 'UPDATE-ATTRIBUTE',
2431
+ 'URL',
2432
+ 'URL-DECODE',
2433
+ 'URL-ENCODE',
2434
+ 'URL-PASSWORD',
2435
+ 'URL-USERID',
2436
+ 'USE',
2437
+ 'USE-DICT-EXPS',
2438
+ 'USE-FILENAME',
2439
+ 'USE-INDEX',
2440
+ 'USE-REVVIDEO',
2441
+ 'USE-TEXT',
2442
+ 'USE-UNDERLINE',
2443
+ 'USE-WIDGET-POOL',
2444
+ 'USER',
2445
+ 'USER-ID',
2446
+ 'USERID',
2447
+ 'USING',
2448
+ 'V6DISPLAY',
2449
+ 'V6FRAME',
2450
+ 'VALID-EVENT',
2451
+ 'VALID-HANDLE',
2452
+ 'VALID-OBJECT',
2453
+ 'VALIDATE',
2454
+ 'VALIDATE-EXPRESSION',
2455
+ 'VALIDATE-MESSAGE',
2456
+ 'VALIDATE-SEAL',
2457
+ 'VALIDATION-ENABLED',
2458
+ 'VALUE',
2459
+ 'VALUE-CHANGED',
2460
+ 'VALUES',
2461
+ 'VAR',
2462
+ 'VARI',
2463
+ 'VARIA',
2464
+ 'VARIAB',
2465
+ 'VARIABL',
2466
+ 'VARIABLE',
2467
+ 'VERBOSE',
2468
+ 'VERSION',
2469
+ 'VERT',
2470
+ 'VERTI',
2471
+ 'VERTIC',
2472
+ 'VERTICA',
2473
+ 'VERTICAL',
2474
+ 'VIEW',
2475
+ 'VIEW-AS',
2476
+ 'VIEW-FIRST-COLUMN-ON-REOPEN',
2477
+ 'VIRTUAL-HEIGHT',
2478
+ 'VIRTUAL-HEIGHT-',
2479
+ 'VIRTUAL-HEIGHT-C',
2480
+ 'VIRTUAL-HEIGHT-CH',
2481
+ 'VIRTUAL-HEIGHT-CHA',
2482
+ 'VIRTUAL-HEIGHT-CHAR',
2483
+ 'VIRTUAL-HEIGHT-CHARS',
2484
+ 'VIRTUAL-HEIGHT-P',
2485
+ 'VIRTUAL-HEIGHT-PI',
2486
+ 'VIRTUAL-HEIGHT-PIX',
2487
+ 'VIRTUAL-HEIGHT-PIXE',
2488
+ 'VIRTUAL-HEIGHT-PIXEL',
2489
+ 'VIRTUAL-HEIGHT-PIXELS',
2490
+ 'VIRTUAL-WIDTH',
2491
+ 'VIRTUAL-WIDTH-',
2492
+ 'VIRTUAL-WIDTH-C',
2493
+ 'VIRTUAL-WIDTH-CH',
2494
+ 'VIRTUAL-WIDTH-CHA',
2495
+ 'VIRTUAL-WIDTH-CHAR',
2496
+ 'VIRTUAL-WIDTH-CHARS',
2497
+ 'VIRTUAL-WIDTH-P',
2498
+ 'VIRTUAL-WIDTH-PI',
2499
+ 'VIRTUAL-WIDTH-PIX',
2500
+ 'VIRTUAL-WIDTH-PIXE',
2501
+ 'VIRTUAL-WIDTH-PIXEL',
2502
+ 'VIRTUAL-WIDTH-PIXELS',
2503
+ 'VISIBLE',
2504
+ 'VOID',
2505
+ 'WAIT',
2506
+ 'WAIT-FOR',
2507
+ 'WARNING',
2508
+ 'WEB-CONTEXT',
2509
+ 'WEEKDAY',
2510
+ 'WHEN',
2511
+ 'WHERE',
2512
+ 'WHILE',
2513
+ 'WIDGET',
2514
+ 'WIDGET-E',
2515
+ 'WIDGET-EN',
2516
+ 'WIDGET-ENT',
2517
+ 'WIDGET-ENTE',
2518
+ 'WIDGET-ENTER',
2519
+ 'WIDGET-ID',
2520
+ 'WIDGET-L',
2521
+ 'WIDGET-LE',
2522
+ 'WIDGET-LEA',
2523
+ 'WIDGET-LEAV',
2524
+ 'WIDGET-LEAVE',
2525
+ 'WIDGET-POOL',
2526
+ 'WIDTH',
2527
+ 'WIDTH-',
2528
+ 'WIDTH-C',
2529
+ 'WIDTH-CH',
2530
+ 'WIDTH-CHA',
2531
+ 'WIDTH-CHAR',
2532
+ 'WIDTH-CHARS',
2533
+ 'WIDTH-P',
2534
+ 'WIDTH-PI',
2535
+ 'WIDTH-PIX',
2536
+ 'WIDTH-PIXE',
2537
+ 'WIDTH-PIXEL',
2538
+ 'WIDTH-PIXELS',
2539
+ 'WINDOW',
2540
+ 'WINDOW-MAXIM',
2541
+ 'WINDOW-MAXIMI',
2542
+ 'WINDOW-MAXIMIZ',
2543
+ 'WINDOW-MAXIMIZE',
2544
+ 'WINDOW-MAXIMIZED',
2545
+ 'WINDOW-MINIM',
2546
+ 'WINDOW-MINIMI',
2547
+ 'WINDOW-MINIMIZ',
2548
+ 'WINDOW-MINIMIZE',
2549
+ 'WINDOW-MINIMIZED',
2550
+ 'WINDOW-NAME',
2551
+ 'WINDOW-NORMAL',
2552
+ 'WINDOW-STA',
2553
+ 'WINDOW-STAT',
2554
+ 'WINDOW-STATE',
2555
+ 'WINDOW-SYSTEM',
2556
+ 'WITH',
2557
+ 'WORD-INDEX',
2558
+ 'WORD-WRAP',
2559
+ 'WORK-AREA-HEIGHT-PIXELS',
2560
+ 'WORK-AREA-WIDTH-PIXELS',
2561
+ 'WORK-AREA-X',
2562
+ 'WORK-AREA-Y',
2563
+ 'WORK-TAB',
2564
+ 'WORK-TABL',
2565
+ 'WORK-TABLE',
2566
+ 'WORKFILE',
2567
+ 'WRITE',
2568
+ 'WRITE-CDATA',
2569
+ 'WRITE-CHARACTERS',
2570
+ 'WRITE-COMMENT',
2571
+ 'WRITE-DATA-ELEMENT',
2572
+ 'WRITE-EMPTY-ELEMENT',
2573
+ 'WRITE-ENTITY-REF',
2574
+ 'WRITE-EXTERNAL-DTD',
2575
+ 'WRITE-FRAGMENT',
2576
+ 'WRITE-JSON',
2577
+ 'WRITE-MESSAGE',
2578
+ 'WRITE-PROCESSING-INSTRUCTION',
2579
+ 'WRITE-STATUS',
2580
+ 'WRITE-XML',
2581
+ 'WRITE-XMLSCHEMA',
2582
+ 'X',
2583
+ 'X-OF',
2584
+ 'XCODE',
2585
+ 'XML-DATA-TYPE',
2586
+ 'XML-ENTITY-EXPANSION-LIMIT',
2587
+ 'XML-NODE-TYPE',
2588
+ 'XML-SCHEMA-PATH',
2589
+ 'XML-STRICT-ENTITY-RESOLUTION',
2590
+ 'XML-SUPPRESS-NAMESPACE-PROCESSING',
2591
+ 'XREF',
2592
+ 'XREF-XML',
2593
+ 'Y',
2594
+ 'Y-OF',
2595
+ 'YEAR',
2596
+ 'YEAR-OFFSET',
2597
+ 'YES',
2598
+ 'YES-NO',
2599
+ 'YES-NO-CANCEL'
2600
+ )
temp_venv/lib/python3.13/site-packages/pygments/lexers/_qlik_builtins.py ADDED
@@ -0,0 +1,666 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._qlik_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Qlik builtins.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ # operators
12
+ # see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/Operators/operators.htm
13
+ OPERATORS_LIST = {
14
+ "words": [
15
+ # Bit operators
16
+ "bitnot",
17
+ "bitand",
18
+ "bitor",
19
+ "bitxor",
20
+ # Logical operators
21
+ "and",
22
+ "or",
23
+ "not",
24
+ "xor",
25
+ # Relational operators
26
+ "precedes",
27
+ "follows",
28
+ # String operators
29
+ "like",
30
+ ],
31
+ "symbols": [
32
+ # Bit operators
33
+ ">>",
34
+ "<<",
35
+ # Logical operators
36
+ # Numeric operators
37
+ "+",
38
+ "-",
39
+ "/",
40
+ "*",
41
+ # Relational operators
42
+ "<",
43
+ "<=",
44
+ ">",
45
+ ">=",
46
+ "=",
47
+ "<>",
48
+ # String operators
49
+ "&",
50
+ ],
51
+ }
52
+
53
+ # SCRIPT STATEMENTS
54
+ # see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/
55
+ STATEMENT_LIST = [
56
+ # control statements
57
+ "for",
58
+ "each",
59
+ "in",
60
+ "next",
61
+ "do",
62
+ "while",
63
+ "until",
64
+ "unless",
65
+ "loop",
66
+ "return",
67
+ "switch",
68
+ "case",
69
+ "default",
70
+ "if",
71
+ "else",
72
+ "endif",
73
+ "then",
74
+ "end",
75
+ "exit",
76
+ "script",
77
+ "switch",
78
+ # prefixes
79
+ "Add",
80
+ "Buffer",
81
+ "Concatenate",
82
+ "Crosstable",
83
+ "First",
84
+ "Generic",
85
+ "Hierarchy",
86
+ "HierarchyBelongsTo",
87
+ "Inner",
88
+ "IntervalMatch",
89
+ "Join",
90
+ "Keep",
91
+ "Left",
92
+ "Mapping",
93
+ "Merge",
94
+ "NoConcatenate",
95
+ "Outer",
96
+ "Partial reload",
97
+ "Replace",
98
+ "Right",
99
+ "Sample",
100
+ "Semantic",
101
+ "Unless",
102
+ "When",
103
+ # regular statements
104
+ "Alias", # alias ... as ...
105
+ "as",
106
+ "AutoNumber",
107
+ "Binary",
108
+ "Comment field", # comment fields ... using ...
109
+ "Comment fields", # comment field ... with ...
110
+ "using",
111
+ "with",
112
+ "Comment table", # comment table ... with ...
113
+ "Comment tables", # comment tables ... using ...
114
+ "Connect",
115
+ "ODBC", # ODBC CONNECT TO ...
116
+ "OLEBD", # OLEDB CONNECT TO ...
117
+ "CUSTOM", # CUSTOM CONNECT TO ...
118
+ "LIB", # LIB CONNECT TO ...
119
+ "Declare",
120
+ "Derive",
121
+ "From",
122
+ "explicit",
123
+ "implicit",
124
+ "Direct Query",
125
+ "dimension",
126
+ "measure",
127
+ "Directory",
128
+ "Disconnect",
129
+ "Drop field",
130
+ "Drop fields",
131
+ "Drop table",
132
+ "Drop tables",
133
+ "Execute",
134
+ "FlushLog",
135
+ "Force",
136
+ "capitalization",
137
+ "case upper",
138
+ "case lower",
139
+ "case mixed",
140
+ "Load",
141
+ "distinct",
142
+ "from",
143
+ "inline",
144
+ "resident",
145
+ "from_field",
146
+ "autogenerate",
147
+ "extension",
148
+ "where",
149
+ "group by",
150
+ "order by",
151
+ "asc",
152
+ "desc",
153
+ "Let",
154
+ "Loosen Table",
155
+ "Map",
156
+ "NullAsNull",
157
+ "NullAsValue",
158
+ "Qualify",
159
+ "Rem",
160
+ "Rename field",
161
+ "Rename fields",
162
+ "Rename table",
163
+ "Rename tables",
164
+ "Search",
165
+ "include",
166
+ "exclude",
167
+ "Section",
168
+ "access",
169
+ "application",
170
+ "Select",
171
+ "Set",
172
+ "Sleep",
173
+ "SQL",
174
+ "SQLColumns",
175
+ "SQLTables",
176
+ "SQLTypes",
177
+ "Star",
178
+ "Store",
179
+ "Tag",
180
+ "Trace",
181
+ "Unmap",
182
+ "Unqualify",
183
+ "Untag",
184
+ # Qualifiers
185
+ "total",
186
+ ]
187
+
188
+ # Script functions
189
+ # see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/functions-in-scripts-chart-expressions.htm
190
+ SCRIPT_FUNCTIONS = [
191
+ # Basic aggregation functions in the data load script
192
+ "FirstSortedValue",
193
+ "Max",
194
+ "Min",
195
+ "Mode",
196
+ "Only",
197
+ "Sum",
198
+ # Counter aggregation functions in the data load script
199
+ "Count",
200
+ "MissingCount",
201
+ "NullCount",
202
+ "NumericCount",
203
+ "TextCount",
204
+ # Financial aggregation functions in the data load script
205
+ "IRR",
206
+ "XIRR",
207
+ "NPV",
208
+ "XNPV",
209
+ # Statistical aggregation functions in the data load script
210
+ "Avg",
211
+ "Correl",
212
+ "Fractile",
213
+ "FractileExc",
214
+ "Kurtosis",
215
+ "LINEST_B" "LINEST_df",
216
+ "LINEST_f",
217
+ "LINEST_m",
218
+ "LINEST_r2",
219
+ "LINEST_seb",
220
+ "LINEST_sem",
221
+ "LINEST_sey",
222
+ "LINEST_ssreg",
223
+ "Linest_ssresid",
224
+ "Median",
225
+ "Skew",
226
+ "Stdev",
227
+ "Sterr",
228
+ "STEYX",
229
+ # Statistical test functions
230
+ "Chi2Test_chi2",
231
+ "Chi2Test_df",
232
+ "Chi2Test_p",
233
+ # Two independent samples t-tests
234
+ "ttest_conf",
235
+ "ttest_df",
236
+ "ttest_dif",
237
+ "ttest_lower",
238
+ "ttest_sig",
239
+ "ttest_sterr",
240
+ "ttest_t",
241
+ "ttest_upper",
242
+ # Two independent weighted samples t-tests
243
+ "ttestw_conf",
244
+ "ttestw_df",
245
+ "ttestw_dif",
246
+ "ttestw_lower",
247
+ "ttestw_sig",
248
+ "ttestw_sterr",
249
+ "ttestw_t",
250
+ "ttestw_upper",
251
+ # One sample t-tests
252
+ "ttest1_conf",
253
+ "ttest1_df",
254
+ "ttest1_dif",
255
+ "ttest1_lower",
256
+ "ttest1_sig",
257
+ "ttest1_sterr",
258
+ "ttest1_t",
259
+ "ttest1_upper",
260
+ # One weighted sample t-tests
261
+ "ttest1w_conf",
262
+ "ttest1w_df",
263
+ "ttest1w_dif",
264
+ "ttest1w_lower",
265
+ "ttest1w_sig",
266
+ "ttest1w_sterr",
267
+ "ttest1w_t",
268
+ "ttest1w_upper",
269
+ # One column format functions
270
+ "ztest_conf",
271
+ "ztest_dif",
272
+ "ztest_sig",
273
+ "ztest_sterr",
274
+ "ztest_z",
275
+ "ztest_lower",
276
+ "ztest_upper",
277
+ # Weighted two-column format functions
278
+ "ztestw_conf",
279
+ "ztestw_dif",
280
+ "ztestw_lower",
281
+ "ztestw_sig",
282
+ "ztestw_sterr",
283
+ "ztestw_upper",
284
+ "ztestw_z",
285
+ # String aggregation functions in the data load script
286
+ "Concat",
287
+ "FirstValue",
288
+ "LastValue",
289
+ "MaxString",
290
+ "MinString",
291
+ # Synthetic dimension functions
292
+ "ValueList",
293
+ "ValueLoop",
294
+ # Color functions
295
+ "ARGB",
296
+ "HSL",
297
+ "RGB",
298
+ "Color",
299
+ "Colormix1",
300
+ "Colormix2",
301
+ "SysColor",
302
+ "ColorMapHue",
303
+ "ColorMapJet",
304
+ "black",
305
+ "blue",
306
+ "brown",
307
+ "cyan",
308
+ "darkgray",
309
+ "green",
310
+ "lightblue",
311
+ "lightcyan",
312
+ "lightgray",
313
+ "lightgreen",
314
+ "lightmagenta",
315
+ "lightred",
316
+ "magenta",
317
+ "red",
318
+ "white",
319
+ "yellow",
320
+ # Conditional functions
321
+ "alt",
322
+ "class",
323
+ "coalesce",
324
+ "if",
325
+ "match",
326
+ "mixmatch",
327
+ "pick",
328
+ "wildmatch",
329
+ # Counter functions
330
+ "autonumber",
331
+ "autonumberhash128",
332
+ "autonumberhash256",
333
+ "IterNo",
334
+ "RecNo",
335
+ "RowNo",
336
+ # Integer expressions of time
337
+ "second",
338
+ "minute",
339
+ "hour",
340
+ "day",
341
+ "week",
342
+ "month",
343
+ "year",
344
+ "weekyear",
345
+ "weekday",
346
+ # Timestamp functions
347
+ "now",
348
+ "today",
349
+ "LocalTime",
350
+ # Make functions
351
+ "makedate",
352
+ "makeweekdate",
353
+ "maketime",
354
+ # Other date functions
355
+ "AddMonths",
356
+ "AddYears",
357
+ "yeartodate",
358
+ # Timezone functions
359
+ "timezone",
360
+ "GMT",
361
+ "UTC",
362
+ "daylightsaving",
363
+ "converttolocaltime",
364
+ # Set time functions
365
+ "setdateyear",
366
+ "setdateyearmonth",
367
+ # In... functions
368
+ "inyear",
369
+ "inyeartodate",
370
+ "inquarter",
371
+ "inquartertodate",
372
+ "inmonth",
373
+ "inmonthtodate",
374
+ "inmonths",
375
+ "inmonthstodate",
376
+ "inweek",
377
+ "inweektodate",
378
+ "inlunarweek",
379
+ "inlunarweektodate",
380
+ "inday",
381
+ "indaytotime",
382
+ # Start ... end functions
383
+ "yearstart",
384
+ "yearend",
385
+ "yearname",
386
+ "quarterstart",
387
+ "quarterend",
388
+ "quartername",
389
+ "monthstart",
390
+ "monthend",
391
+ "monthname",
392
+ "monthsstart",
393
+ "monthsend",
394
+ "monthsname",
395
+ "weekstart",
396
+ "weekend",
397
+ "weekname",
398
+ "lunarweekstart",
399
+ "lunarweekend",
400
+ "lunarweekname",
401
+ "daystart",
402
+ "dayend",
403
+ "dayname",
404
+ # Day numbering functions
405
+ "age",
406
+ "networkdays",
407
+ "firstworkdate",
408
+ "lastworkdate",
409
+ "daynumberofyear",
410
+ "daynumberofquarter",
411
+ # Exponential and logarithmic
412
+ "exp",
413
+ "log",
414
+ "log10",
415
+ "pow",
416
+ "sqr",
417
+ "sqrt",
418
+ # Count functions
419
+ "GetAlternativeCount",
420
+ "GetExcludedCount",
421
+ "GetNotSelectedCount",
422
+ "GetPossibleCount",
423
+ "GetSelectedCount",
424
+ # Field and selection functions
425
+ "GetCurrentSelections",
426
+ "GetFieldSelections",
427
+ "GetObjectDimension",
428
+ "GetObjectField",
429
+ "GetObjectMeasure",
430
+ # File functions
431
+ "Attribute",
432
+ "ConnectString",
433
+ "FileBaseName",
434
+ "FileDir",
435
+ "FileExtension",
436
+ "FileName",
437
+ "FilePath",
438
+ "FileSize",
439
+ "FileTime",
440
+ "GetFolderPath",
441
+ "QvdCreateTime",
442
+ "QvdFieldName",
443
+ "QvdNoOfFields",
444
+ "QvdNoOfRecords",
445
+ "QvdTableName",
446
+ # Financial functions
447
+ "FV",
448
+ "nPer",
449
+ "Pmt",
450
+ "PV",
451
+ "Rate",
452
+ # Formatting functions
453
+ "ApplyCodepage",
454
+ "Date",
455
+ "Dual",
456
+ "Interval",
457
+ "Money",
458
+ "Num",
459
+ "Time",
460
+ "Timestamp",
461
+ # General numeric functions
462
+ "bitcount",
463
+ "div",
464
+ "fabs",
465
+ "fact",
466
+ "frac",
467
+ "sign",
468
+ # Combination and permutation functions
469
+ "combin",
470
+ "permut",
471
+ # Modulo functions
472
+ "fmod",
473
+ "mod",
474
+ # Parity functions
475
+ "even",
476
+ "odd",
477
+ # Rounding functions
478
+ "ceil",
479
+ "floor",
480
+ "round",
481
+ # Geospatial functions
482
+ "GeoAggrGeometry",
483
+ "GeoBoundingBox",
484
+ "GeoCountVertex",
485
+ "GeoInvProjectGeometry",
486
+ "GeoProjectGeometry",
487
+ "GeoReduceGeometry",
488
+ "GeoGetBoundingBox",
489
+ "GeoGetPolygonCenter",
490
+ "GeoMakePoint",
491
+ "GeoProject",
492
+ # Interpretation functions
493
+ "Date#",
494
+ "Interval#",
495
+ "Money#",
496
+ "Num#",
497
+ "Text",
498
+ "Time#",
499
+ "Timestamp#",
500
+ # Field functions
501
+ "FieldIndex",
502
+ "FieldValue",
503
+ "FieldValueCount",
504
+ # Inter-record functions in the data load script
505
+ "Exists",
506
+ "LookUp",
507
+ "Peek",
508
+ "Previous",
509
+ # Logical functions
510
+ "IsNum",
511
+ "IsText",
512
+ # Mapping functions
513
+ "ApplyMap",
514
+ "MapSubstring",
515
+ # Mathematical functions
516
+ "e",
517
+ "false",
518
+ "pi",
519
+ "rand",
520
+ "true",
521
+ # NULL functions
522
+ "EmptyIsNull",
523
+ "IsNull",
524
+ "Null",
525
+ # Basic range functions
526
+ "RangeMax",
527
+ "RangeMaxString",
528
+ "RangeMin",
529
+ "RangeMinString",
530
+ "RangeMode",
531
+ "RangeOnly",
532
+ "RangeSum",
533
+ # Counter range functions
534
+ "RangeCount",
535
+ "RangeMissingCount",
536
+ "RangeNullCount",
537
+ "RangeNumericCount",
538
+ "RangeTextCount",
539
+ # Statistical range functions
540
+ "RangeAvg",
541
+ "RangeCorrel",
542
+ "RangeFractile",
543
+ "RangeKurtosis",
544
+ "RangeSkew",
545
+ "RangeStdev",
546
+ # Financial range functions
547
+ "RangeIRR",
548
+ "RangeNPV",
549
+ "RangeXIRR",
550
+ "RangeXNPV",
551
+ # Statistical distribution
552
+ "CHIDIST",
553
+ "CHIINV",
554
+ "NORMDIST",
555
+ "NORMINV",
556
+ "TDIST",
557
+ "TINV",
558
+ "FDIST",
559
+ "FINV",
560
+ # String functions
561
+ "Capitalize",
562
+ "Chr",
563
+ "Evaluate",
564
+ "FindOneOf",
565
+ "Hash128",
566
+ "Hash160",
567
+ "Hash256",
568
+ "Index",
569
+ "KeepChar",
570
+ "Left",
571
+ "Len",
572
+ "LevenshteinDist",
573
+ "Lower",
574
+ "LTrim",
575
+ "Mid",
576
+ "Ord",
577
+ "PurgeChar",
578
+ "Repeat",
579
+ "Replace",
580
+ "Right",
581
+ "RTrim",
582
+ "SubField",
583
+ "SubStringCount",
584
+ "TextBetween",
585
+ "Trim",
586
+ "Upper",
587
+ # System functions
588
+ "Author",
589
+ "ClientPlatform",
590
+ "ComputerName",
591
+ "DocumentName",
592
+ "DocumentPath",
593
+ "DocumentTitle",
594
+ "EngineVersion",
595
+ "GetCollationLocale",
596
+ "GetObjectField",
597
+ "GetRegistryString",
598
+ "IsPartialReload",
599
+ "OSUser",
600
+ "ProductVersion",
601
+ "ReloadTime",
602
+ "StateName",
603
+ # Table functions
604
+ "FieldName",
605
+ "FieldNumber",
606
+ "NoOfFields",
607
+ "NoOfRows",
608
+ "NoOfTables",
609
+ "TableName",
610
+ "TableNumber",
611
+ ]
612
+
613
+ # System variables and constants
614
+ # see https://help.qlik.com/en-US/sense/August2021/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm
615
+ CONSTANT_LIST = [
616
+ # System Variables
617
+ "floppy",
618
+ "cd",
619
+ "include",
620
+ "must_include",
621
+ "hideprefix",
622
+ "hidesuffix",
623
+ "qvpath",
624
+ "qvroot",
625
+ "QvWorkPath",
626
+ "QvWorkRoot",
627
+ "StripComments",
628
+ "Verbatim",
629
+ "OpenUrlTimeout",
630
+ "WinPath",
631
+ "WinRoot",
632
+ "CollationLocale",
633
+ "CreateSearchIndexOnReload",
634
+ # value handling variables
635
+ "NullDisplay",
636
+ "NullInterpret",
637
+ "NullValue",
638
+ "OtherSymbol",
639
+ # Currency formatting
640
+ "MoneyDecimalSep",
641
+ "MoneyFormat",
642
+ "MoneyThousandSep",
643
+ # Number formatting
644
+ "DecimalSep",
645
+ "ThousandSep",
646
+ "NumericalAbbreviation",
647
+ # Time formatting
648
+ "DateFormat",
649
+ "TimeFormat",
650
+ "TimestampFormat",
651
+ "MonthNames",
652
+ "LongMonthNames",
653
+ "DayNames",
654
+ "LongDayNames",
655
+ "FirstWeekDay",
656
+ "BrokenWeeks",
657
+ "ReferenceDay",
658
+ "FirstMonthOfYear",
659
+ # Error variables
660
+ "errormode",
661
+ "scripterror",
662
+ "scripterrorcount",
663
+ "scripterrorlist",
664
+ # Other
665
+ "null",
666
+ ]
temp_venv/lib/python3.13/site-packages/pygments/lexers/_scilab_builtins.py ADDED
@@ -0,0 +1,3093 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._scilab_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Builtin list for the ScilabLexer.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ # Autogenerated
12
+
13
+ commands_kw = (
14
+ 'abort',
15
+ 'apropos',
16
+ 'break',
17
+ 'case',
18
+ 'catch',
19
+ 'continue',
20
+ 'do',
21
+ 'else',
22
+ 'elseif',
23
+ 'end',
24
+ 'endfunction',
25
+ 'for',
26
+ 'function',
27
+ 'help',
28
+ 'if',
29
+ 'pause',
30
+ 'quit',
31
+ 'select',
32
+ 'then',
33
+ 'try',
34
+ 'while',
35
+ )
36
+
37
+ functions_kw = (
38
+ '!!_invoke_',
39
+ '%H5Object_e',
40
+ '%H5Object_fieldnames',
41
+ '%H5Object_p',
42
+ '%XMLAttr_6',
43
+ '%XMLAttr_e',
44
+ '%XMLAttr_i_XMLElem',
45
+ '%XMLAttr_length',
46
+ '%XMLAttr_p',
47
+ '%XMLAttr_size',
48
+ '%XMLDoc_6',
49
+ '%XMLDoc_e',
50
+ '%XMLDoc_i_XMLList',
51
+ '%XMLDoc_p',
52
+ '%XMLElem_6',
53
+ '%XMLElem_e',
54
+ '%XMLElem_i_XMLDoc',
55
+ '%XMLElem_i_XMLElem',
56
+ '%XMLElem_i_XMLList',
57
+ '%XMLElem_p',
58
+ '%XMLList_6',
59
+ '%XMLList_e',
60
+ '%XMLList_i_XMLElem',
61
+ '%XMLList_i_XMLList',
62
+ '%XMLList_length',
63
+ '%XMLList_p',
64
+ '%XMLList_size',
65
+ '%XMLNs_6',
66
+ '%XMLNs_e',
67
+ '%XMLNs_i_XMLElem',
68
+ '%XMLNs_p',
69
+ '%XMLSet_6',
70
+ '%XMLSet_e',
71
+ '%XMLSet_length',
72
+ '%XMLSet_p',
73
+ '%XMLSet_size',
74
+ '%XMLValid_p',
75
+ '%_EClass_6',
76
+ '%_EClass_e',
77
+ '%_EClass_p',
78
+ '%_EObj_0',
79
+ '%_EObj_1__EObj',
80
+ '%_EObj_1_b',
81
+ '%_EObj_1_c',
82
+ '%_EObj_1_i',
83
+ '%_EObj_1_s',
84
+ '%_EObj_2__EObj',
85
+ '%_EObj_2_b',
86
+ '%_EObj_2_c',
87
+ '%_EObj_2_i',
88
+ '%_EObj_2_s',
89
+ '%_EObj_3__EObj',
90
+ '%_EObj_3_b',
91
+ '%_EObj_3_c',
92
+ '%_EObj_3_i',
93
+ '%_EObj_3_s',
94
+ '%_EObj_4__EObj',
95
+ '%_EObj_4_b',
96
+ '%_EObj_4_c',
97
+ '%_EObj_4_i',
98
+ '%_EObj_4_s',
99
+ '%_EObj_5',
100
+ '%_EObj_6',
101
+ '%_EObj_a__EObj',
102
+ '%_EObj_a_b',
103
+ '%_EObj_a_c',
104
+ '%_EObj_a_i',
105
+ '%_EObj_a_s',
106
+ '%_EObj_d__EObj',
107
+ '%_EObj_d_b',
108
+ '%_EObj_d_c',
109
+ '%_EObj_d_i',
110
+ '%_EObj_d_s',
111
+ '%_EObj_disp',
112
+ '%_EObj_e',
113
+ '%_EObj_g__EObj',
114
+ '%_EObj_g_b',
115
+ '%_EObj_g_c',
116
+ '%_EObj_g_i',
117
+ '%_EObj_g_s',
118
+ '%_EObj_h__EObj',
119
+ '%_EObj_h_b',
120
+ '%_EObj_h_c',
121
+ '%_EObj_h_i',
122
+ '%_EObj_h_s',
123
+ '%_EObj_i__EObj',
124
+ '%_EObj_j__EObj',
125
+ '%_EObj_j_b',
126
+ '%_EObj_j_c',
127
+ '%_EObj_j_i',
128
+ '%_EObj_j_s',
129
+ '%_EObj_k__EObj',
130
+ '%_EObj_k_b',
131
+ '%_EObj_k_c',
132
+ '%_EObj_k_i',
133
+ '%_EObj_k_s',
134
+ '%_EObj_l__EObj',
135
+ '%_EObj_l_b',
136
+ '%_EObj_l_c',
137
+ '%_EObj_l_i',
138
+ '%_EObj_l_s',
139
+ '%_EObj_m__EObj',
140
+ '%_EObj_m_b',
141
+ '%_EObj_m_c',
142
+ '%_EObj_m_i',
143
+ '%_EObj_m_s',
144
+ '%_EObj_n__EObj',
145
+ '%_EObj_n_b',
146
+ '%_EObj_n_c',
147
+ '%_EObj_n_i',
148
+ '%_EObj_n_s',
149
+ '%_EObj_o__EObj',
150
+ '%_EObj_o_b',
151
+ '%_EObj_o_c',
152
+ '%_EObj_o_i',
153
+ '%_EObj_o_s',
154
+ '%_EObj_p',
155
+ '%_EObj_p__EObj',
156
+ '%_EObj_p_b',
157
+ '%_EObj_p_c',
158
+ '%_EObj_p_i',
159
+ '%_EObj_p_s',
160
+ '%_EObj_q__EObj',
161
+ '%_EObj_q_b',
162
+ '%_EObj_q_c',
163
+ '%_EObj_q_i',
164
+ '%_EObj_q_s',
165
+ '%_EObj_r__EObj',
166
+ '%_EObj_r_b',
167
+ '%_EObj_r_c',
168
+ '%_EObj_r_i',
169
+ '%_EObj_r_s',
170
+ '%_EObj_s__EObj',
171
+ '%_EObj_s_b',
172
+ '%_EObj_s_c',
173
+ '%_EObj_s_i',
174
+ '%_EObj_s_s',
175
+ '%_EObj_t',
176
+ '%_EObj_x__EObj',
177
+ '%_EObj_x_b',
178
+ '%_EObj_x_c',
179
+ '%_EObj_x_i',
180
+ '%_EObj_x_s',
181
+ '%_EObj_y__EObj',
182
+ '%_EObj_y_b',
183
+ '%_EObj_y_c',
184
+ '%_EObj_y_i',
185
+ '%_EObj_y_s',
186
+ '%_EObj_z__EObj',
187
+ '%_EObj_z_b',
188
+ '%_EObj_z_c',
189
+ '%_EObj_z_i',
190
+ '%_EObj_z_s',
191
+ '%_eigs',
192
+ '%_load',
193
+ '%b_1__EObj',
194
+ '%b_2__EObj',
195
+ '%b_3__EObj',
196
+ '%b_4__EObj',
197
+ '%b_a__EObj',
198
+ '%b_d__EObj',
199
+ '%b_g__EObj',
200
+ '%b_h__EObj',
201
+ '%b_i_XMLList',
202
+ '%b_i__EObj',
203
+ '%b_j__EObj',
204
+ '%b_k__EObj',
205
+ '%b_l__EObj',
206
+ '%b_m__EObj',
207
+ '%b_n__EObj',
208
+ '%b_o__EObj',
209
+ '%b_p__EObj',
210
+ '%b_q__EObj',
211
+ '%b_r__EObj',
212
+ '%b_s__EObj',
213
+ '%b_x__EObj',
214
+ '%b_y__EObj',
215
+ '%b_z__EObj',
216
+ '%c_1__EObj',
217
+ '%c_2__EObj',
218
+ '%c_3__EObj',
219
+ '%c_4__EObj',
220
+ '%c_a__EObj',
221
+ '%c_d__EObj',
222
+ '%c_g__EObj',
223
+ '%c_h__EObj',
224
+ '%c_i_XMLAttr',
225
+ '%c_i_XMLDoc',
226
+ '%c_i_XMLElem',
227
+ '%c_i_XMLList',
228
+ '%c_i__EObj',
229
+ '%c_j__EObj',
230
+ '%c_k__EObj',
231
+ '%c_l__EObj',
232
+ '%c_m__EObj',
233
+ '%c_n__EObj',
234
+ '%c_o__EObj',
235
+ '%c_p__EObj',
236
+ '%c_q__EObj',
237
+ '%c_r__EObj',
238
+ '%c_s__EObj',
239
+ '%c_x__EObj',
240
+ '%c_y__EObj',
241
+ '%c_z__EObj',
242
+ '%ce_i_XMLList',
243
+ '%fptr_i_XMLList',
244
+ '%h_i_XMLList',
245
+ '%hm_i_XMLList',
246
+ '%i_1__EObj',
247
+ '%i_2__EObj',
248
+ '%i_3__EObj',
249
+ '%i_4__EObj',
250
+ '%i_a__EObj',
251
+ '%i_abs',
252
+ '%i_cumprod',
253
+ '%i_cumsum',
254
+ '%i_d__EObj',
255
+ '%i_diag',
256
+ '%i_g__EObj',
257
+ '%i_h__EObj',
258
+ '%i_i_XMLList',
259
+ '%i_i__EObj',
260
+ '%i_j__EObj',
261
+ '%i_k__EObj',
262
+ '%i_l__EObj',
263
+ '%i_m__EObj',
264
+ '%i_matrix',
265
+ '%i_max',
266
+ '%i_maxi',
267
+ '%i_min',
268
+ '%i_mini',
269
+ '%i_mput',
270
+ '%i_n__EObj',
271
+ '%i_o__EObj',
272
+ '%i_p',
273
+ '%i_p__EObj',
274
+ '%i_prod',
275
+ '%i_q__EObj',
276
+ '%i_r__EObj',
277
+ '%i_s__EObj',
278
+ '%i_sum',
279
+ '%i_tril',
280
+ '%i_triu',
281
+ '%i_x__EObj',
282
+ '%i_y__EObj',
283
+ '%i_z__EObj',
284
+ '%ip_i_XMLList',
285
+ '%l_i_XMLList',
286
+ '%l_i__EObj',
287
+ '%lss_i_XMLList',
288
+ '%mc_i_XMLList',
289
+ '%msp_full',
290
+ '%msp_i_XMLList',
291
+ '%msp_spget',
292
+ '%p_i_XMLList',
293
+ '%ptr_i_XMLList',
294
+ '%r_i_XMLList',
295
+ '%s_1__EObj',
296
+ '%s_2__EObj',
297
+ '%s_3__EObj',
298
+ '%s_4__EObj',
299
+ '%s_a__EObj',
300
+ '%s_d__EObj',
301
+ '%s_g__EObj',
302
+ '%s_h__EObj',
303
+ '%s_i_XMLList',
304
+ '%s_i__EObj',
305
+ '%s_j__EObj',
306
+ '%s_k__EObj',
307
+ '%s_l__EObj',
308
+ '%s_m__EObj',
309
+ '%s_n__EObj',
310
+ '%s_o__EObj',
311
+ '%s_p__EObj',
312
+ '%s_q__EObj',
313
+ '%s_r__EObj',
314
+ '%s_s__EObj',
315
+ '%s_x__EObj',
316
+ '%s_y__EObj',
317
+ '%s_z__EObj',
318
+ '%sp_i_XMLList',
319
+ '%spb_i_XMLList',
320
+ '%st_i_XMLList',
321
+ 'Calendar',
322
+ 'ClipBoard',
323
+ 'Matplot',
324
+ 'Matplot1',
325
+ 'PlaySound',
326
+ 'TCL_DeleteInterp',
327
+ 'TCL_DoOneEvent',
328
+ 'TCL_EvalFile',
329
+ 'TCL_EvalStr',
330
+ 'TCL_ExistArray',
331
+ 'TCL_ExistInterp',
332
+ 'TCL_ExistVar',
333
+ 'TCL_GetVar',
334
+ 'TCL_GetVersion',
335
+ 'TCL_SetVar',
336
+ 'TCL_UnsetVar',
337
+ 'TCL_UpVar',
338
+ '_',
339
+ '_code2str',
340
+ '_d',
341
+ '_str2code',
342
+ 'about',
343
+ 'abs',
344
+ 'acos',
345
+ 'addModulePreferences',
346
+ 'addcolor',
347
+ 'addf',
348
+ 'addhistory',
349
+ 'addinter',
350
+ 'addlocalizationdomain',
351
+ 'amell',
352
+ 'and',
353
+ 'argn',
354
+ 'arl2_ius',
355
+ 'ascii',
356
+ 'asin',
357
+ 'atan',
358
+ 'backslash',
359
+ 'balanc',
360
+ 'banner',
361
+ 'base2dec',
362
+ 'basename',
363
+ 'bdiag',
364
+ 'beep',
365
+ 'besselh',
366
+ 'besseli',
367
+ 'besselj',
368
+ 'besselk',
369
+ 'bessely',
370
+ 'beta',
371
+ 'bezout',
372
+ 'bfinit',
373
+ 'blkfc1i',
374
+ 'blkslvi',
375
+ 'bool2s',
376
+ 'browsehistory',
377
+ 'browsevar',
378
+ 'bsplin3val',
379
+ 'buildDoc',
380
+ 'buildouttb',
381
+ 'bvode',
382
+ 'c_link',
383
+ 'call',
384
+ 'callblk',
385
+ 'captions',
386
+ 'cd',
387
+ 'cdfbet',
388
+ 'cdfbin',
389
+ 'cdfchi',
390
+ 'cdfchn',
391
+ 'cdff',
392
+ 'cdffnc',
393
+ 'cdfgam',
394
+ 'cdfnbn',
395
+ 'cdfnor',
396
+ 'cdfpoi',
397
+ 'cdft',
398
+ 'ceil',
399
+ 'champ',
400
+ 'champ1',
401
+ 'chdir',
402
+ 'chol',
403
+ 'clc',
404
+ 'clean',
405
+ 'clear',
406
+ 'clearfun',
407
+ 'clearglobal',
408
+ 'closeEditor',
409
+ 'closeEditvar',
410
+ 'closeXcos',
411
+ 'code2str',
412
+ 'coeff',
413
+ 'color',
414
+ 'comp',
415
+ 'completion',
416
+ 'conj',
417
+ 'contour2di',
418
+ 'contr',
419
+ 'conv2',
420
+ 'convstr',
421
+ 'copy',
422
+ 'copyfile',
423
+ 'corr',
424
+ 'cos',
425
+ 'coserror',
426
+ 'createdir',
427
+ 'cshep2d',
428
+ 'csvDefault',
429
+ 'csvIsnum',
430
+ 'csvRead',
431
+ 'csvStringToDouble',
432
+ 'csvTextScan',
433
+ 'csvWrite',
434
+ 'ctree2',
435
+ 'ctree3',
436
+ 'ctree4',
437
+ 'cumprod',
438
+ 'cumsum',
439
+ 'curblock',
440
+ 'curblockc',
441
+ 'daskr',
442
+ 'dasrt',
443
+ 'dassl',
444
+ 'data2sig',
445
+ 'datatipCreate',
446
+ 'datatipManagerMode',
447
+ 'datatipMove',
448
+ 'datatipRemove',
449
+ 'datatipSetDisplay',
450
+ 'datatipSetInterp',
451
+ 'datatipSetOrientation',
452
+ 'datatipSetStyle',
453
+ 'datatipToggle',
454
+ 'dawson',
455
+ 'dct',
456
+ 'debug',
457
+ 'dec2base',
458
+ 'deff',
459
+ 'definedfields',
460
+ 'degree',
461
+ 'delbpt',
462
+ 'delete',
463
+ 'deletefile',
464
+ 'delip',
465
+ 'delmenu',
466
+ 'det',
467
+ 'dgettext',
468
+ 'dhinf',
469
+ 'diag',
470
+ 'diary',
471
+ 'diffobjs',
472
+ 'disp',
473
+ 'dispbpt',
474
+ 'displayhistory',
475
+ 'disposefftwlibrary',
476
+ 'dlgamma',
477
+ 'dnaupd',
478
+ 'dneupd',
479
+ 'double',
480
+ 'drawaxis',
481
+ 'drawlater',
482
+ 'drawnow',
483
+ 'driver',
484
+ 'dsaupd',
485
+ 'dsearch',
486
+ 'dseupd',
487
+ 'dst',
488
+ 'duplicate',
489
+ 'editvar',
490
+ 'emptystr',
491
+ 'end_scicosim',
492
+ 'ereduc',
493
+ 'erf',
494
+ 'erfc',
495
+ 'erfcx',
496
+ 'erfi',
497
+ 'errcatch',
498
+ 'errclear',
499
+ 'error',
500
+ 'eval_cshep2d',
501
+ 'exec',
502
+ 'execstr',
503
+ 'exists',
504
+ 'exit',
505
+ 'exp',
506
+ 'expm',
507
+ 'exportUI',
508
+ 'export_to_hdf5',
509
+ 'eye',
510
+ 'fadj2sp',
511
+ 'fec',
512
+ 'feval',
513
+ 'fft',
514
+ 'fftw',
515
+ 'fftw_flags',
516
+ 'fftw_forget_wisdom',
517
+ 'fftwlibraryisloaded',
518
+ 'figure',
519
+ 'file',
520
+ 'filebrowser',
521
+ 'fileext',
522
+ 'fileinfo',
523
+ 'fileparts',
524
+ 'filesep',
525
+ 'find',
526
+ 'findBD',
527
+ 'findfiles',
528
+ 'fire_closing_finished',
529
+ 'floor',
530
+ 'format',
531
+ 'fort',
532
+ 'fprintfMat',
533
+ 'freq',
534
+ 'frexp',
535
+ 'fromc',
536
+ 'fromjava',
537
+ 'fscanfMat',
538
+ 'fsolve',
539
+ 'fstair',
540
+ 'full',
541
+ 'fullpath',
542
+ 'funcprot',
543
+ 'funptr',
544
+ 'gamma',
545
+ 'gammaln',
546
+ 'geom3d',
547
+ 'get',
548
+ 'getURL',
549
+ 'get_absolute_file_path',
550
+ 'get_fftw_wisdom',
551
+ 'getblocklabel',
552
+ 'getcallbackobject',
553
+ 'getdate',
554
+ 'getdebuginfo',
555
+ 'getdefaultlanguage',
556
+ 'getdrives',
557
+ 'getdynlibext',
558
+ 'getenv',
559
+ 'getfield',
560
+ 'gethistory',
561
+ 'gethistoryfile',
562
+ 'getinstalledlookandfeels',
563
+ 'getio',
564
+ 'getlanguage',
565
+ 'getlongpathname',
566
+ 'getlookandfeel',
567
+ 'getmd5',
568
+ 'getmemory',
569
+ 'getmodules',
570
+ 'getos',
571
+ 'getpid',
572
+ 'getrelativefilename',
573
+ 'getscicosvars',
574
+ 'getscilabmode',
575
+ 'getshortpathname',
576
+ 'gettext',
577
+ 'getvariablesonstack',
578
+ 'getversion',
579
+ 'glist',
580
+ 'global',
581
+ 'glue',
582
+ 'grand',
583
+ 'graphicfunction',
584
+ 'grayplot',
585
+ 'grep',
586
+ 'gsort',
587
+ 'gstacksize',
588
+ 'h5attr',
589
+ 'h5close',
590
+ 'h5cp',
591
+ 'h5dataset',
592
+ 'h5dump',
593
+ 'h5exists',
594
+ 'h5flush',
595
+ 'h5get',
596
+ 'h5group',
597
+ 'h5isArray',
598
+ 'h5isAttr',
599
+ 'h5isCompound',
600
+ 'h5isFile',
601
+ 'h5isGroup',
602
+ 'h5isList',
603
+ 'h5isRef',
604
+ 'h5isSet',
605
+ 'h5isSpace',
606
+ 'h5isType',
607
+ 'h5isVlen',
608
+ 'h5label',
609
+ 'h5ln',
610
+ 'h5ls',
611
+ 'h5mount',
612
+ 'h5mv',
613
+ 'h5open',
614
+ 'h5read',
615
+ 'h5readattr',
616
+ 'h5rm',
617
+ 'h5umount',
618
+ 'h5write',
619
+ 'h5writeattr',
620
+ 'havewindow',
621
+ 'helpbrowser',
622
+ 'hess',
623
+ 'hinf',
624
+ 'historymanager',
625
+ 'historysize',
626
+ 'host',
627
+ 'htmlDump',
628
+ 'htmlRead',
629
+ 'htmlReadStr',
630
+ 'htmlWrite',
631
+ 'iconvert',
632
+ 'ieee',
633
+ 'ilib_verbose',
634
+ 'imag',
635
+ 'impl',
636
+ 'import_from_hdf5',
637
+ 'imult',
638
+ 'inpnvi',
639
+ 'int',
640
+ 'int16',
641
+ 'int2d',
642
+ 'int32',
643
+ 'int3d',
644
+ 'int8',
645
+ 'interp',
646
+ 'interp2d',
647
+ 'interp3d',
648
+ 'intg',
649
+ 'intppty',
650
+ 'inttype',
651
+ 'inv',
652
+ 'invoke_lu',
653
+ 'is_handle_valid',
654
+ 'is_hdf5_file',
655
+ 'isalphanum',
656
+ 'isascii',
657
+ 'isdef',
658
+ 'isdigit',
659
+ 'isdir',
660
+ 'isequal',
661
+ 'isequalbitwise',
662
+ 'iserror',
663
+ 'isfile',
664
+ 'isglobal',
665
+ 'isletter',
666
+ 'isnum',
667
+ 'isreal',
668
+ 'iswaitingforinput',
669
+ 'jallowClassReloading',
670
+ 'jarray',
671
+ 'jautoTranspose',
672
+ 'jautoUnwrap',
673
+ 'javaclasspath',
674
+ 'javalibrarypath',
675
+ 'jcast',
676
+ 'jcompile',
677
+ 'jconvMatrixMethod',
678
+ 'jcreatejar',
679
+ 'jdeff',
680
+ 'jdisableTrace',
681
+ 'jenableTrace',
682
+ 'jexists',
683
+ 'jgetclassname',
684
+ 'jgetfield',
685
+ 'jgetfields',
686
+ 'jgetinfo',
687
+ 'jgetmethods',
688
+ 'jimport',
689
+ 'jinvoke',
690
+ 'jinvoke_db',
691
+ 'jnewInstance',
692
+ 'jremove',
693
+ 'jsetfield',
694
+ 'junwrap',
695
+ 'junwraprem',
696
+ 'jwrap',
697
+ 'jwrapinfloat',
698
+ 'kron',
699
+ 'lasterror',
700
+ 'ldiv',
701
+ 'ldivf',
702
+ 'legendre',
703
+ 'length',
704
+ 'lib',
705
+ 'librarieslist',
706
+ 'libraryinfo',
707
+ 'light',
708
+ 'linear_interpn',
709
+ 'lines',
710
+ 'link',
711
+ 'linmeq',
712
+ 'list',
713
+ 'listvar_in_hdf5',
714
+ 'load',
715
+ 'loadGui',
716
+ 'loadScicos',
717
+ 'loadXcos',
718
+ 'loadfftwlibrary',
719
+ 'loadhistory',
720
+ 'log',
721
+ 'log1p',
722
+ 'lsq',
723
+ 'lsq_splin',
724
+ 'lsqrsolve',
725
+ 'lsslist',
726
+ 'lstcat',
727
+ 'lstsize',
728
+ 'ltitr',
729
+ 'lu',
730
+ 'ludel',
731
+ 'lufact',
732
+ 'luget',
733
+ 'lusolve',
734
+ 'macr2lst',
735
+ 'macr2tree',
736
+ 'matfile_close',
737
+ 'matfile_listvar',
738
+ 'matfile_open',
739
+ 'matfile_varreadnext',
740
+ 'matfile_varwrite',
741
+ 'matrix',
742
+ 'max',
743
+ 'maxfiles',
744
+ 'mclearerr',
745
+ 'mclose',
746
+ 'meof',
747
+ 'merror',
748
+ 'messagebox',
749
+ 'mfprintf',
750
+ 'mfscanf',
751
+ 'mget',
752
+ 'mgeti',
753
+ 'mgetl',
754
+ 'mgetstr',
755
+ 'min',
756
+ 'mlist',
757
+ 'mode',
758
+ 'model2blk',
759
+ 'mopen',
760
+ 'move',
761
+ 'movefile',
762
+ 'mprintf',
763
+ 'mput',
764
+ 'mputl',
765
+ 'mputstr',
766
+ 'mscanf',
767
+ 'mseek',
768
+ 'msprintf',
769
+ 'msscanf',
770
+ 'mtell',
771
+ 'mtlb_mode',
772
+ 'mtlb_sparse',
773
+ 'mucomp',
774
+ 'mulf',
775
+ 'name2rgb',
776
+ 'nearfloat',
777
+ 'newaxes',
778
+ 'newest',
779
+ 'newfun',
780
+ 'nnz',
781
+ 'norm',
782
+ 'notify',
783
+ 'number_properties',
784
+ 'ode',
785
+ 'odedc',
786
+ 'ones',
787
+ 'openged',
788
+ 'opentk',
789
+ 'optim',
790
+ 'or',
791
+ 'ordmmd',
792
+ 'parallel_concurrency',
793
+ 'parallel_run',
794
+ 'param3d',
795
+ 'param3d1',
796
+ 'part',
797
+ 'pathconvert',
798
+ 'pathsep',
799
+ 'phase_simulation',
800
+ 'plot2d',
801
+ 'plot2d1',
802
+ 'plot2d2',
803
+ 'plot2d3',
804
+ 'plot2d4',
805
+ 'plot3d',
806
+ 'plot3d1',
807
+ 'plotbrowser',
808
+ 'pointer_xproperty',
809
+ 'poly',
810
+ 'ppol',
811
+ 'pppdiv',
812
+ 'predef',
813
+ 'preferences',
814
+ 'print',
815
+ 'printf',
816
+ 'printfigure',
817
+ 'printsetupbox',
818
+ 'prod',
819
+ 'progressionbar',
820
+ 'prompt',
821
+ 'pwd',
822
+ 'qld',
823
+ 'qp_solve',
824
+ 'qr',
825
+ 'raise_window',
826
+ 'rand',
827
+ 'rankqr',
828
+ 'rat',
829
+ 'rcond',
830
+ 'rdivf',
831
+ 'read',
832
+ 'read4b',
833
+ 'read_csv',
834
+ 'readb',
835
+ 'readgateway',
836
+ 'readmps',
837
+ 'real',
838
+ 'realtime',
839
+ 'realtimeinit',
840
+ 'regexp',
841
+ 'relocate_handle',
842
+ 'remez',
843
+ 'removeModulePreferences',
844
+ 'removedir',
845
+ 'removelinehistory',
846
+ 'res_with_prec',
847
+ 'resethistory',
848
+ 'residu',
849
+ 'resume',
850
+ 'return',
851
+ 'ricc',
852
+ 'rlist',
853
+ 'roots',
854
+ 'rotate_axes',
855
+ 'round',
856
+ 'rpem',
857
+ 'rtitr',
858
+ 'rubberbox',
859
+ 'save',
860
+ 'saveGui',
861
+ 'saveafterncommands',
862
+ 'saveconsecutivecommands',
863
+ 'savehistory',
864
+ 'schur',
865
+ 'sci_haltscicos',
866
+ 'sci_tree2',
867
+ 'sci_tree3',
868
+ 'sci_tree4',
869
+ 'sciargs',
870
+ 'scicos_debug',
871
+ 'scicos_debug_count',
872
+ 'scicos_time',
873
+ 'scicosim',
874
+ 'scinotes',
875
+ 'sctree',
876
+ 'semidef',
877
+ 'set',
878
+ 'set_blockerror',
879
+ 'set_fftw_wisdom',
880
+ 'set_xproperty',
881
+ 'setbpt',
882
+ 'setdefaultlanguage',
883
+ 'setenv',
884
+ 'setfield',
885
+ 'sethistoryfile',
886
+ 'setlanguage',
887
+ 'setlookandfeel',
888
+ 'setmenu',
889
+ 'sfact',
890
+ 'sfinit',
891
+ 'show_window',
892
+ 'sident',
893
+ 'sig2data',
894
+ 'sign',
895
+ 'simp',
896
+ 'simp_mode',
897
+ 'sin',
898
+ 'size',
899
+ 'slash',
900
+ 'sleep',
901
+ 'sorder',
902
+ 'sparse',
903
+ 'spchol',
904
+ 'spcompack',
905
+ 'spec',
906
+ 'spget',
907
+ 'splin',
908
+ 'splin2d',
909
+ 'splin3d',
910
+ 'splitURL',
911
+ 'spones',
912
+ 'sprintf',
913
+ 'sqrt',
914
+ 'stacksize',
915
+ 'str2code',
916
+ 'strcat',
917
+ 'strchr',
918
+ 'strcmp',
919
+ 'strcspn',
920
+ 'strindex',
921
+ 'string',
922
+ 'stringbox',
923
+ 'stripblanks',
924
+ 'strncpy',
925
+ 'strrchr',
926
+ 'strrev',
927
+ 'strsplit',
928
+ 'strspn',
929
+ 'strstr',
930
+ 'strsubst',
931
+ 'strtod',
932
+ 'strtok',
933
+ 'subf',
934
+ 'sum',
935
+ 'svd',
936
+ 'swap_handles',
937
+ 'symfcti',
938
+ 'syredi',
939
+ 'system_getproperty',
940
+ 'system_setproperty',
941
+ 'ta2lpd',
942
+ 'tan',
943
+ 'taucs_chdel',
944
+ 'taucs_chfact',
945
+ 'taucs_chget',
946
+ 'taucs_chinfo',
947
+ 'taucs_chsolve',
948
+ 'tempname',
949
+ 'testmatrix',
950
+ 'timer',
951
+ 'tlist',
952
+ 'tohome',
953
+ 'tokens',
954
+ 'toolbar',
955
+ 'toprint',
956
+ 'tr_zer',
957
+ 'tril',
958
+ 'triu',
959
+ 'type',
960
+ 'typename',
961
+ 'uiDisplayTree',
962
+ 'uicontextmenu',
963
+ 'uicontrol',
964
+ 'uigetcolor',
965
+ 'uigetdir',
966
+ 'uigetfile',
967
+ 'uigetfont',
968
+ 'uimenu',
969
+ 'uint16',
970
+ 'uint32',
971
+ 'uint8',
972
+ 'uipopup',
973
+ 'uiputfile',
974
+ 'uiwait',
975
+ 'ulink',
976
+ 'umf_ludel',
977
+ 'umf_lufact',
978
+ 'umf_luget',
979
+ 'umf_luinfo',
980
+ 'umf_lusolve',
981
+ 'umfpack',
982
+ 'unglue',
983
+ 'unix',
984
+ 'unsetmenu',
985
+ 'unzoom',
986
+ 'updatebrowsevar',
987
+ 'usecanvas',
988
+ 'useeditor',
989
+ 'user',
990
+ 'var2vec',
991
+ 'varn',
992
+ 'vec2var',
993
+ 'waitbar',
994
+ 'warnBlockByUID',
995
+ 'warning',
996
+ 'what',
997
+ 'where',
998
+ 'whereis',
999
+ 'who',
1000
+ 'winsid',
1001
+ 'with_module',
1002
+ 'writb',
1003
+ 'write',
1004
+ 'write4b',
1005
+ 'write_csv',
1006
+ 'x_choose',
1007
+ 'x_choose_modeless',
1008
+ 'x_dialog',
1009
+ 'x_mdialog',
1010
+ 'xarc',
1011
+ 'xarcs',
1012
+ 'xarrows',
1013
+ 'xchange',
1014
+ 'xchoicesi',
1015
+ 'xclick',
1016
+ 'xcos',
1017
+ 'xcosAddToolsMenu',
1018
+ 'xcosConfigureXmlFile',
1019
+ 'xcosDiagramToScilab',
1020
+ 'xcosPalCategoryAdd',
1021
+ 'xcosPalDelete',
1022
+ 'xcosPalDisable',
1023
+ 'xcosPalEnable',
1024
+ 'xcosPalGenerateIcon',
1025
+ 'xcosPalGet',
1026
+ 'xcosPalLoad',
1027
+ 'xcosPalMove',
1028
+ 'xcosSimulationStarted',
1029
+ 'xcosUpdateBlock',
1030
+ 'xdel',
1031
+ 'xend',
1032
+ 'xfarc',
1033
+ 'xfarcs',
1034
+ 'xfpoly',
1035
+ 'xfpolys',
1036
+ 'xfrect',
1037
+ 'xget',
1038
+ 'xgetmouse',
1039
+ 'xgraduate',
1040
+ 'xgrid',
1041
+ 'xinit',
1042
+ 'xlfont',
1043
+ 'xls_open',
1044
+ 'xls_read',
1045
+ 'xmlAddNs',
1046
+ 'xmlAppend',
1047
+ 'xmlAsNumber',
1048
+ 'xmlAsText',
1049
+ 'xmlDTD',
1050
+ 'xmlDelete',
1051
+ 'xmlDocument',
1052
+ 'xmlDump',
1053
+ 'xmlElement',
1054
+ 'xmlFormat',
1055
+ 'xmlGetNsByHref',
1056
+ 'xmlGetNsByPrefix',
1057
+ 'xmlGetOpenDocs',
1058
+ 'xmlIsValidObject',
1059
+ 'xmlName',
1060
+ 'xmlNs',
1061
+ 'xmlRead',
1062
+ 'xmlReadStr',
1063
+ 'xmlRelaxNG',
1064
+ 'xmlRemove',
1065
+ 'xmlSchema',
1066
+ 'xmlSetAttributes',
1067
+ 'xmlValidate',
1068
+ 'xmlWrite',
1069
+ 'xmlXPath',
1070
+ 'xname',
1071
+ 'xpause',
1072
+ 'xpoly',
1073
+ 'xpolys',
1074
+ 'xrect',
1075
+ 'xrects',
1076
+ 'xs2bmp',
1077
+ 'xs2emf',
1078
+ 'xs2eps',
1079
+ 'xs2gif',
1080
+ 'xs2jpg',
1081
+ 'xs2pdf',
1082
+ 'xs2png',
1083
+ 'xs2ppm',
1084
+ 'xs2ps',
1085
+ 'xs2svg',
1086
+ 'xsegs',
1087
+ 'xset',
1088
+ 'xstring',
1089
+ 'xstringb',
1090
+ 'xtitle',
1091
+ 'zeros',
1092
+ 'znaupd',
1093
+ 'zneupd',
1094
+ 'zoom_rect',
1095
+ )
1096
+
1097
+ macros_kw = (
1098
+ '!_deff_wrapper',
1099
+ '%0_i_st',
1100
+ '%3d_i_h',
1101
+ '%Block_xcosUpdateBlock',
1102
+ '%TNELDER_p',
1103
+ '%TNELDER_string',
1104
+ '%TNMPLOT_p',
1105
+ '%TNMPLOT_string',
1106
+ '%TOPTIM_p',
1107
+ '%TOPTIM_string',
1108
+ '%TSIMPLEX_p',
1109
+ '%TSIMPLEX_string',
1110
+ '%_EVoid_p',
1111
+ '%_gsort',
1112
+ '%_listvarinfile',
1113
+ '%_rlist',
1114
+ '%_save',
1115
+ '%_sodload',
1116
+ '%_strsplit',
1117
+ '%_unwrap',
1118
+ '%ar_p',
1119
+ '%asn',
1120
+ '%b_a_b',
1121
+ '%b_a_s',
1122
+ '%b_c_s',
1123
+ '%b_c_spb',
1124
+ '%b_cumprod',
1125
+ '%b_cumsum',
1126
+ '%b_d_s',
1127
+ '%b_diag',
1128
+ '%b_e',
1129
+ '%b_f_s',
1130
+ '%b_f_spb',
1131
+ '%b_g_s',
1132
+ '%b_g_spb',
1133
+ '%b_grand',
1134
+ '%b_h_s',
1135
+ '%b_h_spb',
1136
+ '%b_i_b',
1137
+ '%b_i_ce',
1138
+ '%b_i_h',
1139
+ '%b_i_hm',
1140
+ '%b_i_s',
1141
+ '%b_i_sp',
1142
+ '%b_i_spb',
1143
+ '%b_i_st',
1144
+ '%b_iconvert',
1145
+ '%b_l_b',
1146
+ '%b_l_s',
1147
+ '%b_m_b',
1148
+ '%b_m_s',
1149
+ '%b_matrix',
1150
+ '%b_n_hm',
1151
+ '%b_o_hm',
1152
+ '%b_p_s',
1153
+ '%b_prod',
1154
+ '%b_r_b',
1155
+ '%b_r_s',
1156
+ '%b_s_b',
1157
+ '%b_s_s',
1158
+ '%b_string',
1159
+ '%b_sum',
1160
+ '%b_tril',
1161
+ '%b_triu',
1162
+ '%b_x_b',
1163
+ '%b_x_s',
1164
+ '%bicg',
1165
+ '%bicgstab',
1166
+ '%c_a_c',
1167
+ '%c_b_c',
1168
+ '%c_b_s',
1169
+ '%c_diag',
1170
+ '%c_dsearch',
1171
+ '%c_e',
1172
+ '%c_eye',
1173
+ '%c_f_s',
1174
+ '%c_grand',
1175
+ '%c_i_c',
1176
+ '%c_i_ce',
1177
+ '%c_i_h',
1178
+ '%c_i_hm',
1179
+ '%c_i_lss',
1180
+ '%c_i_r',
1181
+ '%c_i_s',
1182
+ '%c_i_st',
1183
+ '%c_matrix',
1184
+ '%c_n_l',
1185
+ '%c_n_st',
1186
+ '%c_o_l',
1187
+ '%c_o_st',
1188
+ '%c_ones',
1189
+ '%c_rand',
1190
+ '%c_tril',
1191
+ '%c_triu',
1192
+ '%cblock_c_cblock',
1193
+ '%cblock_c_s',
1194
+ '%cblock_e',
1195
+ '%cblock_f_cblock',
1196
+ '%cblock_p',
1197
+ '%cblock_size',
1198
+ '%ce_6',
1199
+ '%ce_c_ce',
1200
+ '%ce_e',
1201
+ '%ce_f_ce',
1202
+ '%ce_i_ce',
1203
+ '%ce_i_s',
1204
+ '%ce_i_st',
1205
+ '%ce_matrix',
1206
+ '%ce_p',
1207
+ '%ce_size',
1208
+ '%ce_string',
1209
+ '%ce_t',
1210
+ '%cgs',
1211
+ '%champdat_i_h',
1212
+ '%choose',
1213
+ '%diagram_xcos',
1214
+ '%dir_p',
1215
+ '%fptr_i_st',
1216
+ '%grand_perm',
1217
+ '%grayplot_i_h',
1218
+ '%h_i_st',
1219
+ '%hmS_k_hmS_generic',
1220
+ '%hm_1_hm',
1221
+ '%hm_1_s',
1222
+ '%hm_2_hm',
1223
+ '%hm_2_s',
1224
+ '%hm_3_hm',
1225
+ '%hm_3_s',
1226
+ '%hm_4_hm',
1227
+ '%hm_4_s',
1228
+ '%hm_5',
1229
+ '%hm_a_hm',
1230
+ '%hm_a_r',
1231
+ '%hm_a_s',
1232
+ '%hm_abs',
1233
+ '%hm_and',
1234
+ '%hm_bool2s',
1235
+ '%hm_c_hm',
1236
+ '%hm_ceil',
1237
+ '%hm_conj',
1238
+ '%hm_cos',
1239
+ '%hm_cumprod',
1240
+ '%hm_cumsum',
1241
+ '%hm_d_hm',
1242
+ '%hm_d_s',
1243
+ '%hm_degree',
1244
+ '%hm_dsearch',
1245
+ '%hm_e',
1246
+ '%hm_exp',
1247
+ '%hm_eye',
1248
+ '%hm_f_hm',
1249
+ '%hm_find',
1250
+ '%hm_floor',
1251
+ '%hm_g_hm',
1252
+ '%hm_grand',
1253
+ '%hm_gsort',
1254
+ '%hm_h_hm',
1255
+ '%hm_i_b',
1256
+ '%hm_i_ce',
1257
+ '%hm_i_h',
1258
+ '%hm_i_hm',
1259
+ '%hm_i_i',
1260
+ '%hm_i_p',
1261
+ '%hm_i_r',
1262
+ '%hm_i_s',
1263
+ '%hm_i_st',
1264
+ '%hm_iconvert',
1265
+ '%hm_imag',
1266
+ '%hm_int',
1267
+ '%hm_isnan',
1268
+ '%hm_isreal',
1269
+ '%hm_j_hm',
1270
+ '%hm_j_s',
1271
+ '%hm_k_hm',
1272
+ '%hm_k_s',
1273
+ '%hm_log',
1274
+ '%hm_m_p',
1275
+ '%hm_m_r',
1276
+ '%hm_m_s',
1277
+ '%hm_matrix',
1278
+ '%hm_max',
1279
+ '%hm_mean',
1280
+ '%hm_median',
1281
+ '%hm_min',
1282
+ '%hm_n_b',
1283
+ '%hm_n_c',
1284
+ '%hm_n_hm',
1285
+ '%hm_n_i',
1286
+ '%hm_n_p',
1287
+ '%hm_n_s',
1288
+ '%hm_o_b',
1289
+ '%hm_o_c',
1290
+ '%hm_o_hm',
1291
+ '%hm_o_i',
1292
+ '%hm_o_p',
1293
+ '%hm_o_s',
1294
+ '%hm_ones',
1295
+ '%hm_or',
1296
+ '%hm_p',
1297
+ '%hm_prod',
1298
+ '%hm_q_hm',
1299
+ '%hm_r_s',
1300
+ '%hm_rand',
1301
+ '%hm_real',
1302
+ '%hm_round',
1303
+ '%hm_s',
1304
+ '%hm_s_hm',
1305
+ '%hm_s_r',
1306
+ '%hm_s_s',
1307
+ '%hm_sign',
1308
+ '%hm_sin',
1309
+ '%hm_size',
1310
+ '%hm_sqrt',
1311
+ '%hm_stdev',
1312
+ '%hm_string',
1313
+ '%hm_sum',
1314
+ '%hm_x_hm',
1315
+ '%hm_x_p',
1316
+ '%hm_x_s',
1317
+ '%hm_zeros',
1318
+ '%i_1_s',
1319
+ '%i_2_s',
1320
+ '%i_3_s',
1321
+ '%i_4_s',
1322
+ '%i_Matplot',
1323
+ '%i_a_i',
1324
+ '%i_a_s',
1325
+ '%i_and',
1326
+ '%i_ascii',
1327
+ '%i_b_s',
1328
+ '%i_bezout',
1329
+ '%i_champ',
1330
+ '%i_champ1',
1331
+ '%i_contour',
1332
+ '%i_contour2d',
1333
+ '%i_d_i',
1334
+ '%i_d_s',
1335
+ '%i_dsearch',
1336
+ '%i_e',
1337
+ '%i_fft',
1338
+ '%i_g_i',
1339
+ '%i_gcd',
1340
+ '%i_grand',
1341
+ '%i_h_i',
1342
+ '%i_i_ce',
1343
+ '%i_i_h',
1344
+ '%i_i_hm',
1345
+ '%i_i_i',
1346
+ '%i_i_s',
1347
+ '%i_i_st',
1348
+ '%i_j_i',
1349
+ '%i_j_s',
1350
+ '%i_l_s',
1351
+ '%i_lcm',
1352
+ '%i_length',
1353
+ '%i_m_i',
1354
+ '%i_m_s',
1355
+ '%i_mfprintf',
1356
+ '%i_mprintf',
1357
+ '%i_msprintf',
1358
+ '%i_n_s',
1359
+ '%i_o_s',
1360
+ '%i_or',
1361
+ '%i_p_i',
1362
+ '%i_p_s',
1363
+ '%i_plot2d',
1364
+ '%i_plot2d1',
1365
+ '%i_plot2d2',
1366
+ '%i_q_s',
1367
+ '%i_r_i',
1368
+ '%i_r_s',
1369
+ '%i_round',
1370
+ '%i_s_i',
1371
+ '%i_s_s',
1372
+ '%i_sign',
1373
+ '%i_string',
1374
+ '%i_x_i',
1375
+ '%i_x_s',
1376
+ '%ip_a_s',
1377
+ '%ip_i_st',
1378
+ '%ip_m_s',
1379
+ '%ip_n_ip',
1380
+ '%ip_o_ip',
1381
+ '%ip_p',
1382
+ '%ip_part',
1383
+ '%ip_s_s',
1384
+ '%ip_string',
1385
+ '%k',
1386
+ '%l_i_h',
1387
+ '%l_i_s',
1388
+ '%l_i_st',
1389
+ '%l_isequal',
1390
+ '%l_n_c',
1391
+ '%l_n_l',
1392
+ '%l_n_m',
1393
+ '%l_n_p',
1394
+ '%l_n_s',
1395
+ '%l_n_st',
1396
+ '%l_o_c',
1397
+ '%l_o_l',
1398
+ '%l_o_m',
1399
+ '%l_o_p',
1400
+ '%l_o_s',
1401
+ '%l_o_st',
1402
+ '%lss_a_lss',
1403
+ '%lss_a_p',
1404
+ '%lss_a_r',
1405
+ '%lss_a_s',
1406
+ '%lss_c_lss',
1407
+ '%lss_c_p',
1408
+ '%lss_c_r',
1409
+ '%lss_c_s',
1410
+ '%lss_e',
1411
+ '%lss_eye',
1412
+ '%lss_f_lss',
1413
+ '%lss_f_p',
1414
+ '%lss_f_r',
1415
+ '%lss_f_s',
1416
+ '%lss_i_ce',
1417
+ '%lss_i_lss',
1418
+ '%lss_i_p',
1419
+ '%lss_i_r',
1420
+ '%lss_i_s',
1421
+ '%lss_i_st',
1422
+ '%lss_inv',
1423
+ '%lss_l_lss',
1424
+ '%lss_l_p',
1425
+ '%lss_l_r',
1426
+ '%lss_l_s',
1427
+ '%lss_m_lss',
1428
+ '%lss_m_p',
1429
+ '%lss_m_r',
1430
+ '%lss_m_s',
1431
+ '%lss_n_lss',
1432
+ '%lss_n_p',
1433
+ '%lss_n_r',
1434
+ '%lss_n_s',
1435
+ '%lss_norm',
1436
+ '%lss_o_lss',
1437
+ '%lss_o_p',
1438
+ '%lss_o_r',
1439
+ '%lss_o_s',
1440
+ '%lss_ones',
1441
+ '%lss_r_lss',
1442
+ '%lss_r_p',
1443
+ '%lss_r_r',
1444
+ '%lss_r_s',
1445
+ '%lss_rand',
1446
+ '%lss_s',
1447
+ '%lss_s_lss',
1448
+ '%lss_s_p',
1449
+ '%lss_s_r',
1450
+ '%lss_s_s',
1451
+ '%lss_size',
1452
+ '%lss_t',
1453
+ '%lss_v_lss',
1454
+ '%lss_v_p',
1455
+ '%lss_v_r',
1456
+ '%lss_v_s',
1457
+ '%lt_i_s',
1458
+ '%m_n_l',
1459
+ '%m_o_l',
1460
+ '%mc_i_h',
1461
+ '%mc_i_s',
1462
+ '%mc_i_st',
1463
+ '%mc_n_st',
1464
+ '%mc_o_st',
1465
+ '%mc_string',
1466
+ '%mps_p',
1467
+ '%mps_string',
1468
+ '%msp_a_s',
1469
+ '%msp_abs',
1470
+ '%msp_e',
1471
+ '%msp_find',
1472
+ '%msp_i_s',
1473
+ '%msp_i_st',
1474
+ '%msp_length',
1475
+ '%msp_m_s',
1476
+ '%msp_maxi',
1477
+ '%msp_n_msp',
1478
+ '%msp_nnz',
1479
+ '%msp_o_msp',
1480
+ '%msp_p',
1481
+ '%msp_sparse',
1482
+ '%msp_spones',
1483
+ '%msp_t',
1484
+ '%p_a_lss',
1485
+ '%p_a_r',
1486
+ '%p_c_lss',
1487
+ '%p_c_r',
1488
+ '%p_cumprod',
1489
+ '%p_cumsum',
1490
+ '%p_d_p',
1491
+ '%p_d_r',
1492
+ '%p_d_s',
1493
+ '%p_det',
1494
+ '%p_e',
1495
+ '%p_f_lss',
1496
+ '%p_f_r',
1497
+ '%p_grand',
1498
+ '%p_i_ce',
1499
+ '%p_i_h',
1500
+ '%p_i_hm',
1501
+ '%p_i_lss',
1502
+ '%p_i_p',
1503
+ '%p_i_r',
1504
+ '%p_i_s',
1505
+ '%p_i_st',
1506
+ '%p_inv',
1507
+ '%p_j_s',
1508
+ '%p_k_p',
1509
+ '%p_k_r',
1510
+ '%p_k_s',
1511
+ '%p_l_lss',
1512
+ '%p_l_p',
1513
+ '%p_l_r',
1514
+ '%p_l_s',
1515
+ '%p_m_hm',
1516
+ '%p_m_lss',
1517
+ '%p_m_r',
1518
+ '%p_matrix',
1519
+ '%p_n_l',
1520
+ '%p_n_lss',
1521
+ '%p_n_r',
1522
+ '%p_o_l',
1523
+ '%p_o_lss',
1524
+ '%p_o_r',
1525
+ '%p_o_sp',
1526
+ '%p_p_s',
1527
+ '%p_part',
1528
+ '%p_prod',
1529
+ '%p_q_p',
1530
+ '%p_q_r',
1531
+ '%p_q_s',
1532
+ '%p_r_lss',
1533
+ '%p_r_p',
1534
+ '%p_r_r',
1535
+ '%p_r_s',
1536
+ '%p_s_lss',
1537
+ '%p_s_r',
1538
+ '%p_simp',
1539
+ '%p_string',
1540
+ '%p_sum',
1541
+ '%p_v_lss',
1542
+ '%p_v_p',
1543
+ '%p_v_r',
1544
+ '%p_v_s',
1545
+ '%p_x_hm',
1546
+ '%p_x_r',
1547
+ '%p_y_p',
1548
+ '%p_y_r',
1549
+ '%p_y_s',
1550
+ '%p_z_p',
1551
+ '%p_z_r',
1552
+ '%p_z_s',
1553
+ '%pcg',
1554
+ '%plist_p',
1555
+ '%plist_string',
1556
+ '%r_0',
1557
+ '%r_a_hm',
1558
+ '%r_a_lss',
1559
+ '%r_a_p',
1560
+ '%r_a_r',
1561
+ '%r_a_s',
1562
+ '%r_c_lss',
1563
+ '%r_c_p',
1564
+ '%r_c_r',
1565
+ '%r_c_s',
1566
+ '%r_clean',
1567
+ '%r_cumprod',
1568
+ '%r_cumsum',
1569
+ '%r_d_p',
1570
+ '%r_d_r',
1571
+ '%r_d_s',
1572
+ '%r_det',
1573
+ '%r_diag',
1574
+ '%r_e',
1575
+ '%r_eye',
1576
+ '%r_f_lss',
1577
+ '%r_f_p',
1578
+ '%r_f_r',
1579
+ '%r_f_s',
1580
+ '%r_i_ce',
1581
+ '%r_i_hm',
1582
+ '%r_i_lss',
1583
+ '%r_i_p',
1584
+ '%r_i_r',
1585
+ '%r_i_s',
1586
+ '%r_i_st',
1587
+ '%r_inv',
1588
+ '%r_j_s',
1589
+ '%r_k_p',
1590
+ '%r_k_r',
1591
+ '%r_k_s',
1592
+ '%r_l_lss',
1593
+ '%r_l_p',
1594
+ '%r_l_r',
1595
+ '%r_l_s',
1596
+ '%r_m_hm',
1597
+ '%r_m_lss',
1598
+ '%r_m_p',
1599
+ '%r_m_r',
1600
+ '%r_m_s',
1601
+ '%r_matrix',
1602
+ '%r_n_lss',
1603
+ '%r_n_p',
1604
+ '%r_n_r',
1605
+ '%r_n_s',
1606
+ '%r_norm',
1607
+ '%r_o_lss',
1608
+ '%r_o_p',
1609
+ '%r_o_r',
1610
+ '%r_o_s',
1611
+ '%r_ones',
1612
+ '%r_p',
1613
+ '%r_p_s',
1614
+ '%r_prod',
1615
+ '%r_q_p',
1616
+ '%r_q_r',
1617
+ '%r_q_s',
1618
+ '%r_r_lss',
1619
+ '%r_r_p',
1620
+ '%r_r_r',
1621
+ '%r_r_s',
1622
+ '%r_rand',
1623
+ '%r_s',
1624
+ '%r_s_hm',
1625
+ '%r_s_lss',
1626
+ '%r_s_p',
1627
+ '%r_s_r',
1628
+ '%r_s_s',
1629
+ '%r_simp',
1630
+ '%r_size',
1631
+ '%r_string',
1632
+ '%r_sum',
1633
+ '%r_t',
1634
+ '%r_tril',
1635
+ '%r_triu',
1636
+ '%r_v_lss',
1637
+ '%r_v_p',
1638
+ '%r_v_r',
1639
+ '%r_v_s',
1640
+ '%r_varn',
1641
+ '%r_x_p',
1642
+ '%r_x_r',
1643
+ '%r_x_s',
1644
+ '%r_y_p',
1645
+ '%r_y_r',
1646
+ '%r_y_s',
1647
+ '%r_z_p',
1648
+ '%r_z_r',
1649
+ '%r_z_s',
1650
+ '%s_1_hm',
1651
+ '%s_1_i',
1652
+ '%s_2_hm',
1653
+ '%s_2_i',
1654
+ '%s_3_hm',
1655
+ '%s_3_i',
1656
+ '%s_4_hm',
1657
+ '%s_4_i',
1658
+ '%s_5',
1659
+ '%s_a_b',
1660
+ '%s_a_hm',
1661
+ '%s_a_i',
1662
+ '%s_a_ip',
1663
+ '%s_a_lss',
1664
+ '%s_a_msp',
1665
+ '%s_a_r',
1666
+ '%s_a_sp',
1667
+ '%s_and',
1668
+ '%s_b_i',
1669
+ '%s_b_s',
1670
+ '%s_bezout',
1671
+ '%s_c_b',
1672
+ '%s_c_cblock',
1673
+ '%s_c_lss',
1674
+ '%s_c_r',
1675
+ '%s_c_sp',
1676
+ '%s_d_b',
1677
+ '%s_d_i',
1678
+ '%s_d_p',
1679
+ '%s_d_r',
1680
+ '%s_d_sp',
1681
+ '%s_e',
1682
+ '%s_f_b',
1683
+ '%s_f_cblock',
1684
+ '%s_f_lss',
1685
+ '%s_f_r',
1686
+ '%s_f_sp',
1687
+ '%s_g_b',
1688
+ '%s_g_s',
1689
+ '%s_gcd',
1690
+ '%s_grand',
1691
+ '%s_h_b',
1692
+ '%s_h_s',
1693
+ '%s_i_b',
1694
+ '%s_i_c',
1695
+ '%s_i_ce',
1696
+ '%s_i_h',
1697
+ '%s_i_hm',
1698
+ '%s_i_i',
1699
+ '%s_i_lss',
1700
+ '%s_i_p',
1701
+ '%s_i_r',
1702
+ '%s_i_s',
1703
+ '%s_i_sp',
1704
+ '%s_i_spb',
1705
+ '%s_i_st',
1706
+ '%s_j_i',
1707
+ '%s_k_hm',
1708
+ '%s_k_p',
1709
+ '%s_k_r',
1710
+ '%s_k_sp',
1711
+ '%s_l_b',
1712
+ '%s_l_hm',
1713
+ '%s_l_i',
1714
+ '%s_l_lss',
1715
+ '%s_l_p',
1716
+ '%s_l_r',
1717
+ '%s_l_s',
1718
+ '%s_l_sp',
1719
+ '%s_lcm',
1720
+ '%s_m_b',
1721
+ '%s_m_hm',
1722
+ '%s_m_i',
1723
+ '%s_m_ip',
1724
+ '%s_m_lss',
1725
+ '%s_m_msp',
1726
+ '%s_m_r',
1727
+ '%s_matrix',
1728
+ '%s_n_hm',
1729
+ '%s_n_i',
1730
+ '%s_n_l',
1731
+ '%s_n_lss',
1732
+ '%s_n_r',
1733
+ '%s_n_st',
1734
+ '%s_o_hm',
1735
+ '%s_o_i',
1736
+ '%s_o_l',
1737
+ '%s_o_lss',
1738
+ '%s_o_r',
1739
+ '%s_o_st',
1740
+ '%s_or',
1741
+ '%s_p_b',
1742
+ '%s_p_i',
1743
+ '%s_pow',
1744
+ '%s_q_hm',
1745
+ '%s_q_i',
1746
+ '%s_q_p',
1747
+ '%s_q_r',
1748
+ '%s_q_sp',
1749
+ '%s_r_b',
1750
+ '%s_r_i',
1751
+ '%s_r_lss',
1752
+ '%s_r_p',
1753
+ '%s_r_r',
1754
+ '%s_r_s',
1755
+ '%s_r_sp',
1756
+ '%s_s_b',
1757
+ '%s_s_hm',
1758
+ '%s_s_i',
1759
+ '%s_s_ip',
1760
+ '%s_s_lss',
1761
+ '%s_s_r',
1762
+ '%s_s_sp',
1763
+ '%s_simp',
1764
+ '%s_v_lss',
1765
+ '%s_v_p',
1766
+ '%s_v_r',
1767
+ '%s_v_s',
1768
+ '%s_x_b',
1769
+ '%s_x_hm',
1770
+ '%s_x_i',
1771
+ '%s_x_r',
1772
+ '%s_y_p',
1773
+ '%s_y_r',
1774
+ '%s_y_sp',
1775
+ '%s_z_p',
1776
+ '%s_z_r',
1777
+ '%s_z_sp',
1778
+ '%sn',
1779
+ '%sp_a_s',
1780
+ '%sp_a_sp',
1781
+ '%sp_and',
1782
+ '%sp_c_s',
1783
+ '%sp_ceil',
1784
+ '%sp_conj',
1785
+ '%sp_cos',
1786
+ '%sp_cumprod',
1787
+ '%sp_cumsum',
1788
+ '%sp_d_s',
1789
+ '%sp_d_sp',
1790
+ '%sp_det',
1791
+ '%sp_diag',
1792
+ '%sp_e',
1793
+ '%sp_exp',
1794
+ '%sp_f_s',
1795
+ '%sp_floor',
1796
+ '%sp_grand',
1797
+ '%sp_gsort',
1798
+ '%sp_i_ce',
1799
+ '%sp_i_h',
1800
+ '%sp_i_s',
1801
+ '%sp_i_sp',
1802
+ '%sp_i_st',
1803
+ '%sp_int',
1804
+ '%sp_inv',
1805
+ '%sp_k_s',
1806
+ '%sp_k_sp',
1807
+ '%sp_l_s',
1808
+ '%sp_l_sp',
1809
+ '%sp_length',
1810
+ '%sp_max',
1811
+ '%sp_min',
1812
+ '%sp_norm',
1813
+ '%sp_or',
1814
+ '%sp_p_s',
1815
+ '%sp_prod',
1816
+ '%sp_q_s',
1817
+ '%sp_q_sp',
1818
+ '%sp_r_s',
1819
+ '%sp_r_sp',
1820
+ '%sp_round',
1821
+ '%sp_s_s',
1822
+ '%sp_s_sp',
1823
+ '%sp_sin',
1824
+ '%sp_sqrt',
1825
+ '%sp_string',
1826
+ '%sp_sum',
1827
+ '%sp_tril',
1828
+ '%sp_triu',
1829
+ '%sp_y_s',
1830
+ '%sp_y_sp',
1831
+ '%sp_z_s',
1832
+ '%sp_z_sp',
1833
+ '%spb_and',
1834
+ '%spb_c_b',
1835
+ '%spb_cumprod',
1836
+ '%spb_cumsum',
1837
+ '%spb_diag',
1838
+ '%spb_e',
1839
+ '%spb_f_b',
1840
+ '%spb_g_b',
1841
+ '%spb_g_spb',
1842
+ '%spb_h_b',
1843
+ '%spb_h_spb',
1844
+ '%spb_i_b',
1845
+ '%spb_i_ce',
1846
+ '%spb_i_h',
1847
+ '%spb_i_st',
1848
+ '%spb_or',
1849
+ '%spb_prod',
1850
+ '%spb_sum',
1851
+ '%spb_tril',
1852
+ '%spb_triu',
1853
+ '%st_6',
1854
+ '%st_c_st',
1855
+ '%st_e',
1856
+ '%st_f_st',
1857
+ '%st_i_b',
1858
+ '%st_i_c',
1859
+ '%st_i_fptr',
1860
+ '%st_i_h',
1861
+ '%st_i_i',
1862
+ '%st_i_ip',
1863
+ '%st_i_lss',
1864
+ '%st_i_msp',
1865
+ '%st_i_p',
1866
+ '%st_i_r',
1867
+ '%st_i_s',
1868
+ '%st_i_sp',
1869
+ '%st_i_spb',
1870
+ '%st_i_st',
1871
+ '%st_matrix',
1872
+ '%st_n_c',
1873
+ '%st_n_l',
1874
+ '%st_n_mc',
1875
+ '%st_n_p',
1876
+ '%st_n_s',
1877
+ '%st_o_c',
1878
+ '%st_o_l',
1879
+ '%st_o_mc',
1880
+ '%st_o_p',
1881
+ '%st_o_s',
1882
+ '%st_o_tl',
1883
+ '%st_p',
1884
+ '%st_size',
1885
+ '%st_string',
1886
+ '%st_t',
1887
+ '%ticks_i_h',
1888
+ '%xls_e',
1889
+ '%xls_p',
1890
+ '%xlssheet_e',
1891
+ '%xlssheet_p',
1892
+ '%xlssheet_size',
1893
+ '%xlssheet_string',
1894
+ 'DominationRank',
1895
+ 'G_make',
1896
+ 'IsAScalar',
1897
+ 'NDcost',
1898
+ 'OS_Version',
1899
+ 'PlotSparse',
1900
+ 'ReadHBSparse',
1901
+ 'TCL_CreateSlave',
1902
+ 'abcd',
1903
+ 'abinv',
1904
+ 'accept_func_default',
1905
+ 'accept_func_vfsa',
1906
+ 'acf',
1907
+ 'acosd',
1908
+ 'acosh',
1909
+ 'acoshm',
1910
+ 'acosm',
1911
+ 'acot',
1912
+ 'acotd',
1913
+ 'acoth',
1914
+ 'acsc',
1915
+ 'acscd',
1916
+ 'acsch',
1917
+ 'add_demo',
1918
+ 'add_help_chapter',
1919
+ 'add_module_help_chapter',
1920
+ 'add_param',
1921
+ 'add_profiling',
1922
+ 'adj2sp',
1923
+ 'aff2ab',
1924
+ 'ana_style',
1925
+ 'analpf',
1926
+ 'analyze',
1927
+ 'aplat',
1928
+ 'arhnk',
1929
+ 'arl2',
1930
+ 'arma2p',
1931
+ 'arma2ss',
1932
+ 'armac',
1933
+ 'armax',
1934
+ 'armax1',
1935
+ 'arobasestring2strings',
1936
+ 'arsimul',
1937
+ 'ascii2string',
1938
+ 'asciimat',
1939
+ 'asec',
1940
+ 'asecd',
1941
+ 'asech',
1942
+ 'asind',
1943
+ 'asinh',
1944
+ 'asinhm',
1945
+ 'asinm',
1946
+ 'assert_checkalmostequal',
1947
+ 'assert_checkequal',
1948
+ 'assert_checkerror',
1949
+ 'assert_checkfalse',
1950
+ 'assert_checkfilesequal',
1951
+ 'assert_checktrue',
1952
+ 'assert_comparecomplex',
1953
+ 'assert_computedigits',
1954
+ 'assert_cond2reltol',
1955
+ 'assert_cond2reqdigits',
1956
+ 'assert_generror',
1957
+ 'atand',
1958
+ 'atanh',
1959
+ 'atanhm',
1960
+ 'atanm',
1961
+ 'atomsAutoload',
1962
+ 'atomsAutoloadAdd',
1963
+ 'atomsAutoloadDel',
1964
+ 'atomsAutoloadList',
1965
+ 'atomsCategoryList',
1966
+ 'atomsCheckModule',
1967
+ 'atomsDepTreeShow',
1968
+ 'atomsGetConfig',
1969
+ 'atomsGetInstalled',
1970
+ 'atomsGetInstalledPath',
1971
+ 'atomsGetLoaded',
1972
+ 'atomsGetLoadedPath',
1973
+ 'atomsInstall',
1974
+ 'atomsIsInstalled',
1975
+ 'atomsIsLoaded',
1976
+ 'atomsList',
1977
+ 'atomsLoad',
1978
+ 'atomsQuit',
1979
+ 'atomsRemove',
1980
+ 'atomsRepositoryAdd',
1981
+ 'atomsRepositoryDel',
1982
+ 'atomsRepositoryList',
1983
+ 'atomsRestoreConfig',
1984
+ 'atomsSaveConfig',
1985
+ 'atomsSearch',
1986
+ 'atomsSetConfig',
1987
+ 'atomsShow',
1988
+ 'atomsSystemInit',
1989
+ 'atomsSystemUpdate',
1990
+ 'atomsTest',
1991
+ 'atomsUpdate',
1992
+ 'atomsVersion',
1993
+ 'augment',
1994
+ 'auread',
1995
+ 'auwrite',
1996
+ 'balreal',
1997
+ 'bench_run',
1998
+ 'bilin',
1999
+ 'bilt',
2000
+ 'bin2dec',
2001
+ 'binomial',
2002
+ 'bitand',
2003
+ 'bitcmp',
2004
+ 'bitget',
2005
+ 'bitor',
2006
+ 'bitset',
2007
+ 'bitxor',
2008
+ 'black',
2009
+ 'blanks',
2010
+ 'bloc2exp',
2011
+ 'bloc2ss',
2012
+ 'block_parameter_error',
2013
+ 'bode',
2014
+ 'bode_asymp',
2015
+ 'bstap',
2016
+ 'buttmag',
2017
+ 'bvodeS',
2018
+ 'bytecode',
2019
+ 'bytecodewalk',
2020
+ 'cainv',
2021
+ 'calendar',
2022
+ 'calerf',
2023
+ 'calfrq',
2024
+ 'canon',
2025
+ 'casc',
2026
+ 'cat',
2027
+ 'cat_code',
2028
+ 'cb_m2sci_gui',
2029
+ 'ccontrg',
2030
+ 'cell',
2031
+ 'cell2mat',
2032
+ 'cellstr',
2033
+ 'center',
2034
+ 'cepstrum',
2035
+ 'cfspec',
2036
+ 'char',
2037
+ 'chart',
2038
+ 'cheb1mag',
2039
+ 'cheb2mag',
2040
+ 'check_gateways',
2041
+ 'check_modules_xml',
2042
+ 'check_versions',
2043
+ 'chepol',
2044
+ 'chfact',
2045
+ 'chsolve',
2046
+ 'classmarkov',
2047
+ 'clean_help',
2048
+ 'clock',
2049
+ 'cls2dls',
2050
+ 'cmb_lin',
2051
+ 'cmndred',
2052
+ 'cmoment',
2053
+ 'coding_ga_binary',
2054
+ 'coding_ga_identity',
2055
+ 'coff',
2056
+ 'coffg',
2057
+ 'colcomp',
2058
+ 'colcompr',
2059
+ 'colinout',
2060
+ 'colregul',
2061
+ 'companion',
2062
+ 'complex',
2063
+ 'compute_initial_temp',
2064
+ 'cond',
2065
+ 'cond2sp',
2066
+ 'condestsp',
2067
+ 'configure_msifort',
2068
+ 'configure_msvc',
2069
+ 'conjgrad',
2070
+ 'cont_frm',
2071
+ 'cont_mat',
2072
+ 'contrss',
2073
+ 'conv',
2074
+ 'convert_to_float',
2075
+ 'convertindex',
2076
+ 'convol',
2077
+ 'convol2d',
2078
+ 'copfac',
2079
+ 'correl',
2080
+ 'cosd',
2081
+ 'cosh',
2082
+ 'coshm',
2083
+ 'cosm',
2084
+ 'cotd',
2085
+ 'cotg',
2086
+ 'coth',
2087
+ 'cothm',
2088
+ 'cov',
2089
+ 'covar',
2090
+ 'createXConfiguration',
2091
+ 'createfun',
2092
+ 'createstruct',
2093
+ 'cross',
2094
+ 'crossover_ga_binary',
2095
+ 'crossover_ga_default',
2096
+ 'csc',
2097
+ 'cscd',
2098
+ 'csch',
2099
+ 'csgn',
2100
+ 'csim',
2101
+ 'cspect',
2102
+ 'ctr_gram',
2103
+ 'czt',
2104
+ 'dae',
2105
+ 'daeoptions',
2106
+ 'damp',
2107
+ 'datafit',
2108
+ 'date',
2109
+ 'datenum',
2110
+ 'datevec',
2111
+ 'dbphi',
2112
+ 'dcf',
2113
+ 'ddp',
2114
+ 'dec2bin',
2115
+ 'dec2hex',
2116
+ 'dec2oct',
2117
+ 'del_help_chapter',
2118
+ 'del_module_help_chapter',
2119
+ 'demo_begin',
2120
+ 'demo_choose',
2121
+ 'demo_compiler',
2122
+ 'demo_end',
2123
+ 'demo_file_choice',
2124
+ 'demo_folder_choice',
2125
+ 'demo_function_choice',
2126
+ 'demo_gui',
2127
+ 'demo_run',
2128
+ 'demo_viewCode',
2129
+ 'denom',
2130
+ 'derivat',
2131
+ 'derivative',
2132
+ 'des2ss',
2133
+ 'des2tf',
2134
+ 'detectmsifort64tools',
2135
+ 'detectmsvc64tools',
2136
+ 'determ',
2137
+ 'detr',
2138
+ 'detrend',
2139
+ 'devtools_run_builder',
2140
+ 'dhnorm',
2141
+ 'diff',
2142
+ 'diophant',
2143
+ 'dir',
2144
+ 'dirname',
2145
+ 'dispfiles',
2146
+ 'dllinfo',
2147
+ 'dscr',
2148
+ 'dsimul',
2149
+ 'dt_ility',
2150
+ 'dtsi',
2151
+ 'edit',
2152
+ 'edit_error',
2153
+ 'editor',
2154
+ 'eigenmarkov',
2155
+ 'eigs',
2156
+ 'ell1mag',
2157
+ 'enlarge_shape',
2158
+ 'entropy',
2159
+ 'eomday',
2160
+ 'epred',
2161
+ 'eqfir',
2162
+ 'eqiir',
2163
+ 'equil',
2164
+ 'equil1',
2165
+ 'erfinv',
2166
+ 'etime',
2167
+ 'eval',
2168
+ 'evans',
2169
+ 'evstr',
2170
+ 'example_run',
2171
+ 'expression2code',
2172
+ 'extract_help_examples',
2173
+ 'factor',
2174
+ 'factorial',
2175
+ 'factors',
2176
+ 'faurre',
2177
+ 'ffilt',
2178
+ 'fft2',
2179
+ 'fftshift',
2180
+ 'fieldnames',
2181
+ 'filt_sinc',
2182
+ 'filter',
2183
+ 'findABCD',
2184
+ 'findAC',
2185
+ 'findBDK',
2186
+ 'findR',
2187
+ 'find_freq',
2188
+ 'find_links',
2189
+ 'find_scicos_version',
2190
+ 'findm',
2191
+ 'findmsifortcompiler',
2192
+ 'findmsvccompiler',
2193
+ 'findx0BD',
2194
+ 'firstnonsingleton',
2195
+ 'fix',
2196
+ 'fixedpointgcd',
2197
+ 'flipdim',
2198
+ 'flts',
2199
+ 'fminsearch',
2200
+ 'formatBlackTip',
2201
+ 'formatBodeMagTip',
2202
+ 'formatBodePhaseTip',
2203
+ 'formatGainplotTip',
2204
+ 'formatHallModuleTip',
2205
+ 'formatHallPhaseTip',
2206
+ 'formatNicholsGainTip',
2207
+ 'formatNicholsPhaseTip',
2208
+ 'formatNyquistTip',
2209
+ 'formatPhaseplotTip',
2210
+ 'formatSgridDampingTip',
2211
+ 'formatSgridFreqTip',
2212
+ 'formatZgridDampingTip',
2213
+ 'formatZgridFreqTip',
2214
+ 'format_txt',
2215
+ 'fourplan',
2216
+ 'frep2tf',
2217
+ 'freson',
2218
+ 'frfit',
2219
+ 'frmag',
2220
+ 'fseek_origin',
2221
+ 'fsfirlin',
2222
+ 'fspec',
2223
+ 'fspecg',
2224
+ 'fstabst',
2225
+ 'ftest',
2226
+ 'ftuneq',
2227
+ 'fullfile',
2228
+ 'fullrf',
2229
+ 'fullrfk',
2230
+ 'fun2string',
2231
+ 'g_margin',
2232
+ 'gainplot',
2233
+ 'gamitg',
2234
+ 'gcare',
2235
+ 'gcd',
2236
+ 'gencompilationflags_unix',
2237
+ 'generateBlockImage',
2238
+ 'generateBlockImages',
2239
+ 'generic_i_ce',
2240
+ 'generic_i_h',
2241
+ 'generic_i_hm',
2242
+ 'generic_i_s',
2243
+ 'generic_i_st',
2244
+ 'genlib',
2245
+ 'genmarkov',
2246
+ 'geomean',
2247
+ 'getDiagramVersion',
2248
+ 'getModelicaPath',
2249
+ 'getPreferencesValue',
2250
+ 'get_file_path',
2251
+ 'get_function_path',
2252
+ 'get_param',
2253
+ 'get_profile',
2254
+ 'get_scicos_version',
2255
+ 'getd',
2256
+ 'getscilabkeywords',
2257
+ 'getshell',
2258
+ 'gettklib',
2259
+ 'gfare',
2260
+ 'gfrancis',
2261
+ 'givens',
2262
+ 'glever',
2263
+ 'gmres',
2264
+ 'group',
2265
+ 'gschur',
2266
+ 'gspec',
2267
+ 'gtild',
2268
+ 'h2norm',
2269
+ 'h_cl',
2270
+ 'h_inf',
2271
+ 'h_inf_st',
2272
+ 'h_norm',
2273
+ 'hallchart',
2274
+ 'halt',
2275
+ 'hank',
2276
+ 'hankelsv',
2277
+ 'harmean',
2278
+ 'haveacompiler',
2279
+ 'head_comments',
2280
+ 'help_from_sci',
2281
+ 'help_skeleton',
2282
+ 'hermit',
2283
+ 'hex2dec',
2284
+ 'hilb',
2285
+ 'hilbert',
2286
+ 'histc',
2287
+ 'horner',
2288
+ 'householder',
2289
+ 'hrmt',
2290
+ 'htrianr',
2291
+ 'hypermat',
2292
+ 'idct',
2293
+ 'idst',
2294
+ 'ifft',
2295
+ 'ifftshift',
2296
+ 'iir',
2297
+ 'iirgroup',
2298
+ 'iirlp',
2299
+ 'iirmod',
2300
+ 'ilib_build',
2301
+ 'ilib_build_jar',
2302
+ 'ilib_compile',
2303
+ 'ilib_for_link',
2304
+ 'ilib_gen_Make',
2305
+ 'ilib_gen_Make_unix',
2306
+ 'ilib_gen_cleaner',
2307
+ 'ilib_gen_gateway',
2308
+ 'ilib_gen_loader',
2309
+ 'ilib_include_flag',
2310
+ 'ilib_mex_build',
2311
+ 'im_inv',
2312
+ 'importScicosDiagram',
2313
+ 'importScicosPal',
2314
+ 'importXcosDiagram',
2315
+ 'imrep2ss',
2316
+ 'ind2sub',
2317
+ 'inistate',
2318
+ 'init_ga_default',
2319
+ 'init_param',
2320
+ 'initial_scicos_tables',
2321
+ 'input',
2322
+ 'instruction2code',
2323
+ 'intc',
2324
+ 'intdec',
2325
+ 'integrate',
2326
+ 'interp1',
2327
+ 'interpln',
2328
+ 'intersect',
2329
+ 'intl',
2330
+ 'intsplin',
2331
+ 'inttrap',
2332
+ 'inv_coeff',
2333
+ 'invr',
2334
+ 'invrs',
2335
+ 'invsyslin',
2336
+ 'iqr',
2337
+ 'isLeapYear',
2338
+ 'is_absolute_path',
2339
+ 'is_param',
2340
+ 'iscell',
2341
+ 'iscellstr',
2342
+ 'iscolumn',
2343
+ 'isempty',
2344
+ 'isfield',
2345
+ 'isinf',
2346
+ 'ismatrix',
2347
+ 'isnan',
2348
+ 'isrow',
2349
+ 'isscalar',
2350
+ 'issparse',
2351
+ 'issquare',
2352
+ 'isstruct',
2353
+ 'isvector',
2354
+ 'jmat',
2355
+ 'justify',
2356
+ 'kalm',
2357
+ 'karmarkar',
2358
+ 'kernel',
2359
+ 'kpure',
2360
+ 'krac2',
2361
+ 'kroneck',
2362
+ 'lattn',
2363
+ 'lattp',
2364
+ 'launchtest',
2365
+ 'lcf',
2366
+ 'lcm',
2367
+ 'lcmdiag',
2368
+ 'leastsq',
2369
+ 'leqe',
2370
+ 'leqr',
2371
+ 'lev',
2372
+ 'levin',
2373
+ 'lex_sort',
2374
+ 'lft',
2375
+ 'lin',
2376
+ 'lin2mu',
2377
+ 'lincos',
2378
+ 'lindquist',
2379
+ 'linf',
2380
+ 'linfn',
2381
+ 'linsolve',
2382
+ 'linspace',
2383
+ 'list2vec',
2384
+ 'list_param',
2385
+ 'listfiles',
2386
+ 'listfunctions',
2387
+ 'listvarinfile',
2388
+ 'lmisolver',
2389
+ 'lmitool',
2390
+ 'loadXcosLibs',
2391
+ 'loadmatfile',
2392
+ 'loadwave',
2393
+ 'log10',
2394
+ 'log2',
2395
+ 'logm',
2396
+ 'logspace',
2397
+ 'lqe',
2398
+ 'lqg',
2399
+ 'lqg2stan',
2400
+ 'lqg_ltr',
2401
+ 'lqr',
2402
+ 'ls',
2403
+ 'lyap',
2404
+ 'm2sci_gui',
2405
+ 'm_circle',
2406
+ 'macglov',
2407
+ 'macrovar',
2408
+ 'mad',
2409
+ 'makecell',
2410
+ 'manedit',
2411
+ 'mapsound',
2412
+ 'markp2ss',
2413
+ 'matfile2sci',
2414
+ 'mdelete',
2415
+ 'mean',
2416
+ 'meanf',
2417
+ 'median',
2418
+ 'members',
2419
+ 'mese',
2420
+ 'meshgrid',
2421
+ 'mfft',
2422
+ 'mfile2sci',
2423
+ 'minreal',
2424
+ 'minss',
2425
+ 'mkdir',
2426
+ 'modulo',
2427
+ 'moment',
2428
+ 'mrfit',
2429
+ 'msd',
2430
+ 'mstr2sci',
2431
+ 'mtlb',
2432
+ 'mtlb_0',
2433
+ 'mtlb_a',
2434
+ 'mtlb_all',
2435
+ 'mtlb_any',
2436
+ 'mtlb_axes',
2437
+ 'mtlb_axis',
2438
+ 'mtlb_beta',
2439
+ 'mtlb_box',
2440
+ 'mtlb_choices',
2441
+ 'mtlb_close',
2442
+ 'mtlb_colordef',
2443
+ 'mtlb_cond',
2444
+ 'mtlb_cov',
2445
+ 'mtlb_cumprod',
2446
+ 'mtlb_cumsum',
2447
+ 'mtlb_dec2hex',
2448
+ 'mtlb_delete',
2449
+ 'mtlb_diag',
2450
+ 'mtlb_diff',
2451
+ 'mtlb_dir',
2452
+ 'mtlb_double',
2453
+ 'mtlb_e',
2454
+ 'mtlb_echo',
2455
+ 'mtlb_error',
2456
+ 'mtlb_eval',
2457
+ 'mtlb_exist',
2458
+ 'mtlb_eye',
2459
+ 'mtlb_false',
2460
+ 'mtlb_fft',
2461
+ 'mtlb_fftshift',
2462
+ 'mtlb_filter',
2463
+ 'mtlb_find',
2464
+ 'mtlb_findstr',
2465
+ 'mtlb_fliplr',
2466
+ 'mtlb_fopen',
2467
+ 'mtlb_format',
2468
+ 'mtlb_fprintf',
2469
+ 'mtlb_fread',
2470
+ 'mtlb_fscanf',
2471
+ 'mtlb_full',
2472
+ 'mtlb_fwrite',
2473
+ 'mtlb_get',
2474
+ 'mtlb_grid',
2475
+ 'mtlb_hold',
2476
+ 'mtlb_i',
2477
+ 'mtlb_ifft',
2478
+ 'mtlb_image',
2479
+ 'mtlb_imp',
2480
+ 'mtlb_int16',
2481
+ 'mtlb_int32',
2482
+ 'mtlb_int8',
2483
+ 'mtlb_is',
2484
+ 'mtlb_isa',
2485
+ 'mtlb_isfield',
2486
+ 'mtlb_isletter',
2487
+ 'mtlb_isspace',
2488
+ 'mtlb_l',
2489
+ 'mtlb_legendre',
2490
+ 'mtlb_linspace',
2491
+ 'mtlb_logic',
2492
+ 'mtlb_logical',
2493
+ 'mtlb_loglog',
2494
+ 'mtlb_lower',
2495
+ 'mtlb_max',
2496
+ 'mtlb_mean',
2497
+ 'mtlb_median',
2498
+ 'mtlb_mesh',
2499
+ 'mtlb_meshdom',
2500
+ 'mtlb_min',
2501
+ 'mtlb_more',
2502
+ 'mtlb_num2str',
2503
+ 'mtlb_ones',
2504
+ 'mtlb_pcolor',
2505
+ 'mtlb_plot',
2506
+ 'mtlb_prod',
2507
+ 'mtlb_qr',
2508
+ 'mtlb_qz',
2509
+ 'mtlb_rand',
2510
+ 'mtlb_randn',
2511
+ 'mtlb_rcond',
2512
+ 'mtlb_realmax',
2513
+ 'mtlb_realmin',
2514
+ 'mtlb_s',
2515
+ 'mtlb_semilogx',
2516
+ 'mtlb_semilogy',
2517
+ 'mtlb_setstr',
2518
+ 'mtlb_size',
2519
+ 'mtlb_sort',
2520
+ 'mtlb_sortrows',
2521
+ 'mtlb_sprintf',
2522
+ 'mtlb_sscanf',
2523
+ 'mtlb_std',
2524
+ 'mtlb_strcmp',
2525
+ 'mtlb_strcmpi',
2526
+ 'mtlb_strfind',
2527
+ 'mtlb_strrep',
2528
+ 'mtlb_subplot',
2529
+ 'mtlb_sum',
2530
+ 'mtlb_t',
2531
+ 'mtlb_toeplitz',
2532
+ 'mtlb_tril',
2533
+ 'mtlb_triu',
2534
+ 'mtlb_true',
2535
+ 'mtlb_type',
2536
+ 'mtlb_uint16',
2537
+ 'mtlb_uint32',
2538
+ 'mtlb_uint8',
2539
+ 'mtlb_upper',
2540
+ 'mtlb_var',
2541
+ 'mtlb_zeros',
2542
+ 'mu2lin',
2543
+ 'mutation_ga_binary',
2544
+ 'mutation_ga_default',
2545
+ 'mvcorrel',
2546
+ 'mvvacov',
2547
+ 'nancumsum',
2548
+ 'nand2mean',
2549
+ 'nanmax',
2550
+ 'nanmean',
2551
+ 'nanmeanf',
2552
+ 'nanmedian',
2553
+ 'nanmin',
2554
+ 'nanreglin',
2555
+ 'nanstdev',
2556
+ 'nansum',
2557
+ 'narsimul',
2558
+ 'ndgrid',
2559
+ 'ndims',
2560
+ 'nehari',
2561
+ 'neigh_func_csa',
2562
+ 'neigh_func_default',
2563
+ 'neigh_func_fsa',
2564
+ 'neigh_func_vfsa',
2565
+ 'neldermead_cget',
2566
+ 'neldermead_configure',
2567
+ 'neldermead_costf',
2568
+ 'neldermead_defaultoutput',
2569
+ 'neldermead_destroy',
2570
+ 'neldermead_function',
2571
+ 'neldermead_get',
2572
+ 'neldermead_log',
2573
+ 'neldermead_new',
2574
+ 'neldermead_restart',
2575
+ 'neldermead_search',
2576
+ 'neldermead_updatesimp',
2577
+ 'nextpow2',
2578
+ 'nfreq',
2579
+ 'nicholschart',
2580
+ 'nlev',
2581
+ 'nmplot_cget',
2582
+ 'nmplot_configure',
2583
+ 'nmplot_contour',
2584
+ 'nmplot_destroy',
2585
+ 'nmplot_function',
2586
+ 'nmplot_get',
2587
+ 'nmplot_historyplot',
2588
+ 'nmplot_log',
2589
+ 'nmplot_new',
2590
+ 'nmplot_outputcmd',
2591
+ 'nmplot_restart',
2592
+ 'nmplot_search',
2593
+ 'nmplot_simplexhistory',
2594
+ 'noisegen',
2595
+ 'nonreg_test_run',
2596
+ 'now',
2597
+ 'nthroot',
2598
+ 'null',
2599
+ 'num2cell',
2600
+ 'numderivative',
2601
+ 'numdiff',
2602
+ 'numer',
2603
+ 'nyquist',
2604
+ 'nyquistfrequencybounds',
2605
+ 'obs_gram',
2606
+ 'obscont',
2607
+ 'observer',
2608
+ 'obsv_mat',
2609
+ 'obsvss',
2610
+ 'oct2dec',
2611
+ 'odeoptions',
2612
+ 'optim_ga',
2613
+ 'optim_moga',
2614
+ 'optim_nsga',
2615
+ 'optim_nsga2',
2616
+ 'optim_sa',
2617
+ 'optimbase_cget',
2618
+ 'optimbase_checkbounds',
2619
+ 'optimbase_checkcostfun',
2620
+ 'optimbase_checkx0',
2621
+ 'optimbase_configure',
2622
+ 'optimbase_destroy',
2623
+ 'optimbase_function',
2624
+ 'optimbase_get',
2625
+ 'optimbase_hasbounds',
2626
+ 'optimbase_hasconstraints',
2627
+ 'optimbase_hasnlcons',
2628
+ 'optimbase_histget',
2629
+ 'optimbase_histset',
2630
+ 'optimbase_incriter',
2631
+ 'optimbase_isfeasible',
2632
+ 'optimbase_isinbounds',
2633
+ 'optimbase_isinnonlincons',
2634
+ 'optimbase_log',
2635
+ 'optimbase_logshutdown',
2636
+ 'optimbase_logstartup',
2637
+ 'optimbase_new',
2638
+ 'optimbase_outputcmd',
2639
+ 'optimbase_outstruct',
2640
+ 'optimbase_proj2bnds',
2641
+ 'optimbase_set',
2642
+ 'optimbase_stoplog',
2643
+ 'optimbase_terminate',
2644
+ 'optimget',
2645
+ 'optimplotfunccount',
2646
+ 'optimplotfval',
2647
+ 'optimplotx',
2648
+ 'optimset',
2649
+ 'optimsimplex_center',
2650
+ 'optimsimplex_check',
2651
+ 'optimsimplex_compsomefv',
2652
+ 'optimsimplex_computefv',
2653
+ 'optimsimplex_deltafv',
2654
+ 'optimsimplex_deltafvmax',
2655
+ 'optimsimplex_destroy',
2656
+ 'optimsimplex_dirmat',
2657
+ 'optimsimplex_fvmean',
2658
+ 'optimsimplex_fvstdev',
2659
+ 'optimsimplex_fvvariance',
2660
+ 'optimsimplex_getall',
2661
+ 'optimsimplex_getallfv',
2662
+ 'optimsimplex_getallx',
2663
+ 'optimsimplex_getfv',
2664
+ 'optimsimplex_getn',
2665
+ 'optimsimplex_getnbve',
2666
+ 'optimsimplex_getve',
2667
+ 'optimsimplex_getx',
2668
+ 'optimsimplex_gradientfv',
2669
+ 'optimsimplex_log',
2670
+ 'optimsimplex_new',
2671
+ 'optimsimplex_reflect',
2672
+ 'optimsimplex_setall',
2673
+ 'optimsimplex_setallfv',
2674
+ 'optimsimplex_setallx',
2675
+ 'optimsimplex_setfv',
2676
+ 'optimsimplex_setn',
2677
+ 'optimsimplex_setnbve',
2678
+ 'optimsimplex_setve',
2679
+ 'optimsimplex_setx',
2680
+ 'optimsimplex_shrink',
2681
+ 'optimsimplex_size',
2682
+ 'optimsimplex_sort',
2683
+ 'optimsimplex_xbar',
2684
+ 'orth',
2685
+ 'output_ga_default',
2686
+ 'output_moga_default',
2687
+ 'output_nsga2_default',
2688
+ 'output_nsga_default',
2689
+ 'p_margin',
2690
+ 'pack',
2691
+ 'pareto_filter',
2692
+ 'parrot',
2693
+ 'pbig',
2694
+ 'pca',
2695
+ 'pcg',
2696
+ 'pdiv',
2697
+ 'pen2ea',
2698
+ 'pencan',
2699
+ 'pencost',
2700
+ 'penlaur',
2701
+ 'perctl',
2702
+ 'perl',
2703
+ 'perms',
2704
+ 'permute',
2705
+ 'pertrans',
2706
+ 'pfactors',
2707
+ 'pfss',
2708
+ 'phasemag',
2709
+ 'phaseplot',
2710
+ 'phc',
2711
+ 'pinv',
2712
+ 'playsnd',
2713
+ 'plotprofile',
2714
+ 'plzr',
2715
+ 'pmodulo',
2716
+ 'pol2des',
2717
+ 'pol2str',
2718
+ 'polar',
2719
+ 'polfact',
2720
+ 'prbs_a',
2721
+ 'prettyprint',
2722
+ 'primes',
2723
+ 'princomp',
2724
+ 'profile',
2725
+ 'proj',
2726
+ 'projsl',
2727
+ 'projspec',
2728
+ 'psmall',
2729
+ 'pspect',
2730
+ 'qmr',
2731
+ 'qpsolve',
2732
+ 'quart',
2733
+ 'quaskro',
2734
+ 'rafiter',
2735
+ 'randpencil',
2736
+ 'range',
2737
+ 'rank',
2738
+ 'readxls',
2739
+ 'recompilefunction',
2740
+ 'recons',
2741
+ 'reglin',
2742
+ 'regress',
2743
+ 'remezb',
2744
+ 'remove_param',
2745
+ 'remove_profiling',
2746
+ 'repfreq',
2747
+ 'replace_Ix_by_Fx',
2748
+ 'repmat',
2749
+ 'reset_profiling',
2750
+ 'resize_matrix',
2751
+ 'returntoscilab',
2752
+ 'rhs2code',
2753
+ 'ric_desc',
2754
+ 'riccati',
2755
+ 'rmdir',
2756
+ 'routh_t',
2757
+ 'rowcomp',
2758
+ 'rowcompr',
2759
+ 'rowinout',
2760
+ 'rowregul',
2761
+ 'rowshuff',
2762
+ 'rref',
2763
+ 'sample',
2764
+ 'samplef',
2765
+ 'samwr',
2766
+ 'savematfile',
2767
+ 'savewave',
2768
+ 'scanf',
2769
+ 'sci2exp',
2770
+ 'sciGUI_init',
2771
+ 'sci_sparse',
2772
+ 'scicos_getvalue',
2773
+ 'scicos_simulate',
2774
+ 'scicos_workspace_init',
2775
+ 'scisptdemo',
2776
+ 'scitest',
2777
+ 'sdiff',
2778
+ 'sec',
2779
+ 'secd',
2780
+ 'sech',
2781
+ 'selection_ga_elitist',
2782
+ 'selection_ga_random',
2783
+ 'sensi',
2784
+ 'setPreferencesValue',
2785
+ 'set_param',
2786
+ 'setdiff',
2787
+ 'sgrid',
2788
+ 'show_margins',
2789
+ 'show_pca',
2790
+ 'showprofile',
2791
+ 'signm',
2792
+ 'sinc',
2793
+ 'sincd',
2794
+ 'sind',
2795
+ 'sinh',
2796
+ 'sinhm',
2797
+ 'sinm',
2798
+ 'sm2des',
2799
+ 'sm2ss',
2800
+ 'smga',
2801
+ 'smooth',
2802
+ 'solve',
2803
+ 'sound',
2804
+ 'soundsec',
2805
+ 'sp2adj',
2806
+ 'spaninter',
2807
+ 'spanplus',
2808
+ 'spantwo',
2809
+ 'specfact',
2810
+ 'speye',
2811
+ 'sprand',
2812
+ 'spzeros',
2813
+ 'sqroot',
2814
+ 'sqrtm',
2815
+ 'squarewave',
2816
+ 'squeeze',
2817
+ 'srfaur',
2818
+ 'srkf',
2819
+ 'ss2des',
2820
+ 'ss2ss',
2821
+ 'ss2tf',
2822
+ 'sskf',
2823
+ 'ssprint',
2824
+ 'ssrand',
2825
+ 'st_deviation',
2826
+ 'st_i_generic',
2827
+ 'st_ility',
2828
+ 'stabil',
2829
+ 'statgain',
2830
+ 'stdev',
2831
+ 'stdevf',
2832
+ 'steadycos',
2833
+ 'strange',
2834
+ 'strcmpi',
2835
+ 'struct',
2836
+ 'sub2ind',
2837
+ 'sva',
2838
+ 'svplot',
2839
+ 'sylm',
2840
+ 'sylv',
2841
+ 'sysconv',
2842
+ 'sysdiag',
2843
+ 'sysfact',
2844
+ 'syslin',
2845
+ 'syssize',
2846
+ 'system',
2847
+ 'systmat',
2848
+ 'tabul',
2849
+ 'tand',
2850
+ 'tanh',
2851
+ 'tanhm',
2852
+ 'tanm',
2853
+ 'tbx_build_blocks',
2854
+ 'tbx_build_cleaner',
2855
+ 'tbx_build_gateway',
2856
+ 'tbx_build_gateway_clean',
2857
+ 'tbx_build_gateway_loader',
2858
+ 'tbx_build_help',
2859
+ 'tbx_build_help_loader',
2860
+ 'tbx_build_loader',
2861
+ 'tbx_build_localization',
2862
+ 'tbx_build_macros',
2863
+ 'tbx_build_pal_loader',
2864
+ 'tbx_build_src',
2865
+ 'tbx_builder',
2866
+ 'tbx_builder_gateway',
2867
+ 'tbx_builder_gateway_lang',
2868
+ 'tbx_builder_help',
2869
+ 'tbx_builder_help_lang',
2870
+ 'tbx_builder_macros',
2871
+ 'tbx_builder_src',
2872
+ 'tbx_builder_src_lang',
2873
+ 'tbx_generate_pofile',
2874
+ 'temp_law_csa',
2875
+ 'temp_law_default',
2876
+ 'temp_law_fsa',
2877
+ 'temp_law_huang',
2878
+ 'temp_law_vfsa',
2879
+ 'test_clean',
2880
+ 'test_on_columns',
2881
+ 'test_run',
2882
+ 'test_run_level',
2883
+ 'testexamples',
2884
+ 'tf2des',
2885
+ 'tf2ss',
2886
+ 'thrownan',
2887
+ 'tic',
2888
+ 'time_id',
2889
+ 'toc',
2890
+ 'toeplitz',
2891
+ 'tokenpos',
2892
+ 'toolboxes',
2893
+ 'trace',
2894
+ 'trans',
2895
+ 'translatepaths',
2896
+ 'tree2code',
2897
+ 'trfmod',
2898
+ 'trianfml',
2899
+ 'trimmean',
2900
+ 'trisolve',
2901
+ 'trzeros',
2902
+ 'typeof',
2903
+ 'ui_observer',
2904
+ 'union',
2905
+ 'unique',
2906
+ 'unit_test_run',
2907
+ 'unix_g',
2908
+ 'unix_s',
2909
+ 'unix_w',
2910
+ 'unix_x',
2911
+ 'unobs',
2912
+ 'unpack',
2913
+ 'unwrap',
2914
+ 'variance',
2915
+ 'variancef',
2916
+ 'vec2list',
2917
+ 'vectorfind',
2918
+ 'ver',
2919
+ 'warnobsolete',
2920
+ 'wavread',
2921
+ 'wavwrite',
2922
+ 'wcenter',
2923
+ 'weekday',
2924
+ 'wfir',
2925
+ 'wfir_gui',
2926
+ 'whereami',
2927
+ 'who_user',
2928
+ 'whos',
2929
+ 'wiener',
2930
+ 'wigner',
2931
+ 'window',
2932
+ 'winlist',
2933
+ 'with_javasci',
2934
+ 'with_macros_source',
2935
+ 'with_modelica_compiler',
2936
+ 'with_tk',
2937
+ 'xcorr',
2938
+ 'xcosBlockEval',
2939
+ 'xcosBlockInterface',
2940
+ 'xcosCodeGeneration',
2941
+ 'xcosConfigureModelica',
2942
+ 'xcosPal',
2943
+ 'xcosPalAdd',
2944
+ 'xcosPalAddBlock',
2945
+ 'xcosPalExport',
2946
+ 'xcosPalGenerateAllIcons',
2947
+ 'xcosShowBlockWarning',
2948
+ 'xcosValidateBlockSet',
2949
+ 'xcosValidateCompareBlock',
2950
+ 'xcos_compile',
2951
+ 'xcos_debug_gui',
2952
+ 'xcos_run',
2953
+ 'xcos_simulate',
2954
+ 'xcov',
2955
+ 'xmltochm',
2956
+ 'xmltoformat',
2957
+ 'xmltohtml',
2958
+ 'xmltojar',
2959
+ 'xmltopdf',
2960
+ 'xmltops',
2961
+ 'xmltoweb',
2962
+ 'yulewalk',
2963
+ 'zeropen',
2964
+ 'zgrid',
2965
+ 'zpbutt',
2966
+ 'zpch1',
2967
+ 'zpch2',
2968
+ 'zpell',
2969
+ )
2970
+
2971
+ variables_kw = (
2972
+ '$',
2973
+ '%F',
2974
+ '%T',
2975
+ '%e',
2976
+ '%eps',
2977
+ '%f',
2978
+ '%fftw',
2979
+ '%gui',
2980
+ '%i',
2981
+ '%inf',
2982
+ '%io',
2983
+ '%modalWarning',
2984
+ '%nan',
2985
+ '%pi',
2986
+ '%s',
2987
+ '%t',
2988
+ '%tk',
2989
+ '%toolboxes',
2990
+ '%toolboxes_dir',
2991
+ '%z',
2992
+ 'PWD',
2993
+ 'SCI',
2994
+ 'SCIHOME',
2995
+ 'TMPDIR',
2996
+ 'arnoldilib',
2997
+ 'assertlib',
2998
+ 'atomslib',
2999
+ 'cacsdlib',
3000
+ 'compatibility_functilib',
3001
+ 'corelib',
3002
+ 'data_structureslib',
3003
+ 'demo_toolslib',
3004
+ 'development_toolslib',
3005
+ 'differential_equationlib',
3006
+ 'dynamic_linklib',
3007
+ 'elementary_functionslib',
3008
+ 'enull',
3009
+ 'evoid',
3010
+ 'external_objectslib',
3011
+ 'fd',
3012
+ 'fileiolib',
3013
+ 'functionslib',
3014
+ 'genetic_algorithmslib',
3015
+ 'helptoolslib',
3016
+ 'home',
3017
+ 'integerlib',
3018
+ 'interpolationlib',
3019
+ 'iolib',
3020
+ 'jnull',
3021
+ 'jvoid',
3022
+ 'linear_algebralib',
3023
+ 'm2scilib',
3024
+ 'matiolib',
3025
+ 'modules_managerlib',
3026
+ 'neldermeadlib',
3027
+ 'optimbaselib',
3028
+ 'optimizationlib',
3029
+ 'optimsimplexlib',
3030
+ 'output_streamlib',
3031
+ 'overloadinglib',
3032
+ 'parameterslib',
3033
+ 'polynomialslib',
3034
+ 'preferenceslib',
3035
+ 'randliblib',
3036
+ 'scicos_autolib',
3037
+ 'scicos_utilslib',
3038
+ 'scinoteslib',
3039
+ 'signal_processinglib',
3040
+ 'simulated_annealinglib',
3041
+ 'soundlib',
3042
+ 'sparselib',
3043
+ 'special_functionslib',
3044
+ 'spreadsheetlib',
3045
+ 'statisticslib',
3046
+ 'stringlib',
3047
+ 'tclscilib',
3048
+ 'timelib',
3049
+ 'umfpacklib',
3050
+ 'xcoslib',
3051
+ )
3052
+
3053
+
3054
+ if __name__ == '__main__': # pragma: no cover
3055
+ import subprocess
3056
+ from pygments.util import format_lines, duplicates_removed
3057
+
3058
+ mapping = {'variables': 'builtin'}
3059
+
3060
+ def extract_completion(var_type):
3061
+ s = subprocess.Popen(['scilab', '-nwni'], stdin=subprocess.PIPE,
3062
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
3063
+ output = s.communicate(f'''\
3064
+ fd = mopen("/dev/stderr", "wt");
3065
+ mputl(strcat(completion("", "{var_type}"), "||"), fd);
3066
+ mclose(fd)\n''')
3067
+ if '||' not in output[1]:
3068
+ raise Exception(output[0])
3069
+ # Invalid DISPLAY causes this to be output:
3070
+ text = output[1].strip()
3071
+ if text.startswith('Error: unable to open display \n'):
3072
+ text = text[len('Error: unable to open display \n'):]
3073
+ return text.split('||')
3074
+
3075
+ new_data = {}
3076
+ seen = set() # only keep first type for a given word
3077
+ for t in ('functions', 'commands', 'macros', 'variables'):
3078
+ new_data[t] = duplicates_removed(extract_completion(t), seen)
3079
+ seen.update(set(new_data[t]))
3080
+
3081
+
3082
+ with open(__file__, encoding='utf-8') as f:
3083
+ content = f.read()
3084
+
3085
+ header = content[:content.find('# Autogenerated')]
3086
+ footer = content[content.find("if __name__ == '__main__':"):]
3087
+
3088
+ with open(__file__, 'w', encoding='utf-8') as f:
3089
+ f.write(header)
3090
+ f.write('# Autogenerated\n\n')
3091
+ for k, v in sorted(new_data.items()):
3092
+ f.write(format_lines(k + '_kw', v) + '\n\n')
3093
+ f.write(footer)
temp_venv/lib/python3.13/site-packages/pygments/lexers/_sourcemod_builtins.py ADDED
@@ -0,0 +1,1151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._sourcemod_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ This file contains the names of SourceMod functions.
6
+
7
+ Do not edit the FUNCTIONS list by hand.
8
+
9
+ Run with `python -I` to regenerate.
10
+
11
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
12
+ :license: BSD, see LICENSE for details.
13
+ """
14
+
15
+ FUNCTIONS = (
16
+ 'OnEntityCreated',
17
+ 'OnEntityDestroyed',
18
+ 'OnGetGameDescription',
19
+ 'OnLevelInit',
20
+ 'SDKHook',
21
+ 'SDKHookEx',
22
+ 'SDKUnhook',
23
+ 'SDKHooks_TakeDamage',
24
+ 'SDKHooks_DropWeapon',
25
+ 'TopMenuHandler',
26
+ 'CreateTopMenu',
27
+ 'LoadTopMenuConfig',
28
+ 'AddToTopMenu',
29
+ 'GetTopMenuInfoString',
30
+ 'GetTopMenuObjName',
31
+ 'RemoveFromTopMenu',
32
+ 'DisplayTopMenu',
33
+ 'DisplayTopMenuCategory',
34
+ 'FindTopMenuCategory',
35
+ 'SetTopMenuTitleCaching',
36
+ 'OnAdminMenuCreated',
37
+ 'OnAdminMenuReady',
38
+ 'GetAdminTopMenu',
39
+ 'AddTargetsToMenu',
40
+ 'AddTargetsToMenu2',
41
+ 'RedisplayAdminMenu',
42
+ 'TEHook',
43
+ 'AddTempEntHook',
44
+ 'RemoveTempEntHook',
45
+ 'TE_Start',
46
+ 'TE_IsValidProp',
47
+ 'TE_WriteNum',
48
+ 'TE_ReadNum',
49
+ 'TE_WriteFloat',
50
+ 'TE_ReadFloat',
51
+ 'TE_WriteVector',
52
+ 'TE_ReadVector',
53
+ 'TE_WriteAngles',
54
+ 'TE_WriteFloatArray',
55
+ 'TE_Send',
56
+ 'TE_WriteEncodedEnt',
57
+ 'TE_SendToAll',
58
+ 'TE_SendToClient',
59
+ 'CreateKeyValues',
60
+ 'KvSetString',
61
+ 'KvSetNum',
62
+ 'KvSetUInt64',
63
+ 'KvSetFloat',
64
+ 'KvSetColor',
65
+ 'KvSetVector',
66
+ 'KvGetString',
67
+ 'KvGetNum',
68
+ 'KvGetFloat',
69
+ 'KvGetColor',
70
+ 'KvGetUInt64',
71
+ 'KvGetVector',
72
+ 'KvJumpToKey',
73
+ 'KvJumpToKeySymbol',
74
+ 'KvGotoFirstSubKey',
75
+ 'KvGotoNextKey',
76
+ 'KvSavePosition',
77
+ 'KvDeleteKey',
78
+ 'KvDeleteThis',
79
+ 'KvGoBack',
80
+ 'KvRewind',
81
+ 'KvGetSectionName',
82
+ 'KvSetSectionName',
83
+ 'KvGetDataType',
84
+ 'KeyValuesToFile',
85
+ 'FileToKeyValues',
86
+ 'StringToKeyValues',
87
+ 'KvSetEscapeSequences',
88
+ 'KvNodesInStack',
89
+ 'KvCopySubkeys',
90
+ 'KvFindKeyById',
91
+ 'KvGetNameSymbol',
92
+ 'KvGetSectionSymbol',
93
+ 'TE_SetupSparks',
94
+ 'TE_SetupSmoke',
95
+ 'TE_SetupDust',
96
+ 'TE_SetupMuzzleFlash',
97
+ 'TE_SetupMetalSparks',
98
+ 'TE_SetupEnergySplash',
99
+ 'TE_SetupArmorRicochet',
100
+ 'TE_SetupGlowSprite',
101
+ 'TE_SetupExplosion',
102
+ 'TE_SetupBloodSprite',
103
+ 'TE_SetupBeamRingPoint',
104
+ 'TE_SetupBeamPoints',
105
+ 'TE_SetupBeamLaser',
106
+ 'TE_SetupBeamRing',
107
+ 'TE_SetupBeamFollow',
108
+ 'HookEvent',
109
+ 'HookEventEx',
110
+ 'UnhookEvent',
111
+ 'CreateEvent',
112
+ 'FireEvent',
113
+ 'CancelCreatedEvent',
114
+ 'GetEventBool',
115
+ 'SetEventBool',
116
+ 'GetEventInt',
117
+ 'SetEventInt',
118
+ 'GetEventFloat',
119
+ 'SetEventFloat',
120
+ 'GetEventString',
121
+ 'SetEventString',
122
+ 'GetEventName',
123
+ 'SetEventBroadcast',
124
+ 'GetUserMessageType',
125
+ 'GetUserMessageId',
126
+ 'GetUserMessageName',
127
+ 'StartMessage',
128
+ 'StartMessageEx',
129
+ 'EndMessage',
130
+ 'MsgHook',
131
+ 'MsgPostHook',
132
+ 'HookUserMessage',
133
+ 'UnhookUserMessage',
134
+ 'StartMessageAll',
135
+ 'StartMessageOne',
136
+ 'InactivateClient',
137
+ 'ReconnectClient',
138
+ 'GetMaxEntities',
139
+ 'GetEntityCount',
140
+ 'IsValidEntity',
141
+ 'IsValidEdict',
142
+ 'IsEntNetworkable',
143
+ 'CreateEdict',
144
+ 'RemoveEdict',
145
+ 'GetEdictFlags',
146
+ 'SetEdictFlags',
147
+ 'GetEdictClassname',
148
+ 'GetEntityNetClass',
149
+ 'ChangeEdictState',
150
+ 'GetEntData',
151
+ 'SetEntData',
152
+ 'GetEntDataFloat',
153
+ 'SetEntDataFloat',
154
+ 'GetEntDataEnt2',
155
+ 'SetEntDataEnt2',
156
+ 'GetEntDataVector',
157
+ 'SetEntDataVector',
158
+ 'GetEntDataString',
159
+ 'SetEntDataString',
160
+ 'FindSendPropOffs',
161
+ 'FindSendPropInfo',
162
+ 'FindDataMapOffs',
163
+ 'FindDataMapInfo',
164
+ 'GetEntSendPropOffs',
165
+ 'GetEntProp',
166
+ 'SetEntProp',
167
+ 'GetEntPropFloat',
168
+ 'SetEntPropFloat',
169
+ 'GetEntPropEnt',
170
+ 'SetEntPropEnt',
171
+ 'GetEntPropVector',
172
+ 'SetEntPropVector',
173
+ 'GetEntPropString',
174
+ 'SetEntPropString',
175
+ 'GetEntPropArraySize',
176
+ 'GetEntDataArray',
177
+ 'SetEntDataArray',
178
+ 'GetEntityAddress',
179
+ 'GetEntityClassname',
180
+ 'float',
181
+ 'FloatMul',
182
+ 'FloatDiv',
183
+ 'FloatAdd',
184
+ 'FloatSub',
185
+ 'FloatFraction',
186
+ 'RoundToZero',
187
+ 'RoundToCeil',
188
+ 'RoundToFloor',
189
+ 'RoundToNearest',
190
+ 'FloatCompare',
191
+ 'SquareRoot',
192
+ 'Pow',
193
+ 'Exponential',
194
+ 'Logarithm',
195
+ 'Sine',
196
+ 'Cosine',
197
+ 'Tangent',
198
+ 'FloatAbs',
199
+ 'ArcTangent',
200
+ 'ArcCosine',
201
+ 'ArcSine',
202
+ 'ArcTangent2',
203
+ 'RoundFloat',
204
+ 'operator%',
205
+ 'DegToRad',
206
+ 'RadToDeg',
207
+ 'GetURandomInt',
208
+ 'GetURandomFloat',
209
+ 'SetURandomSeed',
210
+ 'SetURandomSeedSimple',
211
+ 'RemovePlayerItem',
212
+ 'GivePlayerItem',
213
+ 'GetPlayerWeaponSlot',
214
+ 'IgniteEntity',
215
+ 'ExtinguishEntity',
216
+ 'TeleportEntity',
217
+ 'ForcePlayerSuicide',
218
+ 'SlapPlayer',
219
+ 'FindEntityByClassname',
220
+ 'GetClientEyeAngles',
221
+ 'CreateEntityByName',
222
+ 'DispatchSpawn',
223
+ 'DispatchKeyValue',
224
+ 'DispatchKeyValueFloat',
225
+ 'DispatchKeyValueVector',
226
+ 'GetClientAimTarget',
227
+ 'GetTeamCount',
228
+ 'GetTeamName',
229
+ 'GetTeamScore',
230
+ 'SetTeamScore',
231
+ 'GetTeamClientCount',
232
+ 'SetEntityModel',
233
+ 'GetPlayerDecalFile',
234
+ 'GetPlayerJingleFile',
235
+ 'GetServerNetStats',
236
+ 'EquipPlayerWeapon',
237
+ 'ActivateEntity',
238
+ 'SetClientInfo',
239
+ 'GivePlayerAmmo',
240
+ 'SetClientListeningFlags',
241
+ 'GetClientListeningFlags',
242
+ 'SetListenOverride',
243
+ 'GetListenOverride',
244
+ 'IsClientMuted',
245
+ 'TR_GetPointContents',
246
+ 'TR_GetPointContentsEnt',
247
+ 'TR_TraceRay',
248
+ 'TR_TraceHull',
249
+ 'TR_TraceRayFilter',
250
+ 'TR_TraceHullFilter',
251
+ 'TR_TraceRayEx',
252
+ 'TR_TraceHullEx',
253
+ 'TR_TraceRayFilterEx',
254
+ 'TR_TraceHullFilterEx',
255
+ 'TR_GetFraction',
256
+ 'TR_GetEndPosition',
257
+ 'TR_GetEntityIndex',
258
+ 'TR_DidHit',
259
+ 'TR_GetHitGroup',
260
+ 'TR_GetPlaneNormal',
261
+ 'TR_PointOutsideWorld',
262
+ 'SortIntegers',
263
+ 'SortFloats',
264
+ 'SortStrings',
265
+ 'SortFunc1D',
266
+ 'SortCustom1D',
267
+ 'SortCustom2D',
268
+ 'SortADTArray',
269
+ 'SortFuncADTArray',
270
+ 'SortADTArrayCustom',
271
+ 'CompileRegex',
272
+ 'MatchRegex',
273
+ 'GetRegexSubString',
274
+ 'SimpleRegexMatch',
275
+ 'TF2_GetPlayerClass',
276
+ 'TF2_SetPlayerClass',
277
+ 'TF2_RemoveWeaponSlot',
278
+ 'TF2_RemoveAllWeapons',
279
+ 'TF2_IsPlayerInCondition',
280
+ 'TF2_GetObjectType',
281
+ 'TF2_GetObjectMode',
282
+ 'NominateMap',
283
+ 'RemoveNominationByMap',
284
+ 'RemoveNominationByOwner',
285
+ 'GetExcludeMapList',
286
+ 'GetNominatedMapList',
287
+ 'CanMapChooserStartVote',
288
+ 'InitiateMapChooserVote',
289
+ 'HasEndOfMapVoteFinished',
290
+ 'EndOfMapVoteEnabled',
291
+ 'OnNominationRemoved',
292
+ 'OnMapVoteStarted',
293
+ 'CreateTimer',
294
+ 'KillTimer',
295
+ 'TriggerTimer',
296
+ 'GetTickedTime',
297
+ 'GetMapTimeLeft',
298
+ 'GetMapTimeLimit',
299
+ 'ExtendMapTimeLimit',
300
+ 'GetTickInterval',
301
+ 'OnMapTimeLeftChanged',
302
+ 'IsServerProcessing',
303
+ 'CreateDataTimer',
304
+ 'ByteCountToCells',
305
+ 'CreateArray',
306
+ 'ClearArray',
307
+ 'CloneArray',
308
+ 'ResizeArray',
309
+ 'GetArraySize',
310
+ 'PushArrayCell',
311
+ 'PushArrayString',
312
+ 'PushArrayArray',
313
+ 'GetArrayCell',
314
+ 'GetArrayString',
315
+ 'GetArrayArray',
316
+ 'SetArrayCell',
317
+ 'SetArrayString',
318
+ 'SetArrayArray',
319
+ 'ShiftArrayUp',
320
+ 'RemoveFromArray',
321
+ 'SwapArrayItems',
322
+ 'FindStringInArray',
323
+ 'FindValueInArray',
324
+ 'ProcessTargetString',
325
+ 'ReplyToTargetError',
326
+ 'MultiTargetFilter',
327
+ 'AddMultiTargetFilter',
328
+ 'RemoveMultiTargetFilter',
329
+ 'OnBanClient',
330
+ 'OnBanIdentity',
331
+ 'OnRemoveBan',
332
+ 'BanClient',
333
+ 'BanIdentity',
334
+ 'RemoveBan',
335
+ 'CreateTrie',
336
+ 'SetTrieValue',
337
+ 'SetTrieArray',
338
+ 'SetTrieString',
339
+ 'GetTrieValue',
340
+ 'GetTrieArray',
341
+ 'GetTrieString',
342
+ 'RemoveFromTrie',
343
+ 'ClearTrie',
344
+ 'GetTrieSize',
345
+ 'GetFunctionByName',
346
+ 'CreateGlobalForward',
347
+ 'CreateForward',
348
+ 'GetForwardFunctionCount',
349
+ 'AddToForward',
350
+ 'RemoveFromForward',
351
+ 'RemoveAllFromForward',
352
+ 'Call_StartForward',
353
+ 'Call_StartFunction',
354
+ 'Call_PushCell',
355
+ 'Call_PushCellRef',
356
+ 'Call_PushFloat',
357
+ 'Call_PushFloatRef',
358
+ 'Call_PushArray',
359
+ 'Call_PushArrayEx',
360
+ 'Call_PushString',
361
+ 'Call_PushStringEx',
362
+ 'Call_Finish',
363
+ 'Call_Cancel',
364
+ 'NativeCall',
365
+ 'CreateNative',
366
+ 'ThrowNativeError',
367
+ 'GetNativeStringLength',
368
+ 'GetNativeString',
369
+ 'SetNativeString',
370
+ 'GetNativeCell',
371
+ 'GetNativeCellRef',
372
+ 'SetNativeCellRef',
373
+ 'GetNativeArray',
374
+ 'SetNativeArray',
375
+ 'FormatNativeString',
376
+ 'RequestFrameCallback',
377
+ 'RequestFrame',
378
+ 'OnRebuildAdminCache',
379
+ 'DumpAdminCache',
380
+ 'AddCommandOverride',
381
+ 'GetCommandOverride',
382
+ 'UnsetCommandOverride',
383
+ 'CreateAdmGroup',
384
+ 'FindAdmGroup',
385
+ 'SetAdmGroupAddFlag',
386
+ 'GetAdmGroupAddFlag',
387
+ 'GetAdmGroupAddFlags',
388
+ 'SetAdmGroupImmuneFrom',
389
+ 'GetAdmGroupImmuneCount',
390
+ 'GetAdmGroupImmuneFrom',
391
+ 'AddAdmGroupCmdOverride',
392
+ 'GetAdmGroupCmdOverride',
393
+ 'RegisterAuthIdentType',
394
+ 'CreateAdmin',
395
+ 'GetAdminUsername',
396
+ 'BindAdminIdentity',
397
+ 'SetAdminFlag',
398
+ 'GetAdminFlag',
399
+ 'GetAdminFlags',
400
+ 'AdminInheritGroup',
401
+ 'GetAdminGroupCount',
402
+ 'GetAdminGroup',
403
+ 'SetAdminPassword',
404
+ 'GetAdminPassword',
405
+ 'FindAdminByIdentity',
406
+ 'RemoveAdmin',
407
+ 'FlagBitsToBitArray',
408
+ 'FlagBitArrayToBits',
409
+ 'FlagArrayToBits',
410
+ 'FlagBitsToArray',
411
+ 'FindFlagByName',
412
+ 'FindFlagByChar',
413
+ 'FindFlagChar',
414
+ 'ReadFlagString',
415
+ 'CanAdminTarget',
416
+ 'CreateAuthMethod',
417
+ 'SetAdmGroupImmunityLevel',
418
+ 'GetAdmGroupImmunityLevel',
419
+ 'SetAdminImmunityLevel',
420
+ 'GetAdminImmunityLevel',
421
+ 'FlagToBit',
422
+ 'BitToFlag',
423
+ 'ServerCommand',
424
+ 'ServerCommandEx',
425
+ 'InsertServerCommand',
426
+ 'ServerExecute',
427
+ 'ClientCommand',
428
+ 'FakeClientCommand',
429
+ 'FakeClientCommandEx',
430
+ 'PrintToServer',
431
+ 'PrintToConsole',
432
+ 'ReplyToCommand',
433
+ 'GetCmdReplySource',
434
+ 'SetCmdReplySource',
435
+ 'IsChatTrigger',
436
+ 'ShowActivity2',
437
+ 'ShowActivity',
438
+ 'ShowActivityEx',
439
+ 'FormatActivitySource',
440
+ 'SrvCmd',
441
+ 'RegServerCmd',
442
+ 'ConCmd',
443
+ 'RegConsoleCmd',
444
+ 'RegAdminCmd',
445
+ 'GetCmdArgs',
446
+ 'GetCmdArg',
447
+ 'GetCmdArgString',
448
+ 'CreateConVar',
449
+ 'FindConVar',
450
+ 'ConVarChanged',
451
+ 'HookConVarChange',
452
+ 'UnhookConVarChange',
453
+ 'GetConVarBool',
454
+ 'SetConVarBool',
455
+ 'GetConVarInt',
456
+ 'SetConVarInt',
457
+ 'GetConVarFloat',
458
+ 'SetConVarFloat',
459
+ 'GetConVarString',
460
+ 'SetConVarString',
461
+ 'ResetConVar',
462
+ 'GetConVarDefault',
463
+ 'GetConVarFlags',
464
+ 'SetConVarFlags',
465
+ 'GetConVarBounds',
466
+ 'SetConVarBounds',
467
+ 'GetConVarName',
468
+ 'QueryClientConVar',
469
+ 'GetCommandIterator',
470
+ 'ReadCommandIterator',
471
+ 'CheckCommandAccess',
472
+ 'CheckAccess',
473
+ 'IsValidConVarChar',
474
+ 'GetCommandFlags',
475
+ 'SetCommandFlags',
476
+ 'FindFirstConCommand',
477
+ 'FindNextConCommand',
478
+ 'SendConVarValue',
479
+ 'AddServerTag',
480
+ 'RemoveServerTag',
481
+ 'CommandListener',
482
+ 'AddCommandListener',
483
+ 'RemoveCommandListener',
484
+ 'CommandExists',
485
+ 'OnClientSayCommand',
486
+ 'OnClientSayCommand_Post',
487
+ 'TF2_IgnitePlayer',
488
+ 'TF2_RespawnPlayer',
489
+ 'TF2_RegeneratePlayer',
490
+ 'TF2_AddCondition',
491
+ 'TF2_RemoveCondition',
492
+ 'TF2_SetPlayerPowerPlay',
493
+ 'TF2_DisguisePlayer',
494
+ 'TF2_RemovePlayerDisguise',
495
+ 'TF2_StunPlayer',
496
+ 'TF2_MakeBleed',
497
+ 'TF2_GetClass',
498
+ 'TF2_CalcIsAttackCritical',
499
+ 'TF2_OnIsHolidayActive',
500
+ 'TF2_IsHolidayActive',
501
+ 'TF2_IsPlayerInDuel',
502
+ 'TF2_RemoveWearable',
503
+ 'TF2_OnConditionAdded',
504
+ 'TF2_OnConditionRemoved',
505
+ 'TF2_OnWaitingForPlayersStart',
506
+ 'TF2_OnWaitingForPlayersEnd',
507
+ 'TF2_OnPlayerTeleport',
508
+ 'SQL_Connect',
509
+ 'SQL_DefConnect',
510
+ 'SQL_ConnectCustom',
511
+ 'SQLite_UseDatabase',
512
+ 'SQL_CheckConfig',
513
+ 'SQL_GetDriver',
514
+ 'SQL_ReadDriver',
515
+ 'SQL_GetDriverIdent',
516
+ 'SQL_GetDriverProduct',
517
+ 'SQL_SetCharset',
518
+ 'SQL_GetAffectedRows',
519
+ 'SQL_GetInsertId',
520
+ 'SQL_GetError',
521
+ 'SQL_EscapeString',
522
+ 'SQL_QuoteString',
523
+ 'SQL_FastQuery',
524
+ 'SQL_Query',
525
+ 'SQL_PrepareQuery',
526
+ 'SQL_FetchMoreResults',
527
+ 'SQL_HasResultSet',
528
+ 'SQL_GetRowCount',
529
+ 'SQL_GetFieldCount',
530
+ 'SQL_FieldNumToName',
531
+ 'SQL_FieldNameToNum',
532
+ 'SQL_FetchRow',
533
+ 'SQL_MoreRows',
534
+ 'SQL_Rewind',
535
+ 'SQL_FetchString',
536
+ 'SQL_FetchFloat',
537
+ 'SQL_FetchInt',
538
+ 'SQL_IsFieldNull',
539
+ 'SQL_FetchSize',
540
+ 'SQL_BindParamInt',
541
+ 'SQL_BindParamFloat',
542
+ 'SQL_BindParamString',
543
+ 'SQL_Execute',
544
+ 'SQL_LockDatabase',
545
+ 'SQL_UnlockDatabase',
546
+ 'SQLTCallback',
547
+ 'SQL_IsSameConnection',
548
+ 'SQL_TConnect',
549
+ 'SQL_TQuery',
550
+ 'SQL_CreateTransaction',
551
+ 'SQL_AddQuery',
552
+ 'SQLTxnSuccess',
553
+ 'SQLTxnFailure',
554
+ 'SQL_ExecuteTransaction',
555
+ 'CloseHandle',
556
+ 'CloneHandle',
557
+ 'MenuHandler',
558
+ 'CreateMenu',
559
+ 'DisplayMenu',
560
+ 'DisplayMenuAtItem',
561
+ 'AddMenuItem',
562
+ 'InsertMenuItem',
563
+ 'RemoveMenuItem',
564
+ 'RemoveAllMenuItems',
565
+ 'GetMenuItem',
566
+ 'GetMenuSelectionPosition',
567
+ 'GetMenuItemCount',
568
+ 'SetMenuPagination',
569
+ 'GetMenuPagination',
570
+ 'GetMenuStyle',
571
+ 'SetMenuTitle',
572
+ 'GetMenuTitle',
573
+ 'CreatePanelFromMenu',
574
+ 'GetMenuExitButton',
575
+ 'SetMenuExitButton',
576
+ 'GetMenuExitBackButton',
577
+ 'SetMenuExitBackButton',
578
+ 'SetMenuNoVoteButton',
579
+ 'CancelMenu',
580
+ 'GetMenuOptionFlags',
581
+ 'SetMenuOptionFlags',
582
+ 'IsVoteInProgress',
583
+ 'CancelVote',
584
+ 'VoteMenu',
585
+ 'VoteMenuToAll',
586
+ 'VoteHandler',
587
+ 'SetVoteResultCallback',
588
+ 'CheckVoteDelay',
589
+ 'IsClientInVotePool',
590
+ 'RedrawClientVoteMenu',
591
+ 'GetMenuStyleHandle',
592
+ 'CreatePanel',
593
+ 'CreateMenuEx',
594
+ 'GetClientMenu',
595
+ 'CancelClientMenu',
596
+ 'GetMaxPageItems',
597
+ 'GetPanelStyle',
598
+ 'SetPanelTitle',
599
+ 'DrawPanelItem',
600
+ 'DrawPanelText',
601
+ 'CanPanelDrawFlags',
602
+ 'SetPanelKeys',
603
+ 'SendPanelToClient',
604
+ 'GetPanelTextRemaining',
605
+ 'GetPanelCurrentKey',
606
+ 'SetPanelCurrentKey',
607
+ 'RedrawMenuItem',
608
+ 'InternalShowMenu',
609
+ 'GetMenuVoteInfo',
610
+ 'IsNewVoteAllowed',
611
+ 'PrefetchSound',
612
+ 'EmitAmbientSound',
613
+ 'FadeClientVolume',
614
+ 'StopSound',
615
+ 'EmitSound',
616
+ 'EmitSentence',
617
+ 'GetDistGainFromSoundLevel',
618
+ 'AmbientSHook',
619
+ 'NormalSHook',
620
+ 'AddAmbientSoundHook',
621
+ 'AddNormalSoundHook',
622
+ 'RemoveAmbientSoundHook',
623
+ 'RemoveNormalSoundHook',
624
+ 'EmitSoundToClient',
625
+ 'EmitSoundToAll',
626
+ 'ATTN_TO_SNDLEVEL',
627
+ 'GetGameSoundParams',
628
+ 'EmitGameSound',
629
+ 'EmitAmbientGameSound',
630
+ 'EmitGameSoundToClient',
631
+ 'EmitGameSoundToAll',
632
+ 'PrecacheScriptSound',
633
+ 'strlen',
634
+ 'StrContains',
635
+ 'strcmp',
636
+ 'strncmp',
637
+ 'StrEqual',
638
+ 'strcopy',
639
+ 'Format',
640
+ 'FormatEx',
641
+ 'VFormat',
642
+ 'StringToInt',
643
+ 'StringToIntEx',
644
+ 'IntToString',
645
+ 'StringToFloat',
646
+ 'StringToFloatEx',
647
+ 'FloatToString',
648
+ 'BreakString',
649
+ 'TrimString',
650
+ 'SplitString',
651
+ 'ReplaceString',
652
+ 'ReplaceStringEx',
653
+ 'GetCharBytes',
654
+ 'IsCharAlpha',
655
+ 'IsCharNumeric',
656
+ 'IsCharSpace',
657
+ 'IsCharMB',
658
+ 'IsCharUpper',
659
+ 'IsCharLower',
660
+ 'StripQuotes',
661
+ 'CharToUpper',
662
+ 'CharToLower',
663
+ 'FindCharInString',
664
+ 'StrCat',
665
+ 'ExplodeString',
666
+ 'ImplodeStrings',
667
+ 'GetVectorLength',
668
+ 'GetVectorDistance',
669
+ 'GetVectorDotProduct',
670
+ 'GetVectorCrossProduct',
671
+ 'NormalizeVector',
672
+ 'GetAngleVectors',
673
+ 'GetVectorAngles',
674
+ 'GetVectorVectors',
675
+ 'AddVectors',
676
+ 'SubtractVectors',
677
+ 'ScaleVector',
678
+ 'NegateVector',
679
+ 'MakeVectorFromPoints',
680
+ 'BaseComm_IsClientGagged',
681
+ 'BaseComm_IsClientMuted',
682
+ 'BaseComm_SetClientGag',
683
+ 'BaseComm_SetClientMute',
684
+ 'FormatUserLogText',
685
+ 'FindPluginByFile',
686
+ 'FindTarget',
687
+ 'AcceptEntityInput',
688
+ 'SetVariantBool',
689
+ 'SetVariantString',
690
+ 'SetVariantInt',
691
+ 'SetVariantFloat',
692
+ 'SetVariantVector3D',
693
+ 'SetVariantPosVector3D',
694
+ 'SetVariantColor',
695
+ 'SetVariantEntity',
696
+ 'GameRules_GetProp',
697
+ 'GameRules_SetProp',
698
+ 'GameRules_GetPropFloat',
699
+ 'GameRules_SetPropFloat',
700
+ 'GameRules_GetPropEnt',
701
+ 'GameRules_SetPropEnt',
702
+ 'GameRules_GetPropVector',
703
+ 'GameRules_SetPropVector',
704
+ 'GameRules_GetPropString',
705
+ 'GameRules_SetPropString',
706
+ 'GameRules_GetRoundState',
707
+ 'OnClientConnect',
708
+ 'OnClientConnected',
709
+ 'OnClientPutInServer',
710
+ 'OnClientDisconnect',
711
+ 'OnClientDisconnect_Post',
712
+ 'OnClientCommand',
713
+ 'OnClientSettingsChanged',
714
+ 'OnClientAuthorized',
715
+ 'OnClientPreAdminCheck',
716
+ 'OnClientPostAdminFilter',
717
+ 'OnClientPostAdminCheck',
718
+ 'GetMaxClients',
719
+ 'GetMaxHumanPlayers',
720
+ 'GetClientCount',
721
+ 'GetClientName',
722
+ 'GetClientIP',
723
+ 'GetClientAuthString',
724
+ 'GetClientAuthId',
725
+ 'GetSteamAccountID',
726
+ 'GetClientUserId',
727
+ 'IsClientConnected',
728
+ 'IsClientInGame',
729
+ 'IsClientInKickQueue',
730
+ 'IsClientAuthorized',
731
+ 'IsFakeClient',
732
+ 'IsClientSourceTV',
733
+ 'IsClientReplay',
734
+ 'IsClientObserver',
735
+ 'IsPlayerAlive',
736
+ 'GetClientInfo',
737
+ 'GetClientTeam',
738
+ 'SetUserAdmin',
739
+ 'GetUserAdmin',
740
+ 'AddUserFlags',
741
+ 'RemoveUserFlags',
742
+ 'SetUserFlagBits',
743
+ 'GetUserFlagBits',
744
+ 'CanUserTarget',
745
+ 'RunAdminCacheChecks',
746
+ 'NotifyPostAdminCheck',
747
+ 'CreateFakeClient',
748
+ 'SetFakeClientConVar',
749
+ 'GetClientHealth',
750
+ 'GetClientModel',
751
+ 'GetClientWeapon',
752
+ 'GetClientMaxs',
753
+ 'GetClientMins',
754
+ 'GetClientAbsAngles',
755
+ 'GetClientAbsOrigin',
756
+ 'GetClientArmor',
757
+ 'GetClientDeaths',
758
+ 'GetClientFrags',
759
+ 'GetClientDataRate',
760
+ 'IsClientTimingOut',
761
+ 'GetClientTime',
762
+ 'GetClientLatency',
763
+ 'GetClientAvgLatency',
764
+ 'GetClientAvgLoss',
765
+ 'GetClientAvgChoke',
766
+ 'GetClientAvgData',
767
+ 'GetClientAvgPackets',
768
+ 'GetClientOfUserId',
769
+ 'KickClient',
770
+ 'KickClientEx',
771
+ 'ChangeClientTeam',
772
+ 'GetClientSerial',
773
+ 'GetClientFromSerial',
774
+ 'FindStringTable',
775
+ 'GetNumStringTables',
776
+ 'GetStringTableNumStrings',
777
+ 'GetStringTableMaxStrings',
778
+ 'GetStringTableName',
779
+ 'FindStringIndex',
780
+ 'ReadStringTable',
781
+ 'GetStringTableDataLength',
782
+ 'GetStringTableData',
783
+ 'SetStringTableData',
784
+ 'AddToStringTable',
785
+ 'LockStringTables',
786
+ 'AddFileToDownloadsTable',
787
+ 'GetEntityFlags',
788
+ 'SetEntityFlags',
789
+ 'GetEntityMoveType',
790
+ 'SetEntityMoveType',
791
+ 'GetEntityRenderMode',
792
+ 'SetEntityRenderMode',
793
+ 'GetEntityRenderFx',
794
+ 'SetEntityRenderFx',
795
+ 'SetEntityRenderColor',
796
+ 'GetEntityGravity',
797
+ 'SetEntityGravity',
798
+ 'SetEntityHealth',
799
+ 'GetClientButtons',
800
+ 'EntityOutput',
801
+ 'HookEntityOutput',
802
+ 'UnhookEntityOutput',
803
+ 'HookSingleEntityOutput',
804
+ 'UnhookSingleEntityOutput',
805
+ 'SMC_CreateParser',
806
+ 'SMC_ParseFile',
807
+ 'SMC_GetErrorString',
808
+ 'SMC_ParseStart',
809
+ 'SMC_SetParseStart',
810
+ 'SMC_ParseEnd',
811
+ 'SMC_SetParseEnd',
812
+ 'SMC_NewSection',
813
+ 'SMC_KeyValue',
814
+ 'SMC_EndSection',
815
+ 'SMC_SetReaders',
816
+ 'SMC_RawLine',
817
+ 'SMC_SetRawLine',
818
+ 'BfWriteBool',
819
+ 'BfWriteByte',
820
+ 'BfWriteChar',
821
+ 'BfWriteShort',
822
+ 'BfWriteWord',
823
+ 'BfWriteNum',
824
+ 'BfWriteFloat',
825
+ 'BfWriteString',
826
+ 'BfWriteEntity',
827
+ 'BfWriteAngle',
828
+ 'BfWriteCoord',
829
+ 'BfWriteVecCoord',
830
+ 'BfWriteVecNormal',
831
+ 'BfWriteAngles',
832
+ 'BfReadBool',
833
+ 'BfReadByte',
834
+ 'BfReadChar',
835
+ 'BfReadShort',
836
+ 'BfReadWord',
837
+ 'BfReadNum',
838
+ 'BfReadFloat',
839
+ 'BfReadString',
840
+ 'BfReadEntity',
841
+ 'BfReadAngle',
842
+ 'BfReadCoord',
843
+ 'BfReadVecCoord',
844
+ 'BfReadVecNormal',
845
+ 'BfReadAngles',
846
+ 'BfGetNumBytesLeft',
847
+ 'CreateProfiler',
848
+ 'StartProfiling',
849
+ 'StopProfiling',
850
+ 'GetProfilerTime',
851
+ 'OnPluginStart',
852
+ 'AskPluginLoad2',
853
+ 'OnPluginEnd',
854
+ 'OnPluginPauseChange',
855
+ 'OnGameFrame',
856
+ 'OnMapStart',
857
+ 'OnMapEnd',
858
+ 'OnConfigsExecuted',
859
+ 'OnAutoConfigsBuffered',
860
+ 'OnAllPluginsLoaded',
861
+ 'GetMyHandle',
862
+ 'GetPluginIterator',
863
+ 'MorePlugins',
864
+ 'ReadPlugin',
865
+ 'GetPluginStatus',
866
+ 'GetPluginFilename',
867
+ 'IsPluginDebugging',
868
+ 'GetPluginInfo',
869
+ 'FindPluginByNumber',
870
+ 'SetFailState',
871
+ 'ThrowError',
872
+ 'GetTime',
873
+ 'FormatTime',
874
+ 'LoadGameConfigFile',
875
+ 'GameConfGetOffset',
876
+ 'GameConfGetKeyValue',
877
+ 'GameConfGetAddress',
878
+ 'GetSysTickCount',
879
+ 'AutoExecConfig',
880
+ 'RegPluginLibrary',
881
+ 'LibraryExists',
882
+ 'GetExtensionFileStatus',
883
+ 'OnLibraryAdded',
884
+ 'OnLibraryRemoved',
885
+ 'ReadMapList',
886
+ 'SetMapListCompatBind',
887
+ 'OnClientFloodCheck',
888
+ 'OnClientFloodResult',
889
+ 'CanTestFeatures',
890
+ 'GetFeatureStatus',
891
+ 'RequireFeature',
892
+ 'LoadFromAddress',
893
+ 'StoreToAddress',
894
+ 'CreateStack',
895
+ 'PushStackCell',
896
+ 'PushStackString',
897
+ 'PushStackArray',
898
+ 'PopStackCell',
899
+ 'PopStackString',
900
+ 'PopStackArray',
901
+ 'IsStackEmpty',
902
+ 'PopStack',
903
+ 'OnPlayerRunCmd',
904
+ 'BuildPath',
905
+ 'OpenDirectory',
906
+ 'ReadDirEntry',
907
+ 'OpenFile',
908
+ 'DeleteFile',
909
+ 'ReadFileLine',
910
+ 'ReadFile',
911
+ 'ReadFileString',
912
+ 'WriteFile',
913
+ 'WriteFileString',
914
+ 'WriteFileLine',
915
+ 'ReadFileCell',
916
+ 'WriteFileCell',
917
+ 'IsEndOfFile',
918
+ 'FileSeek',
919
+ 'FilePosition',
920
+ 'FileExists',
921
+ 'RenameFile',
922
+ 'DirExists',
923
+ 'FileSize',
924
+ 'FlushFile',
925
+ 'RemoveDir',
926
+ 'CreateDirectory',
927
+ 'GetFileTime',
928
+ 'LogToOpenFile',
929
+ 'LogToOpenFileEx',
930
+ 'PbReadInt',
931
+ 'PbReadFloat',
932
+ 'PbReadBool',
933
+ 'PbReadString',
934
+ 'PbReadColor',
935
+ 'PbReadAngle',
936
+ 'PbReadVector',
937
+ 'PbReadVector2D',
938
+ 'PbGetRepeatedFieldCount',
939
+ 'PbSetInt',
940
+ 'PbSetFloat',
941
+ 'PbSetBool',
942
+ 'PbSetString',
943
+ 'PbSetColor',
944
+ 'PbSetAngle',
945
+ 'PbSetVector',
946
+ 'PbSetVector2D',
947
+ 'PbAddInt',
948
+ 'PbAddFloat',
949
+ 'PbAddBool',
950
+ 'PbAddString',
951
+ 'PbAddColor',
952
+ 'PbAddAngle',
953
+ 'PbAddVector',
954
+ 'PbAddVector2D',
955
+ 'PbRemoveRepeatedFieldValue',
956
+ 'PbReadMessage',
957
+ 'PbReadRepeatedMessage',
958
+ 'PbAddMessage',
959
+ 'SetNextMap',
960
+ 'GetNextMap',
961
+ 'ForceChangeLevel',
962
+ 'GetMapHistorySize',
963
+ 'GetMapHistory',
964
+ 'GeoipCode2',
965
+ 'GeoipCode3',
966
+ 'GeoipCountry',
967
+ 'MarkNativeAsOptional',
968
+ 'RegClientCookie',
969
+ 'FindClientCookie',
970
+ 'SetClientCookie',
971
+ 'GetClientCookie',
972
+ 'SetAuthIdCookie',
973
+ 'AreClientCookiesCached',
974
+ 'OnClientCookiesCached',
975
+ 'CookieMenuHandler',
976
+ 'SetCookiePrefabMenu',
977
+ 'SetCookieMenuItem',
978
+ 'ShowCookieMenu',
979
+ 'GetCookieIterator',
980
+ 'ReadCookieIterator',
981
+ 'GetCookieAccess',
982
+ 'GetClientCookieTime',
983
+ 'LoadTranslations',
984
+ 'SetGlobalTransTarget',
985
+ 'GetClientLanguage',
986
+ 'GetServerLanguage',
987
+ 'GetLanguageCount',
988
+ 'GetLanguageInfo',
989
+ 'SetClientLanguage',
990
+ 'GetLanguageByCode',
991
+ 'GetLanguageByName',
992
+ 'CS_OnBuyCommand',
993
+ 'CS_OnCSWeaponDrop',
994
+ 'CS_OnGetWeaponPrice',
995
+ 'CS_OnTerminateRound',
996
+ 'CS_RespawnPlayer',
997
+ 'CS_SwitchTeam',
998
+ 'CS_DropWeapon',
999
+ 'CS_TerminateRound',
1000
+ 'CS_GetTranslatedWeaponAlias',
1001
+ 'CS_GetWeaponPrice',
1002
+ 'CS_GetClientClanTag',
1003
+ 'CS_SetClientClanTag',
1004
+ 'CS_GetTeamScore',
1005
+ 'CS_SetTeamScore',
1006
+ 'CS_GetMVPCount',
1007
+ 'CS_SetMVPCount',
1008
+ 'CS_GetClientContributionScore',
1009
+ 'CS_SetClientContributionScore',
1010
+ 'CS_GetClientAssists',
1011
+ 'CS_SetClientAssists',
1012
+ 'CS_AliasToWeaponID',
1013
+ 'CS_WeaponIDToAlias',
1014
+ 'CS_IsValidWeaponID',
1015
+ 'CS_UpdateClientModel',
1016
+ 'LogToGame',
1017
+ 'SetRandomSeed',
1018
+ 'GetRandomFloat',
1019
+ 'GetRandomInt',
1020
+ 'IsMapValid',
1021
+ 'IsDedicatedServer',
1022
+ 'GetEngineTime',
1023
+ 'GetGameTime',
1024
+ 'GetGameTickCount',
1025
+ 'GetGameDescription',
1026
+ 'GetGameFolderName',
1027
+ 'GetCurrentMap',
1028
+ 'PrecacheModel',
1029
+ 'PrecacheSentenceFile',
1030
+ 'PrecacheDecal',
1031
+ 'PrecacheGeneric',
1032
+ 'IsModelPrecached',
1033
+ 'IsDecalPrecached',
1034
+ 'IsGenericPrecached',
1035
+ 'PrecacheSound',
1036
+ 'IsSoundPrecached',
1037
+ 'CreateDialog',
1038
+ 'GetEngineVersion',
1039
+ 'PrintToChat',
1040
+ 'PrintToChatAll',
1041
+ 'PrintCenterText',
1042
+ 'PrintCenterTextAll',
1043
+ 'PrintHintText',
1044
+ 'PrintHintTextToAll',
1045
+ 'ShowVGUIPanel',
1046
+ 'CreateHudSynchronizer',
1047
+ 'SetHudTextParams',
1048
+ 'SetHudTextParamsEx',
1049
+ 'ShowSyncHudText',
1050
+ 'ClearSyncHud',
1051
+ 'ShowHudText',
1052
+ 'ShowMOTDPanel',
1053
+ 'DisplayAskConnectBox',
1054
+ 'EntIndexToEntRef',
1055
+ 'EntRefToEntIndex',
1056
+ 'MakeCompatEntRef',
1057
+ 'SetClientViewEntity',
1058
+ 'SetLightStyle',
1059
+ 'GetClientEyePosition',
1060
+ 'CreateDataPack',
1061
+ 'WritePackCell',
1062
+ 'WritePackFloat',
1063
+ 'WritePackString',
1064
+ 'ReadPackCell',
1065
+ 'ReadPackFloat',
1066
+ 'ReadPackString',
1067
+ 'ResetPack',
1068
+ 'GetPackPosition',
1069
+ 'SetPackPosition',
1070
+ 'IsPackReadable',
1071
+ 'LogMessage',
1072
+ 'LogToFile',
1073
+ 'LogToFileEx',
1074
+ 'LogAction',
1075
+ 'LogError',
1076
+ 'OnLogAction',
1077
+ 'GameLogHook',
1078
+ 'AddGameLogHook',
1079
+ 'RemoveGameLogHook',
1080
+ 'FindTeamByName',
1081
+ 'StartPrepSDKCall',
1082
+ 'PrepSDKCall_SetVirtual',
1083
+ 'PrepSDKCall_SetSignature',
1084
+ 'PrepSDKCall_SetAddress',
1085
+ 'PrepSDKCall_SetFromConf',
1086
+ 'PrepSDKCall_SetReturnInfo',
1087
+ 'PrepSDKCall_AddParameter',
1088
+ 'EndPrepSDKCall',
1089
+ 'SDKCall',
1090
+ 'GetPlayerResourceEntity',
1091
+ )
1092
+
1093
+
1094
+ if __name__ == '__main__': # pragma: no cover
1095
+ import re
1096
+ from urllib.request import FancyURLopener
1097
+
1098
+ from pygments.util import format_lines
1099
+
1100
+ class Opener(FancyURLopener):
1101
+ version = 'Mozilla/5.0 (Pygments Sourcemod Builtins Update)'
1102
+
1103
+ opener = Opener()
1104
+
1105
+ def get_version():
1106
+ f = opener.open('http://docs.sourcemod.net/api/index.php')
1107
+ r = re.compile(r'SourceMod v\.<b>([\d\.]+(?:-\w+)?)</td>')
1108
+ for line in f:
1109
+ m = r.search(line.decode())
1110
+ if m is not None:
1111
+ return m.groups()[0]
1112
+ raise ValueError('No version in api docs')
1113
+
1114
+ def get_sm_functions():
1115
+ f = opener.open('http://docs.sourcemod.net/api/SMfuncs.js')
1116
+ r = re.compile(r'SMfunctions\[\d+\] = Array \("(?:public )?([^,]+)",".+"\);')
1117
+ functions = []
1118
+ for line in f:
1119
+ m = r.match(line.decode())
1120
+ if m is not None:
1121
+ functions.append(m.groups()[0])
1122
+ return functions
1123
+
1124
+ def regenerate(filename, natives):
1125
+ with open(filename, encoding='utf-8') as fp:
1126
+ content = fp.read()
1127
+
1128
+ header = content[:content.find('FUNCTIONS = (')]
1129
+ footer = content[content.find("if __name__ == '__main__':")-1:]
1130
+
1131
+
1132
+ with open(filename, 'w', encoding='utf-8') as fp:
1133
+ fp.write(header)
1134
+ fp.write(format_lines('FUNCTIONS', natives))
1135
+ fp.write('\n\n' + footer)
1136
+
1137
+ def run():
1138
+ version = get_version()
1139
+ print(f'> Downloading function index for SourceMod {version}')
1140
+ functions = get_sm_functions()
1141
+ print('> %d functions found:' % len(functions))
1142
+
1143
+ functionlist = []
1144
+ for full_function_name in functions:
1145
+ print(f'>> {full_function_name}')
1146
+ functionlist.append(full_function_name)
1147
+
1148
+ regenerate(__file__, functionlist)
1149
+
1150
+
1151
+ run()
temp_venv/lib/python3.13/site-packages/pygments/lexers/_vbscript_builtins.py ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers._vbscript_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ These are manually translated lists from
6
+ http://www.indusoft.com/pdf/VBScript%20Reference.pdf.
7
+
8
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ KEYWORDS = [
13
+ 'ByRef',
14
+ 'ByVal',
15
+ # dim: special rule
16
+ 'call',
17
+ 'case',
18
+ 'class',
19
+ # const: special rule
20
+ 'do',
21
+ 'each',
22
+ 'else',
23
+ 'elseif',
24
+ 'end',
25
+ 'erase',
26
+ 'execute',
27
+ 'function',
28
+ 'exit',
29
+ 'for',
30
+ 'function',
31
+ 'GetRef',
32
+ 'global',
33
+ 'if',
34
+ 'let',
35
+ 'loop',
36
+ 'next',
37
+ 'new',
38
+ # option: special rule
39
+ 'private',
40
+ 'public',
41
+ 'redim',
42
+ 'select',
43
+ 'set',
44
+ 'sub',
45
+ 'then',
46
+ 'wend',
47
+ 'while',
48
+ 'with',
49
+ ]
50
+
51
+ BUILTIN_FUNCTIONS = [
52
+ 'Abs',
53
+ 'Array',
54
+ 'Asc',
55
+ 'Atn',
56
+ 'CBool',
57
+ 'CByte',
58
+ 'CCur',
59
+ 'CDate',
60
+ 'CDbl',
61
+ 'Chr',
62
+ 'CInt',
63
+ 'CLng',
64
+ 'Cos',
65
+ 'CreateObject',
66
+ 'CSng',
67
+ 'CStr',
68
+ 'Date',
69
+ 'DateAdd',
70
+ 'DateDiff',
71
+ 'DatePart',
72
+ 'DateSerial',
73
+ 'DateValue',
74
+ 'Day',
75
+ 'Eval',
76
+ 'Exp',
77
+ 'Filter',
78
+ 'Fix',
79
+ 'FormatCurrency',
80
+ 'FormatDateTime',
81
+ 'FormatNumber',
82
+ 'FormatPercent',
83
+ 'GetObject',
84
+ 'GetLocale',
85
+ 'Hex',
86
+ 'Hour',
87
+ 'InStr',
88
+ 'inStrRev',
89
+ 'Int',
90
+ 'IsArray',
91
+ 'IsDate',
92
+ 'IsEmpty',
93
+ 'IsNull',
94
+ 'IsNumeric',
95
+ 'IsObject',
96
+ 'Join',
97
+ 'LBound',
98
+ 'LCase',
99
+ 'Left',
100
+ 'Len',
101
+ 'LoadPicture',
102
+ 'Log',
103
+ 'LTrim',
104
+ 'Mid',
105
+ 'Minute',
106
+ 'Month',
107
+ 'MonthName',
108
+ 'MsgBox',
109
+ 'Now',
110
+ 'Oct',
111
+ 'Randomize',
112
+ 'RegExp',
113
+ 'Replace',
114
+ 'RGB',
115
+ 'Right',
116
+ 'Rnd',
117
+ 'Round',
118
+ 'RTrim',
119
+ 'ScriptEngine',
120
+ 'ScriptEngineBuildVersion',
121
+ 'ScriptEngineMajorVersion',
122
+ 'ScriptEngineMinorVersion',
123
+ 'Second',
124
+ 'SetLocale',
125
+ 'Sgn',
126
+ 'Space',
127
+ 'Split',
128
+ 'Sqr',
129
+ 'StrComp',
130
+ 'String',
131
+ 'StrReverse',
132
+ 'Tan',
133
+ 'Time',
134
+ 'Timer',
135
+ 'TimeSerial',
136
+ 'TimeValue',
137
+ 'Trim',
138
+ 'TypeName',
139
+ 'UBound',
140
+ 'UCase',
141
+ 'VarType',
142
+ 'Weekday',
143
+ 'WeekdayName',
144
+ 'Year',
145
+ ]
146
+
147
+ BUILTIN_VARIABLES = [
148
+ 'Debug',
149
+ 'Dictionary',
150
+ 'Drive',
151
+ 'Drives',
152
+ 'Err',
153
+ 'File',
154
+ 'Files',
155
+ 'FileSystemObject',
156
+ 'Folder',
157
+ 'Folders',
158
+ 'Match',
159
+ 'Matches',
160
+ 'RegExp',
161
+ 'Submatches',
162
+ 'TextStream',
163
+ ]
164
+
165
+ OPERATORS = [
166
+ '+',
167
+ '-',
168
+ '*',
169
+ '/',
170
+ '\\',
171
+ '^',
172
+ '|',
173
+ '<',
174
+ '<=',
175
+ '>',
176
+ '>=',
177
+ '=',
178
+ '<>',
179
+ '&',
180
+ '$',
181
+ ]
182
+
183
+ OPERATOR_WORDS = [
184
+ 'mod',
185
+ 'and',
186
+ 'or',
187
+ 'xor',
188
+ 'eqv',
189
+ 'imp',
190
+ 'is',
191
+ 'not',
192
+ ]
193
+
194
+ BUILTIN_CONSTANTS = [
195
+ 'False',
196
+ 'True',
197
+ 'vbAbort',
198
+ 'vbAbortRetryIgnore',
199
+ 'vbApplicationModal',
200
+ 'vbArray',
201
+ 'vbBinaryCompare',
202
+ 'vbBlack',
203
+ 'vbBlue',
204
+ 'vbBoole',
205
+ 'vbByte',
206
+ 'vbCancel',
207
+ 'vbCr',
208
+ 'vbCritical',
209
+ 'vbCrLf',
210
+ 'vbCurrency',
211
+ 'vbCyan',
212
+ 'vbDataObject',
213
+ 'vbDate',
214
+ 'vbDefaultButton1',
215
+ 'vbDefaultButton2',
216
+ 'vbDefaultButton3',
217
+ 'vbDefaultButton4',
218
+ 'vbDouble',
219
+ 'vbEmpty',
220
+ 'vbError',
221
+ 'vbExclamation',
222
+ 'vbFalse',
223
+ 'vbFirstFullWeek',
224
+ 'vbFirstJan1',
225
+ 'vbFormFeed',
226
+ 'vbFriday',
227
+ 'vbGeneralDate',
228
+ 'vbGreen',
229
+ 'vbIgnore',
230
+ 'vbInformation',
231
+ 'vbInteger',
232
+ 'vbLf',
233
+ 'vbLong',
234
+ 'vbLongDate',
235
+ 'vbLongTime',
236
+ 'vbMagenta',
237
+ 'vbMonday',
238
+ 'vbMsgBoxHelpButton',
239
+ 'vbMsgBoxRight',
240
+ 'vbMsgBoxRtlReading',
241
+ 'vbMsgBoxSetForeground',
242
+ 'vbNewLine',
243
+ 'vbNo',
244
+ 'vbNull',
245
+ 'vbNullChar',
246
+ 'vbNullString',
247
+ 'vbObject',
248
+ 'vbObjectError',
249
+ 'vbOK',
250
+ 'vbOKCancel',
251
+ 'vbOKOnly',
252
+ 'vbQuestion',
253
+ 'vbRed',
254
+ 'vbRetry',
255
+ 'vbRetryCancel',
256
+ 'vbSaturday',
257
+ 'vbShortDate',
258
+ 'vbShortTime',
259
+ 'vbSingle',
260
+ 'vbString',
261
+ 'vbSunday',
262
+ 'vbSystemModal',
263
+ 'vbTab',
264
+ 'vbTextCompare',
265
+ 'vbThursday',
266
+ 'vbTrue',
267
+ 'vbTuesday',
268
+ 'vbUseDefault',
269
+ 'vbUseSystem',
270
+ 'vbUseSystem',
271
+ 'vbVariant',
272
+ 'vbVerticalTab',
273
+ 'vbWednesday',
274
+ 'vbWhite',
275
+ 'vbYellow',
276
+ 'vbYes',
277
+ 'vbYesNo',
278
+ 'vbYesNoCancel',
279
+ ]
temp_venv/lib/python3.13/site-packages/pygments/lexers/amdgpu.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.amdgpu
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the AMDGPU ISA assembly.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, words
12
+ from pygments.token import Name, Text, Keyword, Whitespace, Number, Comment
13
+
14
+ import re
15
+
16
+ __all__ = ['AMDGPULexer']
17
+
18
+
19
+ class AMDGPULexer(RegexLexer):
20
+ """
21
+ For AMD GPU assembly.
22
+ """
23
+ name = 'AMDGPU'
24
+ aliases = ['amdgpu']
25
+ filenames = ['*.isa']
26
+ url = 'https://gpuopen.com/amd-isa-documentation'
27
+ version_added = '2.8'
28
+
29
+ flags = re.IGNORECASE
30
+
31
+ tokens = {
32
+ 'root': [
33
+ (r'\s+', Whitespace),
34
+ (r'[\r\n]+', Text),
35
+ (r'(([a-z_0-9])*:([a-z_0-9])*)', Name.Attribute),
36
+ (r'(\[|\]|\(|\)|,|\:|\&)', Text),
37
+ (r'([;#]|//).*?\n', Comment.Single),
38
+ (r'((s_)?(scratch|ds|buffer|flat|image)_[a-z0-9_]+)', Keyword.Reserved),
39
+ (r'(_lo|_hi)', Name.Variable),
40
+ (r'(vmcnt|lgkmcnt|expcnt)', Name.Attribute),
41
+ (r'(attr[0-9].[a-z])', Name.Attribute),
42
+ (words((
43
+ 'op', 'vaddr', 'vdata', 'off', 'soffset', 'srsrc', 'format',
44
+ 'offset', 'offen', 'idxen', 'glc', 'dlc', 'slc', 'tfe', 'lds',
45
+ 'lit', 'unorm'), suffix=r'\b'), Name.Attribute),
46
+ (r'(label_[a-z0-9]+)', Keyword),
47
+ (r'(_L[0-9]*)', Name.Variable),
48
+ (r'(s|v)_[a-z0-9_]+', Keyword),
49
+ (r'(v[0-9.]+|vcc|exec|v)', Name.Variable),
50
+ (r's[0-9.]+|s', Name.Variable),
51
+ (r'[0-9]+\.[^0-9]+', Number.Float),
52
+ (r'(0[xX][a-z0-9]+)|([0-9]+)', Number.Integer)
53
+ ]
54
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/apdlexer.py ADDED
@@ -0,0 +1,593 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.apdlexer
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for ANSYS Parametric Design Language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, words, default
14
+ from pygments.token import Comment, Keyword, Name, Number, Operator, \
15
+ String, Generic, Punctuation, Whitespace, Escape
16
+
17
+ __all__ = ['apdlexer']
18
+
19
+
20
+ class apdlexer(RegexLexer):
21
+ """
22
+ For APDL source code.
23
+ """
24
+ name = 'ANSYS parametric design language'
25
+ aliases = ['ansys', 'apdl']
26
+ filenames = ['*.ans']
27
+ url = 'https://www.ansys.com'
28
+ version_added = '2.9'
29
+
30
+ flags = re.IGNORECASE
31
+
32
+ # list of elements
33
+ elafunb = ("SURF152", "SURF153", "SURF154", "SURF156", "SHELL157",
34
+ "SURF159", "LINK160", "BEAM161", "PLANE162",
35
+ "SHELL163", "SOLID164", "COMBI165", "MASS166",
36
+ "LINK167", "SOLID168", "TARGE169", "TARGE170",
37
+ "CONTA171", "CONTA172", "CONTA173", "CONTA174",
38
+ "CONTA175", "CONTA176", "CONTA177", "CONTA178",
39
+ "PRETS179", "LINK180", "SHELL181", "PLANE182",
40
+ "PLANE183", "MPC184", "SOLID185", "SOLID186",
41
+ "SOLID187", "BEAM188", "BEAM189", "SOLSH190",
42
+ "INTER192", "INTER193", "INTER194", "INTER195",
43
+ "MESH200", "FOLLW201", "INTER202", "INTER203",
44
+ "INTER204", "INTER205", "SHELL208", "SHELL209",
45
+ "CPT212", "CPT213", "COMBI214", "CPT215", "CPT216",
46
+ "CPT217", "FLUID220", "FLUID221", "PLANE223",
47
+ "SOLID226", "SOLID227", "PLANE230", "SOLID231",
48
+ "SOLID232", "PLANE233", "SOLID236", "SOLID237",
49
+ "PLANE238", "SOLID239", "SOLID240", "HSFLD241",
50
+ "HSFLD242", "SURF251", "SURF252", "REINF263",
51
+ "REINF264", "REINF265", "SOLID272", "SOLID273",
52
+ "SOLID278", "SOLID279", "SHELL281", "SOLID285",
53
+ "PIPE288", "PIPE289", "ELBOW290", "USER300", "BEAM3",
54
+ "BEAM4", "BEAM23", "BEAM24", "BEAM44", "BEAM54",
55
+ "COMBIN7", "FLUID79", "FLUID80", "FLUID81", "FLUID141",
56
+ "FLUID142", "INFIN9", "INFIN47", "PLANE13", "PLANE25",
57
+ "PLANE42", "PLANE53", "PLANE67", "PLANE82", "PLANE83",
58
+ "PLANE145", "PLANE146", "CONTAC12", "CONTAC52",
59
+ "LINK1", "LINK8", "LINK10", "LINK32", "PIPE16",
60
+ "PIPE17", "PIPE18", "PIPE20", "PIPE59", "PIPE60",
61
+ "SHELL41", "SHELL43", "SHELL57", "SHELL63", "SHELL91",
62
+ "SHELL93", "SHELL99", "SHELL150", "SOLID5", "SOLID45",
63
+ "SOLID46", "SOLID65", "SOLID69", "SOLID92", "SOLID95",
64
+ "SOLID117", "SOLID127", "SOLID128", "SOLID147",
65
+ "SOLID148", "SOLID191", "VISCO88", "VISCO89",
66
+ "VISCO106", "VISCO107", "VISCO108", "TRANS109")
67
+
68
+ elafunc = ("PGRAPH", "/VT", "VTIN", "VTRFIL", "VTTEMP", "PGRSET",
69
+ "VTCLR", "VTMETH", "VTRSLT", "VTVMOD", "PGSELE",
70
+ "VTDISC", "VTMP", "VTSEC", "PGWRITE", "VTEVAL", "VTOP",
71
+ "VTSFE", "POUTRES", "VTFREQ", "VTPOST", "VTSL",
72
+ "FLDATA1-40", "HFPCSWP", "MSDATA", "MSVARY", "QFACT",
73
+ "FLOCHECK", "HFPOWER", "MSMASS", "PERI", "SPADP",
74
+ "FLREAD", "HFPORT", "MSMETH", "PLFSS", "SPARM",
75
+ "FLOTRAN", "HFSCAT", "MSMIR", "PLSCH", "SPFSS",
76
+ "HFADP", "ICE", "MSNOMF", "PLSYZ", "SPICE", "HFARRAY",
77
+ "ICEDELE", "MSPROP", "PLTD", "SPSCAN", "HFDEEM",
78
+ "ICELIST", "MSQUAD", "PLTLINE", "SPSWP", "HFEIGOPT",
79
+ "ICVFRC", "MSRELAX", "PLVFRC", "HFEREFINE", "LPRT",
80
+ "MSSOLU", "/PICE", "HFMODPRT", "MSADV", "MSSPEC",
81
+ "PLWAVE", "HFPA", "MSCAP", "MSTERM", "PRSYZ")
82
+
83
+ elafund = ("*VOPER", "VOVLAP", "*VPLOT", "VPLOT", "VPTN", "*VPUT",
84
+ "VPUT", "*VREAD", "VROTAT", "VSBA", "VSBV", "VSBW",
85
+ "/VSCALE", "*VSCFUN", "VSEL", "VSLA", "*VSTAT", "VSUM",
86
+ "VSWEEP", "VSYMM", "VTRAN", "VTYPE", "/VUP", "*VWRITE",
87
+ "/WAIT", "WAVES", "WERASE", "WFRONT", "/WINDOW",
88
+ "WMID", "WMORE", "WPAVE", "WPCSYS", "WPLANE", "WPOFFS",
89
+ "WPROTA", "WPSTYL", "WRFULL", "WRITE", "WRITEMAP",
90
+ "*WRK", "WSORT", "WSPRINGS", "WSTART", "WTBCREATE",
91
+ "XFDATA", "XFENRICH", "XFLIST", "/XFRM", "/XRANGE",
92
+ "XVAR", "/YRANGE", "/ZOOM", "/WB", "XMLO", "/XML",
93
+ "CNTR", "EBLOCK", "CMBLOCK", "NBLOCK", "/TRACK",
94
+ "CWZPLOT", "~EUI", "NELE", "EALL", "NALL", "FLITEM",
95
+ "LSLN", "PSOLVE", "ASLN", "/VERIFY", "/SSS", "~CFIN",
96
+ "*EVAL", "*MOONEY", "/RUNSTAT", "ALPFILL",
97
+ "ARCOLLAPSE", "ARDETACH", "ARFILL", "ARMERGE",
98
+ "ARSPLIT", "FIPLOT", "GAPFINISH", "GAPLIST",
99
+ "GAPMERGE", "GAPOPT", "GAPPLOT", "LNCOLLAPSE",
100
+ "LNDETACH", "LNFILL", "LNMERGE", "LNSPLIT", "PCONV",
101
+ "PLCONV", "PEMOPTS", "PEXCLUDE", "PINCLUDE", "PMETH",
102
+ "/PMETH", "PMOPTS", "PPLOT", "PPRANGE", "PRCONV",
103
+ "PRECISION", "RALL", "RFILSZ", "RITER", "RMEMRY",
104
+ "RSPEED", "RSTAT", "RTIMST", "/RUNST", "RWFRNT",
105
+ "SARPLOT", "SHSD", "SLPPLOT", "SLSPLOT", "VCVFILL",
106
+ "/OPT", "OPEQN", "OPFACT", "OPFRST", "OPGRAD",
107
+ "OPKEEP", "OPLOOP", "OPPRNT", "OPRAND", "OPSUBP",
108
+ "OPSWEEP", "OPTYPE", "OPUSER", "OPVAR", "OPADD",
109
+ "OPCLR", "OPDEL", "OPMAKE", "OPSEL", "OPANL", "OPDATA",
110
+ "OPRESU", "OPSAVE", "OPEXE", "OPLFA", "OPLGR",
111
+ "OPLIST", "OPLSW", "OPRFA", "OPRGR", "OPRSW",
112
+ "PILECALC", "PILEDISPSET", "PILEGEN", "PILELOAD",
113
+ "PILEMASS", "PILERUN", "PILESEL", "PILESTIF",
114
+ "PLVAROPT", "PRVAROPT", "TOCOMP", "TODEF", "TOFREQ",
115
+ "TOTYPE", "TOVAR", "TOEXE", "TOLOOP", "TOGRAPH",
116
+ "TOLIST", "TOPLOT", "TOPRINT", "TOSTAT", "TZAMESH",
117
+ "TZDELE", "TZEGEN", "XVAROPT", "PGSAVE", "SOLCONTROL",
118
+ "TOTAL", "VTGEOM", "VTREAL", "VTSTAT")
119
+
120
+ elafune = ("/ANUM", "AOFFST", "AOVLAP", "APLOT", "APPEND", "APTN",
121
+ "ARCLEN", "ARCTRM", "AREAS", "AREFINE", "AREMESH",
122
+ "AREVERSE", "AROTAT", "ARSCALE", "ARSYM", "ASBA",
123
+ "ASBL", "ASBV", "ASBW", "ASCRES", "ASEL", "ASIFILE",
124
+ "*ASK", "ASKIN", "ASLL", "ASLV", "ASOL", "/ASSIGN",
125
+ "ASUB", "ASUM", "ATAN", "ATRAN", "ATYPE", "/AUTO",
126
+ "AUTOTS", "/AUX2", "/AUX3", "/AUX12", "/AUX15",
127
+ "AVPRIN", "AVRES", "AWAVE", "/AXLAB", "*AXPY",
128
+ "/BATCH", "BCSOPTION", "BETAD", "BF", "BFA", "BFADELE",
129
+ "BFALIST", "BFCUM", "BFDELE", "BFE", "BFECUM",
130
+ "BFEDELE", "BFELIST", "BFESCAL", "BFINT", "BFK",
131
+ "BFKDELE", "BFKLIST", "BFL", "BFLDELE", "BFLIST",
132
+ "BFLLIST", "BFSCALE", "BFTRAN", "BFUNIF", "BFV",
133
+ "BFVDELE", "BFVLIST", "BIOOPT", "BIOT", "BLC4", "BLC5",
134
+ "BLOCK", "BOOL", "BOPTN", "BSAX", "BSMD", "BSM1",
135
+ "BSM2", "BSPLIN", "BSS1", "BSS2", "BSTE", "BSTQ",
136
+ "BTOL", "BUCOPT", "C", "CALC", "CAMPBELL", "CBDOF",
137
+ "CBMD", "CBMX", "CBTE", "CBTMP", "CDOPT", "CDREAD",
138
+ "CDWRITE", "CE", "CECHECK", "CECMOD", "CECYC",
139
+ "CEDELE", "CEINTF", "CELIST", "CENTER", "CEQN",
140
+ "CERIG", "CESGEN", "CFACT", "*CFCLOS", "*CFOPEN",
141
+ "*CFWRITE", "/CFORMAT", "CGLOC", "CGOMGA", "CGROW",
142
+ "CHECK", "CHKMSH", "CINT", "CIRCLE", "CISOL",
143
+ "/CLABEL", "/CLEAR", "CLOCAL", "CLOG", "/CLOG",
144
+ "CLRMSHLN", "CM", "CMACEL", "/CMAP", "CMATRIX",
145
+ "CMDELE", "CMDOMEGA", "CMEDIT", "CMGRP", "CMLIST",
146
+ "CMMOD", "CMOMEGA", "CMPLOT", "CMROTATE", "CMSEL",
147
+ "CMSFILE", "CMSOPT", "CMWRITE", "CNCHECK", "CNKMOD",
148
+ "CNTR", "CNVTOL", "/COLOR", "*COMP", "COMBINE",
149
+ "COMPRESS", "CON4", "CONE", "/CONFIG", "CONJUG",
150
+ "/CONTOUR", "/COPY", "CORIOLIS", "COUPLE", "COVAL",
151
+ "CP", "CPCYC", "CPDELE", "CPINTF", "/CPLANE", "CPLGEN",
152
+ "CPLIST", "CPMERGE", "CPNGEN", "CPSGEN", "CQC",
153
+ "*CREATE", "CRPLIM", "CS", "CSCIR", "CSDELE", "CSKP",
154
+ "CSLIST", "CSWPLA", "CSYS", "/CTYPE", "CURR2D",
155
+ "CUTCONTROL", "/CVAL", "CVAR", "/CWD", "CYCCALC",
156
+ "/CYCEXPAND", "CYCFILES", "CYCFREQ", "*CYCLE",
157
+ "CYCLIC", "CYCOPT", "CYCPHASE", "CYCSPEC", "CYL4",
158
+ "CYL5", "CYLIND", "CZDEL", "CZMESH", "D", "DA",
159
+ "DADELE", "DALIST", "DAMORPH", "DATA", "DATADEF",
160
+ "DCGOMG", "DCUM", "DCVSWP", "DDASPEC", "DDELE",
161
+ "DDOPTION", "DEACT", "DEFINE", "*DEL", "DELETE",
162
+ "/DELETE", "DELTIM", "DELTIME", "DEMORPH", "DERIV", "DESIZE",
163
+ "DESOL", "DETAB", "/DEVDISP", "/DEVICE", "/DFLAB",
164
+ "DFLX", "DFSWAVE", "DIG", "DIGIT", "*DIM",
165
+ "/DIRECTORY", "DISPLAY", "/DIST", "DJ", "DJDELE",
166
+ "DJLIST", "DK", "DKDELE", "DKLIST", "DL", "DLDELE",
167
+ "DLIST", "DLLIST", "*DMAT", "DMOVE", "DMPEXT",
168
+ "DMPOPTION", "DMPRAT", "DMPSTR", "DNSOL", "*DO", "DOF",
169
+ "DOFSEL", "DOMEGA", "*DOT", "*DOWHILE", "DSCALE",
170
+ "/DSCALE", "DSET", "DSPOPTION", "DSUM", "DSURF",
171
+ "DSYM", "DSYS", "DTRAN", "DUMP", "/DV3D", "DVAL",
172
+ "DVMORPH", "DYNOPT", "E", "EALIVE", "EDADAPT", "EDALE",
173
+ "EDASMP", "EDBOUND", "EDBX", "EDBVIS", "EDCADAPT",
174
+ "EDCGEN", "EDCLIST", "EDCMORE", "EDCNSTR", "EDCONTACT",
175
+ "EDCPU", "EDCRB", "EDCSC", "EDCTS", "EDCURVE",
176
+ "EDDAMP", "EDDBL", "EDDC", "EDDRELAX", "EDDUMP",
177
+ "EDELE", "EDENERGY", "EDFPLOT", "EDGCALE", "/EDGE",
178
+ "EDHGLS", "EDHIST", "EDHTIME", "EDINT", "EDIPART",
179
+ "EDIS", "EDLCS", "EDLOAD", "EDMP", "EDNB", "EDNDTSD",
180
+ "EDNROT", "EDOPT", "EDOUT", "EDPART", "EDPC", "EDPL",
181
+ "EDPVEL", "EDRC", "EDRD", "EDREAD", "EDRI", "EDRST",
182
+ "EDRUN", "EDSHELL", "EDSOLV", "EDSP", "EDSTART",
183
+ "EDTERM", "EDTP", "EDVEL", "EDWELD", "EDWRITE",
184
+ "EEXTRUDE", "/EFACET", "EGEN", "*EIGEN", "EINFIN",
185
+ "EINTF", "EKILL", "ELBOW", "ELEM", "ELIST", "*ELSE",
186
+ "*ELSEIF", "EMAGERR", "EMATWRITE", "EMF", "EMFT",
187
+ "EMID", "EMIS", "EMODIF", "EMORE", "EMSYM", "EMTGEN",
188
+ "EMUNIT", "EN", "*END", "*ENDDO", "*ENDIF",
189
+ "ENDRELEASE", "ENERSOL", "ENGEN", "ENORM", "ENSYM",
190
+ "EORIENT", "EPLOT", "EQSLV", "ERASE", "/ERASE",
191
+ "EREAD", "EREFINE", "EREINF", "ERESX", "ERNORM",
192
+ "ERRANG", "ESCHECK", "ESEL", "/ESHAPE", "ESIZE",
193
+ "ESLA", "ESLL", "ESLN", "ESLV", "ESOL", "ESORT",
194
+ "ESSOLV", "ESTIF", "ESURF", "ESYM", "ESYS", "ET",
195
+ "ETABLE", "ETCHG", "ETCONTROL", "ETDELE", "ETLIST",
196
+ "ETYPE", "EUSORT", "EWRITE", "*EXIT", "/EXIT", "EXP",
197
+ "EXPAND", "/EXPAND", "EXPASS", "*EXPORT", "EXPROFILE",
198
+ "EXPSOL", "EXTOPT", "EXTREM", "EXUNIT", "F", "/FACET",
199
+ "FATIGUE", "FC", "FCCHECK", "FCDELE", "FCLIST", "FCUM",
200
+ "FCTYP", "FDELE", "/FDELE", "FE", "FEBODY", "FECONS",
201
+ "FEFOR", "FELIST", "FESURF", "*FFT", "FILE",
202
+ "FILEAUX2", "FILEAUX3", "FILEDISP", "FILL", "FILLDATA",
203
+ "/FILNAME", "FINISH", "FITEM", "FJ", "FJDELE",
204
+ "FJLIST", "FK", "FKDELE", "FKLIST", "FL", "FLIST",
205
+ "FLLIST", "FLST", "FLUXV", "FLUREAD", "FMAGBC",
206
+ "FMAGSUM", "/FOCUS", "FOR2D", "FORCE", "FORM",
207
+ "/FORMAT", "FP", "FPLIST", "*FREE", "FREQ", "FRQSCL",
208
+ "FS", "FSCALE", "FSDELE", "FSLIST", "FSNODE", "FSPLOT",
209
+ "FSSECT", "FSSPARM", "FSUM", "FTCALC", "FTRAN",
210
+ "FTSIZE", "FTWRITE", "FTYPE", "FVMESH", "GAP", "GAPF",
211
+ "GAUGE", "GCDEF", "GCGEN", "/GCMD", "/GCOLUMN",
212
+ "GENOPT", "GEOM", "GEOMETRY", "*GET", "/GFILE",
213
+ "/GFORMAT", "/GLINE", "/GMARKER", "GMATRIX", "GMFACE",
214
+ "*GO", "/GO", "/GOLIST", "/GOPR", "GP", "GPDELE",
215
+ "GPLIST", "GPLOT", "/GRAPHICS", "/GRESUME", "/GRID",
216
+ "/GROPT", "GRP", "/GRTYP", "/GSAVE", "GSBDATA",
217
+ "GSGDATA", "GSLIST", "GSSOL", "/GST", "GSUM", "/GTHK",
218
+ "/GTYPE", "HARFRQ", "/HBC", "HBMAT", "/HEADER", "HELP",
219
+ "HELPDISP", "HEMIOPT", "HFANG", "HFSYM", "HMAGSOLV",
220
+ "HPGL", "HPTCREATE", "HPTDELETE", "HRCPLX", "HREXP",
221
+ "HROPT", "HROCEAN", "HROUT", "IC", "ICDELE", "ICLIST",
222
+ "/ICLWID", "/ICSCALE", "*IF", "IGESIN", "IGESOUT",
223
+ "/IMAGE", "IMAGIN", "IMESH", "IMMED", "IMPD",
224
+ "INISTATE", "*INIT", "/INPUT", "/INQUIRE", "INRES",
225
+ "INRTIA", "INT1", "INTSRF", "IOPTN", "IRLF", "IRLIST",
226
+ "*ITENGINE", "JPEG", "JSOL", "K", "KATT", "KBC",
227
+ "KBETW", "KCALC", "KCENTER", "KCLEAR", "KDELE",
228
+ "KDIST", "KEEP", "KESIZE", "KEYOPT", "KEYPTS", "KEYW",
229
+ "KFILL", "KGEN", "KL", "KLIST", "KMESH", "KMODIF",
230
+ "KMOVE", "KNODE", "KPLOT", "KPSCALE", "KREFINE",
231
+ "KSCALE", "KSCON", "KSEL", "KSLL", "KSLN", "KSUM",
232
+ "KSYMM", "KTRAN", "KUSE", "KWPAVE", "KWPLAN", "L",
233
+ "L2ANG", "L2TAN", "LANG", "LARC", "/LARC", "LAREA",
234
+ "LARGE", "LATT", "LAYER", "LAYERP26", "LAYLIST",
235
+ "LAYPLOT", "LCABS", "LCASE", "LCCALC", "LCCAT",
236
+ "LCDEF", "LCFACT", "LCFILE", "LCLEAR", "LCOMB",
237
+ "LCOPER", "LCSEL", "LCSL", "LCSUM", "LCWRITE",
238
+ "LCZERO", "LDELE", "LDIV", "LDRAG", "LDREAD", "LESIZE",
239
+ "LEXTND", "LFILLT", "LFSURF", "LGEN", "LGLUE",
240
+ "LGWRITE", "/LIGHT", "LINA", "LINE", "/LINE", "LINES",
241
+ "LINL", "LINP", "LINV", "LIST", "*LIST", "LLIST",
242
+ "LMATRIX", "LMESH", "LNSRCH", "LOCAL", "LOVLAP",
243
+ "LPLOT", "LPTN", "LREFINE", "LREVERSE", "LROTAT",
244
+ "LSBA", "*LSBAC", "LSBL", "LSBV", "LSBW", "LSCLEAR",
245
+ "LSDELE", "*LSDUMP", "LSEL", "*LSENGINE", "*LSFACTOR",
246
+ "LSLA", "LSLK", "LSOPER", "/LSPEC", "LSREAD",
247
+ "*LSRESTORE", "LSSCALE", "LSSOLVE", "LSTR", "LSUM",
248
+ "LSWRITE", "/LSYMBOL", "LSYMM", "LTAN", "LTRAN",
249
+ "LUMPM", "LVSCALE", "LWPLAN", "M", "MADAPT", "MAGOPT",
250
+ "MAGSOLV", "/MAIL", "MAP", "/MAP", "MAP2DTO3D",
251
+ "MAPSOLVE", "MAPVAR", "MASTER", "MAT", "MATER",
252
+ "MCHECK", "MDAMP", "MDELE", "MDPLOT", "MEMM", "/MENU",
253
+ "MESHING", "MFANALYSIS", "MFBUCKET", "MFCALC", "MFCI",
254
+ "MFCLEAR", "MFCMMAND", "MFCONV", "MFDTIME", "MFELEM",
255
+ "MFEM", "MFEXTER", "MFFNAME", "MFFR", "MFIMPORT",
256
+ "MFINTER", "MFITER", "MFLCOMM", "MFLIST", "MFMAP",
257
+ "MFORDER", "MFOUTPUT", "*MFOURI", "MFPSIMUL", "MFRC",
258
+ "MFRELAX", "MFRSTART", "MFSORDER", "MFSURFACE",
259
+ "MFTIME", "MFTOL", "*MFUN", "MFVOLUME", "MFWRITE",
260
+ "MGEN", "MIDTOL", "/MKDIR", "MLIST", "MMASS", "MMF",
261
+ "MODCONT", "MODE", "MODIFY", "MODMSH", "MODSELOPTION",
262
+ "MODOPT", "MONITOR", "*MOPER", "MOPT", "MORPH", "MOVE",
263
+ "MP", "MPAMOD", "MPCHG", "MPCOPY", "MPDATA", "MPDELE",
264
+ "MPDRES", "/MPLIB", "MPLIST", "MPPLOT", "MPREAD",
265
+ "MPRINT", "MPTEMP", "MPTGEN", "MPTRES", "MPWRITE",
266
+ "/MREP", "MSAVE", "*MSG", "MSHAPE", "MSHCOPY",
267
+ "MSHKEY", "MSHMID", "MSHPATTERN", "MSOLVE", "/MSTART",
268
+ "MSTOLE", "*MULT", "*MWRITE", "MXPAND", "N", "NANG",
269
+ "NAXIS", "NCNV", "NDELE", "NDIST", "NDSURF", "NEQIT",
270
+ "/NERR", "NFORCE", "NGEN", "NKPT", "NLADAPTIVE",
271
+ "NLDIAG", "NLDPOST", "NLGEOM", "NLHIST", "NLIST",
272
+ "NLMESH", "NLOG", "NLOPT", "NMODIF", "NOCOLOR",
273
+ "NODES", "/NOERASE", "/NOLIST", "NOOFFSET", "NOORDER",
274
+ "/NOPR", "NORA", "NORL", "/NORMAL", "NPLOT", "NPRINT",
275
+ "NREAD", "NREFINE", "NRLSUM", "*NRM", "NROPT",
276
+ "NROTAT", "NRRANG", "NSCALE", "NSEL", "NSLA", "NSLE",
277
+ "NSLK", "NSLL", "NSLV", "NSMOOTH", "NSOL", "NSORT",
278
+ "NSTORE", "NSUBST", "NSVR", "NSYM", "/NUMBER",
279
+ "NUMCMP", "NUMEXP", "NUMMRG", "NUMOFF", "NUMSTR",
280
+ "NUMVAR", "NUSORT", "NWPAVE", "NWPLAN", "NWRITE",
281
+ "OCDATA", "OCDELETE", "OCLIST", "OCREAD", "OCTABLE",
282
+ "OCTYPE", "OCZONE", "OMEGA", "OPERATE", "OPNCONTROL",
283
+ "OUTAERO", "OUTOPT", "OUTPR", "/OUTPUT", "OUTRES",
284
+ "OVCHECK", "PADELE", "/PAGE", "PAGET", "PAPUT",
285
+ "PARESU", "PARTSEL", "PARRES", "PARSAV", "PASAVE",
286
+ "PATH", "PAUSE", "/PBC", "/PBF", "PCALC", "PCGOPT",
287
+ "PCIRC", "/PCIRCLE", "/PCOPY", "PCROSS", "PDANL",
288
+ "PDCDF", "PDCFLD", "PDCLR", "PDCMAT", "PDCORR",
289
+ "PDDMCS", "PDDOEL", "PDEF", "PDEXE", "PDHIST",
290
+ "PDINQR", "PDLHS", "PDMETH", "PDOT", "PDPINV",
291
+ "PDPLOT", "PDPROB", "PDRESU", "PDROPT", "/PDS",
292
+ "PDSAVE", "PDSCAT", "PDSENS", "PDSHIS", "PDUSER",
293
+ "PDVAR", "PDWRITE", "PERBC2D", "PERTURB", "PFACT",
294
+ "PHYSICS", "PIVCHECK", "PLCAMP", "PLCFREQ", "PLCHIST",
295
+ "PLCINT", "PLCPLX", "PLCRACK", "PLDISP", "PLESOL",
296
+ "PLETAB", "PLFAR", "PLF2D", "PLGEOM", "PLLS", "PLMAP",
297
+ "PLMC", "PLNEAR", "PLNSOL", "/PLOPTS", "PLORB", "PLOT",
298
+ "PLOTTING", "PLPAGM", "PLPATH", "PLSECT", "PLST",
299
+ "PLTIME", "PLTRAC", "PLVAR", "PLVECT", "PLZZ",
300
+ "/PMACRO", "PMAP", "PMGTRAN", "PMLOPT", "PMLSIZE",
301
+ "/PMORE", "PNGR", "/PNUM", "POINT", "POLY", "/POLYGON",
302
+ "/POST1", "/POST26", "POWERH", "PPATH", "PRANGE",
303
+ "PRAS", "PRCAMP", "PRCINT", "PRCPLX", "PRED",
304
+ "PRENERGY", "/PREP7", "PRERR", "PRESOL", "PRETAB",
305
+ "PRFAR", "PRI2", "PRIM", "PRINT", "*PRINT", "PRISM",
306
+ "PRITER", "PRJSOL", "PRNEAR", "PRNLD", "PRNSOL",
307
+ "PROD", "PRORB", "PRPATH", "PRRFOR", "PRRSOL",
308
+ "PRSCONTROL", "PRSECT", "PRTIME", "PRVAR", "PRVECT",
309
+ "PSCONTROL", "PSCR", "PSDCOM", "PSDFRQ", "PSDGRAPH",
310
+ "PSDRES", "PSDSPL", "PSDUNIT", "PSDVAL", "PSDWAV",
311
+ "/PSEARCH", "PSEL", "/PSF", "PSMAT", "PSMESH",
312
+ "/PSPEC", "/PSTATUS", "PSTRES", "/PSYMB", "PTR",
313
+ "PTXY", "PVECT", "/PWEDGE", "QDVAL", "QRDOPT", "QSOPT",
314
+ "QUAD", "/QUIT", "QUOT", "R", "RACE", "RADOPT",
315
+ "RAPPND", "RATE", "/RATIO", "RBE3", "RCON", "RCYC",
316
+ "RDEC", "RDELE", "READ", "REAL", "REALVAR", "RECTNG",
317
+ "REMESH", "/RENAME", "REORDER", "*REPEAT", "/REPLOT",
318
+ "RESCOMBINE", "RESCONTROL", "RESET", "/RESET", "RESP",
319
+ "RESUME", "RESVEC", "RESWRITE", "*RETURN", "REXPORT",
320
+ "REZONE", "RFORCE", "/RGB", "RIGID", "RIGRESP",
321
+ "RIMPORT", "RLIST", "RMALIST", "RMANL", "RMASTER",
322
+ "RMCAP", "RMCLIST", "/RMDIR", "RMFLVEC", "RMLVSCALE",
323
+ "RMMLIST", "RMMRANGE", "RMMSELECT", "RMNDISP",
324
+ "RMNEVEC", "RMODIF", "RMORE", "RMPORDER", "RMRESUME",
325
+ "RMRGENERATE", "RMROPTIONS", "RMRPLOT", "RMRSTATUS",
326
+ "RMSAVE", "RMSMPLE", "RMUSE", "RMXPORT", "ROCK",
327
+ "ROSE", "RPOLY", "RPR4", "RPRISM", "RPSD", "RSFIT",
328
+ "RSOPT", "RSPLIT", "RSPLOT", "RSPRNT", "RSSIMS",
329
+ "RSTMAC", "RSTOFF", "RSURF", "RSYMM", "RSYS", "RTHICK",
330
+ "SABS", "SADD", "SALLOW", "SAVE", "SBCLIST", "SBCTRAN",
331
+ "SDELETE", "SE", "SECCONTROL", "SECDATA",
332
+ "SECFUNCTION", "SECJOINT", "/SECLIB", "SECLOCK",
333
+ "SECMODIF", "SECNUM", "SECOFFSET", "SECPLOT",
334
+ "SECREAD", "SECSTOP", "SECTYPE", "SECWRITE", "SED",
335
+ "SEDLIST", "SEEXP", "/SEG", "SEGEN", "SELIST", "SELM",
336
+ "SELTOL", "SENERGY", "SEOPT", "SESYMM", "*SET", "SET",
337
+ "SETFGAP", "SETRAN", "SEXP", "SF", "SFA", "SFACT",
338
+ "SFADELE", "SFALIST", "SFBEAM", "SFCALC", "SFCUM",
339
+ "SFDELE", "SFE", "SFEDELE", "SFELIST", "SFFUN",
340
+ "SFGRAD", "SFL", "SFLDELE", "SFLEX", "SFLIST",
341
+ "SFLLIST", "SFSCALE", "SFTRAN", "/SHADE", "SHELL",
342
+ "/SHOW", "/SHOWDISP", "SHPP", "/SHRINK", "SLIST",
343
+ "SLOAD", "SMALL", "*SMAT", "SMAX", "/SMBC", "SMBODY",
344
+ "SMCONS", "SMFOR", "SMIN", "SMOOTH", "SMRTSIZE",
345
+ "SMSURF", "SMULT", "SNOPTION", "SOLU", "/SOLU",
346
+ "SOLUOPT", "SOLVE", "SORT", "SOURCE", "SPACE",
347
+ "SPCNOD", "SPCTEMP", "SPDAMP", "SPEC", "SPFREQ",
348
+ "SPGRAPH", "SPH4", "SPH5", "SPHERE", "SPLINE", "SPLOT",
349
+ "SPMWRITE", "SPOINT", "SPOPT", "SPREAD", "SPTOPT",
350
+ "SPOWER", "SPUNIT", "SPVAL", "SQRT", "*SREAD", "SRSS",
351
+ "SSBT", "/SSCALE", "SSLN", "SSMT", "SSPA", "SSPB",
352
+ "SSPD", "SSPE", "SSPM", "SSUM", "SSTATE", "STABILIZE",
353
+ "STAOPT", "STAT", "*STATUS", "/STATUS", "STEF",
354
+ "STORE", "SUBOPT", "SUBSET", "SUCALC",
355
+ "SUCR", "SUDEL", "SUEVAL", "SUGET", "SUMAP", "SUMTYPE",
356
+ "SUPL", "SUPR", "SURESU", "SUSAVE", "SUSEL", "SUVECT",
357
+ "SV", "SVPLOT", "SVTYP", "SWADD", "SWDEL", "SWGEN",
358
+ "SWLIST", "SYNCHRO", "/SYP", "/SYS", "TALLOW",
359
+ "TARGET", "*TAXIS", "TB", "TBCOPY", "TBDATA", "TBDELE",
360
+ "TBEO", "TBIN", "TBFIELD", "TBFT", "TBLE", "TBLIST",
361
+ "TBMODIF", "TBPLOT", "TBPT", "TBTEMP", "TCHG", "/TEE",
362
+ "TERM", "THEXPAND", "THOPT", "TIFF", "TIME",
363
+ "TIMERANGE", "TIMINT", "TIMP", "TINTP",
364
+ "/TLABEL", "TOFFST", "*TOPER", "TORQ2D", "TORQC2D",
365
+ "TORQSUM", "TORUS", "TRANS", "TRANSFER", "*TREAD",
366
+ "TREF", "/TRIAD", "/TRLCY", "TRNOPT", "TRPDEL",
367
+ "TRPLIS", "TRPOIN", "TRTIME", "TSHAP", "/TSPEC",
368
+ "TSRES", "TUNIF", "TVAR", "/TXTRE", "/TYPE", "TYPE",
369
+ "/UCMD", "/UDOC", "/UI", "UIMP", "/UIS", "*ULIB", "/UPF",
370
+ "UNDELETE", "UNDO", "/UNITS", "UNPAUSE", "UPCOORD",
371
+ "UPGEOM", "*USE", "/USER", "USRCAL", "USRDOF",
372
+ "USRELEM", "V", "V2DOPT", "VA", "*VABS", "VADD",
373
+ "VARDEL", "VARNAM", "VATT", "VCLEAR", "*VCOL",
374
+ "/VCONE", "VCROSS", "*VCUM", "VDDAM", "VDELE", "VDGL",
375
+ "VDOT", "VDRAG", "*VEC", "*VEDIT", "VEORIENT", "VEXT",
376
+ "*VFACT", "*VFILL", "VFOPT", "VFQUERY", "VFSM",
377
+ "*VFUN", "VGEN", "*VGET", "VGET", "VGLUE", "/VIEW",
378
+ "VIMP", "VINP", "VINV", "*VITRP", "*VLEN", "VLIST",
379
+ "VLSCALE", "*VMASK", "VMESH", "VOFFST", "VOLUMES")
380
+
381
+ # list of in-built () functions
382
+ elafunf = ("NX()", "NY()", "NZ()", "KX()", "KY()", "KZ()", "LX()",
383
+ "LY()", "LZ()", "LSX()", "LSY()", "LSZ()", "NODE()",
384
+ "KP()", "DISTND()", "DISTKP()", "DISTEN()", "ANGLEN()",
385
+ "ANGLEK()", "NNEAR()", "KNEAR()", "ENEARN()",
386
+ "AREAND()", "AREAKP()", "ARNODE()", "NORMNX()",
387
+ "NORMNY()", "NORMNZ()", "NORMKX()", "NORMKY()",
388
+ "NORMKZ()", "ENEXTN()", "NELEM()", "NODEDOF()",
389
+ "ELADJ()", "NDFACE()", "NMFACE()", "ARFACE()", "UX()",
390
+ "UY()", "UZ()", "ROTX()", "ROTY()", "ROTZ()", "TEMP()",
391
+ "PRES()", "VX()", "VY()", "VZ()", "ENKE()", "ENDS()",
392
+ "VOLT()", "MAG()", "AX()", "AY()", "AZ()",
393
+ "VIRTINQR()", "KWGET()", "VALCHR()", "VALHEX()",
394
+ "CHRHEX()", "STRFILL()", "STRCOMP()", "STRPOS()",
395
+ "STRLENG()", "UPCASE()", "LWCASE()", "JOIN()",
396
+ "SPLIT()", "ABS()", "SIGN()", "CXABS()", "EXP()",
397
+ "LOG()", "LOG10()", "SQRT()", "NINT()", "MOD()",
398
+ "RAND()", "GDIS()", "SIN()", "COS()", "TAN()",
399
+ "SINH()", "COSH()", "TANH()", "ASIN()", "ACOS()",
400
+ "ATAN()", "ATAN2()")
401
+
402
+ elafung = ("NSEL()", "ESEL()", "KSEL()", "LSEL()", "ASEL()",
403
+ "VSEL()", "NDNEXT()", "ELNEXT()", "KPNEXT()",
404
+ "LSNEXT()", "ARNEXT()", "VLNEXT()", "CENTRX()",
405
+ "CENTRY()", "CENTRZ()")
406
+
407
+ elafunh = ("~CAT5IN", "~CATIAIN", "~PARAIN", "~PROEIN", "~SATIN",
408
+ "~UGIN", "A", "AADD", "AATT", "ABEXTRACT", "*ABBR",
409
+ "ABBRES", "ABBSAV", "ABS", "ACCAT", "ACCOPTION",
410
+ "ACEL", "ACLEAR", "ADAMS", "ADAPT", "ADD", "ADDAM",
411
+ "ADELE", "ADGL", "ADRAG", "AESIZE", "AFILLT", "AFLIST",
412
+ "AFSURF", "*AFUN", "AGEN", "AGLUE", "AINA", "AINP",
413
+ "AINV", "AL", "ALIST", "ALLSEL", "ALPHAD", "AMAP",
414
+ "AMESH", "/AN3D", "ANCNTR", "ANCUT", "ANCYC", "ANDATA",
415
+ "ANDSCL", "ANDYNA", "/ANFILE", "ANFLOW", "/ANGLE",
416
+ "ANHARM", "ANIM", "ANISOS", "ANMODE", "ANMRES",
417
+ "/ANNOT", "ANORM", "ANPRES", "ANSOL", "ANSTOAQWA",
418
+ "ANSTOASAS", "ANTIME", "ANTYPE")
419
+
420
+ special = ("/COM", "/TITLE", "STITLE")
421
+
422
+ elements = ("SOLID5",
423
+ "LINK11",
424
+ "PLANE13",
425
+ "COMBIN14",
426
+ "MASS2",
427
+ "PLANE25",
428
+ "MATRIX27",
429
+ "FLUID29",
430
+ "FLUID30",
431
+ "LINK31",
432
+ "LINK33",
433
+ "LINK34",
434
+ "PLANE35",
435
+ "SOURC36",
436
+ "COMBIN37",
437
+ "FLUID38",
438
+ "COMBIN39",
439
+ "COMBIN40",
440
+ "INFIN47",
441
+ "MATRIX50",
442
+ "PLANE55",
443
+ "SHELL61",
444
+ "LINK68",
445
+ "SOLID70",
446
+ "MASS71",
447
+ "PLANE75",
448
+ "PLANE77",
449
+ "PLANE78",
450
+ "PLANE83",
451
+ "SOLID87",
452
+ "SOLID90",
453
+ "CIRCU94",
454
+ "SOLID96",
455
+ "SOLID98",
456
+ "INFIN110",
457
+ "INFIN111",
458
+ "FLUID116",
459
+ "PLANE121",
460
+ "SOLID122",
461
+ "SOLID123",
462
+ "CIRCU124",
463
+ "CIRCU125",
464
+ "TRANS126",
465
+ "FLUID129",
466
+ "FLUID130",
467
+ "SHELL131",
468
+ "SHELL132",
469
+ "FLUID136",
470
+ "FLUID138",
471
+ "FLUID139",
472
+ "SURF151",
473
+ "SURF152",
474
+ "SURF153",
475
+ "SURF154",
476
+ "SURF155",
477
+ "SURF156",
478
+ "SHELL157",
479
+ "SURF159",
480
+ "TARGE169",
481
+ "TARGE170",
482
+ "CONTA172",
483
+ "CONTA174",
484
+ "CONTA175",
485
+ "CONTA177",
486
+ "CONTA178",
487
+ "PRETS179",
488
+ "LINK180",
489
+ "SHELL181",
490
+ "PLANE182",
491
+ "PLANE183",
492
+ "MPC184",
493
+ "SOLID185",
494
+ "SOLID186",
495
+ "SOLID187",
496
+ "BEAM188",
497
+ "BEAM189",
498
+ "SOLSH190",
499
+ "INTER192",
500
+ "INTER193",
501
+ "INTER194",
502
+ "INTER195",
503
+ "MESH200",
504
+ "FOLLW201",
505
+ "INTER202",
506
+ "INTER203",
507
+ "INTER204",
508
+ "INTER205",
509
+ "SHELL208",
510
+ "SHELL209",
511
+ "CPT212",
512
+ "CPT213",
513
+ "COMBI214",
514
+ "CPT215",
515
+ "CPT216",
516
+ "CPT217",
517
+ "FLUID218",
518
+ "FLUID220",
519
+ "FLUID221",
520
+ "PLANE222",
521
+ "PLANE223",
522
+ "SOLID225",
523
+ "SOLID226",
524
+ "SOLID227",
525
+ "PLANE230",
526
+ "SOLID231",
527
+ "SOLID232",
528
+ "PLANE233",
529
+ "SOLID236",
530
+ "SOLID237",
531
+ "PLANE238",
532
+ "SOLID239",
533
+ "SOLID240",
534
+ "HSFLD241",
535
+ "HSFLD242",
536
+ "COMBI250",
537
+ "SURF251",
538
+ "SURF252",
539
+ "INFIN257",
540
+ "REINF263",
541
+ "REINF264",
542
+ "REINF265",
543
+ "SOLID272",
544
+ "SOLID273",
545
+ "SOLID278",
546
+ "SOLID279",
547
+ "CABLE280",
548
+ "SHELL281",
549
+ "SOLID285",
550
+ "PIPE288",
551
+ "PIPE289",
552
+ "ELBOW290",
553
+ "SOLID291",
554
+ "PLANE292",
555
+ "PLANE293",
556
+ "USER300")
557
+
558
+ tokens = {
559
+ 'root': [
560
+ (r'[^\S\n]+', Whitespace),
561
+ (words((elafunb+elafunc+elafund+elafune+elafunh+special), suffix=r'\b'), Keyword, 'non-keyword'),
562
+ default('non-keyword'),
563
+ ],
564
+ 'non-keyword': [
565
+ (r'!.*\n', Comment, '#pop'),
566
+ (r'%.*?%', Escape),
567
+ include('strings'),
568
+ include('nums'),
569
+ (words((elafunf+elafung), suffix=r'\b'), Name.Builtin),
570
+ (words((elements), suffix=r'\b'), Name.Property),
571
+ include('core'),
572
+ (r'AR[0-9]+', Name.Variable.Instance),
573
+ (r'[a-z_][a-z0-9_]*', Name.Variable),
574
+ (r'\n+', Whitespace, '#pop'),
575
+ (r'[^\S\n]+', Whitespace),
576
+ ],
577
+ 'core': [
578
+ # Operators
579
+ (r'(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=|\(|\))', Operator),
580
+ (r'/EOF', Generic.Emph),
581
+ (r'[\.(),:&;]', Punctuation),
582
+ ],
583
+ 'strings': [
584
+ (r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
585
+ (r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
586
+ (r'[$%]', String.Symbol),
587
+ ],
588
+ 'nums': [
589
+ (r'[+-]?\d*\.\d+([efEF][-+]?\d+)?', Number.Float), # with dot
590
+ (r'([+-]?\d+([efEF][-+]?\d+))', Number.Float), # With scientific notation
591
+ (r'\b\d+(?![.ef])', Number.Integer), # integer simple
592
+ ]
593
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/blueprint.py ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.blueprint
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the Blueprint UI markup language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, bygroups, words
14
+ from pygments.token import (
15
+ Comment,
16
+ Operator,
17
+ Keyword,
18
+ Name,
19
+ String,
20
+ Number,
21
+ Punctuation,
22
+ Whitespace,
23
+ )
24
+
25
+ __all__ = ["BlueprintLexer"]
26
+
27
+
28
+ class BlueprintLexer(RegexLexer):
29
+ """
30
+ For Blueprint UI markup.
31
+ """
32
+
33
+ name = "Blueprint"
34
+ aliases = ["blueprint"]
35
+ filenames = ["*.blp"]
36
+ mimetypes = ["text/x-blueprint"]
37
+ url = "https://gitlab.gnome.org/jwestman/blueprint-compiler"
38
+ version_added = '2.16'
39
+
40
+ flags = re.IGNORECASE
41
+ tokens = {
42
+ "root": [
43
+ include("block-content"),
44
+ ],
45
+ "type": [
46
+ (r"\$\s*[a-z_][a-z0-9_\-]*", Name.Class),
47
+ (r"(?:([a-z_][a-z0-9_\-]*)(\s*)(\.)(\s*))?([a-z_][a-z0-9_\-]*)",
48
+ bygroups(Name.Namespace, Whitespace, Punctuation, Whitespace, Name.Class)),
49
+ ],
50
+ "whitespace": [
51
+ (r"\s+", Whitespace),
52
+ (r"//.*?\n", Comment.Single),
53
+ (r"/\*", Comment.Multiline, "comment-multiline"),
54
+ ],
55
+ "comment-multiline": [
56
+ (r"\*/", Comment.Multiline, "#pop"),
57
+ (r"[^*]+", Comment.Multiline),
58
+ (r"\*", Comment.Multiline),
59
+ ],
60
+ "value": [
61
+ (r"(typeof)(\s*)(<)", bygroups(Keyword, Whitespace, Punctuation), "typeof"),
62
+ (words(("true", "false", "null")), Keyword.Constant),
63
+ (r"[a-z_][a-z0-9_\-]*", Name.Variable),
64
+ (r"\|", Operator),
65
+ (r'".*?"', String.Double),
66
+ (r"\'.*?\'", String.Single),
67
+ (r"0x[\d_]*", Number.Hex),
68
+ (r"[0-9_]+", Number.Integer),
69
+ (r"\d[\d\.a-z_]*", Number),
70
+ ],
71
+ "typeof": [
72
+ include("whitespace"),
73
+ include("type"),
74
+ (r">", Punctuation, "#pop"),
75
+ ],
76
+ "content": [
77
+ include("whitespace"),
78
+ # Keywords
79
+ (words(("after", "bidirectional", "bind-property", "bind", "default",
80
+ "destructive", "disabled", "inverted", "no-sync-create",
81
+ "suggested", "swapped", "sync-create", "template")),
82
+ Keyword),
83
+ # Translated strings
84
+ (r"(C?_)(\s*)(\()",
85
+ bygroups(Name.Function.Builtin, Whitespace, Punctuation),
86
+ "paren-content"),
87
+ # Cast expressions
88
+ (r"(as)(\s*)(<)", bygroups(Keyword, Whitespace, Punctuation), "typeof"),
89
+ # Closures
90
+ (r"(\$?[a-z_][a-z0-9_\-]*)(\s*)(\()",
91
+ bygroups(Name.Function, Whitespace, Punctuation),
92
+ "paren-content"),
93
+ # Objects
94
+ (r"(?:(\$\s*[a-z_][a-z0-9_\-]+)|(?:([a-z_][a-z0-9_\-]*)(\s*)(\.)(\s*))?([a-z_][a-z0-9_\-]*))(?:(\s+)([a-z_][a-z0-9_\-]*))?(\s*)(\{)",
95
+ bygroups(Name.Class, Name.Namespace, Whitespace, Punctuation, Whitespace,
96
+ Name.Class, Whitespace, Name.Variable, Whitespace, Punctuation),
97
+ "brace-block"),
98
+ # Misc
99
+ include("value"),
100
+ (r",|\.", Punctuation),
101
+ ],
102
+ "block-content": [
103
+ # Import statements
104
+ (r"(using)(\s+)([a-z_][a-z0-9_\-]*)(\s+)(\d[\d\.]*)(;)",
105
+ bygroups(Keyword, Whitespace, Name.Namespace, Whitespace,
106
+ Name.Namespace, Punctuation)),
107
+ # Menus
108
+ (r"(menu|section|submenu)(?:(\s+)([a-z_][a-z0-9_\-]*))?(\s*)(\{)",
109
+ bygroups(Keyword, Whitespace, Name.Variable, Whitespace, Punctuation),
110
+ "brace-block"),
111
+ (r"(item)(\s*)(\{)",
112
+ bygroups(Keyword, Whitespace, Punctuation),
113
+ "brace-block"),
114
+ (r"(item)(\s*)(\()",
115
+ bygroups(Keyword, Whitespace, Punctuation),
116
+ "paren-block"),
117
+ # Templates
118
+ (r"template", Keyword.Declaration, "template"),
119
+ # Nested blocks. When extensions are added, this is where they go.
120
+ (r"(responses|items|mime-types|patterns|suffixes|marks|widgets|strings|styles)(\s*)(\[)",
121
+ bygroups(Keyword, Whitespace, Punctuation),
122
+ "bracket-block"),
123
+ (r"(accessibility|setters|layout|item)(\s*)(\{)",
124
+ bygroups(Keyword, Whitespace, Punctuation),
125
+ "brace-block"),
126
+ (r"(condition|mark|item)(\s*)(\()",
127
+ bygroups(Keyword, Whitespace, Punctuation),
128
+ "paren-content"),
129
+ (r"\[", Punctuation, "child-type"),
130
+ # Properties and signals
131
+ (r"([a-z_][a-z0-9_\-]*(?:::[a-z0-9_]+)?)(\s*)(:|=>)",
132
+ bygroups(Name.Property, Whitespace, Punctuation),
133
+ "statement"),
134
+ include("content"),
135
+ ],
136
+ "paren-block": [
137
+ include("block-content"),
138
+ (r"\)", Punctuation, "#pop"),
139
+ ],
140
+ "paren-content": [
141
+ include("content"),
142
+ (r"\)", Punctuation, "#pop"),
143
+ ],
144
+ "bracket-block": [
145
+ include("block-content"),
146
+ (r"\]", Punctuation, "#pop"),
147
+ ],
148
+ "brace-block": [
149
+ include("block-content"),
150
+ (r"\}", Punctuation, "#pop"),
151
+ ],
152
+ "statement": [
153
+ include("content"),
154
+ (r";", Punctuation, "#pop"),
155
+ ],
156
+ "child-type": [
157
+ include("whitespace"),
158
+ (r"(action)(\s+)(response)(\s*)(=)(\s*)",
159
+ bygroups(Keyword, Whitespace, Name.Attribute, Whitespace,
160
+ Punctuation, Whitespace)),
161
+ (words(("default", "internal-child", "response")), Keyword),
162
+ (r"[a-z_][a-z0-9_\-]*", Name.Decorator),
163
+ include("value"),
164
+ (r"=", Punctuation),
165
+ (r"\]", Punctuation, "#pop"),
166
+ ],
167
+ "template": [
168
+ include("whitespace"),
169
+ include("type"),
170
+ (r":", Punctuation),
171
+ (r"\{", Punctuation, ("#pop", "brace-block")),
172
+ ],
173
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/boa.py ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.boa
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Boa language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, words
12
+ from pygments.token import String, Comment, Keyword, Name, Number, Operator, \
13
+ Punctuation, Whitespace
14
+
15
+ __all__ = ['BoaLexer']
16
+
17
+
18
+ class BoaLexer(RegexLexer):
19
+ """
20
+ Lexer for the Boa language.
21
+ """
22
+ name = 'Boa'
23
+ aliases = ['boa']
24
+ filenames = ['*.boa']
25
+ url = 'https://boa.cs.iastate.edu/docs'
26
+ version_added = '2.4'
27
+
28
+ reserved = words(
29
+ ('input', 'output', 'of', 'weight', 'before', 'after', 'stop',
30
+ 'ifall', 'foreach', 'exists', 'function', 'break', 'switch', 'case',
31
+ 'visitor', 'default', 'return', 'visit', 'while', 'if', 'else'),
32
+ suffix=r'\b', prefix=r'\b')
33
+ keywords = words(
34
+ ('bottom', 'collection', 'maximum', 'mean', 'minimum', 'set', 'sum',
35
+ 'top', 'string', 'int', 'bool', 'float', 'time', 'false', 'true',
36
+ 'array', 'map', 'stack', 'enum', 'type'), suffix=r'\b', prefix=r'\b')
37
+ classes = words(
38
+ ('Project', 'ForgeKind', 'CodeRepository', 'Revision', 'RepositoryKind',
39
+ 'ChangedFile', 'FileKind', 'ASTRoot', 'Namespace', 'Declaration', 'Type',
40
+ 'Method', 'Variable', 'Statement', 'Expression', 'Modifier',
41
+ 'StatementKind', 'ExpressionKind', 'ModifierKind', 'Visibility',
42
+ 'TypeKind', 'Person', 'ChangeKind'),
43
+ suffix=r'\b', prefix=r'\b')
44
+ operators = ('->', ':=', ':', '=', '<<', '!', '++', '||',
45
+ '&&', '+', '-', '*', ">", "<")
46
+ string_sep = ('`', '\"')
47
+ built_in_functions = words(
48
+ (
49
+ # Array functions
50
+ 'new', 'sort',
51
+ # Date & Time functions
52
+ 'yearof', 'dayofyear', 'hourof', 'minuteof', 'secondof', 'now',
53
+ 'addday', 'addmonth', 'addweek', 'addyear', 'dayofmonth', 'dayofweek',
54
+ 'dayofyear', 'formattime', 'trunctoday', 'trunctohour', 'trunctominute',
55
+ 'trunctomonth', 'trunctosecond', 'trunctoyear',
56
+ # Map functions
57
+ 'clear', 'haskey', 'keys', 'lookup', 'remove', 'values',
58
+ # Math functions
59
+ 'abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh',
60
+ 'ceil', 'cos', 'cosh', 'exp', 'floor', 'highbit', 'isfinite', 'isinf',
61
+ 'isnan', 'isnormal', 'log', 'log10', 'max', 'min', 'nrand', 'pow',
62
+ 'rand', 'round', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc',
63
+ # Other functions
64
+ 'def', 'hash', 'len',
65
+ # Set functions
66
+ 'add', 'contains', 'remove',
67
+ # String functions
68
+ 'format', 'lowercase', 'match', 'matchposns', 'matchstrs', 'regex',
69
+ 'split', 'splitall', 'splitn', 'strfind', 'strreplace', 'strrfind',
70
+ 'substring', 'trim', 'uppercase',
71
+ # Type Conversion functions
72
+ 'bool', 'float', 'int', 'string', 'time',
73
+ # Domain-Specific functions
74
+ 'getast', 'getsnapshot', 'hasfiletype', 'isfixingrevision', 'iskind',
75
+ 'isliteral',
76
+ ),
77
+ prefix=r'\b',
78
+ suffix=r'\(')
79
+
80
+ tokens = {
81
+ 'root': [
82
+ (r'#.*?$', Comment.Single),
83
+ (r'/\*.*?\*/', Comment.Multiline),
84
+ (reserved, Keyword.Reserved),
85
+ (built_in_functions, Name.Function),
86
+ (keywords, Keyword.Type),
87
+ (classes, Name.Classes),
88
+ (words(operators), Operator),
89
+ (r'[][(),;{}\\.]', Punctuation),
90
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
91
+ (r"`(\\\\|\\[^\\]|[^`\\])*`", String.Backtick),
92
+ (words(string_sep), String.Delimiter),
93
+ (r'[a-zA-Z_]+', Name.Variable),
94
+ (r'[0-9]+', Number.Integer),
95
+ (r'\s+', Whitespace), # Whitespace
96
+ ]
97
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/c_cpp.py ADDED
@@ -0,0 +1,414 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.c_cpp
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for C/C++ languages.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, bygroups, using, \
14
+ this, inherit, default, words
15
+ from pygments.util import get_bool_opt
16
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
+ Number, Punctuation, Whitespace
18
+
19
+ __all__ = ['CLexer', 'CppLexer']
20
+
21
+
22
+ class CFamilyLexer(RegexLexer):
23
+ """
24
+ For C family source code. This is used as a base class to avoid repetitious
25
+ definitions.
26
+ """
27
+
28
+ # The trailing ?, rather than *, avoids a geometric performance drop here.
29
+ #: only one /* */ style comment
30
+ _ws1 = r'\s*(?:/[*].*?[*]/\s*)?'
31
+
32
+ # Hexadecimal part in an hexadecimal integer/floating-point literal.
33
+ # This includes decimal separators matching.
34
+ _hexpart = r'[0-9a-fA-F](\'?[0-9a-fA-F])*'
35
+ # Decimal part in an decimal integer/floating-point literal.
36
+ # This includes decimal separators matching.
37
+ _decpart = r'\d(\'?\d)*'
38
+ # Integer literal suffix (e.g. 'ull' or 'll').
39
+ _intsuffix = r'(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?'
40
+
41
+ # Identifier regex with C and C++ Universal Character Name (UCN) support.
42
+ _ident = r'(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+'
43
+ _namespaced_ident = r'(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+'
44
+
45
+ # Single and multiline comment regexes
46
+ # Beware not to use *? for the inner content! When these regexes
47
+ # are embedded in larger regexes, that can cause the stuff*? to
48
+ # match more than it would have if the regex had been used in
49
+ # a standalone way ...
50
+ _comment_single = r'//(?:.|(?<=\\)\n)*\n'
51
+ _comment_multiline = r'/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/'
52
+
53
+ # Regex to match optional comments
54
+ _possible_comments = rf'\s*(?:(?:(?:{_comment_single})|(?:{_comment_multiline}))\s*)*'
55
+
56
+ tokens = {
57
+ 'whitespace': [
58
+ # preprocessor directives: without whitespace
59
+ (r'^#if\s+0', Comment.Preproc, 'if0'),
60
+ ('^#', Comment.Preproc, 'macro'),
61
+ # or with whitespace
62
+ ('^(' + _ws1 + r')(#if\s+0)',
63
+ bygroups(using(this), Comment.Preproc), 'if0'),
64
+ ('^(' + _ws1 + ')(#)',
65
+ bygroups(using(this), Comment.Preproc), 'macro'),
66
+ # Labels:
67
+ # Line start and possible indentation.
68
+ (r'(^[ \t]*)'
69
+ # Not followed by keywords which can be mistaken as labels.
70
+ r'(?!(?:public|private|protected|default)\b)'
71
+ # Actual label, followed by a single colon.
72
+ r'(' + _ident + r')(\s*)(:)(?!:)',
73
+ bygroups(Whitespace, Name.Label, Whitespace, Punctuation)),
74
+ (r'\n', Whitespace),
75
+ (r'[^\S\n]+', Whitespace),
76
+ (r'\\\n', Text), # line continuation
77
+ (_comment_single, Comment.Single),
78
+ (_comment_multiline, Comment.Multiline),
79
+ # Open until EOF, so no ending delimiter
80
+ (r'/(\\\n)?[*][\w\W]*', Comment.Multiline),
81
+ ],
82
+ 'statements': [
83
+ include('keywords'),
84
+ include('types'),
85
+ (r'([LuU]|u8)?(")', bygroups(String.Affix, String), 'string'),
86
+ (r"([LuU]|u8)?(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')",
87
+ bygroups(String.Affix, String.Char, String.Char, String.Char)),
88
+
89
+ # Hexadecimal floating-point literals (C11, C++17)
90
+ (r'0[xX](' + _hexpart + r'\.' + _hexpart + r'|\.' + _hexpart +
91
+ r'|' + _hexpart + r')[pP][+-]?' + _hexpart + r'[lL]?', Number.Float),
92
+
93
+ (r'(-)?(' + _decpart + r'\.' + _decpart + r'|\.' + _decpart + r'|' +
94
+ _decpart + r')[eE][+-]?' + _decpart + r'[fFlL]?', Number.Float),
95
+ (r'(-)?((' + _decpart + r'\.(' + _decpart + r')?|\.' +
96
+ _decpart + r')[fFlL]?)|(' + _decpart + r'[fFlL])', Number.Float),
97
+ (r'(-)?0[xX]' + _hexpart + _intsuffix, Number.Hex),
98
+ (r'(-)?0[bB][01](\'?[01])*' + _intsuffix, Number.Bin),
99
+ (r'(-)?0(\'?[0-7])+' + _intsuffix, Number.Oct),
100
+ (r'(-)?' + _decpart + _intsuffix, Number.Integer),
101
+ (r'[~!%^&*+=|?:<>/-]', Operator),
102
+ (r'[()\[\],.]', Punctuation),
103
+ (r'(true|false|NULL)\b', Name.Builtin),
104
+ (_ident, Name)
105
+ ],
106
+ 'types': [
107
+ (words(('int8', 'int16', 'int32', 'int64', 'wchar_t'), prefix=r'__',
108
+ suffix=r'\b'), Keyword.Reserved),
109
+ (words(('bool', 'int', 'long', 'float', 'short', 'double', 'char',
110
+ 'unsigned', 'signed', 'void', '_BitInt',
111
+ '__int128'), suffix=r'\b'), Keyword.Type)
112
+ ],
113
+ 'keywords': [
114
+ (r'(struct|union)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
115
+ (r'case\b', Keyword, 'case-value'),
116
+ (words(('asm', 'auto', 'break', 'const', 'continue', 'default',
117
+ 'do', 'else', 'enum', 'extern', 'for', 'goto', 'if',
118
+ 'register', 'restricted', 'return', 'sizeof', 'struct',
119
+ 'static', 'switch', 'typedef', 'volatile', 'while', 'union',
120
+ 'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma'),
121
+ suffix=r'\b'), Keyword),
122
+ (words(('inline', '_inline', '__inline', 'naked', 'restrict',
123
+ 'thread'), suffix=r'\b'), Keyword.Reserved),
124
+ # Vector intrinsics
125
+ (r'(__m(128i|128d|128|64))\b', Keyword.Reserved),
126
+ # Microsoft-isms
127
+ (words((
128
+ 'asm', 'based', 'except', 'stdcall', 'cdecl',
129
+ 'fastcall', 'declspec', 'finally', 'try',
130
+ 'leave', 'w64', 'unaligned', 'raise', 'noop',
131
+ 'identifier', 'forceinline', 'assume'),
132
+ prefix=r'__', suffix=r'\b'), Keyword.Reserved)
133
+ ],
134
+ 'root': [
135
+ include('whitespace'),
136
+ include('keywords'),
137
+ # functions
138
+ (r'(' + _namespaced_ident + r'(?:[&*\s])+)' # return arguments
139
+ r'(' + _possible_comments + r')'
140
+ r'(' + _namespaced_ident + r')' # method name
141
+ r'(' + _possible_comments + r')'
142
+ r'(\([^;"\')]*?\))' # signature
143
+ r'(' + _possible_comments + r')'
144
+ r'([^;{/"\']*)(\{)',
145
+ bygroups(using(this), using(this, state='whitespace'),
146
+ Name.Function, using(this, state='whitespace'),
147
+ using(this), using(this, state='whitespace'),
148
+ using(this), Punctuation),
149
+ 'function'),
150
+ # function declarations
151
+ (r'(' + _namespaced_ident + r'(?:[&*\s])+)' # return arguments
152
+ r'(' + _possible_comments + r')'
153
+ r'(' + _namespaced_ident + r')' # method name
154
+ r'(' + _possible_comments + r')'
155
+ r'(\([^;"\')]*?\))' # signature
156
+ r'(' + _possible_comments + r')'
157
+ r'([^;/"\']*)(;)',
158
+ bygroups(using(this), using(this, state='whitespace'),
159
+ Name.Function, using(this, state='whitespace'),
160
+ using(this), using(this, state='whitespace'),
161
+ using(this), Punctuation)),
162
+ include('types'),
163
+ default('statement'),
164
+ ],
165
+ 'statement': [
166
+ include('whitespace'),
167
+ include('statements'),
168
+ (r'\}', Punctuation),
169
+ (r'[{;]', Punctuation, '#pop'),
170
+ ],
171
+ 'function': [
172
+ include('whitespace'),
173
+ include('statements'),
174
+ (';', Punctuation),
175
+ (r'\{', Punctuation, '#push'),
176
+ (r'\}', Punctuation, '#pop'),
177
+ ],
178
+ 'string': [
179
+ (r'"', String, '#pop'),
180
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|'
181
+ r'u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})', String.Escape),
182
+ (r'[^\\"\n]+', String), # all other characters
183
+ (r'\\\n', String), # line continuation
184
+ (r'\\', String), # stray backslash
185
+ ],
186
+ 'macro': [
187
+ (r'('+_ws1+r')(include)('+_ws1+r')("[^"]+")([^\n]*)',
188
+ bygroups(using(this), Comment.Preproc, using(this),
189
+ Comment.PreprocFile, Comment.Single)),
190
+ (r'('+_ws1+r')(include)('+_ws1+r')(<[^>]+>)([^\n]*)',
191
+ bygroups(using(this), Comment.Preproc, using(this),
192
+ Comment.PreprocFile, Comment.Single)),
193
+ (r'[^/\n]+', Comment.Preproc),
194
+ (r'/[*](.|\n)*?[*]/', Comment.Multiline),
195
+ (r'//.*?\n', Comment.Single, '#pop'),
196
+ (r'/', Comment.Preproc),
197
+ (r'(?<=\\)\n', Comment.Preproc),
198
+ (r'\n', Comment.Preproc, '#pop'),
199
+ ],
200
+ 'if0': [
201
+ (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
202
+ (r'^\s*#el(?:se|if).*\n', Comment.Preproc, '#pop'),
203
+ (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
204
+ (r'.*?\n', Comment),
205
+ ],
206
+ 'classname': [
207
+ (_ident, Name.Class, '#pop'),
208
+ # template specification
209
+ (r'\s*(?=>)', Text, '#pop'),
210
+ default('#pop')
211
+ ],
212
+ # Mark identifiers preceded by `case` keyword as constants.
213
+ 'case-value': [
214
+ (r'(?<!:)(:)(?!:)', Punctuation, '#pop'),
215
+ (_ident, Name.Constant),
216
+ include('whitespace'),
217
+ include('statements'),
218
+ ]
219
+ }
220
+
221
+ stdlib_types = {
222
+ 'size_t', 'ssize_t', 'off_t', 'wchar_t', 'ptrdiff_t', 'sig_atomic_t', 'fpos_t',
223
+ 'clock_t', 'time_t', 'va_list', 'jmp_buf', 'FILE', 'DIR', 'div_t', 'ldiv_t',
224
+ 'mbstate_t', 'wctrans_t', 'wint_t', 'wctype_t'}
225
+ c99_types = {
226
+ 'int8_t', 'int16_t', 'int32_t', 'int64_t', 'uint8_t',
227
+ 'uint16_t', 'uint32_t', 'uint64_t', 'int_least8_t', 'int_least16_t',
228
+ 'int_least32_t', 'int_least64_t', 'uint_least8_t', 'uint_least16_t',
229
+ 'uint_least32_t', 'uint_least64_t', 'int_fast8_t', 'int_fast16_t', 'int_fast32_t',
230
+ 'int_fast64_t', 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
231
+ 'intptr_t', 'uintptr_t', 'intmax_t', 'uintmax_t'}
232
+ linux_types = {
233
+ 'clockid_t', 'cpu_set_t', 'cpumask_t', 'dev_t', 'gid_t', 'id_t', 'ino_t', 'key_t',
234
+ 'mode_t', 'nfds_t', 'pid_t', 'rlim_t', 'sig_t', 'sighandler_t', 'siginfo_t',
235
+ 'sigset_t', 'sigval_t', 'socklen_t', 'timer_t', 'uid_t'}
236
+ c11_atomic_types = {
237
+ 'atomic_bool', 'atomic_char', 'atomic_schar', 'atomic_uchar', 'atomic_short',
238
+ 'atomic_ushort', 'atomic_int', 'atomic_uint', 'atomic_long', 'atomic_ulong',
239
+ 'atomic_llong', 'atomic_ullong', 'atomic_char16_t', 'atomic_char32_t', 'atomic_wchar_t',
240
+ 'atomic_int_least8_t', 'atomic_uint_least8_t', 'atomic_int_least16_t',
241
+ 'atomic_uint_least16_t', 'atomic_int_least32_t', 'atomic_uint_least32_t',
242
+ 'atomic_int_least64_t', 'atomic_uint_least64_t', 'atomic_int_fast8_t',
243
+ 'atomic_uint_fast8_t', 'atomic_int_fast16_t', 'atomic_uint_fast16_t',
244
+ 'atomic_int_fast32_t', 'atomic_uint_fast32_t', 'atomic_int_fast64_t',
245
+ 'atomic_uint_fast64_t', 'atomic_intptr_t', 'atomic_uintptr_t', 'atomic_size_t',
246
+ 'atomic_ptrdiff_t', 'atomic_intmax_t', 'atomic_uintmax_t'}
247
+
248
+ def __init__(self, **options):
249
+ self.stdlibhighlighting = get_bool_opt(options, 'stdlibhighlighting', True)
250
+ self.c99highlighting = get_bool_opt(options, 'c99highlighting', True)
251
+ self.c11highlighting = get_bool_opt(options, 'c11highlighting', True)
252
+ self.platformhighlighting = get_bool_opt(options, 'platformhighlighting', True)
253
+ RegexLexer.__init__(self, **options)
254
+
255
+ def get_tokens_unprocessed(self, text, stack=('root',)):
256
+ for index, token, value in \
257
+ RegexLexer.get_tokens_unprocessed(self, text, stack):
258
+ if token is Name:
259
+ if self.stdlibhighlighting and value in self.stdlib_types:
260
+ token = Keyword.Type
261
+ elif self.c99highlighting and value in self.c99_types:
262
+ token = Keyword.Type
263
+ elif self.c11highlighting and value in self.c11_atomic_types:
264
+ token = Keyword.Type
265
+ elif self.platformhighlighting and value in self.linux_types:
266
+ token = Keyword.Type
267
+ yield index, token, value
268
+
269
+
270
+ class CLexer(CFamilyLexer):
271
+ """
272
+ For C source code with preprocessor directives.
273
+
274
+ Additional options accepted:
275
+
276
+ `stdlibhighlighting`
277
+ Highlight common types found in the C/C++ standard library (e.g. `size_t`).
278
+ (default: ``True``).
279
+
280
+ `c99highlighting`
281
+ Highlight common types found in the C99 standard library (e.g. `int8_t`).
282
+ Actually, this includes all fixed-width integer types.
283
+ (default: ``True``).
284
+
285
+ `c11highlighting`
286
+ Highlight atomic types found in the C11 standard library (e.g. `atomic_bool`).
287
+ (default: ``True``).
288
+
289
+ `platformhighlighting`
290
+ Highlight common types found in the platform SDK headers (e.g. `clockid_t` on Linux).
291
+ (default: ``True``).
292
+ """
293
+ name = 'C'
294
+ aliases = ['c']
295
+ filenames = ['*.c', '*.h', '*.idc', '*.x[bp]m']
296
+ mimetypes = ['text/x-chdr', 'text/x-csrc', 'image/x-xbitmap', 'image/x-xpixmap']
297
+ url = 'https://en.wikipedia.org/wiki/C_(programming_language)'
298
+ version_added = ''
299
+ priority = 0.1
300
+
301
+ tokens = {
302
+ 'keywords': [
303
+ (words((
304
+ '_Alignas', '_Alignof', '_Noreturn', '_Generic', '_Thread_local',
305
+ '_Static_assert', '_Imaginary', 'noreturn', 'imaginary', 'complex'),
306
+ suffix=r'\b'), Keyword),
307
+ inherit
308
+ ],
309
+ 'types': [
310
+ (words(('_Bool', '_Complex', '_Atomic'), suffix=r'\b'), Keyword.Type),
311
+ inherit
312
+ ]
313
+ }
314
+
315
+ def analyse_text(text):
316
+ if re.search(r'^\s*#include [<"]', text, re.MULTILINE):
317
+ return 0.1
318
+ if re.search(r'^\s*#ifn?def ', text, re.MULTILINE):
319
+ return 0.1
320
+
321
+
322
+ class CppLexer(CFamilyLexer):
323
+ """
324
+ For C++ source code with preprocessor directives.
325
+
326
+ Additional options accepted:
327
+
328
+ `stdlibhighlighting`
329
+ Highlight common types found in the C/C++ standard library (e.g. `size_t`).
330
+ (default: ``True``).
331
+
332
+ `c99highlighting`
333
+ Highlight common types found in the C99 standard library (e.g. `int8_t`).
334
+ Actually, this includes all fixed-width integer types.
335
+ (default: ``True``).
336
+
337
+ `c11highlighting`
338
+ Highlight atomic types found in the C11 standard library (e.g. `atomic_bool`).
339
+ (default: ``True``).
340
+
341
+ `platformhighlighting`
342
+ Highlight common types found in the platform SDK headers (e.g. `clockid_t` on Linux).
343
+ (default: ``True``).
344
+ """
345
+ name = 'C++'
346
+ url = 'https://isocpp.org/'
347
+ aliases = ['cpp', 'c++']
348
+ filenames = ['*.cpp', '*.hpp', '*.c++', '*.h++',
349
+ '*.cc', '*.hh', '*.cxx', '*.hxx',
350
+ '*.C', '*.H', '*.cp', '*.CPP', '*.tpp']
351
+ mimetypes = ['text/x-c++hdr', 'text/x-c++src']
352
+ version_added = ''
353
+ priority = 0.1
354
+
355
+ tokens = {
356
+ 'statements': [
357
+ # C++11 raw strings
358
+ (r'((?:[LuU]|u8)?R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")',
359
+ bygroups(String.Affix, String, String.Delimiter, String.Delimiter,
360
+ String, String.Delimiter, String)),
361
+ inherit,
362
+ ],
363
+ 'root': [
364
+ inherit,
365
+ # C++ Microsoft-isms
366
+ (words(('virtual_inheritance', 'uuidof', 'super', 'single_inheritance',
367
+ 'multiple_inheritance', 'interface', 'event'),
368
+ prefix=r'__', suffix=r'\b'), Keyword.Reserved),
369
+ # Offload C++ extensions, http://offload.codeplay.com/
370
+ (r'__(offload|blockingoffload|outer)\b', Keyword.Pseudo),
371
+ ],
372
+ 'enumname': [
373
+ include('whitespace'),
374
+ # 'enum class' and 'enum struct' C++11 support
375
+ (words(('class', 'struct'), suffix=r'\b'), Keyword),
376
+ (CFamilyLexer._ident, Name.Class, '#pop'),
377
+ # template specification
378
+ (r'\s*(?=>)', Text, '#pop'),
379
+ default('#pop')
380
+ ],
381
+ 'keywords': [
382
+ (r'(class|concept|typename)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
383
+ (words((
384
+ 'catch', 'const_cast', 'delete', 'dynamic_cast', 'explicit',
385
+ 'export', 'friend', 'mutable', 'new', 'operator',
386
+ 'private', 'protected', 'public', 'reinterpret_cast', 'class',
387
+ '__restrict', 'static_cast', 'template', 'this', 'throw', 'throws',
388
+ 'try', 'typeid', 'using', 'virtual', 'constexpr', 'nullptr', 'concept',
389
+ 'decltype', 'noexcept', 'override', 'final', 'constinit', 'consteval',
390
+ 'co_await', 'co_return', 'co_yield', 'requires', 'import', 'module',
391
+ 'typename', 'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
392
+ 'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'),
393
+ suffix=r'\b'), Keyword),
394
+ (r'namespace\b', Keyword, 'namespace'),
395
+ (r'(enum)(\s+)', bygroups(Keyword, Whitespace), 'enumname'),
396
+ inherit
397
+ ],
398
+ 'types': [
399
+ (r'char(16_t|32_t|8_t)\b', Keyword.Type),
400
+ inherit
401
+ ],
402
+ 'namespace': [
403
+ (r'[;{]', Punctuation, ('#pop', 'root')),
404
+ (r'inline\b', Keyword.Reserved),
405
+ (CFamilyLexer._ident, Name.Namespace),
406
+ include('statement')
407
+ ]
408
+ }
409
+
410
+ def analyse_text(text):
411
+ if re.search('#include <[a-z_]+>', text):
412
+ return 0.2
413
+ if re.search('using namespace ', text):
414
+ return 0.4
temp_venv/lib/python3.13/site-packages/pygments/lexers/capnproto.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.capnproto
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Cap'n Proto schema language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, default
12
+ from pygments.token import Text, Comment, Keyword, Name, Literal, Whitespace
13
+
14
+ __all__ = ['CapnProtoLexer']
15
+
16
+
17
+ class CapnProtoLexer(RegexLexer):
18
+ """
19
+ For Cap'n Proto source.
20
+ """
21
+ name = 'Cap\'n Proto'
22
+ url = 'https://capnproto.org'
23
+ filenames = ['*.capnp']
24
+ aliases = ['capnp']
25
+ version_added = '2.2'
26
+
27
+ tokens = {
28
+ 'root': [
29
+ (r'#.*?$', Comment.Single),
30
+ (r'@[0-9a-zA-Z]*', Name.Decorator),
31
+ (r'=', Literal, 'expression'),
32
+ (r':', Name.Class, 'type'),
33
+ (r'\$', Name.Attribute, 'annotation'),
34
+ (r'(struct|enum|interface|union|import|using|const|annotation|'
35
+ r'extends|in|of|on|as|with|from|fixed)\b',
36
+ Keyword),
37
+ (r'[\w.]+', Name),
38
+ (r'[^#@=:$\w\s]+', Text),
39
+ (r'\s+', Whitespace),
40
+ ],
41
+ 'type': [
42
+ (r'[^][=;,(){}$]+', Name.Class),
43
+ (r'[\[(]', Name.Class, 'parentype'),
44
+ default('#pop'),
45
+ ],
46
+ 'parentype': [
47
+ (r'[^][;()]+', Name.Class),
48
+ (r'[\[(]', Name.Class, '#push'),
49
+ (r'[])]', Name.Class, '#pop'),
50
+ default('#pop'),
51
+ ],
52
+ 'expression': [
53
+ (r'[^][;,(){}$]+', Literal),
54
+ (r'[\[(]', Literal, 'parenexp'),
55
+ default('#pop'),
56
+ ],
57
+ 'parenexp': [
58
+ (r'[^][;()]+', Literal),
59
+ (r'[\[(]', Literal, '#push'),
60
+ (r'[])]', Literal, '#pop'),
61
+ default('#pop'),
62
+ ],
63
+ 'annotation': [
64
+ (r'[^][;,(){}=:]+', Name.Attribute),
65
+ (r'[\[(]', Name.Attribute, 'annexp'),
66
+ default('#pop'),
67
+ ],
68
+ 'annexp': [
69
+ (r'[^][;()]+', Name.Attribute),
70
+ (r'[\[(]', Name.Attribute, '#push'),
71
+ (r'[])]', Name.Attribute, '#pop'),
72
+ default('#pop'),
73
+ ],
74
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/chapel.py ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.chapel
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the Chapel language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, bygroups, words
12
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
13
+ Number, Punctuation, Whitespace
14
+
15
+ __all__ = ['ChapelLexer']
16
+
17
+
18
+ class ChapelLexer(RegexLexer):
19
+ """
20
+ For Chapel source.
21
+ """
22
+ name = 'Chapel'
23
+ url = 'https://chapel-lang.org/'
24
+ filenames = ['*.chpl']
25
+ aliases = ['chapel', 'chpl']
26
+ version_added = '2.0'
27
+ # mimetypes = ['text/x-chapel']
28
+
29
+ known_types = ('bool', 'bytes', 'complex', 'imag', 'int', 'locale',
30
+ 'nothing', 'opaque', 'range', 'real', 'string', 'uint',
31
+ 'void')
32
+
33
+ type_modifiers_par = ('atomic', 'single', 'sync')
34
+ type_modifiers_mem = ('borrowed', 'owned', 'shared', 'unmanaged')
35
+ type_modifiers = (*type_modifiers_par, *type_modifiers_mem)
36
+
37
+ declarations = ('config', 'const', 'in', 'inout', 'out', 'param', 'ref',
38
+ 'type', 'var')
39
+
40
+ constants = ('false', 'nil', 'none', 'true')
41
+
42
+ other_keywords = ('align', 'as',
43
+ 'begin', 'break', 'by',
44
+ 'catch', 'cobegin', 'coforall', 'continue',
45
+ 'defer', 'delete', 'dmapped', 'do', 'domain',
46
+ 'else', 'enum', 'except', 'export', 'extern',
47
+ 'for', 'forall', 'foreach', 'forwarding',
48
+ 'if', 'implements', 'import', 'index', 'init', 'inline',
49
+ 'label', 'lambda', 'let', 'lifetime', 'local',
50
+ 'new', 'noinit',
51
+ 'on', 'only', 'otherwise', 'override',
52
+ 'pragma', 'primitive', 'private', 'prototype', 'public',
53
+ 'reduce', 'require', 'return',
54
+ 'scan', 'select', 'serial', 'sparse', 'subdomain',
55
+ 'then', 'this', 'throw', 'throws', 'try',
56
+ 'use',
57
+ 'when', 'where', 'while', 'with',
58
+ 'yield',
59
+ 'zip')
60
+
61
+ tokens = {
62
+ 'root': [
63
+ (r'\n', Whitespace),
64
+ (r'\s+', Whitespace),
65
+ (r'\\\n', Text),
66
+
67
+ (r'//(.*?)\n', Comment.Single),
68
+ (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
69
+
70
+ (words(declarations, suffix=r'\b'), Keyword.Declaration),
71
+ (words(constants, suffix=r'\b'), Keyword.Constant),
72
+ (words(known_types, suffix=r'\b'), Keyword.Type),
73
+ (words((*type_modifiers, *other_keywords), suffix=r'\b'), Keyword),
74
+
75
+ (r'@', Keyword, 'attributename'),
76
+ (r'(iter)(\s+)', bygroups(Keyword, Whitespace), 'procname'),
77
+ (r'(proc)(\s+)', bygroups(Keyword, Whitespace), 'procname'),
78
+ (r'(operator)(\s+)', bygroups(Keyword, Whitespace), 'procname'),
79
+ (r'(class|interface|module|record|union)(\s+)', bygroups(Keyword, Whitespace),
80
+ 'classname'),
81
+
82
+ # imaginary integers
83
+ (r'\d+i', Number),
84
+ (r'\d+\.\d*([Ee][-+]\d+)?i', Number),
85
+ (r'\.\d+([Ee][-+]\d+)?i', Number),
86
+ (r'\d+[Ee][-+]\d+i', Number),
87
+
88
+ # reals cannot end with a period due to lexical ambiguity with
89
+ # .. operator. See reference for rationale.
90
+ (r'(\d*\.\d+)([eE][+-]?[0-9]+)?i?', Number.Float),
91
+ (r'\d+[eE][+-]?[0-9]+i?', Number.Float),
92
+
93
+ # integer literals
94
+ # -- binary
95
+ (r'0[bB][01]+', Number.Bin),
96
+ # -- hex
97
+ (r'0[xX][0-9a-fA-F]+', Number.Hex),
98
+ # -- octal
99
+ (r'0[oO][0-7]+', Number.Oct),
100
+ # -- decimal
101
+ (r'[0-9]+', Number.Integer),
102
+
103
+ # strings
104
+ (r'"(\\\\|\\"|[^"])*"', String),
105
+ (r"'(\\\\|\\'|[^'])*'", String),
106
+
107
+ # tokens
108
+ (r'(=|\+=|-=|\*=|/=|\*\*=|%=|&=|\|=|\^=|&&=|\|\|=|<<=|>>=|'
109
+ r'<=>|<~>|\.\.|by|#|\.\.\.|'
110
+ r'&&|\|\||!|&|\||\^|~|<<|>>|'
111
+ r'==|!=|<=|>=|<|>|'
112
+ r'[+\-*/%]|\*\*)', Operator),
113
+ (r'[:;,.?()\[\]{}]', Punctuation),
114
+
115
+ # identifiers
116
+ (r'[a-zA-Z_][\w$]*', Name.Other),
117
+ ],
118
+ 'classname': [
119
+ (r'[a-zA-Z_][\w$]*', Name.Class, '#pop'),
120
+ ],
121
+ 'procname': [
122
+ (r'([a-zA-Z_][.\w$]*|' # regular function name, including secondary
123
+ r'\~[a-zA-Z_][.\w$]*|' # support for legacy destructors
124
+ r'[+*/!~%<>=&^|\-:]{1,2})', # operators
125
+ Name.Function, '#pop'),
126
+
127
+ # allow `proc (atomic T).foo`
128
+ (r'\(', Punctuation, "receivertype"),
129
+ (r'\)+\.', Punctuation),
130
+ ],
131
+ 'receivertype': [
132
+ (words(type_modifiers, suffix=r'\b'), Keyword),
133
+ (words(known_types, suffix=r'\b'), Keyword.Type),
134
+ (r'[^()]*', Name.Other, '#pop'),
135
+ ],
136
+ 'attributename': [
137
+ (r'[a-zA-Z_][.\w$]*', Name.Decorator, '#pop'),
138
+ ],
139
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/clean.py ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.clean
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the Clean language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import ExtendedRegexLexer, words, default, include, bygroups
12
+ from pygments.token import Comment, Error, Keyword, Literal, Name, Number, \
13
+ Operator, Punctuation, String, Whitespace
14
+
15
+ __all__ = ['CleanLexer']
16
+
17
+
18
+ class CleanLexer(ExtendedRegexLexer):
19
+ """
20
+ Lexer for the general purpose, state-of-the-art, pure and lazy functional
21
+ programming language Clean.
22
+
23
+ .. versionadded: 2.2
24
+ """
25
+ name = 'Clean'
26
+ url = 'http://clean.cs.ru.nl/Clean'
27
+ aliases = ['clean']
28
+ filenames = ['*.icl', '*.dcl']
29
+ version_added = ''
30
+
31
+ keywords = (
32
+ 'case', 'ccall', 'class', 'code', 'code inline', 'derive', 'export',
33
+ 'foreign', 'generic', 'if', 'in', 'infix', 'infixl', 'infixr',
34
+ 'instance', 'let', 'of', 'otherwise', 'special', 'stdcall', 'where',
35
+ 'with')
36
+
37
+ modulewords = ('implementation', 'definition', 'system')
38
+
39
+ lowerId = r'[a-z`][\w`]*'
40
+ upperId = r'[A-Z`][\w`]*'
41
+ funnyId = r'[~@#$%\^?!+\-*<>\\/|&=:]+'
42
+ scoreUpperId = r'_' + upperId
43
+ scoreLowerId = r'_' + lowerId
44
+ moduleId = r'[a-zA-Z_][a-zA-Z0-9_.`]+'
45
+ classId = '|'.join([lowerId, upperId, funnyId])
46
+
47
+ tokens = {
48
+ 'root': [
49
+ include('comments'),
50
+ include('keywords'),
51
+ include('module'),
52
+ include('import'),
53
+ include('whitespace'),
54
+ include('literals'),
55
+ include('operators'),
56
+ include('delimiters'),
57
+ include('names'),
58
+ ],
59
+ 'whitespace': [
60
+ (r'\s+', Whitespace),
61
+ ],
62
+ 'comments': [
63
+ (r'//.*\n', Comment.Single),
64
+ (r'/\*', Comment.Multiline, 'comments.in'),
65
+ (r'/\*\*', Comment.Special, 'comments.in'),
66
+ ],
67
+ 'comments.in': [
68
+ (r'\*\/', Comment.Multiline, '#pop'),
69
+ (r'/\*', Comment.Multiline, '#push'),
70
+ (r'[^*/]+', Comment.Multiline),
71
+ (r'\*(?!/)', Comment.Multiline),
72
+ (r'/', Comment.Multiline),
73
+ ],
74
+ 'keywords': [
75
+ (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword),
76
+ ],
77
+ 'module': [
78
+ (words(modulewords, prefix=r'\b', suffix=r'\b'), Keyword.Namespace),
79
+ (r'\bmodule\b', Keyword.Namespace, 'module.name'),
80
+ ],
81
+ 'module.name': [
82
+ include('whitespace'),
83
+ (moduleId, Name.Class, '#pop'),
84
+ ],
85
+ 'import': [
86
+ (r'\b(import)\b(\s*)', bygroups(Keyword, Whitespace), 'import.module'),
87
+ (r'\b(from)\b(\s*)\b(' + moduleId + r')\b(\s*)\b(import)\b',
88
+ bygroups(Keyword, Whitespace, Name.Class, Whitespace, Keyword),
89
+ 'import.what'),
90
+ ],
91
+ 'import.module': [
92
+ (r'\b(qualified)\b(\s*)', bygroups(Keyword, Whitespace)),
93
+ (r'(\s*)\b(as)\b', bygroups(Whitespace, Keyword), ('#pop', 'import.module.as')),
94
+ (moduleId, Name.Class),
95
+ (r'(\s*)(,)(\s*)', bygroups(Whitespace, Punctuation, Whitespace)),
96
+ (r'\s+', Whitespace),
97
+ default('#pop'),
98
+ ],
99
+ 'import.module.as': [
100
+ include('whitespace'),
101
+ (lowerId, Name.Class, '#pop'),
102
+ (upperId, Name.Class, '#pop'),
103
+ ],
104
+ 'import.what': [
105
+ (r'\b(class)\b(\s+)(' + classId + r')',
106
+ bygroups(Keyword, Whitespace, Name.Class), 'import.what.class'),
107
+ (r'\b(instance)(\s+)(' + classId + r')(\s+)',
108
+ bygroups(Keyword, Whitespace, Name.Class, Whitespace), 'import.what.instance'),
109
+ (r'(::)(\s*)\b(' + upperId + r')\b',
110
+ bygroups(Punctuation, Whitespace, Name.Class), 'import.what.type'),
111
+ (r'\b(generic)\b(\s+)\b(' + lowerId + '|' + upperId + r')\b',
112
+ bygroups(Keyword, Whitespace, Name)),
113
+ include('names'),
114
+ (r'(,)(\s+)', bygroups(Punctuation, Whitespace)),
115
+ (r'$', Whitespace, '#pop'),
116
+ include('whitespace'),
117
+ ],
118
+ 'import.what.class': [
119
+ (r',', Punctuation, '#pop'),
120
+ (r'\(', Punctuation, 'import.what.class.members'),
121
+ (r'$', Whitespace, '#pop:2'),
122
+ include('whitespace'),
123
+ ],
124
+ 'import.what.class.members': [
125
+ (r',', Punctuation),
126
+ (r'\.\.', Punctuation),
127
+ (r'\)', Punctuation, '#pop'),
128
+ include('names'),
129
+ ],
130
+ 'import.what.instance': [
131
+ (r'[,)]', Punctuation, '#pop'),
132
+ (r'\(', Punctuation, 'import.what.instance'),
133
+ (r'$', Whitespace, '#pop:2'),
134
+ include('whitespace'),
135
+ include('names'),
136
+ ],
137
+ 'import.what.type': [
138
+ (r',', Punctuation, '#pop'),
139
+ (r'[({]', Punctuation, 'import.what.type.consesandfields'),
140
+ (r'$', Whitespace, '#pop:2'),
141
+ include('whitespace'),
142
+ ],
143
+ 'import.what.type.consesandfields': [
144
+ (r',', Punctuation),
145
+ (r'\.\.', Punctuation),
146
+ (r'[)}]', Punctuation, '#pop'),
147
+ include('names'),
148
+ ],
149
+ 'literals': [
150
+ (r'\'([^\'\\]|\\(x[\da-fA-F]+|\d+|.))\'', Literal.Char),
151
+ (r'[+~-]?0[0-7]+\b', Number.Oct),
152
+ (r'[+~-]?\d+\.\d+(E[+-]?\d+)?', Number.Float),
153
+ (r'[+~-]?\d+\b', Number.Integer),
154
+ (r'[+~-]?0x[\da-fA-F]+\b', Number.Hex),
155
+ (r'True|False', Literal),
156
+ (r'"', String.Double, 'literals.stringd'),
157
+ ],
158
+ 'literals.stringd': [
159
+ (r'[^\\"\n]+', String.Double),
160
+ (r'"', String.Double, '#pop'),
161
+ (r'\\.', String.Double),
162
+ (r'[$\n]', Error, '#pop'),
163
+ ],
164
+ 'operators': [
165
+ (r'[-~@#$%\^?!+*<>\\/|&=:.]+', Operator),
166
+ (r'\b_+\b', Operator),
167
+ ],
168
+ 'delimiters': [
169
+ (r'[,;(){}\[\]]', Punctuation),
170
+ (r'(\')([\w`.]+)(\')',
171
+ bygroups(Punctuation, Name.Class, Punctuation)),
172
+ ],
173
+ 'names': [
174
+ (lowerId, Name),
175
+ (scoreLowerId, Name),
176
+ (funnyId, Name.Function),
177
+ (upperId, Name.Class),
178
+ (scoreUpperId, Name.Class),
179
+ ]
180
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/comal.py ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.comal
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for COMAL-80.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, words
14
+ from pygments.token import Comment, Whitespace, Operator, Keyword, String, \
15
+ Number, Name, Punctuation
16
+
17
+ __all__ = ["Comal80Lexer"]
18
+
19
+
20
+ class Comal80Lexer(RegexLexer):
21
+ """
22
+ For COMAL-80 source code.
23
+ """
24
+
25
+ name = 'COMAL-80'
26
+ url = 'https://en.wikipedia.org/wiki/COMAL'
27
+ aliases = ['comal', 'comal80']
28
+ filenames = ['*.cml', '*.comal']
29
+ version_added = ''
30
+ flags = re.IGNORECASE
31
+ #
32
+ # COMAL allows for some strange characters in names which we list here so
33
+ # keywords and word operators will not be recognized at the start of an
34
+ # identifier.
35
+ #
36
+ _suffix = r"\b(?!['\[\]←£\\])"
37
+ _identifier = r"[a-z]['\[\]←£\\\w]*"
38
+
39
+ tokens = {
40
+ 'root': [
41
+ (r'//.*\n', Comment.Single),
42
+ (r'\s+', Whitespace),
43
+ (r':[=+-]|\<\>|[-+*/^↑<>=]', Operator),
44
+ (r'(and +then|or +else)' + _suffix, Operator.Word),
45
+ (words([
46
+ 'and', 'bitand', 'bitor', 'bitxor', 'div', 'in', 'mod', 'not',
47
+ 'or'], suffix=_suffix,), Operator.Word),
48
+ (words([
49
+ 'append', 'at', 'case', 'chain', 'close', 'copy', 'create', 'cursor',
50
+ 'data', 'delete', 'dir', 'do', 'elif', 'else', 'end', 'endcase', 'endif',
51
+ 'endfor', 'endloop', 'endtrap', 'endwhile', 'exec', 'exit', 'file',
52
+ 'for', 'goto', 'handler', 'if', 'input', 'let', 'loop', 'mount', 'null',
53
+ 'of', 'open', 'otherwise', 'output', 'page', 'pass', 'poke', 'print',
54
+ 'random', 'read', 'repeat', 'report', 'return', 'rename', 'restore',
55
+ 'select', 'step', 'stop', 'sys', 'then', 'to', 'trap', 'unit', 'unit$',
56
+ 'until', 'using', 'when', 'while', 'write', 'zone'], suffix=_suffix),
57
+ Keyword.Reserved),
58
+ (words([
59
+ 'closed', 'dim', 'endfunc', 'endproc', 'external', 'func', 'import',
60
+ 'proc', 'ref', 'use'], suffix=_suffix), Keyword.Declaration),
61
+ (words([
62
+ 'abs', 'atn', 'chr$', 'cos', 'eod', 'eof', 'err', 'errfile', 'errtext',
63
+ 'esc', 'exp', 'int', 'key$', 'len', 'log', 'ord', 'peek', 'randomize',
64
+ 'rnd', 'sgn', 'sin', 'spc$', 'sqr', 'status$', 'str$', 'tab', 'tan',
65
+ 'time', 'val'], suffix=_suffix), Name.Builtin),
66
+ (words(['false', 'pi', 'true'], suffix=_suffix), Keyword.Constant),
67
+ (r'"', String, 'string'),
68
+ (_identifier + r":(?=[ \n/])", Name.Label),
69
+ (_identifier + r"[$#]?", Name),
70
+ (r'%[01]+', Number.Bin),
71
+ (r'\$[0-9a-f]+', Number.Hex),
72
+ (r'\d*\.\d*(e[-+]?\d+)?', Number.Float),
73
+ (r'\d+', Number.Integer),
74
+ (r'[(),:;]', Punctuation),
75
+ ],
76
+ 'string': [
77
+ (r'[^"]+', String),
78
+ (r'"[0-9]*"', String.Escape),
79
+ (r'"', String, '#pop'),
80
+ ],
81
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/configs.py ADDED
@@ -0,0 +1,1433 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.configs
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for configuration file formats.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import ExtendedRegexLexer, RegexLexer, default, words, \
14
+ bygroups, include, using, line_re
15
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
+ Number, Punctuation, Whitespace, Literal, Error, Generic
17
+ from pygments.lexers.shell import BashLexer
18
+ from pygments.lexers.data import JsonLexer
19
+
20
+ __all__ = ['IniLexer', 'SystemdLexer', 'DesktopLexer', 'RegeditLexer', 'PropertiesLexer',
21
+ 'KconfigLexer', 'Cfengine3Lexer', 'ApacheConfLexer', 'SquidConfLexer',
22
+ 'NginxConfLexer', 'LighttpdConfLexer', 'DockerLexer',
23
+ 'TerraformLexer', 'TermcapLexer', 'TerminfoLexer',
24
+ 'PkgConfigLexer', 'PacmanConfLexer', 'AugeasLexer', 'TOMLLexer',
25
+ 'NestedTextLexer', 'SingularityLexer', 'UnixConfigLexer']
26
+
27
+
28
+ class IniLexer(RegexLexer):
29
+ """
30
+ Lexer for configuration files in INI style.
31
+ """
32
+
33
+ name = 'INI'
34
+ aliases = ['ini', 'cfg', 'dosini']
35
+ filenames = [
36
+ '*.ini', '*.cfg', '*.inf', '.editorconfig',
37
+ ]
38
+ mimetypes = ['text/x-ini', 'text/inf']
39
+ url = 'https://en.wikipedia.org/wiki/INI_file'
40
+ version_added = ''
41
+
42
+ tokens = {
43
+ 'root': [
44
+ (r'\s+', Whitespace),
45
+ (r'[;#].*', Comment.Single),
46
+ (r'(\[.*?\])([ \t]*)$', bygroups(Keyword, Whitespace)),
47
+ (r'''(.*?)([ \t]*)([=:])([ \t]*)(["'])''',
48
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String),
49
+ "quoted_value"),
50
+ (r'(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)',
51
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String,
52
+ Text, Whitespace),
53
+ "value"),
54
+ (r'(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)',
55
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String)),
56
+ # standalone option, supported by some INI parsers
57
+ (r'(.+?)$', Name.Attribute),
58
+ ],
59
+ 'quoted_value': [
60
+ (r'''([^"'\n]*)(["'])(\s*)''',
61
+ bygroups(String, String, Whitespace), "#pop"),
62
+ (r'[;#].*', Comment.Single),
63
+ (r'$', String, "#pop"),
64
+ ],
65
+ 'value': [ # line continuation
66
+ (r'\s+', Whitespace),
67
+ (r'(\s*)(.*)(\\)([ \t]*)',
68
+ bygroups(Whitespace, String, Text, Whitespace)),
69
+ (r'.*$', String, "#pop"),
70
+ ],
71
+ }
72
+
73
+ def analyse_text(text):
74
+ npos = text.find('\n')
75
+ if npos < 3:
76
+ return False
77
+ if text[0] == '[' and text[npos-1] == ']':
78
+ return 0.8
79
+ return False
80
+
81
+
82
+ class DesktopLexer(RegexLexer):
83
+ """
84
+ Lexer for .desktop files.
85
+ """
86
+
87
+ name = 'Desktop file'
88
+ url = "https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html"
89
+ aliases = ['desktop']
90
+ filenames = ['*.desktop']
91
+ mimetypes = ['application/x-desktop']
92
+ version_added = '2.16'
93
+
94
+ tokens = {
95
+ 'root': [
96
+ (r'^[ \t]*\n', Whitespace),
97
+ (r'^(#.*)(\n)', bygroups(Comment.Single, Whitespace)),
98
+ (r'(\[[^\]\n]+\])(\n)', bygroups(Keyword, Whitespace)),
99
+ (r'([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)',
100
+ bygroups(Name.Attribute, Name.Namespace, Whitespace, Operator, Whitespace, String, Whitespace)),
101
+ ],
102
+ }
103
+
104
+ def analyse_text(text):
105
+ if text.startswith("[Desktop Entry]"):
106
+ return 1.0
107
+ if re.search(r"^\[Desktop Entry\][ \t]*$", text[:500], re.MULTILINE) is not None:
108
+ return 0.9
109
+ return 0.0
110
+
111
+
112
+ class SystemdLexer(RegexLexer):
113
+ """
114
+ Lexer for systemd unit files.
115
+ """
116
+
117
+ name = 'Systemd'
118
+ url = "https://www.freedesktop.org/software/systemd/man/systemd.syntax.html"
119
+ aliases = ['systemd']
120
+ filenames = [
121
+ '*.service', '*.socket', '*.device', '*.mount', '*.automount',
122
+ '*.swap', '*.target', '*.path', '*.timer', '*.slice', '*.scope',
123
+ ]
124
+ version_added = '2.16'
125
+
126
+ tokens = {
127
+ 'root': [
128
+ (r'^[ \t]*\n', Whitespace),
129
+ (r'^([;#].*)(\n)', bygroups(Comment.Single, Whitespace)),
130
+ (r'(\[[^\]\n]+\])(\n)', bygroups(Keyword, Whitespace)),
131
+ (r'([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)',
132
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String,
133
+ Text, Whitespace),
134
+ "value"),
135
+ (r'([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)',
136
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String, Whitespace)),
137
+ ],
138
+ 'value': [
139
+ # line continuation
140
+ (r'^([;#].*)(\n)', bygroups(Comment.Single, Whitespace)),
141
+ (r'([ \t]*)([^\n]*)(\\)(\n)',
142
+ bygroups(Whitespace, String, Text, Whitespace)),
143
+ (r'([ \t]*)([^\n]*)(\n)',
144
+ bygroups(Whitespace, String, Whitespace), "#pop"),
145
+ ],
146
+ }
147
+
148
+ def analyse_text(text):
149
+ if text.startswith("[Unit]"):
150
+ return 1.0
151
+ if re.search(r"^\[Unit\][ \t]*$", text[:500], re.MULTILINE) is not None:
152
+ return 0.9
153
+ return 0.0
154
+
155
+
156
+ class RegeditLexer(RegexLexer):
157
+ """
158
+ Lexer for Windows Registry files produced by regedit.
159
+ """
160
+
161
+ name = 'reg'
162
+ url = 'http://en.wikipedia.org/wiki/Windows_Registry#.REG_files'
163
+ aliases = ['registry']
164
+ filenames = ['*.reg']
165
+ mimetypes = ['text/x-windows-registry']
166
+ version_added = '1.6'
167
+
168
+ tokens = {
169
+ 'root': [
170
+ (r'Windows Registry Editor.*', Text),
171
+ (r'\s+', Whitespace),
172
+ (r'[;#].*', Comment.Single),
173
+ (r'(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$',
174
+ bygroups(Keyword, Operator, Name.Builtin, Keyword)),
175
+ # String keys, which obey somewhat normal escaping
176
+ (r'("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)',
177
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace),
178
+ 'value'),
179
+ # Bare keys (includes @)
180
+ (r'(.*?)([ \t]*)(=)([ \t]*)',
181
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace),
182
+ 'value'),
183
+ ],
184
+ 'value': [
185
+ (r'-', Operator, '#pop'), # delete value
186
+ (r'(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)',
187
+ bygroups(Name.Variable, Punctuation, Number), '#pop'),
188
+ # As far as I know, .reg files do not support line continuation.
189
+ (r'.+', String, '#pop'),
190
+ default('#pop'),
191
+ ]
192
+ }
193
+
194
+ def analyse_text(text):
195
+ return text.startswith('Windows Registry Editor')
196
+
197
+
198
+ class PropertiesLexer(RegexLexer):
199
+ """
200
+ Lexer for configuration files in Java's properties format.
201
+
202
+ Note: trailing whitespace counts as part of the value as per spec
203
+ """
204
+
205
+ name = 'Properties'
206
+ aliases = ['properties', 'jproperties']
207
+ filenames = ['*.properties']
208
+ mimetypes = ['text/x-java-properties']
209
+ url = 'https://en.wikipedia.org/wiki/.properties'
210
+ version_added = '1.4'
211
+
212
+ tokens = {
213
+ 'root': [
214
+ # comments
215
+ (r'[!#].*|/{2}.*', Comment.Single),
216
+ # ending a comment or whitespace-only line
217
+ (r'\n', Whitespace),
218
+ # eat whitespace at the beginning of a line
219
+ (r'^[^\S\n]+', Whitespace),
220
+ # start lexing a key
221
+ default('key'),
222
+ ],
223
+ 'key': [
224
+ # non-escaped key characters
225
+ (r'[^\\:=\s]+', Name.Attribute),
226
+ # escapes
227
+ include('escapes'),
228
+ # separator is the first non-escaped whitespace or colon or '=' on the line;
229
+ # if it's whitespace, = and : are gobbled after it
230
+ (r'([^\S\n]*)([:=])([^\S\n]*)',
231
+ bygroups(Whitespace, Operator, Whitespace),
232
+ ('#pop', 'value')),
233
+ (r'[^\S\n]+', Whitespace, ('#pop', 'value')),
234
+ # maybe we got no value after all
235
+ (r'\n', Whitespace, '#pop'),
236
+ ],
237
+ 'value': [
238
+ # non-escaped value characters
239
+ (r'[^\\\n]+', String),
240
+ # escapes
241
+ include('escapes'),
242
+ # end the value on an unescaped newline
243
+ (r'\n', Whitespace, '#pop'),
244
+ ],
245
+ 'escapes': [
246
+ # line continuations; these gobble whitespace at the beginning of the next line
247
+ (r'(\\\n)([^\S\n]*)', bygroups(String.Escape, Whitespace)),
248
+ # other escapes
249
+ (r'\\(.|\n)', String.Escape),
250
+ ],
251
+ }
252
+
253
+
254
+ def _rx_indent(level):
255
+ # Kconfig *always* interprets a tab as 8 spaces, so this is the default.
256
+ # Edit this if you are in an environment where KconfigLexer gets expanded
257
+ # input (tabs expanded to spaces) and the expansion tab width is != 8,
258
+ # e.g. in connection with Trac (trac.ini, [mimeviewer], tab_width).
259
+ # Value range here is 2 <= {tab_width} <= 8.
260
+ tab_width = 8
261
+ # Regex matching a given indentation {level}, assuming that indentation is
262
+ # a multiple of {tab_width}. In other cases there might be problems.
263
+ if tab_width == 2:
264
+ space_repeat = '+'
265
+ else:
266
+ space_repeat = '{1,%d}' % (tab_width - 1)
267
+ if level == 1:
268
+ level_repeat = ''
269
+ else:
270
+ level_repeat = f'{{{level}}}'
271
+ return rf'(?:\t| {space_repeat}\t| {{{tab_width}}}){level_repeat}.*\n'
272
+
273
+
274
+ class KconfigLexer(RegexLexer):
275
+ """
276
+ For Linux-style Kconfig files.
277
+ """
278
+
279
+ name = 'Kconfig'
280
+ aliases = ['kconfig', 'menuconfig', 'linux-config', 'kernel-config']
281
+ version_added = '1.6'
282
+ # Adjust this if new kconfig file names appear in your environment
283
+ filenames = ['Kconfig*', '*Config.in*', 'external.in*',
284
+ 'standard-modules.in']
285
+ mimetypes = ['text/x-kconfig']
286
+ url = 'https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html'
287
+
288
+ # No re.MULTILINE, indentation-aware help text needs line-by-line handling
289
+ flags = 0
290
+
291
+ def call_indent(level):
292
+ # If indentation >= {level} is detected, enter state 'indent{level}'
293
+ return (_rx_indent(level), String.Doc, f'indent{level}')
294
+
295
+ def do_indent(level):
296
+ # Print paragraphs of indentation level >= {level} as String.Doc,
297
+ # ignoring blank lines. Then return to 'root' state.
298
+ return [
299
+ (_rx_indent(level), String.Doc),
300
+ (r'\s*\n', Text),
301
+ default('#pop:2')
302
+ ]
303
+
304
+ tokens = {
305
+ 'root': [
306
+ (r'\s+', Whitespace),
307
+ (r'#.*?\n', Comment.Single),
308
+ (words((
309
+ 'mainmenu', 'config', 'menuconfig', 'choice', 'endchoice',
310
+ 'comment', 'menu', 'endmenu', 'visible if', 'if', 'endif',
311
+ 'source', 'prompt', 'select', 'depends on', 'default',
312
+ 'range', 'option'), suffix=r'\b'),
313
+ Keyword),
314
+ (r'(---help---|help)[\t ]*\n', Keyword, 'help'),
315
+ (r'(bool|tristate|string|hex|int|defconfig_list|modules|env)\b',
316
+ Name.Builtin),
317
+ (r'[!=&|]', Operator),
318
+ (r'[()]', Punctuation),
319
+ (r'[0-9]+', Number.Integer),
320
+ (r"'(''|[^'])*'", String.Single),
321
+ (r'"(""|[^"])*"', String.Double),
322
+ (r'\S+', Text),
323
+ ],
324
+ # Help text is indented, multi-line and ends when a lower indentation
325
+ # level is detected.
326
+ 'help': [
327
+ # Skip blank lines after help token, if any
328
+ (r'\s*\n', Text),
329
+ # Determine the first help line's indentation level heuristically(!).
330
+ # Attention: this is not perfect, but works for 99% of "normal"
331
+ # indentation schemes up to a max. indentation level of 7.
332
+ call_indent(7),
333
+ call_indent(6),
334
+ call_indent(5),
335
+ call_indent(4),
336
+ call_indent(3),
337
+ call_indent(2),
338
+ call_indent(1),
339
+ default('#pop'), # for incomplete help sections without text
340
+ ],
341
+ # Handle text for indentation levels 7 to 1
342
+ 'indent7': do_indent(7),
343
+ 'indent6': do_indent(6),
344
+ 'indent5': do_indent(5),
345
+ 'indent4': do_indent(4),
346
+ 'indent3': do_indent(3),
347
+ 'indent2': do_indent(2),
348
+ 'indent1': do_indent(1),
349
+ }
350
+
351
+
352
+ class Cfengine3Lexer(RegexLexer):
353
+ """
354
+ Lexer for CFEngine3 policy files.
355
+ """
356
+
357
+ name = 'CFEngine3'
358
+ url = 'http://cfengine.org'
359
+ aliases = ['cfengine3', 'cf3']
360
+ filenames = ['*.cf']
361
+ mimetypes = []
362
+ version_added = '1.5'
363
+
364
+ tokens = {
365
+ 'root': [
366
+ (r'#.*?\n', Comment),
367
+ (r'(body)(\s+)(\S+)(\s+)(control)',
368
+ bygroups(Keyword, Whitespace, Keyword, Whitespace, Keyword)),
369
+ (r'(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()',
370
+ bygroups(Keyword, Whitespace, Keyword, Whitespace, Name.Function, Punctuation),
371
+ 'arglist'),
372
+ (r'(body|bundle)(\s+)(\S+)(\s+)(\w+)',
373
+ bygroups(Keyword, Whitespace, Keyword, Whitespace, Name.Function)),
374
+ (r'(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)',
375
+ bygroups(Punctuation, Name.Variable, Punctuation,
376
+ Whitespace, Keyword.Type, Whitespace, Operator, Whitespace)),
377
+ (r'(\S+)(\s*)(=>)(\s*)',
378
+ bygroups(Keyword.Reserved, Whitespace, Operator, Text)),
379
+ (r'"', String, 'string'),
380
+ (r'(\w+)(\()', bygroups(Name.Function, Punctuation)),
381
+ (r'([\w.!&|()]+)(::)', bygroups(Name.Class, Punctuation)),
382
+ (r'(\w+)(:)', bygroups(Keyword.Declaration, Punctuation)),
383
+ (r'@[{(][^)}]+[})]', Name.Variable),
384
+ (r'[(){},;]', Punctuation),
385
+ (r'=>', Operator),
386
+ (r'->', Operator),
387
+ (r'\d+\.\d+', Number.Float),
388
+ (r'\d+', Number.Integer),
389
+ (r'\w+', Name.Function),
390
+ (r'\s+', Whitespace),
391
+ ],
392
+ 'string': [
393
+ (r'\$[{(]', String.Interpol, 'interpol'),
394
+ (r'\\.', String.Escape),
395
+ (r'"', String, '#pop'),
396
+ (r'\n', String),
397
+ (r'.', String),
398
+ ],
399
+ 'interpol': [
400
+ (r'\$[{(]', String.Interpol, '#push'),
401
+ (r'[})]', String.Interpol, '#pop'),
402
+ (r'[^${()}]+', String.Interpol),
403
+ ],
404
+ 'arglist': [
405
+ (r'\)', Punctuation, '#pop'),
406
+ (r',', Punctuation),
407
+ (r'\w+', Name.Variable),
408
+ (r'\s+', Whitespace),
409
+ ],
410
+ }
411
+
412
+
413
+ class ApacheConfLexer(RegexLexer):
414
+ """
415
+ Lexer for configuration files following the Apache config file
416
+ format.
417
+ """
418
+
419
+ name = 'ApacheConf'
420
+ aliases = ['apacheconf', 'aconf', 'apache']
421
+ filenames = ['.htaccess', 'apache.conf', 'apache2.conf']
422
+ mimetypes = ['text/x-apacheconf']
423
+ url = 'https://httpd.apache.org/docs/current/configuring.html'
424
+ version_added = '0.6'
425
+ flags = re.MULTILINE | re.IGNORECASE
426
+
427
+ tokens = {
428
+ 'root': [
429
+ (r'\s+', Whitespace),
430
+ (r'#(.*\\\n)+.*$|(#.*?)$', Comment),
431
+ (r'(<[^\s>/][^\s>]*)(?:(\s+)(.*))?(>)',
432
+ bygroups(Name.Tag, Whitespace, String, Name.Tag)),
433
+ (r'(</[^\s>]+)(>)',
434
+ bygroups(Name.Tag, Name.Tag)),
435
+ (r'[a-z]\w*', Name.Builtin, 'value'),
436
+ (r'\.+', Text),
437
+ ],
438
+ 'value': [
439
+ (r'\\\n', Text),
440
+ (r'\n+', Whitespace, '#pop'),
441
+ (r'\\', Text),
442
+ (r'[^\S\n]+', Whitespace),
443
+ (r'\d+\.\d+\.\d+\.\d+(?:/\d+)?', Number),
444
+ (r'\d+', Number),
445
+ (r'/([*a-z0-9][*\w./-]+)', String.Other),
446
+ (r'(on|off|none|any|all|double|email|dns|min|minimal|'
447
+ r'os|productonly|full|emerg|alert|crit|error|warn|'
448
+ r'notice|info|debug|registry|script|inetd|standalone|'
449
+ r'user|group)\b', Keyword),
450
+ (r'"([^"\\]*(?:\\(.|\n)[^"\\]*)*)"', String.Double),
451
+ (r'[^\s"\\]+', Text)
452
+ ],
453
+ }
454
+
455
+
456
+ class SquidConfLexer(RegexLexer):
457
+ """
458
+ Lexer for squid configuration files.
459
+ """
460
+
461
+ name = 'SquidConf'
462
+ url = 'http://www.squid-cache.org/'
463
+ aliases = ['squidconf', 'squid.conf', 'squid']
464
+ filenames = ['squid.conf']
465
+ mimetypes = ['text/x-squidconf']
466
+ version_added = '0.9'
467
+ flags = re.IGNORECASE
468
+
469
+ keywords = (
470
+ "access_log", "acl", "always_direct", "announce_host",
471
+ "announce_period", "announce_port", "announce_to", "anonymize_headers",
472
+ "append_domain", "as_whois_server", "auth_param_basic",
473
+ "authenticate_children", "authenticate_program", "authenticate_ttl",
474
+ "broken_posts", "buffered_logs", "cache_access_log", "cache_announce",
475
+ "cache_dir", "cache_dns_program", "cache_effective_group",
476
+ "cache_effective_user", "cache_host", "cache_host_acl",
477
+ "cache_host_domain", "cache_log", "cache_mem", "cache_mem_high",
478
+ "cache_mem_low", "cache_mgr", "cachemgr_passwd", "cache_peer",
479
+ "cache_peer_access", "cache_replacement_policy", "cache_stoplist",
480
+ "cache_stoplist_pattern", "cache_store_log", "cache_swap",
481
+ "cache_swap_high", "cache_swap_log", "cache_swap_low", "client_db",
482
+ "client_lifetime", "client_netmask", "connect_timeout", "coredump_dir",
483
+ "dead_peer_timeout", "debug_options", "delay_access", "delay_class",
484
+ "delay_initial_bucket_level", "delay_parameters", "delay_pools",
485
+ "deny_info", "dns_children", "dns_defnames", "dns_nameservers",
486
+ "dns_testnames", "emulate_httpd_log", "err_html_text",
487
+ "fake_user_agent", "firewall_ip", "forwarded_for", "forward_snmpd_port",
488
+ "fqdncache_size", "ftpget_options", "ftpget_program", "ftp_list_width",
489
+ "ftp_passive", "ftp_user", "half_closed_clients", "header_access",
490
+ "header_replace", "hierarchy_stoplist", "high_response_time_warning",
491
+ "high_page_fault_warning", "hosts_file", "htcp_port", "http_access",
492
+ "http_anonymizer", "httpd_accel", "httpd_accel_host",
493
+ "httpd_accel_port", "httpd_accel_uses_host_header",
494
+ "httpd_accel_with_proxy", "http_port", "http_reply_access",
495
+ "icp_access", "icp_hit_stale", "icp_port", "icp_query_timeout",
496
+ "ident_lookup", "ident_lookup_access", "ident_timeout",
497
+ "incoming_http_average", "incoming_icp_average", "inside_firewall",
498
+ "ipcache_high", "ipcache_low", "ipcache_size", "local_domain",
499
+ "local_ip", "logfile_rotate", "log_fqdn", "log_icp_queries",
500
+ "log_mime_hdrs", "maximum_object_size", "maximum_single_addr_tries",
501
+ "mcast_groups", "mcast_icp_query_timeout", "mcast_miss_addr",
502
+ "mcast_miss_encode_key", "mcast_miss_port", "memory_pools",
503
+ "memory_pools_limit", "memory_replacement_policy", "mime_table",
504
+ "min_http_poll_cnt", "min_icp_poll_cnt", "minimum_direct_hops",
505
+ "minimum_object_size", "minimum_retry_timeout", "miss_access",
506
+ "negative_dns_ttl", "negative_ttl", "neighbor_timeout",
507
+ "neighbor_type_domain", "netdb_high", "netdb_low", "netdb_ping_period",
508
+ "netdb_ping_rate", "never_direct", "no_cache", "passthrough_proxy",
509
+ "pconn_timeout", "pid_filename", "pinger_program", "positive_dns_ttl",
510
+ "prefer_direct", "proxy_auth", "proxy_auth_realm", "query_icmp",
511
+ "quick_abort", "quick_abort_max", "quick_abort_min",
512
+ "quick_abort_pct", "range_offset_limit", "read_timeout",
513
+ "redirect_children", "redirect_program",
514
+ "redirect_rewrites_host_header", "reference_age",
515
+ "refresh_pattern", "reload_into_ims", "request_body_max_size",
516
+ "request_size", "request_timeout", "shutdown_lifetime",
517
+ "single_parent_bypass", "siteselect_timeout", "snmp_access",
518
+ "snmp_incoming_address", "snmp_port", "source_ping", "ssl_proxy",
519
+ "store_avg_object_size", "store_objects_per_bucket",
520
+ "strip_query_terms", "swap_level1_dirs", "swap_level2_dirs",
521
+ "tcp_incoming_address", "tcp_outgoing_address", "tcp_recv_bufsize",
522
+ "test_reachability", "udp_hit_obj", "udp_hit_obj_size",
523
+ "udp_incoming_address", "udp_outgoing_address", "unique_hostname",
524
+ "unlinkd_program", "uri_whitespace", "useragent_log",
525
+ "visible_hostname", "wais_relay", "wais_relay_host", "wais_relay_port",
526
+ )
527
+
528
+ opts = (
529
+ "proxy-only", "weight", "ttl", "no-query", "default", "round-robin",
530
+ "multicast-responder", "on", "off", "all", "deny", "allow", "via",
531
+ "parent", "no-digest", "heap", "lru", "realm", "children", "q1", "q2",
532
+ "credentialsttl", "none", "disable", "offline_toggle", "diskd",
533
+ )
534
+
535
+ actions = (
536
+ "shutdown", "info", "parameter", "server_list", "client_list",
537
+ r'squid.conf',
538
+ )
539
+
540
+ actions_stats = (
541
+ "objects", "vm_objects", "utilization", "ipcache", "fqdncache", "dns",
542
+ "redirector", "io", "reply_headers", "filedescriptors", "netdb",
543
+ )
544
+
545
+ actions_log = ("status", "enable", "disable", "clear")
546
+
547
+ acls = (
548
+ "url_regex", "urlpath_regex", "referer_regex", "port", "proto",
549
+ "req_mime_type", "rep_mime_type", "method", "browser", "user", "src",
550
+ "dst", "time", "dstdomain", "ident", "snmp_community",
551
+ )
552
+
553
+ ipv4_group = r'(\d+|0x[0-9a-f]+)'
554
+ ipv4 = rf'({ipv4_group}(\.{ipv4_group}){{3}})'
555
+ ipv6_group = r'([0-9a-f]{0,4})'
556
+ ipv6 = rf'({ipv6_group}(:{ipv6_group}){{1,7}})'
557
+ bare_ip = rf'({ipv4}|{ipv6})'
558
+ # XXX: /integer is a subnet mark, but what is /IP ?
559
+ # There is no test where it is used.
560
+ ip = rf'{bare_ip}(/({bare_ip}|\d+))?'
561
+
562
+ tokens = {
563
+ 'root': [
564
+ (r'\s+', Whitespace),
565
+ (r'#', Comment, 'comment'),
566
+ (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword),
567
+ (words(opts, prefix=r'\b', suffix=r'\b'), Name.Constant),
568
+ # Actions
569
+ (words(actions, prefix=r'\b', suffix=r'\b'), String),
570
+ (words(actions_stats, prefix=r'stats/', suffix=r'\b'), String),
571
+ (words(actions_log, prefix=r'log/', suffix=r'='), String),
572
+ (words(acls, prefix=r'\b', suffix=r'\b'), Keyword),
573
+ (ip, Number.Float),
574
+ (r'(?:\b\d+\b(?:-\b\d+|%)?)', Number),
575
+ (r'\S+', Text),
576
+ ],
577
+ 'comment': [
578
+ (r'\s*TAG:.*', String.Escape, '#pop'),
579
+ (r'.+', Comment, '#pop'),
580
+ default('#pop'),
581
+ ],
582
+ }
583
+
584
+
585
+ class NginxConfLexer(RegexLexer):
586
+ """
587
+ Lexer for Nginx configuration files.
588
+ """
589
+ name = 'Nginx configuration file'
590
+ url = 'http://nginx.net/'
591
+ aliases = ['nginx']
592
+ filenames = ['nginx.conf']
593
+ mimetypes = ['text/x-nginx-conf']
594
+ version_added = '0.11'
595
+
596
+ tokens = {
597
+ 'root': [
598
+ (r'(include)(\s+)([^\s;]+)', bygroups(Keyword, Whitespace, Name)),
599
+ (r'[^\s;#]+', Keyword, 'stmt'),
600
+ include('base'),
601
+ ],
602
+ 'block': [
603
+ (r'\}', Punctuation, '#pop:2'),
604
+ (r'[^\s;#]+', Keyword.Namespace, 'stmt'),
605
+ include('base'),
606
+ ],
607
+ 'stmt': [
608
+ (r'\{', Punctuation, 'block'),
609
+ (r';', Punctuation, '#pop'),
610
+ include('base'),
611
+ ],
612
+ 'base': [
613
+ (r'#.*\n', Comment.Single),
614
+ (r'on|off', Name.Constant),
615
+ (r'\$[^\s;#()]+', Name.Variable),
616
+ (r'([a-z0-9.-]+)(:)([0-9]+)',
617
+ bygroups(Name, Punctuation, Number.Integer)),
618
+ (r'[a-z-]+/[a-z-+]+', String), # mimetype
619
+ # (r'[a-zA-Z._-]+', Keyword),
620
+ (r'[0-9]+[km]?\b', Number.Integer),
621
+ (r'(~)(\s*)([^\s{]+)', bygroups(Punctuation, Whitespace, String.Regex)),
622
+ (r'[:=~]', Punctuation),
623
+ (r'[^\s;#{}$]+', String), # catch all
624
+ (r'/[^\s;#]*', Name), # pathname
625
+ (r'\s+', Whitespace),
626
+ (r'[$;]', Text), # leftover characters
627
+ ],
628
+ }
629
+
630
+
631
+ class LighttpdConfLexer(RegexLexer):
632
+ """
633
+ Lexer for Lighttpd configuration files.
634
+ """
635
+ name = 'Lighttpd configuration file'
636
+ url = 'http://lighttpd.net/'
637
+ aliases = ['lighttpd', 'lighty']
638
+ filenames = ['lighttpd.conf']
639
+ mimetypes = ['text/x-lighttpd-conf']
640
+ version_added = '0.11'
641
+
642
+ tokens = {
643
+ 'root': [
644
+ (r'#.*\n', Comment.Single),
645
+ (r'/\S*', Name), # pathname
646
+ (r'[a-zA-Z._-]+', Keyword),
647
+ (r'\d+\.\d+\.\d+\.\d+(?:/\d+)?', Number),
648
+ (r'[0-9]+', Number),
649
+ (r'=>|=~|\+=|==|=|\+', Operator),
650
+ (r'\$[A-Z]+', Name.Builtin),
651
+ (r'[(){}\[\],]', Punctuation),
652
+ (r'"([^"\\]*(?:\\.[^"\\]*)*)"', String.Double),
653
+ (r'\s+', Whitespace),
654
+ ],
655
+
656
+ }
657
+
658
+
659
+ class DockerLexer(RegexLexer):
660
+ """
661
+ Lexer for Docker configuration files.
662
+ """
663
+ name = 'Docker'
664
+ url = 'http://docker.io'
665
+ aliases = ['docker', 'dockerfile']
666
+ filenames = ['Dockerfile', '*.docker']
667
+ mimetypes = ['text/x-dockerfile-config']
668
+ version_added = '2.0'
669
+
670
+ _keywords = (r'(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)')
671
+ _bash_keywords = (r'(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)')
672
+ _lb = r'(?:\s*\\?\s*)' # dockerfile line break regex
673
+ flags = re.IGNORECASE | re.MULTILINE
674
+
675
+ tokens = {
676
+ 'root': [
677
+ (r'#.*', Comment),
678
+ (r'(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?',
679
+ bygroups(Keyword, Whitespace, String, Whitespace, Keyword, Whitespace, String)),
680
+ (rf'(ONBUILD)(\s+)({_lb})', bygroups(Keyword, Whitespace, using(BashLexer))),
681
+ (rf'(HEALTHCHECK)(\s+)(({_lb}--\w+=\w+{_lb})*)',
682
+ bygroups(Keyword, Whitespace, using(BashLexer))),
683
+ (rf'(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)({_lb})(\[.*?\])',
684
+ bygroups(Keyword, Whitespace, using(BashLexer), using(JsonLexer))),
685
+ (rf'(LABEL|ENV|ARG)(\s+)(({_lb}\w+=\w+{_lb})*)',
686
+ bygroups(Keyword, Whitespace, using(BashLexer))),
687
+ (rf'({_keywords}|VOLUME)\b(\s+)(.*)', bygroups(Keyword, Whitespace, String)),
688
+ (rf'({_bash_keywords})(\s+)', bygroups(Keyword, Whitespace)),
689
+ (r'(.*\\\n)*.+', using(BashLexer)),
690
+ ]
691
+ }
692
+
693
+
694
+ class TerraformLexer(ExtendedRegexLexer):
695
+ """
696
+ Lexer for terraformi ``.tf`` files.
697
+ """
698
+
699
+ name = 'Terraform'
700
+ url = 'https://www.terraform.io/'
701
+ aliases = ['terraform', 'tf', 'hcl']
702
+ filenames = ['*.tf', '*.hcl']
703
+ mimetypes = ['application/x-tf', 'application/x-terraform']
704
+ version_added = '2.1'
705
+
706
+ classes = ('backend', 'data', 'module', 'output', 'provider',
707
+ 'provisioner', 'resource', 'variable')
708
+ classes_re = "({})".format(('|').join(classes))
709
+
710
+ types = ('string', 'number', 'bool', 'list', 'tuple', 'map', 'set', 'object', 'null')
711
+
712
+ numeric_functions = ('abs', 'ceil', 'floor', 'log', 'max',
713
+ 'mix', 'parseint', 'pow', 'signum')
714
+
715
+ string_functions = ('chomp', 'format', 'formatlist', 'indent',
716
+ 'join', 'lower', 'regex', 'regexall', 'replace',
717
+ 'split', 'strrev', 'substr', 'title', 'trim',
718
+ 'trimprefix', 'trimsuffix', 'trimspace', 'upper'
719
+ )
720
+
721
+ collection_functions = ('alltrue', 'anytrue', 'chunklist', 'coalesce',
722
+ 'coalescelist', 'compact', 'concat', 'contains',
723
+ 'distinct', 'element', 'flatten', 'index', 'keys',
724
+ 'length', 'list', 'lookup', 'map', 'matchkeys',
725
+ 'merge', 'range', 'reverse', 'setintersection',
726
+ 'setproduct', 'setsubtract', 'setunion', 'slice',
727
+ 'sort', 'sum', 'transpose', 'values', 'zipmap'
728
+ )
729
+
730
+ encoding_functions = ('base64decode', 'base64encode', 'base64gzip',
731
+ 'csvdecode', 'jsondecode', 'jsonencode', 'textdecodebase64',
732
+ 'textencodebase64', 'urlencode', 'yamldecode', 'yamlencode')
733
+
734
+ filesystem_functions = ('abspath', 'dirname', 'pathexpand', 'basename',
735
+ 'file', 'fileexists', 'fileset', 'filebase64', 'templatefile')
736
+
737
+ date_time_functions = ('formatdate', 'timeadd', 'timestamp')
738
+
739
+ hash_crypto_functions = ('base64sha256', 'base64sha512', 'bcrypt', 'filebase64sha256',
740
+ 'filebase64sha512', 'filemd5', 'filesha1', 'filesha256', 'filesha512',
741
+ 'md5', 'rsadecrypt', 'sha1', 'sha256', 'sha512', 'uuid', 'uuidv5')
742
+
743
+ ip_network_functions = ('cidrhost', 'cidrnetmask', 'cidrsubnet', 'cidrsubnets')
744
+
745
+ type_conversion_functions = ('can', 'defaults', 'tobool', 'tolist', 'tomap',
746
+ 'tonumber', 'toset', 'tostring', 'try')
747
+
748
+ builtins = numeric_functions + string_functions + collection_functions + encoding_functions +\
749
+ filesystem_functions + date_time_functions + hash_crypto_functions + ip_network_functions +\
750
+ type_conversion_functions
751
+ builtins_re = "({})".format(('|').join(builtins))
752
+
753
+ def heredoc_callback(self, match, ctx):
754
+ # Parse a terraform heredoc
755
+ # match: 1 = <<[-]?, 2 = name 3 = rest of line
756
+
757
+ start = match.start(1)
758
+ yield start, Operator, match.group(1) # <<[-]?
759
+ yield match.start(2), String.Delimiter, match.group(2) # heredoc name
760
+
761
+ ctx.pos = match.start(3)
762
+ ctx.end = match.end(3)
763
+ yield ctx.pos, String.Heredoc, match.group(3)
764
+ ctx.pos = match.end()
765
+
766
+ hdname = match.group(2)
767
+ tolerant = True # leading whitespace is always accepted
768
+
769
+ lines = []
770
+
771
+ for match in line_re.finditer(ctx.text, ctx.pos):
772
+ if tolerant:
773
+ check = match.group().strip()
774
+ else:
775
+ check = match.group().rstrip()
776
+ if check == hdname:
777
+ for amatch in lines:
778
+ yield amatch.start(), String.Heredoc, amatch.group()
779
+ yield match.start(), String.Delimiter, match.group()
780
+ ctx.pos = match.end()
781
+ break
782
+ else:
783
+ lines.append(match)
784
+ else:
785
+ # end of heredoc not found -- error!
786
+ for amatch in lines:
787
+ yield amatch.start(), Error, amatch.group()
788
+ ctx.end = len(ctx.text)
789
+
790
+ tokens = {
791
+ 'root': [
792
+ include('basic'),
793
+ include('whitespace'),
794
+
795
+ # Strings
796
+ (r'(".*")', bygroups(String.Double)),
797
+
798
+ # Constants
799
+ (words(('true', 'false'), prefix=r'\b', suffix=r'\b'), Name.Constant),
800
+
801
+ # Types
802
+ (words(types, prefix=r'\b', suffix=r'\b'), Keyword.Type),
803
+
804
+ include('identifier'),
805
+ include('punctuation'),
806
+ (r'[0-9]+', Number),
807
+ ],
808
+ 'basic': [
809
+ (r'\s*/\*', Comment.Multiline, 'comment'),
810
+ (r'\s*(#|//).*\n', Comment.Single),
811
+ include('whitespace'),
812
+
813
+ # e.g. terraform {
814
+ # e.g. egress {
815
+ (r'(\s*)([0-9a-zA-Z-_]+)(\s*)(=?)(\s*)(\{)',
816
+ bygroups(Whitespace, Name.Builtin, Whitespace, Operator, Whitespace, Punctuation)),
817
+
818
+ # Assignment with attributes, e.g. something = ...
819
+ (r'(\s*)([0-9a-zA-Z-_]+)(\s*)(=)(\s*)',
820
+ bygroups(Whitespace, Name.Attribute, Whitespace, Operator, Whitespace)),
821
+
822
+ # Assignment with environment variables and similar, e.g. "something" = ...
823
+ # or key value assignment, e.g. "SlotName" : ...
824
+ (r'(\s*)("\S+")(\s*)([=:])(\s*)',
825
+ bygroups(Whitespace, Literal.String.Double, Whitespace, Operator, Whitespace)),
826
+
827
+ # Functions, e.g. jsonencode(element("value"))
828
+ (builtins_re + r'(\()', bygroups(Name.Function, Punctuation)),
829
+
830
+ # List of attributes, e.g. ignore_changes = [last_modified, filename]
831
+ (r'(\[)([a-z_,\s]+)(\])', bygroups(Punctuation, Name.Builtin, Punctuation)),
832
+
833
+ # e.g. resource "aws_security_group" "allow_tls" {
834
+ # e.g. backend "consul" {
835
+ (classes_re + r'(\s+)("[0-9a-zA-Z-_]+")?(\s*)("[0-9a-zA-Z-_]+")(\s+)(\{)',
836
+ bygroups(Keyword.Reserved, Whitespace, Name.Class, Whitespace, Name.Variable, Whitespace, Punctuation)),
837
+
838
+ # here-doc style delimited strings
839
+ (r'(<<-?)\s*([a-zA-Z_]\w*)(.*?\n)', heredoc_callback),
840
+ ],
841
+ 'identifier': [
842
+ (r'\b(var\.[0-9a-zA-Z-_\.\[\]]+)\b', bygroups(Name.Variable)),
843
+ (r'\b([0-9a-zA-Z-_\[\]]+\.[0-9a-zA-Z-_\.\[\]]+)\b',
844
+ bygroups(Name.Variable)),
845
+ ],
846
+ 'punctuation': [
847
+ (r'[\[\]()\{\},.?:!=]', Punctuation),
848
+ ],
849
+ 'comment': [
850
+ (r'[^*/]', Comment.Multiline),
851
+ (r'/\*', Comment.Multiline, '#push'),
852
+ (r'\*/', Comment.Multiline, '#pop'),
853
+ (r'[*/]', Comment.Multiline)
854
+ ],
855
+ 'whitespace': [
856
+ (r'\n', Whitespace),
857
+ (r'\s+', Whitespace),
858
+ (r'(\\)(\n)', bygroups(Text, Whitespace)),
859
+ ],
860
+ }
861
+
862
+
863
+ class TermcapLexer(RegexLexer):
864
+ """
865
+ Lexer for termcap database source.
866
+
867
+ This is very simple and minimal.
868
+ """
869
+ name = 'Termcap'
870
+ aliases = ['termcap']
871
+ filenames = ['termcap', 'termcap.src']
872
+ mimetypes = []
873
+ url = 'https://en.wikipedia.org/wiki/Termcap'
874
+ version_added = '2.1'
875
+
876
+ # NOTE:
877
+ # * multiline with trailing backslash
878
+ # * separator is ':'
879
+ # * to embed colon as data, we must use \072
880
+ # * space after separator is not allowed (mayve)
881
+ tokens = {
882
+ 'root': [
883
+ (r'^#.*', Comment),
884
+ (r'^[^\s#:|]+', Name.Tag, 'names'),
885
+ (r'\s+', Whitespace),
886
+ ],
887
+ 'names': [
888
+ (r'\n', Whitespace, '#pop'),
889
+ (r':', Punctuation, 'defs'),
890
+ (r'\|', Punctuation),
891
+ (r'[^:|]+', Name.Attribute),
892
+ ],
893
+ 'defs': [
894
+ (r'(\\)(\n[ \t]*)', bygroups(Text, Whitespace)),
895
+ (r'\n[ \t]*', Whitespace, '#pop:2'),
896
+ (r'(#)([0-9]+)', bygroups(Operator, Number)),
897
+ (r'=', Operator, 'data'),
898
+ (r':', Punctuation),
899
+ (r'[^\s:=#]+', Name.Class),
900
+ ],
901
+ 'data': [
902
+ (r'\\072', Literal),
903
+ (r':', Punctuation, '#pop'),
904
+ (r'[^:\\]+', Literal), # for performance
905
+ (r'.', Literal),
906
+ ],
907
+ }
908
+
909
+
910
+ class TerminfoLexer(RegexLexer):
911
+ """
912
+ Lexer for terminfo database source.
913
+
914
+ This is very simple and minimal.
915
+ """
916
+ name = 'Terminfo'
917
+ aliases = ['terminfo']
918
+ filenames = ['terminfo', 'terminfo.src']
919
+ mimetypes = []
920
+ url = 'https://en.wikipedia.org/wiki/Terminfo'
921
+ version_added = '2.1'
922
+
923
+ # NOTE:
924
+ # * multiline with leading whitespace
925
+ # * separator is ','
926
+ # * to embed comma as data, we can use \,
927
+ # * space after separator is allowed
928
+ tokens = {
929
+ 'root': [
930
+ (r'^#.*$', Comment),
931
+ (r'^[^\s#,|]+', Name.Tag, 'names'),
932
+ (r'\s+', Whitespace),
933
+ ],
934
+ 'names': [
935
+ (r'\n', Whitespace, '#pop'),
936
+ (r'(,)([ \t]*)', bygroups(Punctuation, Whitespace), 'defs'),
937
+ (r'\|', Punctuation),
938
+ (r'[^,|]+', Name.Attribute),
939
+ ],
940
+ 'defs': [
941
+ (r'\n[ \t]+', Whitespace),
942
+ (r'\n', Whitespace, '#pop:2'),
943
+ (r'(#)([0-9]+)', bygroups(Operator, Number)),
944
+ (r'=', Operator, 'data'),
945
+ (r'(,)([ \t]*)', bygroups(Punctuation, Whitespace)),
946
+ (r'[^\s,=#]+', Name.Class),
947
+ ],
948
+ 'data': [
949
+ (r'\\[,\\]', Literal),
950
+ (r'(,)([ \t]*)', bygroups(Punctuation, Whitespace), '#pop'),
951
+ (r'[^\\,]+', Literal), # for performance
952
+ (r'.', Literal),
953
+ ],
954
+ }
955
+
956
+
957
+ class PkgConfigLexer(RegexLexer):
958
+ """
959
+ Lexer for pkg-config
960
+ (see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
961
+ """
962
+
963
+ name = 'PkgConfig'
964
+ url = 'http://www.freedesktop.org/wiki/Software/pkg-config/'
965
+ aliases = ['pkgconfig']
966
+ filenames = ['*.pc']
967
+ mimetypes = []
968
+ version_added = '2.1'
969
+
970
+ tokens = {
971
+ 'root': [
972
+ (r'#.*$', Comment.Single),
973
+
974
+ # variable definitions
975
+ (r'^(\w+)(=)', bygroups(Name.Attribute, Operator)),
976
+
977
+ # keyword lines
978
+ (r'^([\w.]+)(:)',
979
+ bygroups(Name.Tag, Punctuation), 'spvalue'),
980
+
981
+ # variable references
982
+ include('interp'),
983
+
984
+ # fallback
985
+ (r'\s+', Whitespace),
986
+ (r'[^${}#=:\n.]+', Text),
987
+ (r'.', Text),
988
+ ],
989
+ 'interp': [
990
+ # you can escape literal "$" as "$$"
991
+ (r'\$\$', Text),
992
+
993
+ # variable references
994
+ (r'\$\{', String.Interpol, 'curly'),
995
+ ],
996
+ 'curly': [
997
+ (r'\}', String.Interpol, '#pop'),
998
+ (r'\w+', Name.Attribute),
999
+ ],
1000
+ 'spvalue': [
1001
+ include('interp'),
1002
+
1003
+ (r'#.*$', Comment.Single, '#pop'),
1004
+ (r'\n', Whitespace, '#pop'),
1005
+
1006
+ # fallback
1007
+ (r'\s+', Whitespace),
1008
+ (r'[^${}#\n\s]+', Text),
1009
+ (r'.', Text),
1010
+ ],
1011
+ }
1012
+
1013
+
1014
+ class PacmanConfLexer(RegexLexer):
1015
+ """
1016
+ Lexer for pacman.conf.
1017
+
1018
+ Actually, IniLexer works almost fine for this format,
1019
+ but it yield error token. It is because pacman.conf has
1020
+ a form without assignment like:
1021
+
1022
+ UseSyslog
1023
+ Color
1024
+ TotalDownload
1025
+ CheckSpace
1026
+ VerbosePkgLists
1027
+
1028
+ These are flags to switch on.
1029
+ """
1030
+
1031
+ name = 'PacmanConf'
1032
+ url = 'https://www.archlinux.org/pacman/pacman.conf.5.html'
1033
+ aliases = ['pacmanconf']
1034
+ filenames = ['pacman.conf']
1035
+ mimetypes = []
1036
+ version_added = '2.1'
1037
+
1038
+ tokens = {
1039
+ 'root': [
1040
+ # comment
1041
+ (r'#.*$', Comment.Single),
1042
+
1043
+ # section header
1044
+ (r'^(\s*)(\[.*?\])(\s*)$', bygroups(Whitespace, Keyword, Whitespace)),
1045
+
1046
+ # variable definitions
1047
+ # (Leading space is allowed...)
1048
+ (r'(\w+)(\s*)(=)',
1049
+ bygroups(Name.Attribute, Whitespace, Operator)),
1050
+
1051
+ # flags to on
1052
+ (r'^(\s*)(\w+)(\s*)$',
1053
+ bygroups(Whitespace, Name.Attribute, Whitespace)),
1054
+
1055
+ # built-in special values
1056
+ (words((
1057
+ '$repo', # repository
1058
+ '$arch', # architecture
1059
+ '%o', # outfile
1060
+ '%u', # url
1061
+ ), suffix=r'\b'),
1062
+ Name.Variable),
1063
+
1064
+ # fallback
1065
+ (r'\s+', Whitespace),
1066
+ (r'.', Text),
1067
+ ],
1068
+ }
1069
+
1070
+
1071
+ class AugeasLexer(RegexLexer):
1072
+ """
1073
+ Lexer for Augeas.
1074
+ """
1075
+ name = 'Augeas'
1076
+ url = 'http://augeas.net'
1077
+ aliases = ['augeas']
1078
+ filenames = ['*.aug']
1079
+ version_added = '2.4'
1080
+
1081
+ tokens = {
1082
+ 'root': [
1083
+ (r'(module)(\s*)([^\s=]+)', bygroups(Keyword.Namespace, Whitespace, Name.Namespace)),
1084
+ (r'(let)(\s*)([^\s=]+)', bygroups(Keyword.Declaration, Whitespace, Name.Variable)),
1085
+ (r'(del|store|value|counter|seq|key|label|autoload|incl|excl|transform|test|get|put)(\s+)', bygroups(Name.Builtin, Whitespace)),
1086
+ (r'(\()([^:]+)(\:)(unit|string|regexp|lens|tree|filter)(\))', bygroups(Punctuation, Name.Variable, Punctuation, Keyword.Type, Punctuation)),
1087
+ (r'\(\*', Comment.Multiline, 'comment'),
1088
+ (r'[*+\-.;=?|]', Operator),
1089
+ (r'[()\[\]{}]', Operator),
1090
+ (r'"', String.Double, 'string'),
1091
+ (r'\/', String.Regex, 'regex'),
1092
+ (r'([A-Z]\w*)(\.)(\w+)', bygroups(Name.Namespace, Punctuation, Name.Variable)),
1093
+ (r'.', Name.Variable),
1094
+ (r'\s+', Whitespace),
1095
+ ],
1096
+ 'string': [
1097
+ (r'\\.', String.Escape),
1098
+ (r'[^"]', String.Double),
1099
+ (r'"', String.Double, '#pop'),
1100
+ ],
1101
+ 'regex': [
1102
+ (r'\\.', String.Escape),
1103
+ (r'[^/]', String.Regex),
1104
+ (r'\/', String.Regex, '#pop'),
1105
+ ],
1106
+ 'comment': [
1107
+ (r'[^*)]', Comment.Multiline),
1108
+ (r'\(\*', Comment.Multiline, '#push'),
1109
+ (r'\*\)', Comment.Multiline, '#pop'),
1110
+ (r'[)*]', Comment.Multiline)
1111
+ ],
1112
+ }
1113
+
1114
+
1115
+ class TOMLLexer(RegexLexer):
1116
+ """
1117
+ Lexer for TOML, a simple language for config files.
1118
+ """
1119
+
1120
+ name = 'TOML'
1121
+ aliases = ['toml']
1122
+ filenames = ['*.toml', 'Pipfile', 'poetry.lock']
1123
+ mimetypes = ['application/toml']
1124
+ url = 'https://toml.io'
1125
+ version_added = '2.4'
1126
+
1127
+ # Based on the TOML spec: https://toml.io/en/v1.0.0
1128
+
1129
+ # The following is adapted from CPython's tomllib:
1130
+ _time = r"\d\d:\d\d:\d\d(\.\d+)?"
1131
+ _datetime = rf"""(?x)
1132
+ \d\d\d\d-\d\d-\d\d # date, e.g., 1988-10-27
1133
+ (
1134
+ [Tt ] {_time} # optional time
1135
+ (
1136
+ [Zz]|[+-]\d\d:\d\d # optional time offset
1137
+ )?
1138
+ )?
1139
+ """
1140
+
1141
+ tokens = {
1142
+ 'root': [
1143
+ # Note that we make an effort in order to distinguish
1144
+ # moments at which we're parsing a key and moments at
1145
+ # which we're parsing a value. In the TOML code
1146
+ #
1147
+ # 1234 = 1234
1148
+ #
1149
+ # the first "1234" should be Name, the second Integer.
1150
+
1151
+ # Whitespace
1152
+ (r'\s+', Whitespace),
1153
+
1154
+ # Comment
1155
+ (r'#.*', Comment.Single),
1156
+
1157
+ # Assignment keys
1158
+ include('key'),
1159
+
1160
+ # After "=", find a value
1161
+ (r'(=)(\s*)', bygroups(Operator, Whitespace), 'value'),
1162
+
1163
+ # Table header
1164
+ (r'\[\[?', Keyword, 'table-key'),
1165
+ ],
1166
+ 'key': [
1167
+ # Start of bare key (only ASCII is allowed here).
1168
+ (r'[A-Za-z0-9_-]+', Name),
1169
+ # Quoted key
1170
+ (r'"', String.Double, 'basic-string'),
1171
+ (r"'", String.Single, 'literal-string'),
1172
+ # Dots act as separators in keys
1173
+ (r'\.', Punctuation),
1174
+ ],
1175
+ 'table-key': [
1176
+ # This is like 'key', but highlights the name components
1177
+ # and separating dots as Keyword because it looks better
1178
+ # when the whole table header is Keyword. We do highlight
1179
+ # strings as strings though.
1180
+ # Start of bare key (only ASCII is allowed here).
1181
+ (r'[A-Za-z0-9_-]+', Keyword),
1182
+ (r'"', String.Double, 'basic-string'),
1183
+ (r"'", String.Single, 'literal-string'),
1184
+ (r'\.', Keyword),
1185
+ (r'\]\]?', Keyword, '#pop'),
1186
+
1187
+ # Inline whitespace allowed
1188
+ (r'[ \t]+', Whitespace),
1189
+ ],
1190
+ 'value': [
1191
+ # Datetime, baretime
1192
+ (_datetime, Literal.Date, '#pop'),
1193
+ (_time, Literal.Date, '#pop'),
1194
+
1195
+ # Recognize as float if there is a fractional part
1196
+ # and/or an exponent.
1197
+ (r'[+-]?\d[0-9_]*[eE][+-]?\d[0-9_]*', Number.Float, '#pop'),
1198
+ (r'[+-]?\d[0-9_]*\.\d[0-9_]*([eE][+-]?\d[0-9_]*)?',
1199
+ Number.Float, '#pop'),
1200
+
1201
+ # Infinities and NaN
1202
+ (r'[+-]?(inf|nan)', Number.Float, '#pop'),
1203
+
1204
+ # Integers
1205
+ (r'-?0b[01_]+', Number.Bin, '#pop'),
1206
+ (r'-?0o[0-7_]+', Number.Oct, '#pop'),
1207
+ (r'-?0x[0-9a-fA-F_]+', Number.Hex, '#pop'),
1208
+ (r'[+-]?[0-9_]+', Number.Integer, '#pop'),
1209
+
1210
+ # Strings
1211
+ (r'"""', String.Double, ('#pop', 'multiline-basic-string')),
1212
+ (r'"', String.Double, ('#pop', 'basic-string')),
1213
+ (r"'''", String.Single, ('#pop', 'multiline-literal-string')),
1214
+ (r"'", String.Single, ('#pop', 'literal-string')),
1215
+
1216
+ # Booleans
1217
+ (r'true|false', Keyword.Constant, '#pop'),
1218
+
1219
+ # Start of array
1220
+ (r'\[', Punctuation, ('#pop', 'array')),
1221
+
1222
+ # Start of inline table
1223
+ (r'\{', Punctuation, ('#pop', 'inline-table')),
1224
+ ],
1225
+ 'array': [
1226
+ # Whitespace, including newlines, is ignored inside arrays,
1227
+ # and comments are allowed.
1228
+ (r'\s+', Whitespace),
1229
+ (r'#.*', Comment.Single),
1230
+
1231
+ # Delimiters
1232
+ (r',', Punctuation),
1233
+
1234
+ # End of array
1235
+ (r'\]', Punctuation, '#pop'),
1236
+
1237
+ # Parse a value and come back
1238
+ default('value'),
1239
+ ],
1240
+ 'inline-table': [
1241
+ # Note that unlike inline arrays, inline tables do not
1242
+ # allow newlines or comments.
1243
+ (r'[ \t]+', Whitespace),
1244
+
1245
+ # Keys
1246
+ include('key'),
1247
+
1248
+ # Values
1249
+ (r'(=)(\s*)', bygroups(Punctuation, Whitespace), 'value'),
1250
+
1251
+ # Delimiters
1252
+ (r',', Punctuation),
1253
+
1254
+ # End of inline table
1255
+ (r'\}', Punctuation, '#pop'),
1256
+ ],
1257
+ 'basic-string': [
1258
+ (r'"', String.Double, '#pop'),
1259
+ include('escapes'),
1260
+ (r'[^"\\]+', String.Double),
1261
+ ],
1262
+ 'literal-string': [
1263
+ (r".*?'", String.Single, '#pop'),
1264
+ ],
1265
+ 'multiline-basic-string': [
1266
+ (r'"""', String.Double, '#pop'),
1267
+ (r'(\\)(\n)', bygroups(String.Escape, Whitespace)),
1268
+ include('escapes'),
1269
+ (r'[^"\\]+', String.Double),
1270
+ (r'"', String.Double),
1271
+ ],
1272
+ 'multiline-literal-string': [
1273
+ (r"'''", String.Single, '#pop'),
1274
+ (r"[^']+", String.Single),
1275
+ (r"'", String.Single),
1276
+ ],
1277
+ 'escapes': [
1278
+ (r'\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}', String.Escape),
1279
+ (r'\\.', String.Escape),
1280
+ ],
1281
+ }
1282
+
1283
+ class NestedTextLexer(RegexLexer):
1284
+ """
1285
+ Lexer for *NextedText*, a human-friendly data format.
1286
+
1287
+ .. versionchanged:: 2.16
1288
+ Added support for *NextedText* v3.0.
1289
+ """
1290
+
1291
+ name = 'NestedText'
1292
+ url = 'https://nestedtext.org'
1293
+ aliases = ['nestedtext', 'nt']
1294
+ filenames = ['*.nt']
1295
+ version_added = '2.9'
1296
+
1297
+ tokens = {
1298
+ 'root': [
1299
+ # Comment: # ...
1300
+ (r'^([ ]*)(#.*)$', bygroups(Whitespace, Comment)),
1301
+
1302
+ # Inline dictionary: {...}
1303
+ (r'^([ ]*)(\{)', bygroups(Whitespace, Punctuation), 'inline_dict'),
1304
+
1305
+ # Inline list: [...]
1306
+ (r'^([ ]*)(\[)', bygroups(Whitespace, Punctuation), 'inline_list'),
1307
+
1308
+ # empty multiline string item: >
1309
+ (r'^([ ]*)(>)$', bygroups(Whitespace, Punctuation)),
1310
+
1311
+ # multiline string item: > ...
1312
+ (r'^([ ]*)(>)( )(.*?)([ \t]*)$', bygroups(Whitespace, Punctuation, Whitespace, Text, Whitespace)),
1313
+
1314
+ # empty list item: -
1315
+ (r'^([ ]*)(-)$', bygroups(Whitespace, Punctuation)),
1316
+
1317
+ # list item: - ...
1318
+ (r'^([ ]*)(-)( )(.*?)([ \t]*)$', bygroups(Whitespace, Punctuation, Whitespace, Text, Whitespace)),
1319
+
1320
+ # empty multiline key item: :
1321
+ (r'^([ ]*)(:)$', bygroups(Whitespace, Punctuation)),
1322
+
1323
+ # multiline key item: : ...
1324
+ (r'^([ ]*)(:)( )([^\n]*?)([ \t]*)$', bygroups(Whitespace, Punctuation, Whitespace, Name.Tag, Whitespace)),
1325
+
1326
+ # empty dict key item: ...:
1327
+ (r'^([ ]*)([^\{\[\s].*?)(:)$', bygroups(Whitespace, Name.Tag, Punctuation)),
1328
+
1329
+ # dict key item: ...: ...
1330
+ (r'^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$', bygroups(Whitespace, Name.Tag, Punctuation, Whitespace, Text, Whitespace)),
1331
+ ],
1332
+ 'inline_list': [
1333
+ include('whitespace'),
1334
+ (r'[^\{\}\[\],\s]+', Text),
1335
+ include('inline_value'),
1336
+ (r',', Punctuation),
1337
+ (r'\]', Punctuation, '#pop'),
1338
+ (r'\n', Error, '#pop'),
1339
+ ],
1340
+ 'inline_dict': [
1341
+ include('whitespace'),
1342
+ (r'[^\{\}\[\],:\s]+', Name.Tag),
1343
+ (r':', Punctuation, 'inline_dict_value'),
1344
+ (r'\}', Punctuation, '#pop'),
1345
+ (r'\n', Error, '#pop'),
1346
+ ],
1347
+ 'inline_dict_value': [
1348
+ include('whitespace'),
1349
+ (r'[^\{\}\[\],:\s]+', Text),
1350
+ include('inline_value'),
1351
+ (r',', Punctuation, '#pop'),
1352
+ (r'\}', Punctuation, '#pop:2'),
1353
+ ],
1354
+ 'inline_value': [
1355
+ include('whitespace'),
1356
+ (r'\{', Punctuation, 'inline_dict'),
1357
+ (r'\[', Punctuation, 'inline_list'),
1358
+ ],
1359
+ 'whitespace': [
1360
+ (r'[ \t]+', Whitespace),
1361
+ ],
1362
+ }
1363
+
1364
+
1365
+ class SingularityLexer(RegexLexer):
1366
+ """
1367
+ Lexer for Singularity definition files.
1368
+ """
1369
+
1370
+ name = 'Singularity'
1371
+ url = 'https://www.sylabs.io/guides/3.0/user-guide/definition_files.html'
1372
+ aliases = ['singularity']
1373
+ filenames = ['*.def', 'Singularity']
1374
+ version_added = '2.6'
1375
+ flags = re.IGNORECASE | re.MULTILINE | re.DOTALL
1376
+
1377
+ _headers = r'^(\s*)(bootstrap|from|osversion|mirrorurl|include|registry|namespace|includecmd)(:)'
1378
+ _section = r'^(%(?:pre|post|setup|environment|help|labels|test|runscript|files|startscript))(\s*)'
1379
+ _appsect = r'^(%app(?:install|help|run|labels|env|test|files))(\s*)'
1380
+
1381
+ tokens = {
1382
+ 'root': [
1383
+ (_section, bygroups(Generic.Heading, Whitespace), 'script'),
1384
+ (_appsect, bygroups(Generic.Heading, Whitespace), 'script'),
1385
+ (_headers, bygroups(Whitespace, Keyword, Text)),
1386
+ (r'\s*#.*?\n', Comment),
1387
+ (r'\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\b', Number),
1388
+ (r'[ \t]+', Whitespace),
1389
+ (r'(?!^\s*%).', Text),
1390
+ ],
1391
+ 'script': [
1392
+ (r'(.+?(?=^\s*%))|(.*)', using(BashLexer), '#pop'),
1393
+ ],
1394
+ }
1395
+
1396
+ def analyse_text(text):
1397
+ """This is a quite simple script file, but there are a few keywords
1398
+ which seem unique to this language."""
1399
+ result = 0
1400
+ if re.search(r'\b(?:osversion|includecmd|mirrorurl)\b', text, re.IGNORECASE):
1401
+ result += 0.5
1402
+
1403
+ if re.search(SingularityLexer._section[1:], text):
1404
+ result += 0.49
1405
+
1406
+ return result
1407
+
1408
+
1409
+ class UnixConfigLexer(RegexLexer):
1410
+ """
1411
+ Lexer for Unix/Linux config files using colon-separated values, e.g.
1412
+
1413
+ * ``/etc/group``
1414
+ * ``/etc/passwd``
1415
+ * ``/etc/shadow``
1416
+ """
1417
+
1418
+ name = 'Unix/Linux config files'
1419
+ aliases = ['unixconfig', 'linuxconfig']
1420
+ filenames = []
1421
+ url = 'https://en.wikipedia.org/wiki/Configuration_file#Unix_and_Unix-like_operating_systems'
1422
+ version_added = '2.12'
1423
+
1424
+ tokens = {
1425
+ 'root': [
1426
+ (r'^#.*', Comment),
1427
+ (r'\n', Whitespace),
1428
+ (r':', Punctuation),
1429
+ (r'[0-9]+', Number),
1430
+ (r'((?!\n)[a-zA-Z0-9\_\-\s\(\),]){2,}', Text),
1431
+ (r'[^:\n]+', String),
1432
+ ],
1433
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/cplint.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.cplint
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the cplint language
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import bygroups, inherit, words
12
+ from pygments.lexers import PrologLexer
13
+ from pygments.token import Operator, Keyword, Name, String, Punctuation
14
+
15
+ __all__ = ['CplintLexer']
16
+
17
+
18
+ class CplintLexer(PrologLexer):
19
+ """
20
+ Lexer for cplint files, including CP-logic, Logic Programs with Annotated
21
+ Disjunctions, Distributional Clauses syntax, ProbLog, DTProbLog.
22
+ """
23
+ name = 'cplint'
24
+ url = 'https://cplint.eu'
25
+ aliases = ['cplint']
26
+ filenames = ['*.ecl', '*.prolog', '*.pro', '*.pl', '*.P', '*.lpad', '*.cpl']
27
+ mimetypes = ['text/x-cplint']
28
+ version_added = '2.12'
29
+
30
+ tokens = {
31
+ 'root': [
32
+ (r'map_query', Keyword),
33
+ (words(('gaussian', 'uniform_dens', 'dirichlet', 'gamma', 'beta',
34
+ 'poisson', 'binomial', 'geometric', 'exponential', 'pascal',
35
+ 'multinomial', 'user', 'val', 'uniform', 'discrete',
36
+ 'finite')), Name.Builtin),
37
+ # annotations of atoms
38
+ (r'([a-z]+)(:)', bygroups(String.Atom, Punctuation)),
39
+ (r':(-|=)|::?|~=?|=>', Operator),
40
+ (r'\?', Name.Builtin),
41
+ inherit,
42
+ ],
43
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/crystal.py ADDED
@@ -0,0 +1,364 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.crystal
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for Crystal.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import ExtendedRegexLexer, include, bygroups, default, \
14
+ words, line_re
15
+ from pygments.token import Comment, Operator, Keyword, Name, String, Number, \
16
+ Punctuation, Error, Whitespace
17
+
18
+ __all__ = ['CrystalLexer']
19
+
20
+
21
+ CRYSTAL_OPERATORS = [
22
+ '!=', '!~', '!', '%', '&&', '&', '**', '*', '+', '-', '/', '<=>', '<<', '<=', '<',
23
+ '===', '==', '=~', '=', '>=', '>>', '>', '[]=', '[]?', '[]', '^', '||', '|', '~'
24
+ ]
25
+
26
+
27
+ class CrystalLexer(ExtendedRegexLexer):
28
+ """
29
+ For Crystal source code.
30
+ """
31
+
32
+ name = 'Crystal'
33
+ url = 'https://crystal-lang.org'
34
+ aliases = ['cr', 'crystal']
35
+ filenames = ['*.cr']
36
+ mimetypes = ['text/x-crystal']
37
+ version_added = '2.2'
38
+
39
+ flags = re.DOTALL | re.MULTILINE
40
+
41
+ def heredoc_callback(self, match, ctx):
42
+ # okay, this is the hardest part of parsing Crystal...
43
+ # match: 1 = <<-?, 2 = quote? 3 = name 4 = quote? 5 = rest of line
44
+
45
+ start = match.start(1)
46
+ yield start, Operator, match.group(1) # <<-?
47
+ yield match.start(2), String.Heredoc, match.group(2) # quote ", ', `
48
+ yield match.start(3), String.Delimiter, match.group(3) # heredoc name
49
+ yield match.start(4), String.Heredoc, match.group(4) # quote again
50
+
51
+ heredocstack = ctx.__dict__.setdefault('heredocstack', [])
52
+ outermost = not bool(heredocstack)
53
+ heredocstack.append((match.group(1) == '<<-', match.group(3)))
54
+
55
+ ctx.pos = match.start(5)
56
+ ctx.end = match.end(5)
57
+ # this may find other heredocs, so limit the recursion depth
58
+ if len(heredocstack) < 100:
59
+ yield from self.get_tokens_unprocessed(context=ctx)
60
+ else:
61
+ yield ctx.pos, String.Heredoc, match.group(5)
62
+ ctx.pos = match.end()
63
+
64
+ if outermost:
65
+ # this is the outer heredoc again, now we can process them all
66
+ for tolerant, hdname in heredocstack:
67
+ lines = []
68
+ for match in line_re.finditer(ctx.text, ctx.pos):
69
+ if tolerant:
70
+ check = match.group().strip()
71
+ else:
72
+ check = match.group().rstrip()
73
+ if check == hdname:
74
+ for amatch in lines:
75
+ yield amatch.start(), String.Heredoc, amatch.group()
76
+ yield match.start(), String.Delimiter, match.group()
77
+ ctx.pos = match.end()
78
+ break
79
+ else:
80
+ lines.append(match)
81
+ else:
82
+ # end of heredoc not found -- error!
83
+ for amatch in lines:
84
+ yield amatch.start(), Error, amatch.group()
85
+ ctx.end = len(ctx.text)
86
+ del heredocstack[:]
87
+
88
+ def gen_crystalstrings_rules():
89
+ states = {}
90
+ states['strings'] = [
91
+ (r'\:\w+[!?]?', String.Symbol),
92
+ (words(CRYSTAL_OPERATORS, prefix=r'\:'), String.Symbol),
93
+ (r":'(\\\\|\\[^\\]|[^'\\])*'", String.Symbol),
94
+ # This allows arbitrary text after '\ for simplicity
95
+ (r"'(\\\\|\\'|[^']|\\[^'\\]+)'", String.Char),
96
+ (r':"', String.Symbol, 'simple-sym'),
97
+ # Crystal doesn't have "symbol:"s but this simplifies function args
98
+ (r'([a-zA-Z_]\w*)(:)(?!:)', bygroups(String.Symbol, Punctuation)),
99
+ (r'"', String.Double, 'simple-string'),
100
+ (r'(?<!\.)`', String.Backtick, 'simple-backtick'),
101
+ ]
102
+
103
+ # double-quoted string and symbol
104
+ for name, ttype, end in ('string', String.Double, '"'), \
105
+ ('sym', String.Symbol, '"'), \
106
+ ('backtick', String.Backtick, '`'):
107
+ states['simple-'+name] = [
108
+ include('string-escaped' if name == 'sym' else 'string-intp-escaped'),
109
+ (rf'[^\\{end}#]+', ttype),
110
+ (r'[\\#]', ttype),
111
+ (end, ttype, '#pop'),
112
+ ]
113
+
114
+ # https://crystal-lang.org/docs/syntax_and_semantics/literals/string.html#percent-string-literals
115
+ for lbrace, rbrace, bracecc, name in \
116
+ ('\\{', '\\}', '{}', 'cb'), \
117
+ ('\\[', '\\]', '\\[\\]', 'sb'), \
118
+ ('\\(', '\\)', '()', 'pa'), \
119
+ ('<', '>', '<>', 'ab'), \
120
+ ('\\|', '\\|', '\\|', 'pi'):
121
+ states[name+'-intp-string'] = [
122
+ (r'\\' + lbrace, String.Other),
123
+ ] + (lbrace != rbrace) * [
124
+ (lbrace, String.Other, '#push'),
125
+ ] + [
126
+ (rbrace, String.Other, '#pop'),
127
+ include('string-intp-escaped'),
128
+ (r'[\\#' + bracecc + ']', String.Other),
129
+ (r'[^\\#' + bracecc + ']+', String.Other),
130
+ ]
131
+ states['strings'].append((r'%Q?' + lbrace, String.Other,
132
+ name+'-intp-string'))
133
+ states[name+'-string'] = [
134
+ (r'\\[\\' + bracecc + ']', String.Other),
135
+ ] + (lbrace != rbrace) * [
136
+ (lbrace, String.Other, '#push'),
137
+ ] + [
138
+ (rbrace, String.Other, '#pop'),
139
+ (r'[\\#' + bracecc + ']', String.Other),
140
+ (r'[^\\#' + bracecc + ']+', String.Other),
141
+ ]
142
+ # https://crystal-lang.org/docs/syntax_and_semantics/literals/array.html#percent-array-literals
143
+ states['strings'].append((r'%[qwi]' + lbrace, String.Other,
144
+ name+'-string'))
145
+ states[name+'-regex'] = [
146
+ (r'\\[\\' + bracecc + ']', String.Regex),
147
+ ] + (lbrace != rbrace) * [
148
+ (lbrace, String.Regex, '#push'),
149
+ ] + [
150
+ (rbrace + '[imsx]*', String.Regex, '#pop'),
151
+ include('string-intp'),
152
+ (r'[\\#' + bracecc + ']', String.Regex),
153
+ (r'[^\\#' + bracecc + ']+', String.Regex),
154
+ ]
155
+ states['strings'].append((r'%r' + lbrace, String.Regex,
156
+ name+'-regex'))
157
+
158
+ return states
159
+
160
+ tokens = {
161
+ 'root': [
162
+ (r'#.*?$', Comment.Single),
163
+ # keywords
164
+ (words('''
165
+ abstract asm begin break case do else elsif end ensure extend if in
166
+ include next of private protected require rescue return select self super
167
+ then unless until when while with yield
168
+ '''.split(), suffix=r'\b'), Keyword),
169
+ (words('''
170
+ previous_def forall out uninitialized __DIR__ __FILE__ __LINE__
171
+ __END_LINE__
172
+ '''.split(), prefix=r'(?<!\.)', suffix=r'\b'), Keyword.Pseudo),
173
+ # https://crystal-lang.org/docs/syntax_and_semantics/is_a.html
174
+ (r'\.(is_a\?|nil\?|responds_to\?|as\?|as\b)', Keyword.Pseudo),
175
+ (words(['true', 'false', 'nil'], suffix=r'\b'), Keyword.Constant),
176
+ # start of function, class and module names
177
+ (r'(module|lib)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
178
+ bygroups(Keyword, Whitespace, Name.Namespace)),
179
+ (r'(def|fun|macro)(\s+)((?:[a-zA-Z_]\w*::)*)',
180
+ bygroups(Keyword, Whitespace, Name.Namespace), 'funcname'),
181
+ (r'def(?=[*%&^`~+-/\[<>=])', Keyword, 'funcname'),
182
+ (r'(annotation|class|struct|union|type|alias|enum)(\s+)((?:[a-zA-Z_]\w*::)*)',
183
+ bygroups(Keyword, Whitespace, Name.Namespace), 'classname'),
184
+ # https://crystal-lang.org/api/toplevel.html
185
+ (words('''
186
+ instance_sizeof offsetof pointerof sizeof typeof
187
+ '''.split(), prefix=r'(?<!\.)', suffix=r'\b'), Keyword.Pseudo),
188
+ # macros
189
+ (r'(?<!\.)(debugger\b|p!|pp!|record\b|spawn\b)', Name.Builtin.Pseudo),
190
+ # builtins
191
+ (words('''
192
+ abort at_exit caller exit gets loop main p pp print printf puts
193
+ raise rand read_line sleep spawn sprintf system
194
+ '''.split(), prefix=r'(?<!\.)', suffix=r'\b'), Name.Builtin),
195
+ # https://crystal-lang.org/api/Object.html#macro-summary
196
+ (r'(?<!\.)(((class_)?((getter|property)\b[!?]?|setter\b))|'
197
+ r'(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\b)',
198
+ Name.Builtin.Pseudo),
199
+ # normal heredocs
200
+ (r'(?<!\w)(<<-?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)',
201
+ heredoc_callback),
202
+ # empty string heredocs
203
+ (r'(<<-?)("|\')()(\2)(.*?\n)', heredoc_callback),
204
+ (r'__END__', Comment.Preproc, 'end-part'),
205
+ # multiline regex (after keywords or assignments)
206
+ (r'(?:^|(?<=[=<>~!:])|'
207
+ r'(?<=(?:\s|;)when\s)|'
208
+ r'(?<=(?:\s|;)or\s)|'
209
+ r'(?<=(?:\s|;)and\s)|'
210
+ r'(?<=\.index\s)|'
211
+ r'(?<=\.scan\s)|'
212
+ r'(?<=\.sub\s)|'
213
+ r'(?<=\.sub!\s)|'
214
+ r'(?<=\.gsub\s)|'
215
+ r'(?<=\.gsub!\s)|'
216
+ r'(?<=\.match\s)|'
217
+ r'(?<=(?:\s|;)if\s)|'
218
+ r'(?<=(?:\s|;)elsif\s)|'
219
+ r'(?<=^when\s)|'
220
+ r'(?<=^index\s)|'
221
+ r'(?<=^scan\s)|'
222
+ r'(?<=^sub\s)|'
223
+ r'(?<=^gsub\s)|'
224
+ r'(?<=^sub!\s)|'
225
+ r'(?<=^gsub!\s)|'
226
+ r'(?<=^match\s)|'
227
+ r'(?<=^if\s)|'
228
+ r'(?<=^elsif\s)'
229
+ r')(\s*)(/)', bygroups(Whitespace, String.Regex), 'multiline-regex'),
230
+ # multiline regex (in method calls or subscripts)
231
+ (r'(?<=\(|,|\[)/', String.Regex, 'multiline-regex'),
232
+ # multiline regex (this time the funny no whitespace rule)
233
+ (r'(\s+)(/)(?![\s=])', bygroups(Whitespace, String.Regex),
234
+ 'multiline-regex'),
235
+ # lex numbers and ignore following regular expressions which
236
+ # are division operators in fact (grrrr. i hate that. any
237
+ # better ideas?)
238
+ # since pygments 0.7 we also eat a "?" operator after numbers
239
+ # so that the char operator does not work. Chars are not allowed
240
+ # there so that you can use the ternary operator.
241
+ # stupid example:
242
+ # x>=0?n[x]:""
243
+ (r'(0o[0-7]+(?:_[0-7]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?',
244
+ bygroups(Number.Oct, Whitespace, Operator)),
245
+ (r'(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?',
246
+ bygroups(Number.Hex, Whitespace, Operator)),
247
+ (r'(0b[01]+(?:_[01]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?',
248
+ bygroups(Number.Bin, Whitespace, Operator)),
249
+ # 3 separate expressions for floats because any of the 3 optional
250
+ # parts makes it a float
251
+ (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?'
252
+ r'(?:_?f[0-9]+)?)(\s*)([/?])?',
253
+ bygroups(Number.Float, Whitespace, Operator)),
254
+ (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)'
255
+ r'(?:_?f[0-9]+)?)(\s*)([/?])?',
256
+ bygroups(Number.Float, Whitespace, Operator)),
257
+ (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?'
258
+ r'(?:_?f[0-9]+))(\s*)([/?])?',
259
+ bygroups(Number.Float, Whitespace, Operator)),
260
+ (r'(0\b|[1-9][\d]*(?:_\d+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?',
261
+ bygroups(Number.Integer, Whitespace, Operator)),
262
+ # Names
263
+ (r'@@[a-zA-Z_]\w*', Name.Variable.Class),
264
+ (r'@[a-zA-Z_]\w*', Name.Variable.Instance),
265
+ (r'\$\w+', Name.Variable.Global),
266
+ (r'\$[!@&`\'+~=/\\,;.<>_*$?:"^-]', Name.Variable.Global),
267
+ (r'\$-[0adFiIlpvw]', Name.Variable.Global),
268
+ (r'::', Operator),
269
+ include('strings'),
270
+ # https://crystal-lang.org/reference/syntax_and_semantics/literals/char.html
271
+ (r'\?(\\[MC]-)*' # modifiers
272
+ r'(\\([\\abefnrtv#"\']|[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\{[a-fA-F0-9 ]+\})|\S)'
273
+ r'(?!\w)',
274
+ String.Char),
275
+ (r'[A-Z][A-Z_]+\b(?!::|\.)', Name.Constant),
276
+ # macro expansion
277
+ (r'\{%', String.Interpol, 'in-macro-control'),
278
+ (r'\{\{', String.Interpol, 'in-macro-expr'),
279
+ # annotations
280
+ (r'(@\[)(\s*)([A-Z]\w*(::[A-Z]\w*)*)',
281
+ bygroups(Operator, Whitespace, Name.Decorator), 'in-annot'),
282
+ # this is needed because Crystal attributes can look
283
+ # like keywords (class) or like this: ` ?!?
284
+ (words(CRYSTAL_OPERATORS, prefix=r'(\.|::)'),
285
+ bygroups(Operator, Name.Operator)),
286
+ (r'(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])',
287
+ bygroups(Operator, Name)),
288
+ # Names can end with [!?] unless it's "!="
289
+ (r'[a-zA-Z_]\w*(?:[!?](?!=))?', Name),
290
+ (r'(\[|\]\??|\*\*|<=>?|>=|<<?|>>?|=~|===|'
291
+ r'!~|&&?|\|\||\.{1,3})', Operator),
292
+ (r'[-+/*%=<>&!^|~]=?', Operator),
293
+ (r'[(){};,/?:\\]', Punctuation),
294
+ (r'\s+', Whitespace)
295
+ ],
296
+ 'funcname': [
297
+ (r'(?:([a-zA-Z_]\w*)(\.))?'
298
+ r'([a-zA-Z_]\w*[!?]?|\*\*?|[-+]@?|'
299
+ r'[/%&|^`~]|\[\]=?|<<|>>|<=?>|>=?|===?)',
300
+ bygroups(Name.Class, Operator, Name.Function), '#pop'),
301
+ default('#pop')
302
+ ],
303
+ 'classname': [
304
+ (r'[A-Z_]\w*', Name.Class),
305
+ (r'(\()(\s*)([A-Z_]\w*)(\s*)(\))',
306
+ bygroups(Punctuation, Whitespace, Name.Class, Whitespace, Punctuation)),
307
+ default('#pop')
308
+ ],
309
+ 'in-intp': [
310
+ (r'\{', String.Interpol, '#push'),
311
+ (r'\}', String.Interpol, '#pop'),
312
+ include('root'),
313
+ ],
314
+ 'string-intp': [
315
+ (r'#\{', String.Interpol, 'in-intp'),
316
+ ],
317
+ 'string-escaped': [
318
+ # https://crystal-lang.org/reference/syntax_and_semantics/literals/string.html
319
+ (r'\\([\\abefnrtv#"\']|[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\{[a-fA-F0-9 ]+\})',
320
+ String.Escape)
321
+ ],
322
+ 'string-intp-escaped': [
323
+ include('string-intp'),
324
+ include('string-escaped'),
325
+ ],
326
+ 'interpolated-regex': [
327
+ include('string-intp'),
328
+ (r'[\\#]', String.Regex),
329
+ (r'[^\\#]+', String.Regex),
330
+ ],
331
+ 'interpolated-string': [
332
+ include('string-intp'),
333
+ (r'[\\#]', String.Other),
334
+ (r'[^\\#]+', String.Other),
335
+ ],
336
+ 'multiline-regex': [
337
+ include('string-intp'),
338
+ (r'\\\\', String.Regex),
339
+ (r'\\/', String.Regex),
340
+ (r'[\\#]', String.Regex),
341
+ (r'[^\\/#]+', String.Regex),
342
+ (r'/[imsx]*', String.Regex, '#pop'),
343
+ ],
344
+ 'end-part': [
345
+ (r'.+', Comment.Preproc, '#pop')
346
+ ],
347
+ 'in-macro-control': [
348
+ (r'\{%', String.Interpol, '#push'),
349
+ (r'%\}', String.Interpol, '#pop'),
350
+ (r'(for|verbatim)\b', Keyword),
351
+ include('root'),
352
+ ],
353
+ 'in-macro-expr': [
354
+ (r'\{\{', String.Interpol, '#push'),
355
+ (r'\}\}', String.Interpol, '#pop'),
356
+ include('root'),
357
+ ],
358
+ 'in-annot': [
359
+ (r'\[', Operator, '#push'),
360
+ (r'\]', Operator, '#pop'),
361
+ include('root'),
362
+ ],
363
+ }
364
+ tokens.update(gen_crystalstrings_rules())
temp_venv/lib/python3.13/site-packages/pygments/lexers/dns.py ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.dns
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Pygments lexers for DNS
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.token import Comment, Operator, Keyword, Name, String, \
14
+ Number, Punctuation, Whitespace, Literal
15
+ from pygments.lexer import RegexLexer, bygroups, include
16
+
17
+ __all__ = ['DnsZoneLexer']
18
+
19
+
20
+ CLASSES = [
21
+ "IN",
22
+ "CS",
23
+ "CH",
24
+ "HS",
25
+ ]
26
+
27
+ CLASSES_RE = "(" + "|".join(CLASSES) + ')'
28
+
29
+
30
+ class DnsZoneLexer(RegexLexer):
31
+
32
+ """
33
+ Lexer for DNS zone file
34
+ """
35
+
36
+ flags = re.MULTILINE
37
+
38
+ name = 'Zone'
39
+ aliases = ['zone']
40
+ filenames = [ "*.zone" ]
41
+ url = "https://datatracker.ietf.org/doc/html/rfc1035"
42
+ mimetypes = ['text/dns']
43
+ version_added = '2.16'
44
+
45
+ tokens = {
46
+ 'root': [
47
+ # Empty/comment line:
48
+ (r'([ \t]*)(;.*)(\n)', bygroups(Whitespace, Comment.Single, Whitespace)),
49
+ # Special directives:
50
+ (r'^\$ORIGIN\b', Keyword, 'values'),
51
+ (r'^\$TTL\b', Keyword, 'values'),
52
+ (r'^\$INCLUDE\b', Comment.Preproc, 'include'),
53
+ # TODO, $GENERATE https://bind9.readthedocs.io/en/v9.18.14/chapter3.html#soa-rr
54
+ (r'^\$[A-Z]+\b', Keyword, 'values'),
55
+ # Records:
56
+ # <domain-name> [<TTL>] [<class>] <type> <RDATA> [<comment>]
57
+ (r'^(@)([ \t]+)(?:([0-9]+[smhdw]?)([ \t]+))?(?:' + CLASSES_RE + "([ \t]+))?([A-Z]+)([ \t]+)",
58
+ bygroups(Operator, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace),
59
+ "values"),
60
+ (r'^([^ \t\n]*)([ \t]+)(?:([0-9]+[smhdw]?)([ \t]+))?(?:' + CLASSES_RE + "([ \t]+))?([A-Z]+)([ \t]+)",
61
+ bygroups(Name, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace),
62
+ "values"),
63
+ # <domain-name> [<class>] [<TTL>] <type> <RDATA> [<comment>]
64
+ (r'^(Operator)([ \t]+)(?:' + CLASSES_RE + "([ \t]+))?(?:([0-9]+[smhdw]?)([ \t]+))?([A-Z]+)([ \t]+)",
65
+ bygroups(Name, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace),
66
+ "values"),
67
+ (r'^([^ \t\n]*)([ \t]+)(?:' + CLASSES_RE + "([ \t]+))?(?:([0-9]+[smhdw]?)([ \t]+))?([A-Z]+)([ \t]+)",
68
+ bygroups(Name, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace),
69
+ "values"),
70
+ ],
71
+ # Parsing values:
72
+ 'values': [
73
+ (r'\n', Whitespace, "#pop"),
74
+ (r'\(', Punctuation, 'nested'),
75
+ include('simple-value'),
76
+ ],
77
+ # Parsing nested values (...):
78
+ 'nested': [
79
+ (r'\)', Punctuation, "#pop"),
80
+ include('multiple-simple-values'),
81
+ ],
82
+ # Parsing values:
83
+ 'simple-value': [
84
+ (r'(;.*)', bygroups(Comment.Single)),
85
+ (r'[ \t]+', Whitespace),
86
+ (r"@\b", Operator),
87
+ ('"', String, 'string'),
88
+ (r'[0-9]+[smhdw]?$', Number.Integer),
89
+ (r'([0-9]+[smhdw]?)([ \t]+)', bygroups(Number.Integer, Whitespace)),
90
+ (r'\S+', Literal),
91
+ ],
92
+ 'multiple-simple-values': [
93
+ include('simple-value'),
94
+ (r'[\n]+', Whitespace),
95
+ ],
96
+ 'include': [
97
+ (r'([ \t]+)([^ \t\n]+)([ \t]+)([-\._a-zA-Z]+)([ \t]+)(;.*)?$',
98
+ bygroups(Whitespace, Comment.PreprocFile, Whitespace, Name, Whitespace, Comment.Single), '#pop'),
99
+ (r'([ \t]+)([^ \t\n]+)([ \t\n]+)$', bygroups(Whitespace, Comment.PreprocFile, Whitespace), '#pop'),
100
+ ],
101
+ "string": [
102
+ (r'\\"', String),
103
+ (r'"', String, "#pop"),
104
+ (r'[^"]+', String),
105
+ ]
106
+ }
107
+
108
+ def analyse_text(text):
109
+ return text.startswith("$ORIGIN")
temp_venv/lib/python3.13/site-packages/pygments/lexers/dsls.py ADDED
@@ -0,0 +1,970 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.dsls
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for various domain-specific languages.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import ExtendedRegexLexer, RegexLexer, bygroups, words, \
14
+ include, default, this, using, combined
15
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
+ Number, Punctuation, Whitespace
17
+
18
+ __all__ = ['ProtoBufLexer', 'ZeekLexer', 'PuppetLexer', 'RslLexer',
19
+ 'MscgenLexer', 'VGLLexer', 'AlloyLexer', 'PanLexer',
20
+ 'CrmshLexer', 'ThriftLexer', 'FlatlineLexer', 'SnowballLexer']
21
+
22
+
23
+ class ProtoBufLexer(RegexLexer):
24
+ """
25
+ Lexer for Protocol Buffer definition files.
26
+ """
27
+
28
+ name = 'Protocol Buffer'
29
+ url = 'https://developers.google.com/protocol-buffers/'
30
+ aliases = ['protobuf', 'proto']
31
+ filenames = ['*.proto']
32
+ version_added = '1.4'
33
+
34
+ tokens = {
35
+ 'root': [
36
+ (r'[ \t]+', Whitespace),
37
+ (r'[,;{}\[\]()<>]', Punctuation),
38
+ (r'/(\\\n)?/(\n|(.|\n)*?[^\\]\n)', Comment.Single),
39
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment.Multiline),
40
+ (words((
41
+ 'import', 'option', 'optional', 'required', 'repeated',
42
+ 'reserved', 'default', 'packed', 'ctype', 'extensions', 'to',
43
+ 'max', 'rpc', 'returns', 'oneof', 'syntax'), prefix=r'\b', suffix=r'\b'),
44
+ Keyword),
45
+ (words((
46
+ 'int32', 'int64', 'uint32', 'uint64', 'sint32', 'sint64',
47
+ 'fixed32', 'fixed64', 'sfixed32', 'sfixed64',
48
+ 'float', 'double', 'bool', 'string', 'bytes'), suffix=r'\b'),
49
+ Keyword.Type),
50
+ (r'(true|false)\b', Keyword.Constant),
51
+ (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'package'),
52
+ (r'(message|extend)(\s+)',
53
+ bygroups(Keyword.Declaration, Whitespace), 'message'),
54
+ (r'(enum|group|service)(\s+)',
55
+ bygroups(Keyword.Declaration, Whitespace), 'type'),
56
+ (r'\".*?\"', String),
57
+ (r'\'.*?\'', String),
58
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
59
+ (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
60
+ (r'(\-?(inf|nan))\b', Number.Float),
61
+ (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
62
+ (r'0[0-7]+[LlUu]*', Number.Oct),
63
+ (r'\d+[LlUu]*', Number.Integer),
64
+ (r'[+-=]', Operator),
65
+ (r'([a-zA-Z_][\w.]*)([ \t]*)(=)',
66
+ bygroups(Name.Attribute, Whitespace, Operator)),
67
+ (r'[a-zA-Z_][\w.]*', Name),
68
+ ],
69
+ 'package': [
70
+ (r'[a-zA-Z_]\w*', Name.Namespace, '#pop'),
71
+ default('#pop'),
72
+ ],
73
+ 'message': [
74
+ (r'[a-zA-Z_]\w*', Name.Class, '#pop'),
75
+ default('#pop'),
76
+ ],
77
+ 'type': [
78
+ (r'[a-zA-Z_]\w*', Name, '#pop'),
79
+ default('#pop'),
80
+ ],
81
+ }
82
+
83
+
84
+ class ThriftLexer(RegexLexer):
85
+ """
86
+ For Thrift interface definitions.
87
+ """
88
+ name = 'Thrift'
89
+ url = 'https://thrift.apache.org/'
90
+ aliases = ['thrift']
91
+ filenames = ['*.thrift']
92
+ mimetypes = ['application/x-thrift']
93
+ version_added = '2.1'
94
+
95
+ tokens = {
96
+ 'root': [
97
+ include('whitespace'),
98
+ include('comments'),
99
+ (r'"', String.Double, combined('stringescape', 'dqs')),
100
+ (r'\'', String.Single, combined('stringescape', 'sqs')),
101
+ (r'(namespace)(\s+)',
102
+ bygroups(Keyword.Namespace, Whitespace), 'namespace'),
103
+ (r'(enum|union|struct|service|exception)(\s+)',
104
+ bygroups(Keyword.Declaration, Whitespace), 'class'),
105
+ (r'((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)' # return arguments
106
+ r'((?:[^\W\d]|\$)[\w$]*)' # method name
107
+ r'(\s*)(\()', # signature start
108
+ bygroups(using(this), Name.Function, Whitespace, Operator)),
109
+ include('keywords'),
110
+ include('numbers'),
111
+ (r'[&=]', Operator),
112
+ (r'[:;,{}()<>\[\]]', Punctuation),
113
+ (r'[a-zA-Z_](\.\w|\w)*', Name),
114
+ ],
115
+ 'whitespace': [
116
+ (r'\n', Whitespace),
117
+ (r'\s+', Whitespace),
118
+ ],
119
+ 'comments': [
120
+ (r'#.*$', Comment),
121
+ (r'//.*?\n', Comment),
122
+ (r'/\*[\w\W]*?\*/', Comment.Multiline),
123
+ ],
124
+ 'stringescape': [
125
+ (r'\\([\\nrt"\'])', String.Escape),
126
+ ],
127
+ 'dqs': [
128
+ (r'"', String.Double, '#pop'),
129
+ (r'[^\\"\n]+', String.Double),
130
+ ],
131
+ 'sqs': [
132
+ (r"'", String.Single, '#pop'),
133
+ (r'[^\\\'\n]+', String.Single),
134
+ ],
135
+ 'namespace': [
136
+ (r'[a-z*](\.\w|\w)*', Name.Namespace, '#pop'),
137
+ default('#pop'),
138
+ ],
139
+ 'class': [
140
+ (r'[a-zA-Z_]\w*', Name.Class, '#pop'),
141
+ default('#pop'),
142
+ ],
143
+ 'keywords': [
144
+ (r'(async|oneway|extends|throws|required|optional)\b', Keyword),
145
+ (r'(true|false)\b', Keyword.Constant),
146
+ (r'(const|typedef)\b', Keyword.Declaration),
147
+ (words((
148
+ 'cpp_namespace', 'cpp_include', 'cpp_type', 'java_package',
149
+ 'cocoa_prefix', 'csharp_namespace', 'delphi_namespace',
150
+ 'php_namespace', 'py_module', 'perl_package',
151
+ 'ruby_namespace', 'smalltalk_category', 'smalltalk_prefix',
152
+ 'xsd_all', 'xsd_optional', 'xsd_nillable', 'xsd_namespace',
153
+ 'xsd_attrs', 'include'), suffix=r'\b'),
154
+ Keyword.Namespace),
155
+ (words((
156
+ 'void', 'bool', 'byte', 'i16', 'i32', 'i64', 'double',
157
+ 'string', 'binary', 'map', 'list', 'set', 'slist',
158
+ 'senum'), suffix=r'\b'),
159
+ Keyword.Type),
160
+ (words((
161
+ 'BEGIN', 'END', '__CLASS__', '__DIR__', '__FILE__',
162
+ '__FUNCTION__', '__LINE__', '__METHOD__', '__NAMESPACE__',
163
+ 'abstract', 'alias', 'and', 'args', 'as', 'assert', 'begin',
164
+ 'break', 'case', 'catch', 'class', 'clone', 'continue',
165
+ 'declare', 'def', 'default', 'del', 'delete', 'do', 'dynamic',
166
+ 'elif', 'else', 'elseif', 'elsif', 'end', 'enddeclare',
167
+ 'endfor', 'endforeach', 'endif', 'endswitch', 'endwhile',
168
+ 'ensure', 'except', 'exec', 'finally', 'float', 'for',
169
+ 'foreach', 'function', 'global', 'goto', 'if', 'implements',
170
+ 'import', 'in', 'inline', 'instanceof', 'interface', 'is',
171
+ 'lambda', 'module', 'native', 'new', 'next', 'nil', 'not',
172
+ 'or', 'pass', 'public', 'print', 'private', 'protected',
173
+ 'raise', 'redo', 'rescue', 'retry', 'register', 'return',
174
+ 'self', 'sizeof', 'static', 'super', 'switch', 'synchronized',
175
+ 'then', 'this', 'throw', 'transient', 'try', 'undef',
176
+ 'unless', 'unsigned', 'until', 'use', 'var', 'virtual',
177
+ 'volatile', 'when', 'while', 'with', 'xor', 'yield'),
178
+ prefix=r'\b', suffix=r'\b'),
179
+ Keyword.Reserved),
180
+ ],
181
+ 'numbers': [
182
+ (r'[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)', Number.Float),
183
+ (r'[+-]?0x[0-9A-Fa-f]+', Number.Hex),
184
+ (r'[+-]?[0-9]+', Number.Integer),
185
+ ],
186
+ }
187
+
188
+
189
+ class ZeekLexer(RegexLexer):
190
+ """
191
+ For Zeek scripts.
192
+ """
193
+ name = 'Zeek'
194
+ url = 'https://www.zeek.org/'
195
+ aliases = ['zeek', 'bro']
196
+ filenames = ['*.zeek', '*.bro']
197
+ version_added = '2.5'
198
+
199
+ _hex = r'[0-9a-fA-F]'
200
+ _float = r'((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?'
201
+ _h = r'[A-Za-z0-9][-A-Za-z0-9]*'
202
+
203
+ tokens = {
204
+ 'root': [
205
+ include('whitespace'),
206
+ include('comments'),
207
+ include('directives'),
208
+ include('attributes'),
209
+ include('types'),
210
+ include('keywords'),
211
+ include('literals'),
212
+ include('operators'),
213
+ include('punctuation'),
214
+ (r'((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\()',
215
+ Name.Function),
216
+ include('identifiers'),
217
+ ],
218
+
219
+ 'whitespace': [
220
+ (r'\n', Whitespace),
221
+ (r'\s+', Whitespace),
222
+ (r'(\\)(\n)', bygroups(Text, Whitespace)),
223
+ ],
224
+
225
+ 'comments': [
226
+ (r'#.*$', Comment),
227
+ ],
228
+
229
+ 'directives': [
230
+ (r'@(load-plugin|load-sigs|load|unload)\b.*$', Comment.Preproc),
231
+ (r'@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif)\b', Comment.Preproc),
232
+ (r'(@prefixes)(\s*)((\+?=).*)$', bygroups(Comment.Preproc,
233
+ Whitespace, Comment.Preproc)),
234
+ ],
235
+
236
+ 'attributes': [
237
+ (words(('redef', 'priority', 'log', 'optional', 'default', 'add_func',
238
+ 'delete_func', 'expire_func', 'read_expire', 'write_expire',
239
+ 'create_expire', 'synchronized', 'persistent', 'rotate_interval',
240
+ 'rotate_size', 'encrypt', 'raw_output', 'mergeable', 'error_handler',
241
+ 'type_column', 'deprecated'),
242
+ prefix=r'&', suffix=r'\b'),
243
+ Keyword.Pseudo),
244
+ ],
245
+
246
+ 'types': [
247
+ (words(('any',
248
+ 'enum', 'record', 'set', 'table', 'vector',
249
+ 'function', 'hook', 'event',
250
+ 'addr', 'bool', 'count', 'double', 'file', 'int', 'interval',
251
+ 'pattern', 'port', 'string', 'subnet', 'time'),
252
+ suffix=r'\b'),
253
+ Keyword.Type),
254
+
255
+ (r'(opaque)(\s+)(of)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b',
256
+ bygroups(Keyword.Type, Whitespace, Operator.Word, Whitespace, Keyword.Type)),
257
+
258
+ (r'(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)(\s*)\b(record|enum)\b',
259
+ bygroups(Keyword, Whitespace, Name.Class, Whitespace, Operator, Whitespace, Keyword.Type)),
260
+
261
+ (r'(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)',
262
+ bygroups(Keyword, Whitespace, Name, Whitespace, Operator)),
263
+
264
+ (r'(redef)(\s+)(record|enum)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b',
265
+ bygroups(Keyword, Whitespace, Keyword.Type, Whitespace, Name.Class)),
266
+ ],
267
+
268
+ 'keywords': [
269
+ (words(('redef', 'export', 'if', 'else', 'for', 'while',
270
+ 'return', 'break', 'next', 'continue', 'fallthrough',
271
+ 'switch', 'default', 'case',
272
+ 'add', 'delete',
273
+ 'when', 'timeout', 'schedule'),
274
+ suffix=r'\b'),
275
+ Keyword),
276
+ (r'(print)\b', Keyword),
277
+ (r'(global|local|const|option)\b', Keyword.Declaration),
278
+ (r'(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\b',
279
+ bygroups(Keyword.Namespace, Whitespace, Name.Namespace)),
280
+ ],
281
+
282
+ 'literals': [
283
+ (r'"', String, 'string'),
284
+
285
+ # Not the greatest match for patterns, but generally helps
286
+ # disambiguate between start of a pattern and just a division
287
+ # operator.
288
+ (r'/(?=.*/)', String.Regex, 'regex'),
289
+
290
+ (r'(T|F)\b', Keyword.Constant),
291
+
292
+ # Port
293
+ (r'\d{1,5}/(udp|tcp|icmp|unknown)\b', Number),
294
+
295
+ # IPv4 Address
296
+ (r'(\d{1,3}.){3}(\d{1,3})\b', Number),
297
+
298
+ # IPv6 Address
299
+ (r'\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((\d{1,3}.){3}(\d{1,3}))?\]', Number),
300
+
301
+ # Numeric
302
+ (r'0[xX]' + _hex + r'+\b', Number.Hex),
303
+ (_float + r'\s*(day|hr|min|sec|msec|usec)s?\b', Number.Float),
304
+ (_float + r'\b', Number.Float),
305
+ (r'(\d+)\b', Number.Integer),
306
+
307
+ # Hostnames
308
+ (_h + r'(\.' + _h + r')+', String),
309
+ ],
310
+
311
+ 'operators': [
312
+ (r'[!%*/+<=>~|&^-]', Operator),
313
+ (r'([-+=&|]{2}|[+=!><-]=)', Operator),
314
+ (r'(in|as|is|of)\b', Operator.Word),
315
+ (r'\??\$', Operator),
316
+ ],
317
+
318
+ 'punctuation': [
319
+ (r'[{}()\[\],;.]', Punctuation),
320
+ # The "ternary if", which uses '?' and ':', could instead be
321
+ # treated as an Operator, but colons are more frequently used to
322
+ # separate field/identifier names from their types, so the (often)
323
+ # less-prominent Punctuation is used even with '?' for consistency.
324
+ (r'[?:]', Punctuation),
325
+ ],
326
+
327
+ 'identifiers': [
328
+ (r'([a-zA-Z_]\w*)(::)', bygroups(Name, Punctuation)),
329
+ (r'[a-zA-Z_]\w*', Name)
330
+ ],
331
+
332
+ 'string': [
333
+ (r'\\.', String.Escape),
334
+ (r'%-?[0-9]*(\.[0-9]+)?[DTd-gsx]', String.Escape),
335
+ (r'"', String, '#pop'),
336
+ (r'.', String),
337
+ ],
338
+
339
+ 'regex': [
340
+ (r'\\.', String.Escape),
341
+ (r'/', String.Regex, '#pop'),
342
+ (r'.', String.Regex),
343
+ ],
344
+ }
345
+
346
+
347
+ BroLexer = ZeekLexer
348
+
349
+
350
+ class PuppetLexer(RegexLexer):
351
+ """
352
+ For Puppet configuration DSL.
353
+ """
354
+ name = 'Puppet'
355
+ url = 'https://puppet.com/'
356
+ aliases = ['puppet']
357
+ filenames = ['*.pp']
358
+ version_added = '1.6'
359
+
360
+ tokens = {
361
+ 'root': [
362
+ include('comments'),
363
+ include('keywords'),
364
+ include('names'),
365
+ include('numbers'),
366
+ include('operators'),
367
+ include('strings'),
368
+
369
+ (r'[]{}:(),;[]', Punctuation),
370
+ (r'\s+', Whitespace),
371
+ ],
372
+
373
+ 'comments': [
374
+ (r'(\s*)(#.*)$', bygroups(Whitespace, Comment)),
375
+ (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
376
+ ],
377
+
378
+ 'operators': [
379
+ (r'(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)', Operator),
380
+ (r'(in|and|or|not)\b', Operator.Word),
381
+ ],
382
+
383
+ 'names': [
384
+ (r'[a-zA-Z_]\w*', Name.Attribute),
385
+ (r'(\$\S+)(\[)(\S+)(\])', bygroups(Name.Variable, Punctuation,
386
+ String, Punctuation)),
387
+ (r'\$\S+', Name.Variable),
388
+ ],
389
+
390
+ 'numbers': [
391
+ # Copypasta from the Python lexer
392
+ (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?', Number.Float),
393
+ (r'\d+[eE][+-]?[0-9]+j?', Number.Float),
394
+ (r'0[0-7]+j?', Number.Oct),
395
+ (r'0[xX][a-fA-F0-9]+', Number.Hex),
396
+ (r'\d+L', Number.Integer.Long),
397
+ (r'\d+j?', Number.Integer)
398
+ ],
399
+
400
+ 'keywords': [
401
+ # Left out 'group' and 'require'
402
+ # Since they're often used as attributes
403
+ (words((
404
+ 'absent', 'alert', 'alias', 'audit', 'augeas', 'before', 'case',
405
+ 'check', 'class', 'computer', 'configured', 'contained',
406
+ 'create_resources', 'crit', 'cron', 'debug', 'default',
407
+ 'define', 'defined', 'directory', 'else', 'elsif', 'emerg',
408
+ 'err', 'exec', 'extlookup', 'fail', 'false', 'file',
409
+ 'filebucket', 'fqdn_rand', 'generate', 'host', 'if', 'import',
410
+ 'include', 'info', 'inherits', 'inline_template', 'installed',
411
+ 'interface', 'k5login', 'latest', 'link', 'loglevel',
412
+ 'macauthorization', 'mailalias', 'maillist', 'mcx', 'md5',
413
+ 'mount', 'mounted', 'nagios_command', 'nagios_contact',
414
+ 'nagios_contactgroup', 'nagios_host', 'nagios_hostdependency',
415
+ 'nagios_hostescalation', 'nagios_hostextinfo', 'nagios_hostgroup',
416
+ 'nagios_service', 'nagios_servicedependency', 'nagios_serviceescalation',
417
+ 'nagios_serviceextinfo', 'nagios_servicegroup', 'nagios_timeperiod',
418
+ 'node', 'noop', 'notice', 'notify', 'package', 'present', 'purged',
419
+ 'realize', 'regsubst', 'resources', 'role', 'router', 'running',
420
+ 'schedule', 'scheduled_task', 'search', 'selboolean', 'selmodule',
421
+ 'service', 'sha1', 'shellquote', 'split', 'sprintf',
422
+ 'ssh_authorized_key', 'sshkey', 'stage', 'stopped', 'subscribe',
423
+ 'tag', 'tagged', 'template', 'tidy', 'true', 'undef', 'unmounted',
424
+ 'user', 'versioncmp', 'vlan', 'warning', 'yumrepo', 'zfs', 'zone',
425
+ 'zpool'), prefix='(?i)', suffix=r'\b'),
426
+ Keyword),
427
+ ],
428
+
429
+ 'strings': [
430
+ (r'"([^"])*"', String),
431
+ (r"'(\\'|[^'])*'", String),
432
+ ],
433
+
434
+ }
435
+
436
+
437
+ class RslLexer(RegexLexer):
438
+ """
439
+ RSL is the formal specification
440
+ language used in RAISE (Rigorous Approach to Industrial Software Engineering)
441
+ method.
442
+ """
443
+ name = 'RSL'
444
+ url = 'http://en.wikipedia.org/wiki/RAISE'
445
+ aliases = ['rsl']
446
+ filenames = ['*.rsl']
447
+ mimetypes = ['text/rsl']
448
+ version_added = '2.0'
449
+
450
+ flags = re.MULTILINE | re.DOTALL
451
+
452
+ tokens = {
453
+ 'root': [
454
+ (words((
455
+ 'Bool', 'Char', 'Int', 'Nat', 'Real', 'Text', 'Unit', 'abs',
456
+ 'all', 'always', 'any', 'as', 'axiom', 'card', 'case', 'channel',
457
+ 'chaos', 'class', 'devt_relation', 'dom', 'elems', 'else', 'elif',
458
+ 'end', 'exists', 'extend', 'false', 'for', 'hd', 'hide', 'if',
459
+ 'in', 'is', 'inds', 'initialise', 'int', 'inter', 'isin', 'len',
460
+ 'let', 'local', 'ltl_assertion', 'object', 'of', 'out', 'post',
461
+ 'pre', 'read', 'real', 'rng', 'scheme', 'skip', 'stop', 'swap',
462
+ 'then', 'theory', 'test_case', 'tl', 'transition_system', 'true',
463
+ 'type', 'union', 'until', 'use', 'value', 'variable', 'while',
464
+ 'with', 'write', '~isin', '-inflist', '-infset', '-list',
465
+ '-set'), prefix=r'\b', suffix=r'\b'),
466
+ Keyword),
467
+ (r'(variable|value)\b', Keyword.Declaration),
468
+ (r'--.*?\n', Comment),
469
+ (r'<:.*?:>', Comment),
470
+ (r'\{!.*?!\}', Comment),
471
+ (r'/\*.*?\*/', Comment),
472
+ (r'^([ \t]*)([\w]+)([ \t]*)(:[^:])', bygroups(Whitespace,
473
+ Name.Function, Whitespace, Name.Function)),
474
+ (r'(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)',
475
+ bygroups(Whitespace, Name.Function, Whitespace, Text,
476
+ Whitespace, Keyword)),
477
+ (r'\b[A-Z]\w*\b', Keyword.Type),
478
+ (r'(true|false)\b', Keyword.Constant),
479
+ (r'".*"', String),
480
+ (r'\'.\'', String.Char),
481
+ (r'(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|'
482
+ r'\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)',
483
+ Operator),
484
+ (r'[0-9]+\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
485
+ (r'0x[0-9a-f]+', Number.Hex),
486
+ (r'[0-9]+', Number.Integer),
487
+ (r'\s+', Whitespace),
488
+ (r'.', Text),
489
+ ],
490
+ }
491
+
492
+ def analyse_text(text):
493
+ """
494
+ Check for the most common text in the beginning of a RSL file.
495
+ """
496
+ if re.search(r'scheme\s*.*?=\s*class\s*type', text, re.I) is not None:
497
+ return 1.0
498
+
499
+
500
+ class MscgenLexer(RegexLexer):
501
+ """
502
+ For Mscgen files.
503
+ """
504
+ name = 'Mscgen'
505
+ url = 'http://www.mcternan.me.uk/mscgen/'
506
+ aliases = ['mscgen', 'msc']
507
+ filenames = ['*.msc']
508
+ version_added = '1.6'
509
+
510
+ _var = r'(\w+|"(?:\\"|[^"])*")'
511
+
512
+ tokens = {
513
+ 'root': [
514
+ (r'msc\b', Keyword.Type),
515
+ # Options
516
+ (r'(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS'
517
+ r'|arcgradient|ARCGRADIENT)\b', Name.Property),
518
+ # Operators
519
+ (r'(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\b', Operator.Word),
520
+ (r'(\.|-|\|){3}', Keyword),
521
+ (r'(?:-|=|\.|:){2}'
522
+ r'|<<=>>|<->|<=>|<<>>|<:>'
523
+ r'|->|=>>|>>|=>|:>|-x|-X'
524
+ r'|<-|<<=|<<|<=|<:|x-|X-|=', Operator),
525
+ # Names
526
+ (r'\*', Name.Builtin),
527
+ (_var, Name.Variable),
528
+ # Other
529
+ (r'\[', Punctuation, 'attrs'),
530
+ (r'\{|\}|,|;', Punctuation),
531
+ include('comments')
532
+ ],
533
+ 'attrs': [
534
+ (r'\]', Punctuation, '#pop'),
535
+ (_var + r'(\s*)(=)(\s*)' + _var,
536
+ bygroups(Name.Attribute, Whitespace, Operator, Whitespace,
537
+ String)),
538
+ (r',', Punctuation),
539
+ include('comments')
540
+ ],
541
+ 'comments': [
542
+ (r'(?://|#).*?\n', Comment.Single),
543
+ (r'/\*(?:.|\n)*?\*/', Comment.Multiline),
544
+ (r'[ \t\r\n]+', Whitespace)
545
+ ]
546
+ }
547
+
548
+
549
+ class VGLLexer(RegexLexer):
550
+ """
551
+ For SampleManager VGL source code.
552
+ """
553
+ name = 'VGL'
554
+ url = 'http://www.thermoscientific.com/samplemanager'
555
+ aliases = ['vgl']
556
+ filenames = ['*.rpf']
557
+ version_added = '1.6'
558
+
559
+ flags = re.MULTILINE | re.DOTALL | re.IGNORECASE
560
+
561
+ tokens = {
562
+ 'root': [
563
+ (r'\{[^}]*\}', Comment.Multiline),
564
+ (r'declare', Keyword.Constant),
565
+ (r'(if|then|else|endif|while|do|endwhile|and|or|prompt|object'
566
+ r'|create|on|line|with|global|routine|value|endroutine|constant'
567
+ r'|global|set|join|library|compile_option|file|exists|create|copy'
568
+ r'|delete|enable|windows|name|notprotected)(?! *[=<>.,()])',
569
+ Keyword),
570
+ (r'(true|false|null|empty|error|locked)', Keyword.Constant),
571
+ (r'[~^*#!%&\[\]()<>|+=:;,./?-]', Operator),
572
+ (r'"[^"]*"', String),
573
+ (r'(\.)([a-z_$][\w$]*)', bygroups(Operator, Name.Attribute)),
574
+ (r'[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?', Number),
575
+ (r'[a-z_$][\w$]*', Name),
576
+ (r'[\r\n]+', Whitespace),
577
+ (r'\s+', Whitespace)
578
+ ]
579
+ }
580
+
581
+
582
+ class AlloyLexer(RegexLexer):
583
+ """
584
+ For Alloy source code.
585
+ """
586
+
587
+ name = 'Alloy'
588
+ url = 'http://alloy.mit.edu'
589
+ aliases = ['alloy']
590
+ filenames = ['*.als']
591
+ mimetypes = ['text/x-alloy']
592
+ version_added = '2.0'
593
+
594
+ flags = re.MULTILINE | re.DOTALL
595
+
596
+ iden_rex = r'[a-zA-Z_][\w]*"*'
597
+ string_rex = r'"\b(\\\\|\\[^\\]|[^"\\])*"'
598
+ text_tuple = (r'[^\S\n]+', Whitespace)
599
+
600
+ tokens = {
601
+ 'sig': [
602
+ (r'(extends)\b', Keyword, '#pop'),
603
+ (iden_rex, Name),
604
+ text_tuple,
605
+ (r',', Punctuation),
606
+ (r'\{', Operator, '#pop'),
607
+ ],
608
+ 'module': [
609
+ text_tuple,
610
+ (iden_rex, Name, '#pop'),
611
+ ],
612
+ 'fun': [
613
+ text_tuple,
614
+ (r'\{', Operator, '#pop'),
615
+ (iden_rex, Name, '#pop'),
616
+ ],
617
+ 'fact': [
618
+ include('fun'),
619
+ (string_rex, String, '#pop'),
620
+ ],
621
+ 'root': [
622
+ (r'--.*?$', Comment.Single),
623
+ (r'//.*?$', Comment.Single),
624
+ (r'/\*.*?\*/', Comment.Multiline),
625
+ text_tuple,
626
+ (r'(module|open)(\s+)', bygroups(Keyword.Namespace, Whitespace),
627
+ 'module'),
628
+ (r'(sig|enum)(\s+)', bygroups(Keyword.Declaration, Whitespace), 'sig'),
629
+ (r'(iden|univ|none)\b', Keyword.Constant),
630
+ (r'(int|Int)\b', Keyword.Type),
631
+ (r'(var|this|abstract|extends|set|seq|one|lone|let)\b', Keyword),
632
+ (r'(all|some|no|sum|disj|when|else)\b', Keyword),
633
+ (r'(run|check|for|but|exactly|expect|as|steps)\b', Keyword),
634
+ (r'(always|after|eventually|until|release)\b', Keyword), # future time operators
635
+ (r'(historically|before|once|since|triggered)\b', Keyword), # past time operators
636
+ (r'(and|or|implies|iff|in)\b', Operator.Word),
637
+ (r'(fun|pred|assert)(\s+)', bygroups(Keyword, Whitespace), 'fun'),
638
+ (r'(fact)(\s+)', bygroups(Keyword, Whitespace), 'fact'),
639
+ (r'!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.\.|\.|->', Operator),
640
+ (r'[-+/*%=<>&!^|~{}\[\]().\';]', Operator),
641
+ (iden_rex, Name),
642
+ (r'[:,]', Punctuation),
643
+ (r'[0-9]+', Number.Integer),
644
+ (string_rex, String),
645
+ (r'\n', Whitespace),
646
+ ]
647
+ }
648
+
649
+
650
+ class PanLexer(RegexLexer):
651
+ """
652
+ Lexer for pan source files.
653
+
654
+ Based on tcsh lexer.
655
+ """
656
+
657
+ name = 'Pan'
658
+ url = 'https://github.com/quattor/pan/'
659
+ aliases = ['pan']
660
+ filenames = ['*.pan']
661
+ version_added = '2.0'
662
+
663
+ tokens = {
664
+ 'root': [
665
+ include('basic'),
666
+ (r'\(', Keyword, 'paren'),
667
+ (r'\{', Keyword, 'curly'),
668
+ include('data'),
669
+ ],
670
+ 'basic': [
671
+ (words((
672
+ 'if', 'for', 'with', 'else', 'type', 'bind', 'while', 'valid', 'final',
673
+ 'prefix', 'unique', 'object', 'foreach', 'include', 'template',
674
+ 'function', 'variable', 'structure', 'extensible', 'declaration'),
675
+ prefix=r'\b', suffix=r'\b'),
676
+ Keyword),
677
+ (words((
678
+ 'file_contents', 'format', 'index', 'length', 'match', 'matches',
679
+ 'replace', 'splice', 'split', 'substr', 'to_lowercase', 'to_uppercase',
680
+ 'debug', 'error', 'traceback', 'deprecated', 'base64_decode',
681
+ 'base64_encode', 'digest', 'escape', 'unescape', 'append', 'create',
682
+ 'first', 'nlist', 'key', 'list', 'merge', 'next', 'prepend', 'is_boolean',
683
+ 'is_defined', 'is_double', 'is_list', 'is_long', 'is_nlist', 'is_null',
684
+ 'is_number', 'is_property', 'is_resource', 'is_string', 'to_boolean',
685
+ 'to_double', 'to_long', 'to_string', 'clone', 'delete', 'exists',
686
+ 'path_exists', 'if_exists', 'return', 'value'),
687
+ prefix=r'\b', suffix=r'\b'),
688
+ Name.Builtin),
689
+ (r'#.*', Comment),
690
+ (r'\\[\w\W]', String.Escape),
691
+ (r'(\b\w+)(\s*)(=)', bygroups(Name.Variable, Whitespace, Operator)),
692
+ (r'[\[\]{}()=]+', Operator),
693
+ (r'<<\s*(\'?)\\?(\w+)[\w\W]+?\2', String),
694
+ (r';', Punctuation),
695
+ ],
696
+ 'data': [
697
+ (r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
698
+ (r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
699
+ (r'\s+', Whitespace),
700
+ (r'[^=\s\[\]{}()$"\'`\\;#]+', Text),
701
+ (r'\d+(?= |\Z)', Number),
702
+ ],
703
+ 'curly': [
704
+ (r'\}', Keyword, '#pop'),
705
+ (r':-', Keyword),
706
+ (r'\w+', Name.Variable),
707
+ (r'[^}:"\'`$]+', Punctuation),
708
+ (r':', Punctuation),
709
+ include('root'),
710
+ ],
711
+ 'paren': [
712
+ (r'\)', Keyword, '#pop'),
713
+ include('root'),
714
+ ],
715
+ }
716
+
717
+
718
+ class CrmshLexer(RegexLexer):
719
+ """
720
+ Lexer for crmsh configuration files for Pacemaker clusters.
721
+ """
722
+ name = 'Crmsh'
723
+ url = 'http://crmsh.github.io/'
724
+ aliases = ['crmsh', 'pcmk']
725
+ filenames = ['*.crmsh', '*.pcmk']
726
+ mimetypes = []
727
+ version_added = '2.1'
728
+
729
+ elem = words((
730
+ 'node', 'primitive', 'group', 'clone', 'ms', 'location',
731
+ 'colocation', 'order', 'fencing_topology', 'rsc_ticket',
732
+ 'rsc_template', 'property', 'rsc_defaults',
733
+ 'op_defaults', 'acl_target', 'acl_group', 'user', 'role',
734
+ 'tag'), suffix=r'(?![\w#$-])')
735
+ sub = words((
736
+ 'params', 'meta', 'operations', 'op', 'rule',
737
+ 'attributes', 'utilization'), suffix=r'(?![\w#$-])')
738
+ acl = words(('read', 'write', 'deny'), suffix=r'(?![\w#$-])')
739
+ bin_rel = words(('and', 'or'), suffix=r'(?![\w#$-])')
740
+ un_ops = words(('defined', 'not_defined'), suffix=r'(?![\w#$-])')
741
+ date_exp = words(('in_range', 'date', 'spec', 'in'), suffix=r'(?![\w#$-])')
742
+ acl_mod = (r'(?:tag|ref|reference|attribute|type|xpath)')
743
+ bin_ops = (r'(?:lt|gt|lte|gte|eq|ne)')
744
+ val_qual = (r'(?:string|version|number)')
745
+ rsc_role_action = (r'(?:Master|Started|Slave|Stopped|'
746
+ r'start|promote|demote|stop)')
747
+
748
+ tokens = {
749
+ 'root': [
750
+ (r'^(#.*)(\n)?', bygroups(Comment, Whitespace)),
751
+ # attr=value (nvpair)
752
+ (r'([\w#$-]+)(=)("(?:""|[^"])*"|\S+)',
753
+ bygroups(Name.Attribute, Punctuation, String)),
754
+ # need this construct, otherwise numeric node ids
755
+ # are matched as scores
756
+ # elem id:
757
+ (r'(node)(\s+)([\w#$-]+)(:)',
758
+ bygroups(Keyword, Whitespace, Name, Punctuation)),
759
+ # scores
760
+ (r'([+-]?([0-9]+|inf)):', Number),
761
+ # keywords (elements and other)
762
+ (elem, Keyword),
763
+ (sub, Keyword),
764
+ (acl, Keyword),
765
+ # binary operators
766
+ (rf'(?:{val_qual}:)?({bin_ops})(?![\w#$-])', Operator.Word),
767
+ # other operators
768
+ (bin_rel, Operator.Word),
769
+ (un_ops, Operator.Word),
770
+ (date_exp, Operator.Word),
771
+ # builtin attributes (e.g. #uname)
772
+ (r'#[a-z]+(?![\w#$-])', Name.Builtin),
773
+ # acl_mod:blah
774
+ (rf'({acl_mod})(:)("(?:""|[^"])*"|\S+)',
775
+ bygroups(Keyword, Punctuation, Name)),
776
+ # rsc_id[:(role|action)]
777
+ # NB: this matches all other identifiers
778
+ (rf'([\w#$-]+)(?:(:)({rsc_role_action}))?(?![\w#$-])',
779
+ bygroups(Name, Punctuation, Operator.Word)),
780
+ # punctuation
781
+ (r'(\\(?=\n)|[\[\](){}/:@])', Punctuation),
782
+ (r'\s+|\n', Whitespace),
783
+ ],
784
+ }
785
+
786
+
787
+ class FlatlineLexer(RegexLexer):
788
+ """
789
+ Lexer for Flatline expressions.
790
+ """
791
+ name = 'Flatline'
792
+ url = 'https://github.com/bigmlcom/flatline'
793
+ aliases = ['flatline']
794
+ filenames = []
795
+ mimetypes = ['text/x-flatline']
796
+ version_added = '2.2'
797
+
798
+ special_forms = ('let',)
799
+
800
+ builtins = (
801
+ "!=", "*", "+", "-", "<", "<=", "=", ">", ">=", "abs", "acos", "all",
802
+ "all-but", "all-with-defaults", "all-with-numeric-default", "and",
803
+ "asin", "atan", "avg", "avg-window", "bin-center", "bin-count", "call",
804
+ "category-count", "ceil", "cond", "cond-window", "cons", "cos", "cosh",
805
+ "count", "diff-window", "div", "ensure-value", "ensure-weighted-value",
806
+ "epoch", "epoch-day", "epoch-fields", "epoch-hour", "epoch-millisecond",
807
+ "epoch-minute", "epoch-month", "epoch-second", "epoch-weekday",
808
+ "epoch-year", "exp", "f", "field", "field-prop", "fields", "filter",
809
+ "first", "floor", "head", "if", "in", "integer", "language", "length",
810
+ "levenshtein", "linear-regression", "list", "ln", "log", "log10", "map",
811
+ "matches", "matches?", "max", "maximum", "md5", "mean", "median", "min",
812
+ "minimum", "missing", "missing-count", "missing?", "missing_count",
813
+ "mod", "mode", "normalize", "not", "nth", "occurrences", "or",
814
+ "percentile", "percentile-label", "population", "population-fraction",
815
+ "pow", "preferred", "preferred?", "quantile-label", "rand", "rand-int",
816
+ "random-value", "re-quote", "real", "replace", "replace-first", "rest",
817
+ "round", "row-number", "segment-label", "sha1", "sha256", "sin", "sinh",
818
+ "sqrt", "square", "standard-deviation", "standard_deviation", "str",
819
+ "subs", "sum", "sum-squares", "sum-window", "sum_squares", "summary",
820
+ "summary-no", "summary-str", "tail", "tan", "tanh", "to-degrees",
821
+ "to-radians", "variance", "vectorize", "weighted-random-value", "window",
822
+ "winnow", "within-percentiles?", "z-score",
823
+ )
824
+
825
+ valid_name = r'(?!#)[\w!$%*+<=>?/.#-]+'
826
+
827
+ tokens = {
828
+ 'root': [
829
+ # whitespaces - usually not relevant
830
+ (r'[,]+', Text),
831
+ (r'\s+', Whitespace),
832
+
833
+ # numbers
834
+ (r'-?\d+\.\d+', Number.Float),
835
+ (r'-?\d+', Number.Integer),
836
+ (r'0x-?[a-f\d]+', Number.Hex),
837
+
838
+ # strings, symbols and characters
839
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
840
+ (r"\\(.|[a-z]+)", String.Char),
841
+
842
+ # expression template placeholder
843
+ (r'_', String.Symbol),
844
+
845
+ # highlight the special forms
846
+ (words(special_forms, suffix=' '), Keyword),
847
+
848
+ # highlight the builtins
849
+ (words(builtins, suffix=' '), Name.Builtin),
850
+
851
+ # the remaining functions
852
+ (r'(?<=\()' + valid_name, Name.Function),
853
+
854
+ # find the remaining variables
855
+ (valid_name, Name.Variable),
856
+
857
+ # parentheses
858
+ (r'(\(|\))', Punctuation),
859
+ ],
860
+ }
861
+
862
+
863
+ class SnowballLexer(ExtendedRegexLexer):
864
+ """
865
+ Lexer for Snowball source code.
866
+ """
867
+
868
+ name = 'Snowball'
869
+ url = 'https://snowballstem.org/'
870
+ aliases = ['snowball']
871
+ filenames = ['*.sbl']
872
+ version_added = '2.2'
873
+
874
+ _ws = r'\n\r\t '
875
+
876
+ def __init__(self, **options):
877
+ self._reset_stringescapes()
878
+ ExtendedRegexLexer.__init__(self, **options)
879
+
880
+ def _reset_stringescapes(self):
881
+ self._start = "'"
882
+ self._end = "'"
883
+
884
+ def _string(do_string_first):
885
+ def callback(lexer, match, ctx):
886
+ s = match.start()
887
+ text = match.group()
888
+ string = re.compile(rf'([^{re.escape(lexer._start)}]*)(.)').match
889
+ escape = re.compile(rf'([^{re.escape(lexer._end)}]*)(.)').match
890
+ pos = 0
891
+ do_string = do_string_first
892
+ while pos < len(text):
893
+ if do_string:
894
+ match = string(text, pos)
895
+ yield s + match.start(1), String.Single, match.group(1)
896
+ if match.group(2) == "'":
897
+ yield s + match.start(2), String.Single, match.group(2)
898
+ ctx.stack.pop()
899
+ break
900
+ yield s + match.start(2), String.Escape, match.group(2)
901
+ pos = match.end()
902
+ match = escape(text, pos)
903
+ yield s + match.start(), String.Escape, match.group()
904
+ if match.group(2) != lexer._end:
905
+ ctx.stack[-1] = 'escape'
906
+ break
907
+ pos = match.end()
908
+ do_string = True
909
+ ctx.pos = s + match.end()
910
+ return callback
911
+
912
+ def _stringescapes(lexer, match, ctx):
913
+ lexer._start = match.group(3)
914
+ lexer._end = match.group(5)
915
+ return bygroups(Keyword.Reserved, Whitespace, String.Escape, Whitespace,
916
+ String.Escape)(lexer, match, ctx)
917
+
918
+ tokens = {
919
+ 'root': [
920
+ (r'len\b', Name.Builtin),
921
+ (r'lenof\b', Operator.Word),
922
+ include('root1'),
923
+ ],
924
+ 'root1': [
925
+ (rf'[{_ws}]+', Whitespace),
926
+ (r'\d+', Number.Integer),
927
+ (r"'", String.Single, 'string'),
928
+ (r'[()]', Punctuation),
929
+ (r'/\*[\w\W]*?\*/', Comment.Multiline),
930
+ (r'//.*', Comment.Single),
931
+ (r'[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]]', Operator),
932
+ (words(('as', 'get', 'hex', 'among', 'define', 'decimal',
933
+ 'backwardmode'), suffix=r'\b'),
934
+ Keyword.Reserved),
935
+ (words(('strings', 'booleans', 'integers', 'routines', 'externals',
936
+ 'groupings'), suffix=r'\b'),
937
+ Keyword.Reserved, 'declaration'),
938
+ (words(('do', 'or', 'and', 'for', 'hop', 'non', 'not', 'set', 'try',
939
+ 'fail', 'goto', 'loop', 'next', 'test', 'true',
940
+ 'false', 'unset', 'atmark', 'attach', 'delete', 'gopast',
941
+ 'insert', 'repeat', 'sizeof', 'tomark', 'atleast',
942
+ 'atlimit', 'reverse', 'setmark', 'tolimit', 'setlimit',
943
+ 'backwards', 'substring'), suffix=r'\b'),
944
+ Operator.Word),
945
+ (words(('size', 'limit', 'cursor', 'maxint', 'minint'),
946
+ suffix=r'\b'),
947
+ Name.Builtin),
948
+ (rf'(stringdef\b)([{_ws}]*)([^{_ws}]+)',
949
+ bygroups(Keyword.Reserved, Whitespace, String.Escape)),
950
+ (rf'(stringescapes\b)([{_ws}]*)(.)([{_ws}]*)(.)',
951
+ _stringescapes),
952
+ (r'[A-Za-z]\w*', Name),
953
+ ],
954
+ 'declaration': [
955
+ (r'\)', Punctuation, '#pop'),
956
+ (words(('len', 'lenof'), suffix=r'\b'), Name,
957
+ ('root1', 'declaration')),
958
+ include('root1'),
959
+ ],
960
+ 'string': [
961
+ (r"[^']*'", _string(True)),
962
+ ],
963
+ 'escape': [
964
+ (r"[^']*'", _string(False)),
965
+ ],
966
+ }
967
+
968
+ def get_tokens_unprocessed(self, text=None, context=None):
969
+ self._reset_stringescapes()
970
+ return ExtendedRegexLexer.get_tokens_unprocessed(self, text, context)
temp_venv/lib/python3.13/site-packages/pygments/lexers/elpi.py ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.elpi
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, bygroups, include, using
12
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
13
+ Number, Punctuation
14
+
15
+ __all__ = ['ElpiLexer']
16
+
17
+ from pygments.lexers.theorem import CoqLexer
18
+
19
+ class ElpiLexer(RegexLexer):
20
+ """
21
+ Lexer for the Elpi programming language.
22
+ """
23
+
24
+ name = 'Elpi'
25
+ url = 'http://github.com/LPCIC/elpi'
26
+ aliases = ['elpi']
27
+ filenames = ['*.elpi']
28
+ mimetypes = ['text/x-elpi']
29
+ version_added = '2.11'
30
+
31
+ lcase_re = r"[a-z]"
32
+ ucase_re = r"[A-Z]"
33
+ digit_re = r"[0-9]"
34
+ schar2_re = r"([+*^?/<>`'@#~=&!])"
35
+ schar_re = rf"({schar2_re}|-|\$|_)"
36
+ idchar_re = rf"({lcase_re}|{ucase_re}|{digit_re}|{schar_re})"
37
+ idcharstarns_re = rf"({idchar_re}*(\.({lcase_re}|{ucase_re}){idchar_re}*)*)"
38
+ symbchar_re = rf"({lcase_re}|{ucase_re}|{digit_re}|{schar_re}|:)"
39
+ constant_re = rf"({ucase_re}{idchar_re}*|{lcase_re}{idcharstarns_re}|{schar2_re}{symbchar_re}*|_{idchar_re}+)"
40
+ symbol_re = r"(,|<=>|->|:-|;|\?-|->|&|=>|\bas\b|\buvar\b|<|=<|=|==|>=|>|\bi<|\bi=<|\bi>=|\bi>|\bis\b|\br<|\br=<|\br>=|\br>|\bs<|\bs=<|\bs>=|\bs>|@|::|\[\]|`->|`:|`:=|\^|-|\+|\bi-|\bi\+|r-|r\+|/|\*|\bdiv\b|\bi\*|\bmod\b|\br\*|~|\bi~|\br~)"
41
+ escape_re = rf"\(({constant_re}|{symbol_re})\)"
42
+ const_sym_re = rf"({constant_re}|{symbol_re}|{escape_re})"
43
+
44
+ tokens = {
45
+ 'root': [
46
+ include('elpi')
47
+ ],
48
+
49
+ 'elpi': [
50
+ include('_elpi-comment'),
51
+
52
+ (r"(:before|:after|:if|:name)(\s*)(\")",
53
+ bygroups(Keyword.Mode, Text.Whitespace, String.Double),
54
+ 'elpi-string'),
55
+ (r"(:index)(\s*)(\()", bygroups(Keyword.Mode, Text.Whitespace, Punctuation),
56
+ 'elpi-indexing-expr'),
57
+ (rf"\b(external pred|pred)(\s+)({const_sym_re})",
58
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Function),
59
+ 'elpi-pred-item'),
60
+ (rf"\b(external type|type)(\s+)(({const_sym_re}(,\s*)?)+)",
61
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Function),
62
+ 'elpi-type'),
63
+ (rf"\b(kind)(\s+)(({const_sym_re}|,)+)",
64
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Function),
65
+ 'elpi-type'),
66
+ (rf"\b(typeabbrev)(\s+)({const_sym_re})",
67
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Function),
68
+ 'elpi-type'),
69
+ (r"\b(typeabbrev)(\s+)(\([^)]+\))",
70
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Function),
71
+ 'elpi-type'),
72
+ (r"\b(accumulate)(\s+)(\")",
73
+ bygroups(Keyword.Declaration, Text.Whitespace, String.Double),
74
+ 'elpi-string'),
75
+ (rf"\b(accumulate|namespace|local)(\s+)({constant_re})",
76
+ bygroups(Keyword.Declaration, Text.Whitespace, Text)),
77
+ (rf"\b(shorten)(\s+)({constant_re}\.)",
78
+ bygroups(Keyword.Declaration, Text.Whitespace, Text)),
79
+ (r"\b(pi|sigma)(\s+)([a-zA-Z][A-Za-z0-9_ ]*)(\\)",
80
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Variable, Text)),
81
+ (rf"\b(constraint)(\s+)(({const_sym_re}(\s+)?)+)",
82
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Function),
83
+ 'elpi-chr-rule-start'),
84
+
85
+ (rf"(?=[A-Z_]){constant_re}", Name.Variable),
86
+ (rf"(?=[a-z_])({constant_re}|_)\\", Name.Variable),
87
+ (r"_", Name.Variable),
88
+ (rf"({symbol_re}|!|=>|;)", Keyword.Declaration),
89
+ (constant_re, Text),
90
+ (r"\[|\]|\||=>", Keyword.Declaration),
91
+ (r'"', String.Double, 'elpi-string'),
92
+ (r'`', String.Double, 'elpi-btick'),
93
+ (r'\'', String.Double, 'elpi-tick'),
94
+ (r'\{\{', Punctuation, 'elpi-quote'),
95
+ (r'\{[^\{]', Text, 'elpi-spill'),
96
+ (r"\(", Punctuation, 'elpi-in-parens'),
97
+ (r'\d[\d_]*', Number.Integer),
98
+ (r'-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)', Number.Float),
99
+ (r"[\+\*\-/\^\.]", Operator),
100
+ ],
101
+ '_elpi-comment': [
102
+ (r'%[^\n]*\n', Comment),
103
+ (r'/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/', Comment),
104
+ (r"\s+", Text.Whitespace),
105
+ ],
106
+ 'elpi-indexing-expr':[
107
+ (r'[0-9 _]+', Number.Integer),
108
+ (r'\)', Punctuation, '#pop'),
109
+ ],
110
+ 'elpi-type': [
111
+ (r"(ctype\s+)(\")", bygroups(Keyword.Type, String.Double), 'elpi-string'),
112
+ (r'->', Keyword.Type),
113
+ (constant_re, Keyword.Type),
114
+ (r"\(|\)", Keyword.Type),
115
+ (r"\.", Text, '#pop'),
116
+ include('_elpi-comment'),
117
+ ],
118
+ 'elpi-chr-rule-start': [
119
+ (r"\{", Punctuation, 'elpi-chr-rule'),
120
+ include('_elpi-comment'),
121
+ ],
122
+ 'elpi-chr-rule': [
123
+ (r"\brule\b", Keyword.Declaration),
124
+ (r"\\", Keyword.Declaration),
125
+ (r"\}", Punctuation, '#pop:2'),
126
+ include('elpi'),
127
+ ],
128
+ 'elpi-pred-item': [
129
+ (r"[io]:", Keyword.Mode, 'elpi-ctype'),
130
+ (r"\.", Text, '#pop'),
131
+ include('_elpi-comment'),
132
+ ],
133
+ 'elpi-ctype': [
134
+ (r"(ctype\s+)(\")", bygroups(Keyword.Type, String.Double), 'elpi-string'),
135
+ (r'->', Keyword.Type),
136
+ (constant_re, Keyword.Type),
137
+ (r"\(|\)", Keyword.Type),
138
+ (r",", Text, '#pop'),
139
+ (r"\.", Text, '#pop:2'),
140
+ include('_elpi-comment'),
141
+ ],
142
+ 'elpi-btick': [
143
+ (r'[^` ]+', String.Double),
144
+ (r'`', String.Double, '#pop'),
145
+ ],
146
+ 'elpi-tick': [
147
+ (r'[^\' ]+', String.Double),
148
+ (r'\'', String.Double, '#pop'),
149
+ ],
150
+ 'elpi-string': [
151
+ (r'[^\"]+', String.Double),
152
+ (r'"', String.Double, '#pop'),
153
+ ],
154
+ 'elpi-quote': [
155
+ (r'\}\}', Punctuation, '#pop'),
156
+ (r"\s+", Text.Whitespace),
157
+ (r"(lp:)(\{\{)", bygroups(Number, Punctuation), 'elpi-quote-exit'),
158
+ (rf"(lp:)((?=[A-Z_]){constant_re})", bygroups(Number, Name.Variable)),
159
+ (r"((?!lp:|\}\}).)+", using(CoqLexer)),
160
+ ],
161
+ 'elpi-quote-exit': [
162
+ include('elpi'),
163
+ (r'\}\}', Punctuation, '#pop'),
164
+ ],
165
+ 'elpi-spill': [
166
+ (r'\{[^\{]', Text, '#push'),
167
+ (r'\}[^\}]', Text, '#pop'),
168
+ include('elpi'),
169
+ ],
170
+ 'elpi-in-parens': [
171
+ (r"\(", Punctuation, '#push'),
172
+ include('elpi'),
173
+ (r"\)", Punctuation, '#pop'),
174
+ ],
175
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/erlang.py ADDED
@@ -0,0 +1,526 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.erlang
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Erlang.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import Lexer, RegexLexer, bygroups, words, do_insertions, \
14
+ include, default, line_re
15
+ from pygments.token import Comment, Operator, Keyword, Name, String, \
16
+ Number, Punctuation, Generic, Whitespace
17
+
18
+ __all__ = ['ErlangLexer', 'ErlangShellLexer', 'ElixirConsoleLexer',
19
+ 'ElixirLexer']
20
+
21
+
22
+ class ErlangLexer(RegexLexer):
23
+ """
24
+ For the Erlang functional programming language.
25
+ """
26
+
27
+ name = 'Erlang'
28
+ url = 'https://www.erlang.org/'
29
+ aliases = ['erlang']
30
+ filenames = ['*.erl', '*.hrl', '*.es', '*.escript']
31
+ mimetypes = ['text/x-erlang']
32
+ version_added = '0.9'
33
+
34
+ keywords = (
35
+ 'after', 'begin', 'case', 'catch', 'cond', 'end', 'fun', 'if',
36
+ 'let', 'of', 'query', 'receive', 'try', 'when',
37
+ )
38
+
39
+ builtins = ( # See erlang(3) man page
40
+ 'abs', 'append_element', 'apply', 'atom_to_list', 'binary_to_list',
41
+ 'bitstring_to_list', 'binary_to_term', 'bit_size', 'bump_reductions',
42
+ 'byte_size', 'cancel_timer', 'check_process_code', 'delete_module',
43
+ 'demonitor', 'disconnect_node', 'display', 'element', 'erase', 'exit',
44
+ 'float', 'float_to_list', 'fun_info', 'fun_to_list',
45
+ 'function_exported', 'garbage_collect', 'get', 'get_keys',
46
+ 'group_leader', 'hash', 'hd', 'integer_to_list', 'iolist_to_binary',
47
+ 'iolist_size', 'is_atom', 'is_binary', 'is_bitstring', 'is_boolean',
48
+ 'is_builtin', 'is_float', 'is_function', 'is_integer', 'is_list',
49
+ 'is_number', 'is_pid', 'is_port', 'is_process_alive', 'is_record',
50
+ 'is_reference', 'is_tuple', 'length', 'link', 'list_to_atom',
51
+ 'list_to_binary', 'list_to_bitstring', 'list_to_existing_atom',
52
+ 'list_to_float', 'list_to_integer', 'list_to_pid', 'list_to_tuple',
53
+ 'load_module', 'localtime_to_universaltime', 'make_tuple', 'md5',
54
+ 'md5_final', 'md5_update', 'memory', 'module_loaded', 'monitor',
55
+ 'monitor_node', 'node', 'nodes', 'open_port', 'phash', 'phash2',
56
+ 'pid_to_list', 'port_close', 'port_command', 'port_connect',
57
+ 'port_control', 'port_call', 'port_info', 'port_to_list',
58
+ 'process_display', 'process_flag', 'process_info', 'purge_module',
59
+ 'put', 'read_timer', 'ref_to_list', 'register', 'resume_process',
60
+ 'round', 'send', 'send_after', 'send_nosuspend', 'set_cookie',
61
+ 'setelement', 'size', 'spawn', 'spawn_link', 'spawn_monitor',
62
+ 'spawn_opt', 'split_binary', 'start_timer', 'statistics',
63
+ 'suspend_process', 'system_flag', 'system_info', 'system_monitor',
64
+ 'system_profile', 'term_to_binary', 'tl', 'trace', 'trace_delivered',
65
+ 'trace_info', 'trace_pattern', 'trunc', 'tuple_size', 'tuple_to_list',
66
+ 'universaltime_to_localtime', 'unlink', 'unregister', 'whereis'
67
+ )
68
+
69
+ operators = r'(\+\+?|--?|\*|/|<|>|/=|=:=|=/=|=<|>=|==?|<-|!|\?)'
70
+ word_operators = (
71
+ 'and', 'andalso', 'band', 'bnot', 'bor', 'bsl', 'bsr', 'bxor',
72
+ 'div', 'not', 'or', 'orelse', 'rem', 'xor'
73
+ )
74
+
75
+ atom_re = r"(?:[a-z]\w*|'[^\n']*[^\\]')"
76
+
77
+ variable_re = r'(?:[A-Z_]\w*)'
78
+
79
+ esc_char_re = r'[bdefnrstv\'"\\]'
80
+ esc_octal_re = r'[0-7][0-7]?[0-7]?'
81
+ esc_hex_re = r'(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})'
82
+ esc_ctrl_re = r'\^[a-zA-Z]'
83
+ escape_re = r'(?:\\(?:'+esc_char_re+r'|'+esc_octal_re+r'|'+esc_hex_re+r'|'+esc_ctrl_re+r'))'
84
+
85
+ macro_re = r'(?:'+variable_re+r'|'+atom_re+r')'
86
+
87
+ base_re = r'(?:[2-9]|[12][0-9]|3[0-6])'
88
+
89
+ tokens = {
90
+ 'root': [
91
+ (r'\s+', Whitespace),
92
+ (r'(%.*)(\n)', bygroups(Comment, Whitespace)),
93
+ (words(keywords, suffix=r'\b'), Keyword),
94
+ (words(builtins, suffix=r'\b'), Name.Builtin),
95
+ (words(word_operators, suffix=r'\b'), Operator.Word),
96
+ (r'^-', Punctuation, 'directive'),
97
+ (operators, Operator),
98
+ (r'"', String, 'string'),
99
+ (r'<<', Name.Label),
100
+ (r'>>', Name.Label),
101
+ ('(' + atom_re + ')(:)', bygroups(Name.Namespace, Punctuation)),
102
+ ('(?:^|(?<=:))(' + atom_re + r')(\s*)(\()',
103
+ bygroups(Name.Function, Whitespace, Punctuation)),
104
+ (r'[+-]?' + base_re + r'#[0-9a-zA-Z]+', Number.Integer),
105
+ (r'[+-]?\d+', Number.Integer),
106
+ (r'[+-]?\d+.\d+', Number.Float),
107
+ (r'[]\[:_@\".{}()|;,]', Punctuation),
108
+ (variable_re, Name.Variable),
109
+ (atom_re, Name),
110
+ (r'\?'+macro_re, Name.Constant),
111
+ (r'\$(?:'+escape_re+r'|\\[ %]|[^\\])', String.Char),
112
+ (r'#'+atom_re+r'(:?\.'+atom_re+r')?', Name.Label),
113
+
114
+ # Erlang script shebang
115
+ (r'\A#!.+\n', Comment.Hashbang),
116
+
117
+ # EEP 43: Maps
118
+ # http://www.erlang.org/eeps/eep-0043.html
119
+ (r'#\{', Punctuation, 'map_key'),
120
+ ],
121
+ 'string': [
122
+ (escape_re, String.Escape),
123
+ (r'"', String, '#pop'),
124
+ (r'~[0-9.*]*[~#+BPWXb-ginpswx]', String.Interpol),
125
+ (r'[^"\\~]+', String),
126
+ (r'~', String),
127
+ ],
128
+ 'directive': [
129
+ (r'(define)(\s*)(\()('+macro_re+r')',
130
+ bygroups(Name.Entity, Whitespace, Punctuation, Name.Constant), '#pop'),
131
+ (r'(record)(\s*)(\()('+macro_re+r')',
132
+ bygroups(Name.Entity, Whitespace, Punctuation, Name.Label), '#pop'),
133
+ (atom_re, Name.Entity, '#pop'),
134
+ ],
135
+ 'map_key': [
136
+ include('root'),
137
+ (r'=>', Punctuation, 'map_val'),
138
+ (r':=', Punctuation, 'map_val'),
139
+ (r'\}', Punctuation, '#pop'),
140
+ ],
141
+ 'map_val': [
142
+ include('root'),
143
+ (r',', Punctuation, '#pop'),
144
+ (r'(?=\})', Punctuation, '#pop'),
145
+ ],
146
+ }
147
+
148
+
149
+ class ErlangShellLexer(Lexer):
150
+ """
151
+ Shell sessions in erl (for Erlang code).
152
+ """
153
+ name = 'Erlang erl session'
154
+ aliases = ['erl']
155
+ filenames = ['*.erl-sh']
156
+ mimetypes = ['text/x-erl-shellsession']
157
+ url = 'https://www.erlang.org/'
158
+ version_added = '1.1'
159
+
160
+ _prompt_re = re.compile(r'(?:\([\w@_.]+\))?\d+>(?=\s|\Z)')
161
+
162
+ def get_tokens_unprocessed(self, text):
163
+ erlexer = ErlangLexer(**self.options)
164
+
165
+ curcode = ''
166
+ insertions = []
167
+ for match in line_re.finditer(text):
168
+ line = match.group()
169
+ m = self._prompt_re.match(line)
170
+ if m is not None:
171
+ end = m.end()
172
+ insertions.append((len(curcode),
173
+ [(0, Generic.Prompt, line[:end])]))
174
+ curcode += line[end:]
175
+ else:
176
+ if curcode:
177
+ yield from do_insertions(insertions,
178
+ erlexer.get_tokens_unprocessed(curcode))
179
+ curcode = ''
180
+ insertions = []
181
+ if line.startswith('*'):
182
+ yield match.start(), Generic.Traceback, line
183
+ else:
184
+ yield match.start(), Generic.Output, line
185
+ if curcode:
186
+ yield from do_insertions(insertions,
187
+ erlexer.get_tokens_unprocessed(curcode))
188
+
189
+
190
+ def gen_elixir_string_rules(name, symbol, token):
191
+ states = {}
192
+ states['string_' + name] = [
193
+ (rf'[^#{symbol}\\]+', token),
194
+ include('escapes'),
195
+ (r'\\.', token),
196
+ (rf'({symbol})', bygroups(token), "#pop"),
197
+ include('interpol')
198
+ ]
199
+ return states
200
+
201
+
202
+ def gen_elixir_sigstr_rules(term, term_class, token, interpol=True):
203
+ if interpol:
204
+ return [
205
+ (rf'[^#{term_class}\\]+', token),
206
+ include('escapes'),
207
+ (r'\\.', token),
208
+ (rf'{term}[a-zA-Z]*', token, '#pop'),
209
+ include('interpol')
210
+ ]
211
+ else:
212
+ return [
213
+ (rf'[^{term_class}\\]+', token),
214
+ (r'\\.', token),
215
+ (rf'{term}[a-zA-Z]*', token, '#pop'),
216
+ ]
217
+
218
+
219
+ class ElixirLexer(RegexLexer):
220
+ """
221
+ For the Elixir language.
222
+ """
223
+
224
+ name = 'Elixir'
225
+ url = 'https://elixir-lang.org'
226
+ aliases = ['elixir', 'ex', 'exs']
227
+ filenames = ['*.ex', '*.eex', '*.exs', '*.leex']
228
+ mimetypes = ['text/x-elixir']
229
+ version_added = '1.5'
230
+
231
+ KEYWORD = ('fn', 'do', 'end', 'after', 'else', 'rescue', 'catch')
232
+ KEYWORD_OPERATOR = ('not', 'and', 'or', 'when', 'in')
233
+ BUILTIN = (
234
+ 'case', 'cond', 'for', 'if', 'unless', 'try', 'receive', 'raise',
235
+ 'quote', 'unquote', 'unquote_splicing', 'throw', 'super',
236
+ )
237
+ BUILTIN_DECLARATION = (
238
+ 'def', 'defp', 'defmodule', 'defprotocol', 'defmacro', 'defmacrop',
239
+ 'defdelegate', 'defexception', 'defstruct', 'defimpl', 'defcallback',
240
+ )
241
+
242
+ BUILTIN_NAMESPACE = ('import', 'require', 'use', 'alias')
243
+ CONSTANT = ('nil', 'true', 'false')
244
+
245
+ PSEUDO_VAR = ('_', '__MODULE__', '__DIR__', '__ENV__', '__CALLER__')
246
+
247
+ OPERATORS3 = (
248
+ '<<<', '>>>', '|||', '&&&', '^^^', '~~~', '===', '!==',
249
+ '~>>', '<~>', '|~>', '<|>',
250
+ )
251
+ OPERATORS2 = (
252
+ '==', '!=', '<=', '>=', '&&', '||', '<>', '++', '--', '|>', '=~',
253
+ '->', '<-', '|', '.', '=', '~>', '<~',
254
+ )
255
+ OPERATORS1 = ('<', '>', '+', '-', '*', '/', '!', '^', '&')
256
+
257
+ PUNCTUATION = (
258
+ '\\\\', '<<', '>>', '=>', '(', ')', ':', ';', ',', '[', ']',
259
+ )
260
+
261
+ def get_tokens_unprocessed(self, text):
262
+ for index, token, value in RegexLexer.get_tokens_unprocessed(self, text):
263
+ if token is Name:
264
+ if value in self.KEYWORD:
265
+ yield index, Keyword, value
266
+ elif value in self.KEYWORD_OPERATOR:
267
+ yield index, Operator.Word, value
268
+ elif value in self.BUILTIN:
269
+ yield index, Keyword, value
270
+ elif value in self.BUILTIN_DECLARATION:
271
+ yield index, Keyword.Declaration, value
272
+ elif value in self.BUILTIN_NAMESPACE:
273
+ yield index, Keyword.Namespace, value
274
+ elif value in self.CONSTANT:
275
+ yield index, Name.Constant, value
276
+ elif value in self.PSEUDO_VAR:
277
+ yield index, Name.Builtin.Pseudo, value
278
+ else:
279
+ yield index, token, value
280
+ else:
281
+ yield index, token, value
282
+
283
+ def gen_elixir_sigil_rules():
284
+ # all valid sigil terminators (excluding heredocs)
285
+ terminators = [
286
+ (r'\{', r'\}', '}', 'cb'),
287
+ (r'\[', r'\]', r'\]', 'sb'),
288
+ (r'\(', r'\)', ')', 'pa'),
289
+ ('<', '>', '>', 'ab'),
290
+ ('/', '/', '/', 'slas'),
291
+ (r'\|', r'\|', '|', 'pipe'),
292
+ ('"', '"', '"', 'quot'),
293
+ ("'", "'", "'", 'apos'),
294
+ ]
295
+
296
+ # heredocs have slightly different rules
297
+ triquotes = [(r'"""', 'triquot'), (r"'''", 'triapos')]
298
+
299
+ token = String.Other
300
+ states = {'sigils': []}
301
+
302
+ for term, name in triquotes:
303
+ states['sigils'] += [
304
+ (rf'(~[a-z])({term})', bygroups(token, String.Heredoc),
305
+ (name + '-end', name + '-intp')),
306
+ (rf'(~[A-Z])({term})', bygroups(token, String.Heredoc),
307
+ (name + '-end', name + '-no-intp')),
308
+ ]
309
+
310
+ states[name + '-end'] = [
311
+ (r'[a-zA-Z]+', token, '#pop'),
312
+ default('#pop'),
313
+ ]
314
+ states[name + '-intp'] = [
315
+ (r'^(\s*)(' + term + ')', bygroups(Whitespace, String.Heredoc), '#pop'),
316
+ include('heredoc_interpol'),
317
+ ]
318
+ states[name + '-no-intp'] = [
319
+ (r'^(\s*)(' + term +')', bygroups(Whitespace, String.Heredoc), '#pop'),
320
+ include('heredoc_no_interpol'),
321
+ ]
322
+
323
+ for lterm, rterm, rterm_class, name in terminators:
324
+ states['sigils'] += [
325
+ (r'~[a-z]' + lterm, token, name + '-intp'),
326
+ (r'~[A-Z]' + lterm, token, name + '-no-intp'),
327
+ ]
328
+ states[name + '-intp'] = \
329
+ gen_elixir_sigstr_rules(rterm, rterm_class, token)
330
+ states[name + '-no-intp'] = \
331
+ gen_elixir_sigstr_rules(rterm, rterm_class, token, interpol=False)
332
+
333
+ return states
334
+
335
+ op3_re = "|".join(re.escape(s) for s in OPERATORS3)
336
+ op2_re = "|".join(re.escape(s) for s in OPERATORS2)
337
+ op1_re = "|".join(re.escape(s) for s in OPERATORS1)
338
+ ops_re = rf'(?:{op3_re}|{op2_re}|{op1_re})'
339
+ punctuation_re = "|".join(re.escape(s) for s in PUNCTUATION)
340
+ alnum = r'\w'
341
+ name_re = rf'(?:\.\.\.|[a-z_]{alnum}*[!?]?)'
342
+ modname_re = rf'[A-Z]{alnum}*(?:\.[A-Z]{alnum}*)*'
343
+ complex_name_re = rf'(?:{name_re}|{modname_re}|{ops_re})'
344
+ special_atom_re = r'(?:\.\.\.|<<>>|%\{\}|%|\{\})'
345
+
346
+ long_hex_char_re = r'(\\x\{)([\da-fA-F]+)(\})'
347
+ hex_char_re = r'(\\x[\da-fA-F]{1,2})'
348
+ escape_char_re = r'(\\[abdefnrstv])'
349
+
350
+ tokens = {
351
+ 'root': [
352
+ (r'\s+', Whitespace),
353
+ (r'#.*$', Comment.Single),
354
+
355
+ # Various kinds of characters
356
+ (r'(\?)' + long_hex_char_re,
357
+ bygroups(String.Char,
358
+ String.Escape, Number.Hex, String.Escape)),
359
+ (r'(\?)' + hex_char_re,
360
+ bygroups(String.Char, String.Escape)),
361
+ (r'(\?)' + escape_char_re,
362
+ bygroups(String.Char, String.Escape)),
363
+ (r'\?\\?.', String.Char),
364
+
365
+ # '::' has to go before atoms
366
+ (r':::', String.Symbol),
367
+ (r'::', Operator),
368
+
369
+ # atoms
370
+ (r':' + special_atom_re, String.Symbol),
371
+ (r':' + complex_name_re, String.Symbol),
372
+ (r':"', String.Symbol, 'string_double_atom'),
373
+ (r":'", String.Symbol, 'string_single_atom'),
374
+
375
+ # [keywords: ...]
376
+ (rf'({special_atom_re}|{complex_name_re})(:)(?=\s|\n)',
377
+ bygroups(String.Symbol, Punctuation)),
378
+
379
+ # @attributes
380
+ (r'@' + name_re, Name.Attribute),
381
+
382
+ # identifiers
383
+ (name_re, Name),
384
+ (rf'(%?)({modname_re})', bygroups(Punctuation, Name.Class)),
385
+
386
+ # operators and punctuation
387
+ (op3_re, Operator),
388
+ (op2_re, Operator),
389
+ (punctuation_re, Punctuation),
390
+ (r'&\d', Name.Entity), # anon func arguments
391
+ (op1_re, Operator),
392
+
393
+ # numbers
394
+ (r'0b[01]+', Number.Bin),
395
+ (r'0o[0-7]+', Number.Oct),
396
+ (r'0x[\da-fA-F]+', Number.Hex),
397
+ (r'\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?', Number.Float),
398
+ (r'\d(_?\d)*', Number.Integer),
399
+
400
+ # strings and heredocs
401
+ (r'(""")(\s*)', bygroups(String.Heredoc, Whitespace),
402
+ 'heredoc_double'),
403
+ (r"(''')(\s*)$", bygroups(String.Heredoc, Whitespace),
404
+ 'heredoc_single'),
405
+ (r'"', String.Double, 'string_double'),
406
+ (r"'", String.Single, 'string_single'),
407
+
408
+ include('sigils'),
409
+
410
+ (r'%\{', Punctuation, 'map_key'),
411
+ (r'\{', Punctuation, 'tuple'),
412
+ ],
413
+ 'heredoc_double': [
414
+ (r'^(\s*)(""")', bygroups(Whitespace, String.Heredoc), '#pop'),
415
+ include('heredoc_interpol'),
416
+ ],
417
+ 'heredoc_single': [
418
+ (r"^\s*'''", String.Heredoc, '#pop'),
419
+ include('heredoc_interpol'),
420
+ ],
421
+ 'heredoc_interpol': [
422
+ (r'[^#\\\n]+', String.Heredoc),
423
+ include('escapes'),
424
+ (r'\\.', String.Heredoc),
425
+ (r'\n+', String.Heredoc),
426
+ include('interpol'),
427
+ ],
428
+ 'heredoc_no_interpol': [
429
+ (r'[^\\\n]+', String.Heredoc),
430
+ (r'\\.', String.Heredoc),
431
+ (r'\n+', Whitespace),
432
+ ],
433
+ 'escapes': [
434
+ (long_hex_char_re,
435
+ bygroups(String.Escape, Number.Hex, String.Escape)),
436
+ (hex_char_re, String.Escape),
437
+ (escape_char_re, String.Escape),
438
+ ],
439
+ 'interpol': [
440
+ (r'#\{', String.Interpol, 'interpol_string'),
441
+ ],
442
+ 'interpol_string': [
443
+ (r'\}', String.Interpol, "#pop"),
444
+ include('root')
445
+ ],
446
+ 'map_key': [
447
+ include('root'),
448
+ (r':', Punctuation, 'map_val'),
449
+ (r'=>', Punctuation, 'map_val'),
450
+ (r'\}', Punctuation, '#pop'),
451
+ ],
452
+ 'map_val': [
453
+ include('root'),
454
+ (r',', Punctuation, '#pop'),
455
+ (r'(?=\})', Punctuation, '#pop'),
456
+ ],
457
+ 'tuple': [
458
+ include('root'),
459
+ (r'\}', Punctuation, '#pop'),
460
+ ],
461
+ }
462
+ tokens.update(gen_elixir_string_rules('double', '"', String.Double))
463
+ tokens.update(gen_elixir_string_rules('single', "'", String.Single))
464
+ tokens.update(gen_elixir_string_rules('double_atom', '"', String.Symbol))
465
+ tokens.update(gen_elixir_string_rules('single_atom', "'", String.Symbol))
466
+ tokens.update(gen_elixir_sigil_rules())
467
+
468
+
469
+ class ElixirConsoleLexer(Lexer):
470
+ """
471
+ For Elixir interactive console (iex) output like:
472
+
473
+ .. sourcecode:: iex
474
+
475
+ iex> [head | tail] = [1,2,3]
476
+ [1,2,3]
477
+ iex> head
478
+ 1
479
+ iex> tail
480
+ [2,3]
481
+ iex> [head | tail]
482
+ [1,2,3]
483
+ iex> length [head | tail]
484
+ 3
485
+ """
486
+
487
+ name = 'Elixir iex session'
488
+ aliases = ['iex']
489
+ mimetypes = ['text/x-elixir-shellsession']
490
+ url = 'https://elixir-lang.org'
491
+ version_added = '1.5'
492
+
493
+ _prompt_re = re.compile(r'(iex|\.{3})((?:\([\w@_.]+\))?\d+|\(\d+\))?> ')
494
+
495
+ def get_tokens_unprocessed(self, text):
496
+ exlexer = ElixirLexer(**self.options)
497
+
498
+ curcode = ''
499
+ in_error = False
500
+ insertions = []
501
+ for match in line_re.finditer(text):
502
+ line = match.group()
503
+ if line.startswith('** '):
504
+ in_error = True
505
+ insertions.append((len(curcode),
506
+ [(0, Generic.Error, line[:-1])]))
507
+ curcode += line[-1:]
508
+ else:
509
+ m = self._prompt_re.match(line)
510
+ if m is not None:
511
+ in_error = False
512
+ end = m.end()
513
+ insertions.append((len(curcode),
514
+ [(0, Generic.Prompt, line[:end])]))
515
+ curcode += line[end:]
516
+ else:
517
+ if curcode:
518
+ yield from do_insertions(
519
+ insertions, exlexer.get_tokens_unprocessed(curcode))
520
+ curcode = ''
521
+ insertions = []
522
+ token = Generic.Error if in_error else Generic.Output
523
+ yield match.start(), token, line
524
+ if curcode:
525
+ yield from do_insertions(
526
+ insertions, exlexer.get_tokens_unprocessed(curcode))
temp_venv/lib/python3.13/site-packages/pygments/lexers/graphql.py ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.graphql
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for GraphQL, an open-source data query and manipulation
6
+ language for APIs.
7
+
8
+ More information:
9
+ https://graphql.org/
10
+
11
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
12
+ :license: BSD, see LICENSE for details.
13
+ """
14
+
15
+ from pygments.lexer import RegexLexer, words, include, bygroups, default
16
+ from pygments.token import (Comment, Keyword, Name, Number, Punctuation, String,
17
+ Whitespace)
18
+
19
+
20
+ __all__ = ["GraphQLLexer"]
21
+
22
+ OPERATION_TYPES = ("query", "mutation", "subscription")
23
+ BUILTIN_TYPES = ("Int", "Float", "String", "Boolean", "ID")
24
+ BOOLEAN_VALUES = ("true", "false", "null")
25
+ KEYWORDS = (
26
+ "type",
27
+ "schema",
28
+ "extend",
29
+ "enum",
30
+ "scalar",
31
+ "implements",
32
+ "interface",
33
+ "union",
34
+ "input",
35
+ "directive",
36
+ "QUERY",
37
+ "MUTATION",
38
+ "SUBSCRIPTION",
39
+ "FIELD",
40
+ "FRAGMENT_DEFINITION",
41
+ "FRAGMENT_SPREAD",
42
+ "INLINE_FRAGMENT",
43
+ "SCHEMA",
44
+ "SCALAR",
45
+ "OBJECT",
46
+ "FIELD_DEFINITION",
47
+ "ARGUMENT_DEFINITION",
48
+ "INTERFACE",
49
+ "UNION",
50
+ "ENUM",
51
+ "ENUM_VALUE",
52
+ "INPUT_OBJECT",
53
+ "INPUT_FIELD_DEFINITION",
54
+ )
55
+
56
+
57
+ class GraphQLLexer(RegexLexer):
58
+ """
59
+ Lexer for GraphQL syntax
60
+ """
61
+ name = "GraphQL"
62
+ aliases = ["graphql"]
63
+ filenames = ["*.graphql"]
64
+ url = "https://graphql.org"
65
+ version_added = '2.16'
66
+
67
+ tokens = {
68
+ "ignored_tokens": [
69
+ (r"\s+", Whitespace), # Whitespaces
70
+ (r"#.*$", Comment),
71
+ (",", Punctuation), # Insignificant commas
72
+ ],
73
+ "value": [
74
+ include("ignored_tokens"),
75
+ (r"-?\d+(?![.eE])", Number.Integer, "#pop"),
76
+ (
77
+ r"-?\d+(\.\d+)?([eE][+-]?\d+)?",
78
+ Number.Float,
79
+ "#pop",
80
+ ),
81
+ (r'"', String, ("#pop", "string")),
82
+ (words(BOOLEAN_VALUES, suffix=r"\b"), Name.Builtin, "#pop"),
83
+ (r"\$[a-zA-Z_]\w*", Name.Variable, "#pop"),
84
+ (r"[a-zA-Z_]\w*", Name.Constant, "#pop"),
85
+ (r"\[", Punctuation, ("#pop", "list_value")),
86
+ (r"\{", Punctuation, ("#pop", "object_value")),
87
+ ],
88
+ "list_value": [
89
+ include("ignored_tokens"),
90
+ ("]", Punctuation, "#pop"),
91
+ default("value"),
92
+ ],
93
+ "object_value": [
94
+ include("ignored_tokens"),
95
+ (r"[a-zA-Z_]\w*", Name),
96
+ (r":", Punctuation, "value"),
97
+ (r"\}", Punctuation, "#pop"),
98
+ ],
99
+ "string": [
100
+ (r'\\(["\\/bfnrt]|u[a-fA-F0-9]{4})', String.Escape),
101
+ (r'[^\\"\n]+', String), # all other characters
102
+ (r'"', String, "#pop"),
103
+ ],
104
+ "root": [
105
+ include("ignored_tokens"),
106
+ (words(OPERATION_TYPES, suffix=r"\b"), Keyword, "operation"),
107
+ (words(KEYWORDS, suffix=r"\b"), Keyword),
108
+ (r"\{", Punctuation, "selection_set"),
109
+ (r"fragment\b", Keyword, "fragment_definition"),
110
+ ],
111
+ "operation": [
112
+ include("ignored_tokens"),
113
+ (r"[a-zA-Z_]\w*", Name.Function),
114
+ (r"\(", Punctuation, "variable_definition"),
115
+ (r"\{", Punctuation, ("#pop", "selection_set")),
116
+ ],
117
+ "variable_definition": [
118
+ include("ignored_tokens"),
119
+ (r"\$[a-zA-Z_]\w*", Name.Variable),
120
+ (r"[\]!]", Punctuation),
121
+ (r":", Punctuation, "type"),
122
+ (r"=", Punctuation, "value"),
123
+ (r"\)", Punctuation, "#pop"),
124
+ ],
125
+ "type": [
126
+ include("ignored_tokens"),
127
+ (r"\[", Punctuation),
128
+ (words(BUILTIN_TYPES, suffix=r"\b"), Name.Builtin, "#pop"),
129
+ (r"[a-zA-Z_]\w*", Name.Class, "#pop"),
130
+ ],
131
+ "selection_set": [
132
+ include("ignored_tokens"),
133
+ (r"([a-zA-Z_]\w*)(\s*)(:)", bygroups(Name.Label, Whitespace, Punctuation)),
134
+ (r"[a-zA-Z_]\w*", Name), # Field
135
+ (
136
+ r"(\.\.\.)(\s+)(on)\b",
137
+ bygroups(Punctuation, Whitespace, Keyword),
138
+ "inline_fragment",
139
+ ),
140
+ (r"\.\.\.", Punctuation, "fragment_spread"),
141
+ (r"\(", Punctuation, "arguments"),
142
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
143
+ (r"\{", Punctuation, "selection_set"),
144
+ (r"\}", Punctuation, "#pop"),
145
+ ],
146
+ "directive": [
147
+ include("ignored_tokens"),
148
+ (r"\(", Punctuation, ("#pop", "arguments")),
149
+ ],
150
+ "arguments": [
151
+ include("ignored_tokens"),
152
+ (r"[a-zA-Z_]\w*", Name),
153
+ (r":", Punctuation, "value"),
154
+ (r"\)", Punctuation, "#pop"),
155
+ ],
156
+ # Fragments
157
+ "fragment_definition": [
158
+ include("ignored_tokens"),
159
+ (r"[\]!]", Punctuation), # For NamedType
160
+ (r"on\b", Keyword, "type"),
161
+ (r"[a-zA-Z_]\w*", Name.Function),
162
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
163
+ (r"\{", Punctuation, ("#pop", "selection_set")),
164
+ ],
165
+ "fragment_spread": [
166
+ include("ignored_tokens"),
167
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
168
+ (r"[a-zA-Z_]\w*", Name, "#pop"), # Fragment name
169
+ ],
170
+ "inline_fragment": [
171
+ include("ignored_tokens"),
172
+ (r"[a-zA-Z_]\w*", Name.Class), # Type condition
173
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
174
+ (r"\{", Punctuation, ("#pop", "selection_set")),
175
+ ],
176
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/graphviz.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.graphviz
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the DOT language (graphviz).
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, bygroups
12
+ from pygments.token import Comment, Keyword, Operator, Name, String, Number, \
13
+ Punctuation, Whitespace
14
+
15
+
16
+ __all__ = ['GraphvizLexer']
17
+
18
+
19
+ class GraphvizLexer(RegexLexer):
20
+ """
21
+ For graphviz DOT graph description language.
22
+ """
23
+ name = 'Graphviz'
24
+ url = 'https://www.graphviz.org/doc/info/lang.html'
25
+ aliases = ['graphviz', 'dot']
26
+ filenames = ['*.gv', '*.dot']
27
+ mimetypes = ['text/x-graphviz', 'text/vnd.graphviz']
28
+ version_added = '2.8'
29
+ tokens = {
30
+ 'root': [
31
+ (r'\s+', Whitespace),
32
+ (r'(#|//).*?$', Comment.Single),
33
+ (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
34
+ (r'(?i)(node|edge|graph|digraph|subgraph|strict)\b', Keyword),
35
+ (r'--|->', Operator),
36
+ (r'[{}[\]:;,]', Punctuation),
37
+ (r'(\b\D\w*)(\s*)(=)(\s*)',
38
+ bygroups(Name.Attribute, Whitespace, Punctuation, Whitespace),
39
+ 'attr_id'),
40
+ (r'\b(n|ne|e|se|s|sw|w|nw|c|_)\b', Name.Builtin),
41
+ (r'\b\D\w*', Name.Tag), # node
42
+ (r'[-]?((\.[0-9]+)|([0-9]+(\.[0-9]*)?))', Number),
43
+ (r'"(\\"|[^"])*?"', Name.Tag), # quoted node
44
+ (r'<', Punctuation, 'xml'),
45
+ ],
46
+ 'attr_id': [
47
+ (r'\b\D\w*', String, '#pop'),
48
+ (r'[-]?((\.[0-9]+)|([0-9]+(\.[0-9]*)?))', Number, '#pop'),
49
+ (r'"(\\"|[^"])*?"', String.Double, '#pop'),
50
+ (r'<', Punctuation, ('#pop', 'xml')),
51
+ ],
52
+ 'xml': [
53
+ (r'<', Punctuation, '#push'),
54
+ (r'>', Punctuation, '#pop'),
55
+ (r'\s+', Whitespace),
56
+ (r'[^<>\s]', Name.Tag),
57
+ ]
58
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/hare.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.hare
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Hare language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, include, words
12
+ from pygments.token import Comment, Operator, Keyword, Name, String, \
13
+ Number, Punctuation, Whitespace
14
+
15
+ __all__ = ['HareLexer']
16
+
17
+ class HareLexer(RegexLexer):
18
+ """
19
+ Lexer for the Hare programming language.
20
+ """
21
+ name = 'Hare'
22
+ url = 'https://harelang.org/'
23
+ aliases = ['hare']
24
+ filenames = ['*.ha']
25
+ mimetypes = ['text/x-hare']
26
+ version_added = '2.19'
27
+
28
+ _ws = r'(?:\s|//.*?\n|/[*].*?[*]/)+'
29
+ _ws1 = r'\s*(?:/[*].*?[*]/\s*)?'
30
+
31
+ tokens = {
32
+ 'whitespace': [
33
+ (r'^use.*;', Comment.Preproc),
34
+ (r'@[a-z]+', Comment.Preproc),
35
+ (r'\n', Whitespace),
36
+ (r'\s+', Whitespace),
37
+ (r'//.*?$', Comment.Single),
38
+ ],
39
+ 'statements': [
40
+ (r'"', String, 'string'),
41
+ (r'`[^`]*`', String),
42
+ (r"'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
43
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
44
+ (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
45
+ (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
46
+ (r'0o[0-7]+[LlUu]*', Number.Oct),
47
+ (r'\d+[zui]?(\d+)?', Number.Integer),
48
+ (r'[~!%^&*+=|?:<>/-]', Operator),
49
+ (words(('as', 'is', '=>', '..', '...')), Operator),
50
+ (r'[()\[\],.{};]+', Punctuation),
51
+ (words(('abort', 'align', 'alloc', 'append', 'assert', 'case',
52
+ 'const', 'def', 'defer', 'delete', 'else', 'enum', 'export',
53
+ 'fn', 'for', 'free', 'if', 'let', 'len', 'match', 'offset',
54
+ 'return', 'static', 'struct', 'switch', 'type', 'union',
55
+ 'yield', 'vastart', 'vaarg', 'vaend'),
56
+ suffix=r'\b'), Keyword),
57
+ (r'(bool|int|uint|uintptr|u8|u16|u32|u64|i8|i16|i32|i64|f32|f64|null|done|never|void|nullable|rune|size|valist)\b',
58
+ Keyword.Type),
59
+ (r'(true|false|null)\b', Name.Builtin),
60
+ (r'[a-zA-Z_]\w*', Name),
61
+ ],
62
+ 'string': [
63
+ (r'"', String, '#pop'),
64
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|'
65
+ r'u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})', String.Escape),
66
+ (r'[^\\"\n]+', String), # all other characters
67
+ (r'\\', String), # stray backslash
68
+ ],
69
+ 'root': [
70
+ include('whitespace'),
71
+ include('statements'),
72
+ ],
73
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/idl.py ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.idl
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for IDL.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, words, bygroups
14
+ from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
15
+ String, Whitespace
16
+
17
+ __all__ = ['IDLLexer']
18
+
19
+
20
+ class IDLLexer(RegexLexer):
21
+ """
22
+ Pygments Lexer for IDL (Interactive Data Language).
23
+ """
24
+ name = 'IDL'
25
+ url = 'https://www.l3harrisgeospatial.com/Software-Technology/IDL'
26
+ aliases = ['idl']
27
+ filenames = ['*.pro']
28
+ mimetypes = ['text/idl']
29
+ version_added = '1.6'
30
+
31
+ flags = re.IGNORECASE | re.MULTILINE
32
+
33
+ _RESERVED = (
34
+ 'and', 'begin', 'break', 'case', 'common', 'compile_opt',
35
+ 'continue', 'do', 'else', 'end', 'endcase', 'endelse',
36
+ 'endfor', 'endforeach', 'endif', 'endrep', 'endswitch',
37
+ 'endwhile', 'eq', 'for', 'foreach', 'forward_function',
38
+ 'function', 'ge', 'goto', 'gt', 'if', 'inherits', 'le',
39
+ 'lt', 'mod', 'ne', 'not', 'of', 'on_ioerror', 'or', 'pro',
40
+ 'repeat', 'switch', 'then', 'until', 'while', 'xor')
41
+ """Reserved words from: http://www.exelisvis.com/docs/reswords.html"""
42
+
43
+ _BUILTIN_LIB = (
44
+ 'abs', 'acos', 'adapt_hist_equal', 'alog', 'alog10',
45
+ 'amoeba', 'annotate', 'app_user_dir', 'app_user_dir_query',
46
+ 'arg_present', 'array_equal', 'array_indices', 'arrow',
47
+ 'ascii_template', 'asin', 'assoc', 'atan', 'axis',
48
+ 'a_correlate', 'bandpass_filter', 'bandreject_filter',
49
+ 'barplot', 'bar_plot', 'beseli', 'beselj', 'beselk',
50
+ 'besely', 'beta', 'bilinear', 'binary_template', 'bindgen',
51
+ 'binomial', 'bin_date', 'bit_ffs', 'bit_population',
52
+ 'blas_axpy', 'blk_con', 'box_cursor', 'breakpoint',
53
+ 'broyden', 'butterworth', 'bytarr', 'byte', 'byteorder',
54
+ 'bytscl', 'caldat', 'calendar', 'call_external',
55
+ 'call_function', 'call_method', 'call_procedure', 'canny',
56
+ 'catch', 'cd', r'cdf_\w*', 'ceil', 'chebyshev',
57
+ 'check_math',
58
+ 'chisqr_cvf', 'chisqr_pdf', 'choldc', 'cholsol', 'cindgen',
59
+ 'cir_3pnt', 'close', 'cluster', 'cluster_tree', 'clust_wts',
60
+ 'cmyk_convert', 'colorbar', 'colorize_sample',
61
+ 'colormap_applicable', 'colormap_gradient',
62
+ 'colormap_rotation', 'colortable', 'color_convert',
63
+ 'color_exchange', 'color_quan', 'color_range_map', 'comfit',
64
+ 'command_line_args', 'complex', 'complexarr', 'complexround',
65
+ 'compute_mesh_normals', 'cond', 'congrid', 'conj',
66
+ 'constrained_min', 'contour', 'convert_coord', 'convol',
67
+ 'convol_fft', 'coord2to3', 'copy_lun', 'correlate', 'cos',
68
+ 'cosh', 'cpu', 'cramer', 'create_cursor', 'create_struct',
69
+ 'create_view', 'crossp', 'crvlength', 'cti_test',
70
+ 'ct_luminance', 'cursor', 'curvefit', 'cvttobm', 'cv_coord',
71
+ 'cw_animate', 'cw_animate_getp', 'cw_animate_load',
72
+ 'cw_animate_run', 'cw_arcball', 'cw_bgroup', 'cw_clr_index',
73
+ 'cw_colorsel', 'cw_defroi', 'cw_field', 'cw_filesel',
74
+ 'cw_form', 'cw_fslider', 'cw_light_editor',
75
+ 'cw_light_editor_get', 'cw_light_editor_set', 'cw_orient',
76
+ 'cw_palette_editor', 'cw_palette_editor_get',
77
+ 'cw_palette_editor_set', 'cw_pdmenu', 'cw_rgbslider',
78
+ 'cw_tmpl', 'cw_zoom', 'c_correlate', 'dblarr', 'db_exists',
79
+ 'dcindgen', 'dcomplex', 'dcomplexarr', 'define_key',
80
+ 'define_msgblk', 'define_msgblk_from_file', 'defroi',
81
+ 'defsysv', 'delvar', 'dendrogram', 'dendro_plot', 'deriv',
82
+ 'derivsig', 'determ', 'device', 'dfpmin', 'diag_matrix',
83
+ 'dialog_dbconnect', 'dialog_message', 'dialog_pickfile',
84
+ 'dialog_printersetup', 'dialog_printjob',
85
+ 'dialog_read_image', 'dialog_write_image', 'digital_filter',
86
+ 'dilate', 'dindgen', 'dissolve', 'dist', 'distance_measure',
87
+ 'dlm_load', 'dlm_register', 'doc_library', 'double',
88
+ 'draw_roi', 'edge_dog', 'efont', 'eigenql', 'eigenvec',
89
+ 'ellipse', 'elmhes', 'emboss', 'empty', 'enable_sysrtn',
90
+ 'eof', r'eos_\w*', 'erase', 'erf', 'erfc', 'erfcx',
91
+ 'erode', 'errorplot', 'errplot', 'estimator_filter',
92
+ 'execute', 'exit', 'exp', 'expand', 'expand_path', 'expint',
93
+ 'extrac', 'extract_slice', 'factorial', 'fft', 'filepath',
94
+ 'file_basename', 'file_chmod', 'file_copy', 'file_delete',
95
+ 'file_dirname', 'file_expand_path', 'file_info',
96
+ 'file_lines', 'file_link', 'file_mkdir', 'file_move',
97
+ 'file_poll_input', 'file_readlink', 'file_same',
98
+ 'file_search', 'file_test', 'file_which', 'findgen',
99
+ 'finite', 'fix', 'flick', 'float', 'floor', 'flow3',
100
+ 'fltarr', 'flush', 'format_axis_values', 'free_lun',
101
+ 'fstat', 'fulstr', 'funct', 'fv_test', 'fx_root',
102
+ 'fz_roots', 'f_cvf', 'f_pdf', 'gamma', 'gamma_ct',
103
+ 'gauss2dfit', 'gaussfit', 'gaussian_function', 'gaussint',
104
+ 'gauss_cvf', 'gauss_pdf', 'gauss_smooth', 'getenv',
105
+ 'getwindows', 'get_drive_list', 'get_dxf_objects',
106
+ 'get_kbrd', 'get_login_info', 'get_lun', 'get_screen_size',
107
+ 'greg2jul', r'grib_\w*', 'grid3', 'griddata',
108
+ 'grid_input', 'grid_tps', 'gs_iter',
109
+ r'h5[adfgirst]_\w*', 'h5_browser', 'h5_close',
110
+ 'h5_create', 'h5_get_libversion', 'h5_open', 'h5_parse',
111
+ 'hanning', 'hash', r'hdf_\w*', 'heap_free',
112
+ 'heap_gc', 'heap_nosave', 'heap_refcount', 'heap_save',
113
+ 'help', 'hilbert', 'histogram', 'hist_2d', 'hist_equal',
114
+ 'hls', 'hough', 'hqr', 'hsv', 'h_eq_ct', 'h_eq_int',
115
+ 'i18n_multibytetoutf8', 'i18n_multibytetowidechar',
116
+ 'i18n_utf8tomultibyte', 'i18n_widechartomultibyte',
117
+ 'ibeta', 'icontour', 'iconvertcoord', 'idelete', 'identity',
118
+ 'idlexbr_assistant', 'idlitsys_createtool', 'idl_base64',
119
+ 'idl_validname', 'iellipse', 'igamma', 'igetcurrent',
120
+ 'igetdata', 'igetid', 'igetproperty', 'iimage', 'image',
121
+ 'image_cont', 'image_statistics', 'imaginary', 'imap',
122
+ 'indgen', 'intarr', 'interpol', 'interpolate',
123
+ 'interval_volume', 'int_2d', 'int_3d', 'int_tabulated',
124
+ 'invert', 'ioctl', 'iopen', 'iplot', 'ipolygon',
125
+ 'ipolyline', 'iputdata', 'iregister', 'ireset', 'iresolve',
126
+ 'irotate', 'ir_filter', 'isa', 'isave', 'iscale',
127
+ 'isetcurrent', 'isetproperty', 'ishft', 'isocontour',
128
+ 'isosurface', 'isurface', 'itext', 'itranslate', 'ivector',
129
+ 'ivolume', 'izoom', 'i_beta', 'journal', 'json_parse',
130
+ 'json_serialize', 'jul2greg', 'julday', 'keyword_set',
131
+ 'krig2d', 'kurtosis', 'kw_test', 'l64indgen', 'label_date',
132
+ 'label_region', 'ladfit', 'laguerre', 'laplacian',
133
+ 'la_choldc', 'la_cholmprove', 'la_cholsol', 'la_determ',
134
+ 'la_eigenproblem', 'la_eigenql', 'la_eigenvec', 'la_elmhes',
135
+ 'la_gm_linear_model', 'la_hqr', 'la_invert',
136
+ 'la_least_squares', 'la_least_square_equality',
137
+ 'la_linear_equation', 'la_ludc', 'la_lumprove', 'la_lusol',
138
+ 'la_svd', 'la_tridc', 'la_trimprove', 'la_triql',
139
+ 'la_trired', 'la_trisol', 'least_squares_filter', 'leefilt',
140
+ 'legend', 'legendre', 'linbcg', 'lindgen', 'linfit',
141
+ 'linkimage', 'list', 'll_arc_distance', 'lmfit', 'lmgr',
142
+ 'lngamma', 'lnp_test', 'loadct', 'locale_get',
143
+ 'logical_and', 'logical_or', 'logical_true', 'lon64arr',
144
+ 'lonarr', 'long', 'long64', 'lsode', 'ludc', 'lumprove',
145
+ 'lusol', 'lu_complex', 'machar', 'make_array', 'make_dll',
146
+ 'make_rt', 'map', 'mapcontinents', 'mapgrid', 'map_2points',
147
+ 'map_continents', 'map_grid', 'map_image', 'map_patch',
148
+ 'map_proj_forward', 'map_proj_image', 'map_proj_info',
149
+ 'map_proj_init', 'map_proj_inverse', 'map_set',
150
+ 'matrix_multiply', 'matrix_power', 'max', 'md_test',
151
+ 'mean', 'meanabsdev', 'mean_filter', 'median', 'memory',
152
+ 'mesh_clip', 'mesh_decimate', 'mesh_issolid', 'mesh_merge',
153
+ 'mesh_numtriangles', 'mesh_obj', 'mesh_smooth',
154
+ 'mesh_surfacearea', 'mesh_validate', 'mesh_volume',
155
+ 'message', 'min', 'min_curve_surf', 'mk_html_help',
156
+ 'modifyct', 'moment', 'morph_close', 'morph_distance',
157
+ 'morph_gradient', 'morph_hitormiss', 'morph_open',
158
+ 'morph_thin', 'morph_tophat', 'multi', 'm_correlate',
159
+ r'ncdf_\w*', 'newton', 'noise_hurl', 'noise_pick',
160
+ 'noise_scatter', 'noise_slur', 'norm', 'n_elements',
161
+ 'n_params', 'n_tags', 'objarr', 'obj_class', 'obj_destroy',
162
+ 'obj_hasmethod', 'obj_isa', 'obj_new', 'obj_valid',
163
+ 'online_help', 'on_error', 'open', 'oplot', 'oploterr',
164
+ 'parse_url', 'particle_trace', 'path_cache', 'path_sep',
165
+ 'pcomp', 'plot', 'plot3d', 'ploterr', 'plots', 'plot_3dbox',
166
+ 'plot_field', 'pnt_line', 'point_lun', 'polarplot',
167
+ 'polar_contour', 'polar_surface', 'poly', 'polyfill',
168
+ 'polyfillv', 'polygon', 'polyline', 'polyshade', 'polywarp',
169
+ 'poly_2d', 'poly_area', 'poly_fit', 'popd', 'powell',
170
+ 'pref_commit', 'pref_get', 'pref_set', 'prewitt', 'primes',
171
+ 'print', 'printd', 'product', 'profile', 'profiler',
172
+ 'profiles', 'project_vol', 'psafm', 'pseudo',
173
+ 'ps_show_fonts', 'ptrarr', 'ptr_free', 'ptr_new',
174
+ 'ptr_valid', 'pushd', 'p_correlate', 'qgrid3', 'qhull',
175
+ 'qromb', 'qromo', 'qsimp', 'query_ascii', 'query_bmp',
176
+ 'query_csv', 'query_dicom', 'query_gif', 'query_image',
177
+ 'query_jpeg', 'query_jpeg2000', 'query_mrsid', 'query_pict',
178
+ 'query_png', 'query_ppm', 'query_srf', 'query_tiff',
179
+ 'query_wav', 'radon', 'randomn', 'randomu', 'ranks',
180
+ 'rdpix', 'read', 'reads', 'readu', 'read_ascii',
181
+ 'read_binary', 'read_bmp', 'read_csv', 'read_dicom',
182
+ 'read_gif', 'read_image', 'read_interfile', 'read_jpeg',
183
+ 'read_jpeg2000', 'read_mrsid', 'read_pict', 'read_png',
184
+ 'read_ppm', 'read_spr', 'read_srf', 'read_sylk',
185
+ 'read_tiff', 'read_wav', 'read_wave', 'read_x11_bitmap',
186
+ 'read_xwd', 'real_part', 'rebin', 'recall_commands',
187
+ 'recon3', 'reduce_colors', 'reform', 'region_grow',
188
+ 'register_cursor', 'regress', 'replicate',
189
+ 'replicate_inplace', 'resolve_all', 'resolve_routine',
190
+ 'restore', 'retall', 'return', 'reverse', 'rk4', 'roberts',
191
+ 'rot', 'rotate', 'round', 'routine_filepath',
192
+ 'routine_info', 'rs_test', 'r_correlate', 'r_test',
193
+ 'save', 'savgol', 'scale3', 'scale3d', 'scope_level',
194
+ 'scope_traceback', 'scope_varfetch', 'scope_varname',
195
+ 'search2d', 'search3d', 'sem_create', 'sem_delete',
196
+ 'sem_lock', 'sem_release', 'setenv', 'set_plot',
197
+ 'set_shading', 'sfit', 'shade_surf', 'shade_surf_irr',
198
+ 'shade_volume', 'shift', 'shift_diff', 'shmdebug', 'shmmap',
199
+ 'shmunmap', 'shmvar', 'show3', 'showfont', 'simplex', 'sin',
200
+ 'sindgen', 'sinh', 'size', 'skewness', 'skip_lun',
201
+ 'slicer3', 'slide_image', 'smooth', 'sobel', 'socket',
202
+ 'sort', 'spawn', 'spher_harm', 'sph_4pnt', 'sph_scat',
203
+ 'spline', 'spline_p', 'spl_init', 'spl_interp', 'sprsab',
204
+ 'sprsax', 'sprsin', 'sprstp', 'sqrt', 'standardize',
205
+ 'stddev', 'stop', 'strarr', 'strcmp', 'strcompress',
206
+ 'streamline', 'stregex', 'stretch', 'string', 'strjoin',
207
+ 'strlen', 'strlowcase', 'strmatch', 'strmessage', 'strmid',
208
+ 'strpos', 'strput', 'strsplit', 'strtrim', 'struct_assign',
209
+ 'struct_hide', 'strupcase', 'surface', 'surfr', 'svdc',
210
+ 'svdfit', 'svsol', 'swap_endian', 'swap_endian_inplace',
211
+ 'symbol', 'systime', 's_test', 't3d', 'tag_names', 'tan',
212
+ 'tanh', 'tek_color', 'temporary', 'tetra_clip',
213
+ 'tetra_surface', 'tetra_volume', 'text', 'thin', 'threed',
214
+ 'timegen', 'time_test2', 'tm_test', 'total', 'trace',
215
+ 'transpose', 'triangulate', 'trigrid', 'triql', 'trired',
216
+ 'trisol', 'tri_surf', 'truncate_lun', 'ts_coef', 'ts_diff',
217
+ 'ts_fcast', 'ts_smooth', 'tv', 'tvcrs', 'tvlct', 'tvrd',
218
+ 'tvscl', 'typename', 't_cvt', 't_pdf', 'uindgen', 'uint',
219
+ 'uintarr', 'ul64indgen', 'ulindgen', 'ulon64arr', 'ulonarr',
220
+ 'ulong', 'ulong64', 'uniq', 'unsharp_mask', 'usersym',
221
+ 'value_locate', 'variance', 'vector', 'vector_field', 'vel',
222
+ 'velovect', 'vert_t3d', 'voigt', 'voronoi', 'voxel_proj',
223
+ 'wait', 'warp_tri', 'watershed', 'wdelete', 'wf_draw',
224
+ 'where', 'widget_base', 'widget_button', 'widget_combobox',
225
+ 'widget_control', 'widget_displaycontextmen', 'widget_draw',
226
+ 'widget_droplist', 'widget_event', 'widget_info',
227
+ 'widget_label', 'widget_list', 'widget_propertysheet',
228
+ 'widget_slider', 'widget_tab', 'widget_table',
229
+ 'widget_text', 'widget_tree', 'widget_tree_move',
230
+ 'widget_window', 'wiener_filter', 'window', 'writeu',
231
+ 'write_bmp', 'write_csv', 'write_gif', 'write_image',
232
+ 'write_jpeg', 'write_jpeg2000', 'write_nrif', 'write_pict',
233
+ 'write_png', 'write_ppm', 'write_spr', 'write_srf',
234
+ 'write_sylk', 'write_tiff', 'write_wav', 'write_wave',
235
+ 'wset', 'wshow', 'wtn', 'wv_applet', 'wv_cwt',
236
+ 'wv_cw_wavelet', 'wv_denoise', 'wv_dwt', 'wv_fn_coiflet',
237
+ 'wv_fn_daubechies', 'wv_fn_gaussian', 'wv_fn_haar',
238
+ 'wv_fn_morlet', 'wv_fn_paul', 'wv_fn_symlet',
239
+ 'wv_import_data', 'wv_import_wavelet', 'wv_plot3d_wps',
240
+ 'wv_plot_multires', 'wv_pwt', 'wv_tool_denoise',
241
+ 'xbm_edit', 'xdisplayfile', 'xdxf', 'xfont',
242
+ 'xinteranimate', 'xloadct', 'xmanager', 'xmng_tmpl',
243
+ 'xmtool', 'xobjview', 'xobjview_rotate',
244
+ 'xobjview_write_image', 'xpalette', 'xpcolor', 'xplot3d',
245
+ 'xregistered', 'xroi', 'xsq_test', 'xsurface', 'xvaredit',
246
+ 'xvolume', 'xvolume_rotate', 'xvolume_write_image',
247
+ 'xyouts', 'zoom', 'zoom_24')
248
+ """Functions from: http://www.exelisvis.com/docs/routines-1.html"""
249
+
250
+ tokens = {
251
+ 'root': [
252
+ (r'(^\s*)(;.*?)(\n)', bygroups(Whitespace, Comment.Single,
253
+ Whitespace)),
254
+ (words(_RESERVED, prefix=r'\b', suffix=r'\b'), Keyword),
255
+ (words(_BUILTIN_LIB, prefix=r'\b', suffix=r'\b'), Name.Builtin),
256
+ (r'\+=|-=|\^=|\*=|/=|#=|##=|<=|>=|=', Operator),
257
+ (r'\+\+|--|->|\+|-|##|#|\*|/|<|>|&&|\^|~|\|\|\?|:', Operator),
258
+ (r'\b(mod=|lt=|le=|eq=|ne=|ge=|gt=|not=|and=|or=|xor=)', Operator),
259
+ (r'\b(mod|lt|le|eq|ne|ge|gt|not|and|or|xor)\b', Operator),
260
+ (r'"[^\"]*"', String.Double),
261
+ (r"'[^\']*'", String.Single),
262
+ (r'\b[+\-]?([0-9]*\.[0-9]+|[0-9]+\.[0-9]*)(D|E)?([+\-]?[0-9]+)?\b',
263
+ Number.Float),
264
+ (r'\b\'[+\-]?[0-9A-F]+\'X(U?(S?|L{1,2})|B)\b', Number.Hex),
265
+ (r'\b\'[+\-]?[0-7]+\'O(U?(S?|L{1,2})|B)\b', Number.Oct),
266
+ (r'\b[+\-]?[0-9]+U?L{1,2}\b', Number.Integer.Long),
267
+ (r'\b[+\-]?[0-9]+U?S?\b', Number.Integer),
268
+ (r'\b[+\-]?[0-9]+B\b', Number),
269
+ (r'[ \t]+', Whitespace),
270
+ (r'\n', Whitespace),
271
+ (r'.', Text),
272
+ ]
273
+ }
274
+
275
+ def analyse_text(text):
276
+ """endelse seems to be unique to IDL, endswitch is rare at least."""
277
+ result = 0
278
+
279
+ if 'endelse' in text:
280
+ result += 0.2
281
+ if 'endswitch' in text:
282
+ result += 0.01
283
+
284
+ return result
temp_venv/lib/python3.13/site-packages/pygments/lexers/inferno.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.inferno
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Inferno os and all the related stuff.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, bygroups, default
14
+ from pygments.token import Punctuation, Comment, Operator, Keyword, \
15
+ Name, String, Number, Whitespace
16
+
17
+ __all__ = ['LimboLexer']
18
+
19
+
20
+ class LimboLexer(RegexLexer):
21
+ """
22
+ Lexer for Limbo programming language
23
+
24
+ TODO:
25
+ - maybe implement better var declaration highlighting
26
+ - some simple syntax error highlighting
27
+ """
28
+ name = 'Limbo'
29
+ url = 'http://www.vitanuova.com/inferno/limbo.html'
30
+ aliases = ['limbo']
31
+ filenames = ['*.b']
32
+ mimetypes = ['text/limbo']
33
+ version_added = '2.0'
34
+
35
+ tokens = {
36
+ 'whitespace': [
37
+ (r'^(\s*)([a-zA-Z_]\w*:)(\s*\n)',
38
+ bygroups(Whitespace, Name.Label, Whitespace)),
39
+ (r'\n', Whitespace),
40
+ (r'\s+', Whitespace),
41
+ (r'#(\n|(.|\n)*?[^\\]\n)', Comment.Single),
42
+ ],
43
+ 'string': [
44
+ (r'"', String, '#pop'),
45
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|'
46
+ r'u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})', String.Escape),
47
+ (r'[^\\"\n]+', String), # all other characters
48
+ (r'\\', String), # stray backslash
49
+ ],
50
+ 'statements': [
51
+ (r'"', String, 'string'),
52
+ (r"'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
53
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+', Number.Float),
54
+ (r'(\d+\.\d*|\.\d+|\d+[fF])', Number.Float),
55
+ (r'16r[0-9a-fA-F]+', Number.Hex),
56
+ (r'8r[0-7]+', Number.Oct),
57
+ (r'((([1-3]\d)|([2-9]))r)?(\d+)', Number.Integer),
58
+ (r'[()\[\],.]', Punctuation),
59
+ (r'[~!%^&*+=|?:<>/-]|(->)|(<-)|(=>)|(::)', Operator),
60
+ (r'(alt|break|case|continue|cyclic|do|else|exit'
61
+ r'for|hd|if|implement|import|include|len|load|or'
62
+ r'pick|return|spawn|tagof|tl|to|while)\b', Keyword),
63
+ (r'(byte|int|big|real|string|array|chan|list|adt'
64
+ r'|fn|ref|of|module|self|type)\b', Keyword.Type),
65
+ (r'(con|iota|nil)\b', Keyword.Constant),
66
+ (r'[a-zA-Z_]\w*', Name),
67
+ ],
68
+ 'statement' : [
69
+ include('whitespace'),
70
+ include('statements'),
71
+ ('[{}]', Punctuation),
72
+ (';', Punctuation, '#pop'),
73
+ ],
74
+ 'root': [
75
+ include('whitespace'),
76
+ default('statement'),
77
+ ],
78
+ }
79
+
80
+ def analyse_text(text):
81
+ # Any limbo module implements something
82
+ if re.search(r'^implement \w+;', text, re.MULTILINE):
83
+ return 0.7
84
+
85
+ # TODO:
86
+ # - Make lexers for:
87
+ # - asm sources
88
+ # - man pages
89
+ # - mkfiles
90
+ # - module definitions
91
+ # - namespace definitions
92
+ # - shell scripts
93
+ # - maybe keyfiles and fonts
94
+ # they all seem to be quite similar to their equivalents
95
+ # from unix world, so there should not be a lot of problems
temp_venv/lib/python3.13/site-packages/pygments/lexers/iolang.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.iolang
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Io language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer
12
+ from pygments.token import Comment, Operator, Keyword, Name, String, Number, \
13
+ Whitespace
14
+
15
+ __all__ = ['IoLexer']
16
+
17
+
18
+ class IoLexer(RegexLexer):
19
+ """
20
+ For Io (a small, prototype-based programming language) source.
21
+ """
22
+ name = 'Io'
23
+ url = 'http://iolanguage.com/'
24
+ filenames = ['*.io']
25
+ aliases = ['io']
26
+ mimetypes = ['text/x-iosrc']
27
+ version_added = '0.10'
28
+ tokens = {
29
+ 'root': [
30
+ (r'\n', Whitespace),
31
+ (r'\s+', Whitespace),
32
+ # Comments
33
+ (r'//(.*?)$', Comment.Single),
34
+ (r'#(.*?)$', Comment.Single),
35
+ (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
36
+ (r'/\+', Comment.Multiline, 'nestedcomment'),
37
+ # DoubleQuotedString
38
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
39
+ # Operators
40
+ (r'::=|:=|=|\(|\)|;|,|\*|-|\+|>|<|@|!|/|\||\^|\.|%|&|\[|\]|\{|\}',
41
+ Operator),
42
+ # keywords
43
+ (r'(clone|do|doFile|doString|method|for|if|else|elseif|then)\b',
44
+ Keyword),
45
+ # constants
46
+ (r'(nil|false|true)\b', Name.Constant),
47
+ # names
48
+ (r'(Object|list|List|Map|args|Sequence|Coroutine|File)\b',
49
+ Name.Builtin),
50
+ (r'[a-zA-Z_]\w*', Name),
51
+ # numbers
52
+ (r'(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
53
+ (r'\d+', Number.Integer)
54
+ ],
55
+ 'nestedcomment': [
56
+ (r'[^+/]+', Comment.Multiline),
57
+ (r'/\+', Comment.Multiline, '#push'),
58
+ (r'\+/', Comment.Multiline, '#pop'),
59
+ (r'[+/]', Comment.Multiline),
60
+ ]
61
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/j.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.j
3
+ ~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the J programming language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, words, include, bygroups
12
+ from pygments.token import Comment, Keyword, Name, Number, Operator, \
13
+ Punctuation, String, Whitespace
14
+
15
+ __all__ = ['JLexer']
16
+
17
+
18
+ class JLexer(RegexLexer):
19
+ """
20
+ For J source code.
21
+ """
22
+
23
+ name = 'J'
24
+ url = 'http://jsoftware.com/'
25
+ aliases = ['j']
26
+ filenames = ['*.ijs']
27
+ mimetypes = ['text/x-j']
28
+ version_added = '2.1'
29
+
30
+ validName = r'\b[a-zA-Z]\w*'
31
+
32
+ tokens = {
33
+ 'root': [
34
+ # Shebang script
35
+ (r'#!.*$', Comment.Preproc),
36
+
37
+ # Comments
38
+ (r'NB\..*', Comment.Single),
39
+ (r'(\n+\s*)(Note)', bygroups(Whitespace, Comment.Multiline),
40
+ 'comment'),
41
+ (r'(\s*)(Note.*)', bygroups(Whitespace, Comment.Single)),
42
+
43
+ # Whitespace
44
+ (r'\s+', Whitespace),
45
+
46
+ # Strings
47
+ (r"'", String, 'singlequote'),
48
+
49
+ # Definitions
50
+ (r'0\s+:\s*0', Name.Entity, 'nounDefinition'),
51
+ (r'(noun)(\s+)(define)(\s*)$', bygroups(Name.Entity, Whitespace,
52
+ Name.Entity, Whitespace), 'nounDefinition'),
53
+ (r'([1-4]|13)\s+:\s*0\b',
54
+ Name.Function, 'explicitDefinition'),
55
+ (r'(adverb|conjunction|dyad|monad|verb)(\s+)(define)\b',
56
+ bygroups(Name.Function, Whitespace, Name.Function),
57
+ 'explicitDefinition'),
58
+
59
+ # Flow Control
60
+ (words(('for_', 'goto_', 'label_'), suffix=validName+r'\.'), Name.Label),
61
+ (words((
62
+ 'assert', 'break', 'case', 'catch', 'catchd',
63
+ 'catcht', 'continue', 'do', 'else', 'elseif',
64
+ 'end', 'fcase', 'for', 'if', 'return',
65
+ 'select', 'throw', 'try', 'while', 'whilst',
66
+ ), suffix=r'\.'), Name.Label),
67
+
68
+ # Variable Names
69
+ (validName, Name.Variable),
70
+
71
+ # Standard Library
72
+ (words((
73
+ 'ARGV', 'CR', 'CRLF', 'DEL', 'Debug',
74
+ 'EAV', 'EMPTY', 'FF', 'JVERSION', 'LF',
75
+ 'LF2', 'Note', 'TAB', 'alpha17', 'alpha27',
76
+ 'apply', 'bind', 'boxopen', 'boxxopen', 'bx',
77
+ 'clear', 'cutLF', 'cutopen', 'datatype', 'def',
78
+ 'dfh', 'drop', 'each', 'echo', 'empty',
79
+ 'erase', 'every', 'evtloop', 'exit', 'expand',
80
+ 'fetch', 'file2url', 'fixdotdot', 'fliprgb', 'getargs',
81
+ 'getenv', 'hfd', 'inv', 'inverse', 'iospath',
82
+ 'isatty', 'isutf8', 'items', 'leaf', 'list',
83
+ 'nameclass', 'namelist', 'names', 'nc',
84
+ 'nl', 'on', 'pick', 'rows',
85
+ 'script', 'scriptd', 'sign', 'sminfo', 'smoutput',
86
+ 'sort', 'split', 'stderr', 'stdin', 'stdout',
87
+ 'table', 'take', 'timespacex', 'timex', 'tmoutput',
88
+ 'toCRLF', 'toHOST', 'toJ', 'tolower', 'toupper',
89
+ 'type', 'ucp', 'ucpcount', 'usleep', 'utf8',
90
+ 'uucp',
91
+ )), Name.Function),
92
+
93
+ # Copula
94
+ (r'=[.:]', Operator),
95
+
96
+ # Builtins
97
+ (r'[-=+*#$%@!~`^&";:.,<>{}\[\]\\|/?]', Operator),
98
+
99
+ # Short Keywords
100
+ (r'[abCdDeEfHiIjLMoprtT]\.', Keyword.Reserved),
101
+ (r'[aDiLpqsStux]\:', Keyword.Reserved),
102
+ (r'(_[0-9])\:', Keyword.Constant),
103
+
104
+ # Parens
105
+ (r'\(', Punctuation, 'parentheses'),
106
+
107
+ # Numbers
108
+ include('numbers'),
109
+ ],
110
+
111
+ 'comment': [
112
+ (r'[^)]', Comment.Multiline),
113
+ (r'^\)', Comment.Multiline, '#pop'),
114
+ (r'[)]', Comment.Multiline),
115
+ ],
116
+
117
+ 'explicitDefinition': [
118
+ (r'\b[nmuvxy]\b', Name.Decorator),
119
+ include('root'),
120
+ (r'[^)]', Name),
121
+ (r'^\)', Name.Label, '#pop'),
122
+ (r'[)]', Name),
123
+ ],
124
+
125
+ 'numbers': [
126
+ (r'\b_{1,2}\b', Number),
127
+ (r'_?\d+(\.\d+)?(\s*[ejr]\s*)_?\d+(\.?=\d+)?', Number),
128
+ (r'_?\d+\.(?=\d+)', Number.Float),
129
+ (r'_?\d+x', Number.Integer.Long),
130
+ (r'_?\d+', Number.Integer),
131
+ ],
132
+
133
+ 'nounDefinition': [
134
+ (r'[^)]+', String),
135
+ (r'^\)', Name.Label, '#pop'),
136
+ (r'[)]', String),
137
+ ],
138
+
139
+ 'parentheses': [
140
+ (r'\)', Punctuation, '#pop'),
141
+ # include('nounDefinition'),
142
+ include('explicitDefinition'),
143
+ include('root'),
144
+ ],
145
+
146
+ 'singlequote': [
147
+ (r"[^']+", String),
148
+ (r"''", String),
149
+ (r"'", String, '#pop'),
150
+ ],
151
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/jslt.py ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.jslt
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the JSLT language
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, combined, words
12
+ from pygments.token import Comment, Keyword, Name, Number, Operator, \
13
+ Punctuation, String, Whitespace
14
+
15
+
16
+ __all__ = ['JSLTLexer']
17
+
18
+
19
+ _WORD_END = r'(?=[^0-9A-Z_a-z-])'
20
+
21
+
22
+ class JSLTLexer(RegexLexer):
23
+ """
24
+ For JSLT source.
25
+ """
26
+ name = 'JSLT'
27
+ url = 'https://github.com/schibsted/jslt'
28
+ filenames = ['*.jslt']
29
+ aliases = ['jslt']
30
+ mimetypes = ['text/x-jslt']
31
+ version_added = '2.10'
32
+
33
+ tokens = {
34
+ 'root': [
35
+ (r'[\t\n\f\r ]+', Whitespace),
36
+ (r'//.*(\n|\Z)', Comment.Single),
37
+ (r'-?(0|[1-9][0-9]*)', Number.Integer),
38
+ (r'-?(0|[1-9][0-9]*)(.[0-9]+a)?([Ee][+-]?[0-9]+)', Number.Float),
39
+ (r'"([^"\\]|\\.)*"', String.Double),
40
+ (r'[(),:\[\]{}]', Punctuation),
41
+ (r'(!=|[<=>]=?)', Operator),
42
+ (r'[*+/|-]', Operator),
43
+ (r'\.', Operator),
44
+ (words(('import',), suffix=_WORD_END), Keyword.Namespace, combined('import-path', 'whitespace')),
45
+ (words(('as',), suffix=_WORD_END), Keyword.Namespace, combined('import-alias', 'whitespace')),
46
+ (words(('let',), suffix=_WORD_END), Keyword.Declaration, combined('constant', 'whitespace')),
47
+ (words(('def',), suffix=_WORD_END), Keyword.Declaration, combined('function', 'whitespace')),
48
+ (words(('false', 'null', 'true'), suffix=_WORD_END), Keyword.Constant),
49
+ (words(('else', 'for', 'if'), suffix=_WORD_END), Keyword),
50
+ (words(('and', 'or'), suffix=_WORD_END), Operator.Word),
51
+ (words((
52
+ 'all', 'any', 'array', 'boolean', 'capture', 'ceiling',
53
+ 'contains', 'ends-with', 'error', 'flatten', 'floor',
54
+ 'format-time', 'from-json', 'get-key', 'hash-int', 'index-of',
55
+ 'is-array', 'is-boolean', 'is-decimal', 'is-integer',
56
+ 'is-number', 'is-object', 'is-string', 'join', 'lowercase',
57
+ 'max', 'min', 'mod', 'not', 'now', 'number', 'parse-time',
58
+ 'parse-url', 'random', 'replace', 'round', 'sha256-hex', 'size',
59
+ 'split', 'starts-with', 'string', 'sum', 'test', 'to-json',
60
+ 'trim', 'uppercase', 'zip', 'zip-with-index', 'fallback'), suffix=_WORD_END),
61
+ Name.Builtin),
62
+ (r'[A-Z_a-z][0-9A-Z_a-z-]*:[A-Z_a-z][0-9A-Z_a-z-]*', Name.Function),
63
+ (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name),
64
+ (r'\$[A-Z_a-z][0-9A-Z_a-z-]*', Name.Variable),
65
+ ],
66
+ 'constant': [
67
+ (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Variable, 'root'),
68
+ ],
69
+ 'function': [
70
+ (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Function, combined('function-parameter-list', 'whitespace')),
71
+ ],
72
+ 'function-parameter-list': [
73
+ (r'\(', Punctuation, combined('function-parameters', 'whitespace')),
74
+ ],
75
+ 'function-parameters': [
76
+ (r',', Punctuation),
77
+ (r'\)', Punctuation, 'root'),
78
+ (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Variable),
79
+ ],
80
+ 'import-path': [
81
+ (r'"([^"]|\\.)*"', String.Symbol, 'root'),
82
+ ],
83
+ 'import-alias': [
84
+ (r'[A-Z_a-z][0-9A-Z_a-z-]*', Name.Namespace, 'root'),
85
+ ],
86
+ 'string': [
87
+ (r'"', String.Double, '#pop'),
88
+ (r'\\.', String.Escape),
89
+ ],
90
+ 'whitespace': [
91
+ (r'[\t\n\f\r ]+', Whitespace),
92
+ (r'//.*(\n|\Z)', Comment.Single),
93
+ ]
94
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/jsonnet.py ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.jsonnet
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for Jsonnet data templating language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import include, RegexLexer, words
12
+ from pygments.token import Comment, Keyword, Name, Number, Operator, \
13
+ Punctuation, String, Text, Whitespace
14
+
15
+ __all__ = ['JsonnetLexer']
16
+
17
+ jsonnet_token = r'[^\W\d]\w*'
18
+ jsonnet_function_token = jsonnet_token + r'(?=\()'
19
+
20
+
21
+ def string_rules(quote_mark):
22
+ return [
23
+ (rf"[^{quote_mark}\\]", String),
24
+ (r"\\.", String.Escape),
25
+ (quote_mark, String, '#pop'),
26
+ ]
27
+
28
+
29
+ def quoted_field_name(quote_mark):
30
+ return [
31
+ (rf'([^{quote_mark}\\]|\\.)*{quote_mark}',
32
+ Name.Variable, 'field_separator')
33
+ ]
34
+
35
+
36
+ class JsonnetLexer(RegexLexer):
37
+ """Lexer for Jsonnet source code."""
38
+
39
+ name = 'Jsonnet'
40
+ aliases = ['jsonnet']
41
+ filenames = ['*.jsonnet', '*.libsonnet']
42
+ url = "https://jsonnet.org"
43
+ version_added = ''
44
+ tokens = {
45
+ # Not used by itself
46
+ '_comments': [
47
+ (r'(//|#).*\n', Comment.Single),
48
+ (r'/\*\*([^/]|/(?!\*))*\*/', String.Doc),
49
+ (r'/\*([^/]|/(?!\*))*\*/', Comment),
50
+ ],
51
+ 'root': [
52
+ include('_comments'),
53
+ (r"@'.*'", String),
54
+ (r'@".*"', String),
55
+ (r"'", String, 'singlestring'),
56
+ (r'"', String, 'doublestring'),
57
+ (r'\|\|\|(.|\n)*\|\|\|', String),
58
+ # Jsonnet has no integers, only an IEEE754 64-bit float
59
+ (r'[+-]?[0-9]+(.[0-9])?', Number.Float),
60
+ # Omit : despite spec because it appears to be used as a field
61
+ # separator
62
+ (r'[!$~+\-&|^=<>*/%]', Operator),
63
+ (r'\{', Punctuation, 'object'),
64
+ (r'\[', Punctuation, 'array'),
65
+ (r'local\b', Keyword, ('local_name')),
66
+ (r'assert\b', Keyword, 'assert'),
67
+ (words([
68
+ 'assert', 'else', 'error', 'false', 'for', 'if', 'import',
69
+ 'importstr', 'in', 'null', 'tailstrict', 'then', 'self',
70
+ 'super', 'true',
71
+ ], suffix=r'\b'), Keyword),
72
+ (r'\s+', Whitespace),
73
+ (r'function(?=\()', Keyword, 'function_params'),
74
+ (r'std\.' + jsonnet_function_token, Name.Builtin, 'function_args'),
75
+ (jsonnet_function_token, Name.Function, 'function_args'),
76
+ (jsonnet_token, Name.Variable),
77
+ (r'[\.()]', Punctuation),
78
+ ],
79
+ 'singlestring': string_rules("'"),
80
+ 'doublestring': string_rules('"'),
81
+ 'array': [
82
+ (r',', Punctuation),
83
+ (r'\]', Punctuation, '#pop'),
84
+ include('root'),
85
+ ],
86
+ 'local_name': [
87
+ (jsonnet_function_token, Name.Function, 'function_params'),
88
+ (jsonnet_token, Name.Variable),
89
+ (r'\s+', Whitespace),
90
+ ('(?==)', Whitespace, ('#pop', 'local_value')),
91
+ ],
92
+ 'local_value': [
93
+ (r'=', Operator),
94
+ (r';', Punctuation, '#pop'),
95
+ include('root'),
96
+ ],
97
+ 'assert': [
98
+ (r':', Punctuation),
99
+ (r';', Punctuation, '#pop'),
100
+ include('root'),
101
+ ],
102
+ 'function_params': [
103
+ (jsonnet_token, Name.Variable),
104
+ (r'\(', Punctuation),
105
+ (r'\)', Punctuation, '#pop'),
106
+ (r',', Punctuation),
107
+ (r'\s+', Whitespace),
108
+ (r'=', Operator, 'function_param_default'),
109
+ ],
110
+ 'function_args': [
111
+ (r'\(', Punctuation),
112
+ (r'\)', Punctuation, '#pop'),
113
+ (r',', Punctuation),
114
+ (r'\s+', Whitespace),
115
+ include('root'),
116
+ ],
117
+ 'object': [
118
+ (r'\s+', Whitespace),
119
+ (r'local\b', Keyword, 'object_local_name'),
120
+ (r'assert\b', Keyword, 'object_assert'),
121
+ (r'\[', Operator, 'field_name_expr'),
122
+ (fr'(?={jsonnet_token})', Text, 'field_name'),
123
+ (r'\}', Punctuation, '#pop'),
124
+ (r'"', Name.Variable, 'double_field_name'),
125
+ (r"'", Name.Variable, 'single_field_name'),
126
+ include('_comments'),
127
+ ],
128
+ 'field_name': [
129
+ (jsonnet_function_token, Name.Function,
130
+ ('field_separator', 'function_params')
131
+ ),
132
+ (jsonnet_token, Name.Variable, 'field_separator'),
133
+ ],
134
+ 'double_field_name': quoted_field_name('"'),
135
+ 'single_field_name': quoted_field_name("'"),
136
+ 'field_name_expr': [
137
+ (r'\]', Operator, 'field_separator'),
138
+ include('root'),
139
+ ],
140
+ 'function_param_default': [
141
+ (r'(?=[,\)])', Whitespace, '#pop'),
142
+ include('root'),
143
+ ],
144
+ 'field_separator': [
145
+ (r'\s+', Whitespace),
146
+ (r'\+?::?:?', Punctuation, ('#pop', '#pop', 'field_value')),
147
+ include('_comments'),
148
+ ],
149
+ 'field_value': [
150
+ (r',', Punctuation, '#pop'),
151
+ (r'\}', Punctuation, '#pop:2'),
152
+ include('root'),
153
+ ],
154
+ 'object_assert': [
155
+ (r':', Punctuation),
156
+ (r',', Punctuation, '#pop'),
157
+ include('root'),
158
+ ],
159
+ 'object_local_name': [
160
+ (jsonnet_token, Name.Variable, ('#pop', 'object_local_value')),
161
+ (r'\s+', Whitespace),
162
+ ],
163
+ 'object_local_value': [
164
+ (r'=', Operator),
165
+ (r',', Punctuation, '#pop'),
166
+ (r'\}', Punctuation, '#pop:2'),
167
+ include('root'),
168
+ ],
169
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/jsx.py ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.jsx
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for JSX (React) and TSX (TypeScript flavor).
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import bygroups, default, include, inherit
14
+ from pygments.lexers.javascript import JavascriptLexer, TypeScriptLexer
15
+ from pygments.token import Name, Operator, Punctuation, String, Text, \
16
+ Whitespace
17
+
18
+ __all__ = ['JsxLexer', 'TsxLexer']
19
+
20
+ _JSX_RULES = {
21
+ "jsx": [
22
+ (r"</?>", Punctuation), # JSXFragment <>|</>
23
+ (r"(<)(\w+)(\.?)", bygroups(Punctuation, Name.Tag, Punctuation), "tag"),
24
+ (
25
+ r"(</)(\w+)(>)",
26
+ bygroups(Punctuation, Name.Tag, Punctuation),
27
+ ),
28
+ (
29
+ r"(</)(\w+)",
30
+ bygroups(Punctuation, Name.Tag),
31
+ "fragment",
32
+ ), # Same for React.Context
33
+ ],
34
+ "tag": [
35
+ (r"\s+", Whitespace),
36
+ (r"([\w-]+)(\s*)(=)(\s*)", bygroups(Name.Attribute, Whitespace, Operator, Whitespace), "attr"),
37
+ (r"[{}]+", Punctuation),
38
+ (r"[\w\.]+", Name.Attribute),
39
+ (r"(/?)(\s*)(>)", bygroups(Punctuation, Text, Punctuation), "#pop"),
40
+ ],
41
+ "fragment": [
42
+ (r"(.)(\w+)", bygroups(Punctuation, Name.Attribute)),
43
+ (r"(>)", bygroups(Punctuation), "#pop"),
44
+ ],
45
+ "attr": [
46
+ (r"\{", Punctuation, "expression"),
47
+ (r'".*?"', String, "#pop"),
48
+ (r"'.*?'", String, "#pop"),
49
+ default("#pop"),
50
+ ],
51
+ "expression": [
52
+ (r"\{", Punctuation, "#push"),
53
+ (r"\}", Punctuation, "#pop"),
54
+ include("root"),
55
+ ],
56
+ }
57
+
58
+
59
+ class JsxLexer(JavascriptLexer):
60
+ """For JavaScript Syntax Extension (JSX).
61
+ """
62
+
63
+ name = "JSX"
64
+ aliases = ["jsx", "react"]
65
+ filenames = ["*.jsx", "*.react"]
66
+ mimetypes = ["text/jsx", "text/typescript-jsx"]
67
+ url = "https://facebook.github.io/jsx/"
68
+ version_added = '2.17'
69
+
70
+ flags = re.MULTILINE | re.DOTALL
71
+
72
+ # Use same tokens as `JavascriptLexer`, but with tags and attributes support
73
+ tokens = {
74
+ "root": [
75
+ include("jsx"),
76
+ inherit,
77
+ ],
78
+ **_JSX_RULES}
79
+
80
+
81
+ class TsxLexer(TypeScriptLexer):
82
+ """For TypeScript with embedded JSX
83
+ """
84
+
85
+ name = "TSX"
86
+ aliases = ["tsx"]
87
+ filenames = ["*.tsx"]
88
+ mimetypes = ["text/typescript-tsx"]
89
+ url = "https://www.typescriptlang.org/docs/handbook/jsx.html"
90
+ version_added = '2.19'
91
+
92
+ flags = re.MULTILINE | re.DOTALL
93
+
94
+ # Use same tokens as `TypescriptLexer`, but with tags and attributes support
95
+ tokens = {
96
+ "root": [
97
+ include("jsx"),
98
+ inherit,
99
+ ],
100
+ **_JSX_RULES}
temp_venv/lib/python3.13/site-packages/pygments/lexers/ldap.py ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.ldap
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Pygments lexers for LDAP.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+
14
+ from pygments.lexer import RegexLexer, bygroups, default
15
+ from pygments.token import Operator, Comment, Keyword, Literal, Name, String, \
16
+ Number, Punctuation, Whitespace, Escape
17
+
18
+ __all__ = ['LdifLexer', 'LdaprcLexer']
19
+
20
+
21
+ class LdifLexer(RegexLexer):
22
+
23
+ """
24
+ Lexer for LDIF
25
+ """
26
+
27
+ name = 'LDIF'
28
+ aliases = ['ldif']
29
+ filenames = ['*.ldif']
30
+ mimetypes = ["text/x-ldif"]
31
+ url = "https://datatracker.ietf.org/doc/html/rfc2849"
32
+ version_added = '2.17'
33
+
34
+ tokens = {
35
+ 'root': [
36
+ (r'\s*\n', Whitespace),
37
+ (r'(-)(\n)', bygroups(Punctuation, Whitespace)),
38
+ (r'(#.*)(\n)', bygroups(Comment.Single, Whitespace)),
39
+ (r'(version)(:)([ \t]*)(.*)([ \t]*\n)', bygroups(Keyword,
40
+ Punctuation, Whitespace, Number.Integer, Whitespace)),
41
+ (r'(control)(:)([ \t]*)([\.0-9]+)([ \t]+)((?:true|false)?)([ \t]*)',
42
+ bygroups(Keyword, Punctuation, Whitespace, Name.Other, Whitespace, Keyword, Whitespace), "after-control"),
43
+ (r'(deleteoldrdn)(:)([ \n]*)([0-1]+)([ \t]*\n)',
44
+ bygroups(Keyword, Punctuation, Whitespace, Number, Whitespace)),
45
+ (r'(add|delete|replace)(::?)(\s*)(.*)([ \t]*\n)', bygroups(
46
+ Keyword, Punctuation, Whitespace, Name.Attribute, Whitespace)),
47
+ (r'(changetype)(:)([ \t]*)([a-z]*)([ \t]*\n)',
48
+ bygroups(Keyword, Punctuation, Whitespace, Keyword, Whitespace)),
49
+ (r'(dn|newrdn)(::)', bygroups(Keyword, Punctuation), "base64-dn"),
50
+ (r'(dn|newrdn)(:)', bygroups(Keyword, Punctuation), "dn"),
51
+ (r'(objectclass)(:)([ \t]*)([^ \t\n]*)([ \t]*\n)', bygroups(
52
+ Keyword, Punctuation, Whitespace, Name.Class, Whitespace)),
53
+ (r'([a-zA-Z]*|[0-9][0-9\.]*[0-9])(;)',
54
+ bygroups(Name.Attribute, Punctuation), "property"),
55
+ (r'([a-zA-Z]*|[0-9][0-9\.]*[0-9])(:<)',
56
+ bygroups(Name.Attribute, Punctuation), "url"),
57
+ (r'([a-zA-Z]*|[0-9][0-9\.]*[0-9])(::?)',
58
+ bygroups(Name.Attribute, Punctuation), "value"),
59
+ ],
60
+ "after-control": [
61
+ (r":<", Punctuation, ("#pop", "url")),
62
+ (r"::?", Punctuation, ("#pop", "value")),
63
+ default("#pop"),
64
+ ],
65
+ 'property': [
66
+ (r'([-a-zA-Z0-9]*)(;)', bygroups(Name.Property, Punctuation)),
67
+ (r'([-a-zA-Z0-9]*)(:<)',
68
+ bygroups(Name.Property, Punctuation), ("#pop", "url")),
69
+ (r'([-a-zA-Z0-9]*)(::?)',
70
+ bygroups(Name.Property, Punctuation), ("#pop", "value")),
71
+ ],
72
+ 'value': [
73
+ (r'(\s*)([^\n]+\S)(\n )',
74
+ bygroups(Whitespace, String, Whitespace)),
75
+ (r'(\s*)([^\n]+\S)(\n)',
76
+ bygroups(Whitespace, String, Whitespace), "#pop"),
77
+ ],
78
+ 'url': [
79
+ (r'([ \t]*)(\S*)([ \t]*\n )',
80
+ bygroups(Whitespace, Comment.PreprocFile, Whitespace)),
81
+ (r'([ \t]*)(\S*)([ \t]*\n)', bygroups(Whitespace,
82
+ Comment.PreprocFile, Whitespace), "#pop"),
83
+ ],
84
+ "dn": [
85
+ (r'([ \t]*)([-a-zA-Z0-9\.]+)(=)', bygroups(Whitespace,
86
+ Name.Attribute, Operator), ("#pop", "dn-value")),
87
+ ],
88
+ "dn-value": [
89
+ (r'\\[^\n]', Escape),
90
+ (r',', Punctuation, ("#pop", "dn")),
91
+ (r'\+', Operator, ("#pop", "dn")),
92
+ (r'[^,\+\n]+', String),
93
+ (r'\n ', Whitespace),
94
+ (r'\n', Whitespace, "#pop"),
95
+ ],
96
+ "base64-dn": [
97
+ (r'([ \t]*)([^ \t\n][^ \t\n]*[^\n])([ \t]*\n )',
98
+ bygroups(Whitespace, Name, Whitespace)),
99
+ (r'([ \t]*)([^ \t\n][^ \t\n]*[^\n])([ \t]*\n)',
100
+ bygroups(Whitespace, Name, Whitespace), "#pop"),
101
+ ]
102
+ }
103
+
104
+
105
+ class LdaprcLexer(RegexLexer):
106
+ """
107
+ Lexer for OpenLDAP configuration files.
108
+ """
109
+
110
+ name = 'LDAP configuration file'
111
+ aliases = ['ldapconf', 'ldaprc']
112
+ filenames = ['.ldaprc', 'ldaprc', 'ldap.conf']
113
+ mimetypes = ["text/x-ldapconf"]
114
+ url = 'https://www.openldap.org/software//man.cgi?query=ldap.conf&sektion=5&apropos=0&manpath=OpenLDAP+2.4-Release'
115
+ version_added = '2.17'
116
+
117
+ _sasl_keywords = r'SASL_(?:MECH|REALM|AUTHCID|AUTHZID|CBINDING)'
118
+ _tls_keywords = r'TLS_(?:CACERT|CACERTDIR|CERT|ECNAME|KEY|CIPHER_SUITE|PROTOCOL_MIN|RANDFILE|CRLFILE)'
119
+ _literal_keywords = rf'(?:URI|SOCKET_BIND_ADDRESSES|{_sasl_keywords}|{_tls_keywords})'
120
+ _boolean_keywords = r'GSSAPI_(?:ALLOW_REMOTE_PRINCIPAL|ENCRYPT|SIGN)|REFERRALS|SASL_NOCANON'
121
+ _integer_keywords = r'KEEPALIVE_(?:IDLE|PROBES|INTERVAL)|NETWORK_TIMEOUT|PORT|SIZELIMIT|TIMELIMIT|TIMEOUT'
122
+ _secprops = r'none|noanonymous|noplain|noactive|nodict|forwardsec|passcred|(?:minssf|maxssf|maxbufsize)=\d+'
123
+
124
+ flags = re.IGNORECASE | re.MULTILINE
125
+
126
+ tokens = {
127
+ 'root': [
128
+ (r'#.*', Comment.Single),
129
+ (r'\s+', Whitespace),
130
+ (rf'({_boolean_keywords})(\s+)(on|true|yes|off|false|no)$',
131
+ bygroups(Keyword, Whitespace, Keyword.Constant)),
132
+ (rf'({_integer_keywords})(\s+)(\d+)',
133
+ bygroups(Keyword, Whitespace, Number.Integer)),
134
+ (r'(VERSION)(\s+)(2|3)', bygroups(Keyword, Whitespace, Number.Integer)),
135
+ # Constants
136
+ (r'(DEREF)(\s+)(never|searching|finding|always)',
137
+ bygroups(Keyword, Whitespace, Keyword.Constant)),
138
+ (rf'(SASL_SECPROPS)(\s+)((?:{_secprops})(?:,{_secprops})*)',
139
+ bygroups(Keyword, Whitespace, Keyword.Constant)),
140
+ (r'(SASL_CBINDING)(\s+)(none|tls-unique|tls-endpoint)',
141
+ bygroups(Keyword, Whitespace, Keyword.Constant)),
142
+ (r'(TLS_REQ(?:CERT|SAN))(\s+)(allow|demand|hard|never|try)',
143
+ bygroups(Keyword, Whitespace, Keyword.Constant)),
144
+ (r'(TLS_CRLCHECK)(\s+)(none|peer|all)',
145
+ bygroups(Keyword, Whitespace, Keyword.Constant)),
146
+ # Literals
147
+ (r'(BASE|BINDDN)(\s+)(\S+)$',
148
+ bygroups(Keyword, Whitespace, Literal)),
149
+ # Accepts hostname with or without port.
150
+ (r'(HOST)(\s+)([a-z0-9]+)((?::(\d+))?)',
151
+ bygroups(Keyword, Whitespace, Literal, Number.Integer)),
152
+ (rf'({_literal_keywords})(\s+)(\S+)$',
153
+ bygroups(Keyword, Whitespace, Literal)),
154
+ ],
155
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/lisp.py ADDED
The diff for this file is too large to render. See raw diff
 
temp_venv/lib/python3.13/site-packages/pygments/lexers/maple.py ADDED
@@ -0,0 +1,291 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.maple
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Maple.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import words, bygroups, ExtendedRegexLexer
12
+ from pygments.token import Comment, Name, String, Whitespace, Operator, Punctuation, Number, Keyword
13
+
14
+ __all__ = ['MapleLexer']
15
+
16
+
17
+ class MapleLexer(ExtendedRegexLexer):
18
+ """
19
+ Lexer for Maple.
20
+ """
21
+
22
+ name = 'Maple'
23
+ aliases = ['maple']
24
+ filenames = ['*.mpl', '*.mi', '*.mm']
25
+ mimetypes = ['text/x-maple']
26
+ url = 'https://www.maplesoft.com/products/Maple/'
27
+ version_added = '2.19'
28
+
29
+ keywords = ('and',
30
+ 'assuming',
31
+ 'break',
32
+ 'by',
33
+ 'catch',
34
+ 'description',
35
+ 'do',
36
+ 'done',
37
+ 'elif',
38
+ 'else',
39
+ 'end',
40
+ 'error',
41
+ 'export',
42
+ 'fi',
43
+ 'finally',
44
+ 'for',
45
+ 'from',
46
+ 'global',
47
+ 'if',
48
+ 'implies',
49
+ 'in',
50
+ 'intersect',
51
+ 'local',
52
+ 'minus',
53
+ 'mod',
54
+ 'module',
55
+ 'next',
56
+ 'not',
57
+ 'od',
58
+ 'option',
59
+ 'options',
60
+ 'or',
61
+ 'proc',
62
+ 'quit',
63
+ 'read',
64
+ 'return',
65
+ 'save',
66
+ 'stop',
67
+ 'subset',
68
+ 'then',
69
+ 'to',
70
+ 'try',
71
+ 'union',
72
+ 'use',
73
+ 'uses',
74
+ 'while',
75
+ 'xor')
76
+
77
+ builtins = ('abs',
78
+ 'add',
79
+ 'addressof',
80
+ 'anames',
81
+ 'and',
82
+ 'andmap',
83
+ 'andseq',
84
+ 'appendto',
85
+ 'Array',
86
+ 'array',
87
+ 'ArrayOptions',
88
+ 'assemble',
89
+ 'ASSERT',
90
+ 'assign',
91
+ 'assigned',
92
+ 'attributes',
93
+ 'cat',
94
+ 'ceil',
95
+ 'coeff',
96
+ 'coeffs',
97
+ 'conjugate',
98
+ 'convert',
99
+ 'CopySign',
100
+ 'DEBUG',
101
+ 'debugopts',
102
+ 'Default0',
103
+ 'DefaultOverflow',
104
+ 'DefaultUnderflow',
105
+ 'degree',
106
+ 'denom',
107
+ 'diff',
108
+ 'disassemble',
109
+ 'divide',
110
+ 'done',
111
+ 'entries',
112
+ 'EqualEntries',
113
+ 'eval',
114
+ 'evalb',
115
+ 'evalf',
116
+ 'evalhf',
117
+ 'evalindets',
118
+ 'evaln',
119
+ 'expand',
120
+ 'exports',
121
+ 'factorial',
122
+ 'floor',
123
+ 'frac',
124
+ 'frem',
125
+ 'FromInert',
126
+ 'frontend',
127
+ 'gc',
128
+ 'genpoly',
129
+ 'has',
130
+ 'hastype',
131
+ 'hfarray',
132
+ 'icontent',
133
+ 'igcd',
134
+ 'ilcm',
135
+ 'ilog10',
136
+ 'Im',
137
+ 'implies',
138
+ 'indets',
139
+ 'indices',
140
+ 'intersect',
141
+ 'iolib',
142
+ 'iquo',
143
+ 'irem',
144
+ 'iroot',
145
+ 'iroot',
146
+ 'isqrt',
147
+ 'kernelopts',
148
+ 'lcoeff',
149
+ 'ldegree',
150
+ 'length',
151
+ 'lexorder',
152
+ 'lhs',
153
+ 'lowerbound',
154
+ 'lprint',
155
+ 'macro',
156
+ 'map',
157
+ 'max',
158
+ 'maxnorm',
159
+ 'member',
160
+ 'membertype',
161
+ 'min',
162
+ 'minus',
163
+ 'mod',
164
+ 'modp',
165
+ 'modp1',
166
+ 'modp2',
167
+ 'mods',
168
+ 'mul',
169
+ 'NextAfter',
170
+ 'nops',
171
+ 'normal',
172
+ 'not',
173
+ 'numboccur',
174
+ 'numelems',
175
+ 'numer',
176
+ 'NumericClass',
177
+ 'NumericEvent',
178
+ 'NumericEventHandler',
179
+ 'NumericStatus',
180
+ 'op',
181
+ 'or',
182
+ 'order',
183
+ 'OrderedNE',
184
+ 'ormap',
185
+ 'orseq',
186
+ 'parse',
187
+ 'piecewise',
188
+ 'pointto',
189
+ 'print',
190
+ 'quit',
191
+ 'Re',
192
+ 'readlib',
193
+ 'Record',
194
+ 'remove',
195
+ 'rhs',
196
+ 'round',
197
+ 'rtable',
198
+ 'rtable_elems',
199
+ 'rtable_eval',
200
+ 'rtable_indfns',
201
+ 'rtable_num_elems',
202
+ 'rtable_options',
203
+ 'rtable_redim',
204
+ 'rtable_scanblock',
205
+ 'rtable_set_indfn',
206
+ 'rtable_split_unit',
207
+ 'savelib',
208
+ 'Scale10',
209
+ 'Scale2',
210
+ 'SDMPolynom',
211
+ 'searchtext',
212
+ 'SearchText',
213
+ 'select',
214
+ 'selectremove',
215
+ 'seq',
216
+ 'series',
217
+ 'setattribute',
218
+ 'SFloatExponent',
219
+ 'SFloatMantissa',
220
+ 'sign',
221
+ 'sort',
222
+ 'ssystem',
223
+ 'stop',
224
+ 'String',
225
+ 'subs',
226
+ 'subset',
227
+ 'subsindets',
228
+ 'subsop',
229
+ 'substring',
230
+ 'system',
231
+ 'table',
232
+ 'taylor',
233
+ 'tcoeff',
234
+ 'time',
235
+ 'timelimit',
236
+ 'ToInert',
237
+ 'traperror',
238
+ 'trunc',
239
+ 'type',
240
+ 'typematch',
241
+ 'unames',
242
+ 'unassign',
243
+ 'union',
244
+ 'Unordered',
245
+ 'upperbound',
246
+ 'userinfo',
247
+ 'writeto',
248
+ 'xor',
249
+ 'xormap',
250
+ 'xorseq')
251
+
252
+ def delayed_callback(self, match, ctx):
253
+ yield match.start(1), Punctuation, match.group(1) # quote
254
+
255
+ ctx.pos = match.start(2)
256
+ orig_end = ctx.end
257
+ ctx.end = match.end(2)
258
+
259
+ yield from self.get_tokens_unprocessed(context=ctx)
260
+ yield match.end(2), Punctuation, match.group(1) # quote
261
+
262
+ ctx.pos = match.end()
263
+ ctx.end = orig_end
264
+
265
+ tokens = {
266
+ 'root': [
267
+ (r'#.*\n', Comment.Single),
268
+ (r'\(\*', Comment.Multiline, 'comment'),
269
+ (r'"(\\.|.|\s)*?"', String),
270
+ (r"('+)((.|\n)*?)\1", delayed_callback),
271
+ (r'`(\\`|.)*?`', Name),
272
+ (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword),
273
+ (words(builtins, prefix=r'\b', suffix=r'\b'), Name.Builtin),
274
+ (r'[a-zA-Z_][a-zA-Z0-9_]*', Name),
275
+ (r'(:=|\*\*|@@|<=|>=|<>|->|::|\.\.|&\+|[\+\-\*\.\^\$/@&,:=<>%~])', Operator),
276
+ (r'[;^!@$\(\)\[\]{}|_\\#?]+', Punctuation),
277
+ (r'(\d+)(\.\.)', bygroups(Number.Integer, Punctuation)),
278
+ (r'(\d*\.\d+|\d+\.\d*)([eE][+-]?\d+)?', Number.Float),
279
+ (r'\d+', Number.Integer),
280
+ (r'\s+', Whitespace),
281
+ ],
282
+ 'comment': [
283
+ (r'.*\(\*', Comment.Multiline, '#push'),
284
+ (r'.*\*\)', Comment.Multiline, '#pop'),
285
+ (r'.*\n', Comment.Multiline),
286
+ ]
287
+ }
288
+
289
+ def analyse_text(text):
290
+ if ':=' in text:
291
+ return 0.1
temp_venv/lib/python3.13/site-packages/pygments/lexers/maxima.py ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.maxima
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the computer algebra system Maxima.
6
+
7
+ Derived from pygments/lexers/algebra.py.
8
+
9
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
10
+ :license: BSD, see LICENSE for details.
11
+ """
12
+
13
+ import re
14
+
15
+ from pygments.lexer import RegexLexer, bygroups, words
16
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
+ Number, Punctuation
18
+
19
+ __all__ = ['MaximaLexer']
20
+
21
+ class MaximaLexer(RegexLexer):
22
+ """
23
+ A Maxima lexer.
24
+ Derived from pygments.lexers.MuPADLexer.
25
+ """
26
+ name = 'Maxima'
27
+ url = 'http://maxima.sourceforge.net'
28
+ aliases = ['maxima', 'macsyma']
29
+ filenames = ['*.mac', '*.max']
30
+ version_added = '2.11'
31
+
32
+ keywords = ('if', 'then', 'else', 'elseif',
33
+ 'do', 'while', 'repeat', 'until',
34
+ 'for', 'from', 'to', 'downto', 'step', 'thru')
35
+
36
+ constants = ('%pi', '%e', '%phi', '%gamma', '%i',
37
+ 'und', 'ind', 'infinity', 'inf', 'minf',
38
+ 'true', 'false', 'unknown', 'done')
39
+
40
+ operators = (r'.', r':', r'=', r'#',
41
+ r'+', r'-', r'*', r'/', r'^',
42
+ r'@', r'>', r'<', r'|', r'!', r"'")
43
+
44
+ operator_words = ('and', 'or', 'not')
45
+
46
+ tokens = {
47
+ 'root': [
48
+ (r'/\*', Comment.Multiline, 'comment'),
49
+ (r'"(?:[^"\\]|\\.)*"', String),
50
+ (r'\(|\)|\[|\]|\{|\}', Punctuation),
51
+ (r'[,;$]', Punctuation),
52
+ (words (constants), Name.Constant),
53
+ (words (keywords), Keyword),
54
+ (words (operators), Operator),
55
+ (words (operator_words), Operator.Word),
56
+ (r'''(?x)
57
+ ((?:[a-zA-Z_#][\w#]*|`[^`]*`)
58
+ (?:::[a-zA-Z_#][\w#]*|`[^`]*`)*)(\s*)([(])''',
59
+ bygroups(Name.Function, Text.Whitespace, Punctuation)),
60
+ (r'''(?x)
61
+ (?:[a-zA-Z_#%][\w#%]*|`[^`]*`)
62
+ (?:::[a-zA-Z_#%][\w#%]*|`[^`]*`)*''', Name.Variable),
63
+ (r'[-+]?(\d*\.\d+([bdefls][-+]?\d+)?|\d+(\.\d*)?[bdefls][-+]?\d+)', Number.Float),
64
+ (r'[-+]?\d+', Number.Integer),
65
+ (r'\s+', Text.Whitespace),
66
+ (r'.', Text)
67
+ ],
68
+ 'comment': [
69
+ (r'[^*/]+', Comment.Multiline),
70
+ (r'/\*', Comment.Multiline, '#push'),
71
+ (r'\*/', Comment.Multiline, '#pop'),
72
+ (r'[*/]', Comment.Multiline)
73
+ ]
74
+ }
75
+
76
+ def analyse_text (text):
77
+ strength = 0.0
78
+ # Input expression terminator.
79
+ if re.search (r'\$\s*$', text, re.MULTILINE):
80
+ strength += 0.05
81
+ # Function definition operator.
82
+ if ':=' in text:
83
+ strength += 0.02
84
+ return strength
temp_venv/lib/python3.13/site-packages/pygments/lexers/mojo.py ADDED
@@ -0,0 +1,707 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.mojo
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Mojo and related languages.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import keyword
12
+
13
+ from pygments import unistring as uni
14
+ from pygments.lexer import (
15
+ RegexLexer,
16
+ bygroups,
17
+ combined,
18
+ default,
19
+ include,
20
+ this,
21
+ using,
22
+ words,
23
+ )
24
+ from pygments.token import (
25
+ Comment,
26
+ # Error,
27
+ Keyword,
28
+ Name,
29
+ Number,
30
+ Operator,
31
+ Punctuation,
32
+ String,
33
+ Text,
34
+ Whitespace,
35
+ )
36
+ from pygments.util import shebang_matches
37
+
38
+ __all__ = ["MojoLexer"]
39
+
40
+
41
+ class MojoLexer(RegexLexer):
42
+ """
43
+ For Mojo source code (version 24.2.1).
44
+ """
45
+
46
+ name = "Mojo"
47
+ url = "https://docs.modular.com/mojo/"
48
+ aliases = ["mojo", "🔥"]
49
+ filenames = [
50
+ "*.mojo",
51
+ "*.🔥",
52
+ ]
53
+ mimetypes = [
54
+ "text/x-mojo",
55
+ "application/x-mojo",
56
+ ]
57
+ version_added = "2.18"
58
+
59
+ uni_name = f"[{uni.xid_start}][{uni.xid_continue}]*"
60
+
61
+ def innerstring_rules(ttype):
62
+ return [
63
+ # the old style '%s' % (...) string formatting (still valid in Py3)
64
+ (
65
+ r"%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?"
66
+ "[hlL]?[E-GXc-giorsaux%]",
67
+ String.Interpol,
68
+ ),
69
+ # the new style '{}'.format(...) string formatting
70
+ (
71
+ r"\{"
72
+ r"((\w+)((\.\w+)|(\[[^\]]+\]))*)?" # field name
73
+ r"(\![sra])?" # conversion
74
+ r"(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?"
75
+ r"\}",
76
+ String.Interpol,
77
+ ),
78
+ # backslashes, quotes and formatting signs must be parsed one at a time
79
+ (r'[^\\\'"%{\n]+', ttype),
80
+ (r'[\'"\\]', ttype),
81
+ # unhandled string formatting sign
82
+ (r"%|(\{{1,2})", ttype),
83
+ # newlines are an error (use "nl" state)
84
+ ]
85
+
86
+ def fstring_rules(ttype):
87
+ return [
88
+ # Assuming that a '}' is the closing brace after format specifier.
89
+ # Sadly, this means that we won't detect syntax error. But it's
90
+ # more important to parse correct syntax correctly, than to
91
+ # highlight invalid syntax.
92
+ (r"\}", String.Interpol),
93
+ (r"\{", String.Interpol, "expr-inside-fstring"),
94
+ # backslashes, quotes and formatting signs must be parsed one at a time
95
+ (r'[^\\\'"{}\n]+', ttype),
96
+ (r'[\'"\\]', ttype),
97
+ # newlines are an error (use "nl" state)
98
+ ]
99
+
100
+ tokens = {
101
+ "root": [
102
+ (r"\s+", Whitespace),
103
+ (
104
+ r'^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")',
105
+ bygroups(Whitespace, String.Affix, String.Doc),
106
+ ),
107
+ (
108
+ r"^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')",
109
+ bygroups(Whitespace, String.Affix, String.Doc),
110
+ ),
111
+ (r"\A#!.+$", Comment.Hashbang),
112
+ (r"#.*$", Comment.Single),
113
+ (r"\\\n", Whitespace),
114
+ (r"\\", Whitespace),
115
+ include("keywords"),
116
+ include("soft-keywords"),
117
+ # In the original PR, all the below here used ((?:\s|\\\s)+) to
118
+ # designate whitespace, but I can't find any example of this being
119
+ # needed in the example file, so we're replacing it with `\s+`.
120
+ (
121
+ r"(alias)(\s+)",
122
+ bygroups(Keyword, Whitespace),
123
+ "varname", # TODO varname the right fit?
124
+ ),
125
+ (r"(var)(\s+)", bygroups(Keyword, Whitespace), "varname"),
126
+ (r"(def)(\s+)", bygroups(Keyword, Whitespace), "funcname"),
127
+ (r"(fn)(\s+)", bygroups(Keyword, Whitespace), "funcname"),
128
+ (
129
+ r"(class)(\s+)",
130
+ bygroups(Keyword, Whitespace),
131
+ "classname",
132
+ ), # not implemented yet
133
+ (r"(struct)(\s+)", bygroups(Keyword, Whitespace), "structname"),
134
+ (r"(trait)(\s+)", bygroups(Keyword, Whitespace), "structname"),
135
+ (r"(from)(\s+)", bygroups(Keyword.Namespace, Whitespace), "fromimport"),
136
+ (r"(import)(\s+)", bygroups(Keyword.Namespace, Whitespace), "import"),
137
+ include("expr"),
138
+ ],
139
+ "expr": [
140
+ # raw f-strings
141
+ (
142
+ '(?i)(rf|fr)(""")',
143
+ bygroups(String.Affix, String.Double),
144
+ combined("rfstringescape", "tdqf"),
145
+ ),
146
+ (
147
+ "(?i)(rf|fr)(''')",
148
+ bygroups(String.Affix, String.Single),
149
+ combined("rfstringescape", "tsqf"),
150
+ ),
151
+ (
152
+ '(?i)(rf|fr)(")',
153
+ bygroups(String.Affix, String.Double),
154
+ combined("rfstringescape", "dqf"),
155
+ ),
156
+ (
157
+ "(?i)(rf|fr)(')",
158
+ bygroups(String.Affix, String.Single),
159
+ combined("rfstringescape", "sqf"),
160
+ ),
161
+ # non-raw f-strings
162
+ (
163
+ '([fF])(""")',
164
+ bygroups(String.Affix, String.Double),
165
+ combined("fstringescape", "tdqf"),
166
+ ),
167
+ (
168
+ "([fF])(''')",
169
+ bygroups(String.Affix, String.Single),
170
+ combined("fstringescape", "tsqf"),
171
+ ),
172
+ (
173
+ '([fF])(")',
174
+ bygroups(String.Affix, String.Double),
175
+ combined("fstringescape", "dqf"),
176
+ ),
177
+ (
178
+ "([fF])(')",
179
+ bygroups(String.Affix, String.Single),
180
+ combined("fstringescape", "sqf"),
181
+ ),
182
+ # raw bytes and strings
183
+ ('(?i)(rb|br|r)(""")', bygroups(String.Affix, String.Double), "tdqs"),
184
+ ("(?i)(rb|br|r)(''')", bygroups(String.Affix, String.Single), "tsqs"),
185
+ ('(?i)(rb|br|r)(")', bygroups(String.Affix, String.Double), "dqs"),
186
+ ("(?i)(rb|br|r)(')", bygroups(String.Affix, String.Single), "sqs"),
187
+ # non-raw strings
188
+ (
189
+ '([uU]?)(""")',
190
+ bygroups(String.Affix, String.Double),
191
+ combined("stringescape", "tdqs"),
192
+ ),
193
+ (
194
+ "([uU]?)(''')",
195
+ bygroups(String.Affix, String.Single),
196
+ combined("stringescape", "tsqs"),
197
+ ),
198
+ (
199
+ '([uU]?)(")',
200
+ bygroups(String.Affix, String.Double),
201
+ combined("stringescape", "dqs"),
202
+ ),
203
+ (
204
+ "([uU]?)(')",
205
+ bygroups(String.Affix, String.Single),
206
+ combined("stringescape", "sqs"),
207
+ ),
208
+ # non-raw bytes
209
+ (
210
+ '([bB])(""")',
211
+ bygroups(String.Affix, String.Double),
212
+ combined("bytesescape", "tdqs"),
213
+ ),
214
+ (
215
+ "([bB])(''')",
216
+ bygroups(String.Affix, String.Single),
217
+ combined("bytesescape", "tsqs"),
218
+ ),
219
+ (
220
+ '([bB])(")',
221
+ bygroups(String.Affix, String.Double),
222
+ combined("bytesescape", "dqs"),
223
+ ),
224
+ (
225
+ "([bB])(')",
226
+ bygroups(String.Affix, String.Single),
227
+ combined("bytesescape", "sqs"),
228
+ ),
229
+ (r"[^\S\n]+", Text),
230
+ include("numbers"),
231
+ (r"!=|==|<<|>>|:=|[-~+/*%=<>&^|.]", Operator),
232
+ (r"([]{}:\(\),;[])+", Punctuation),
233
+ (r"(in|is|and|or|not)\b", Operator.Word),
234
+ include("expr-keywords"),
235
+ include("builtins"),
236
+ include("magicfuncs"),
237
+ include("magicvars"),
238
+ include("name"),
239
+ ],
240
+ "expr-inside-fstring": [
241
+ (r"[{([]", Punctuation, "expr-inside-fstring-inner"),
242
+ # without format specifier
243
+ (
244
+ r"(=\s*)?" # debug (https://bugs.python.org/issue36817)
245
+ r"(\![sraf])?" # conversion
246
+ r"\}",
247
+ String.Interpol,
248
+ "#pop",
249
+ ),
250
+ # with format specifier
251
+ # we'll catch the remaining '}' in the outer scope
252
+ (
253
+ r"(=\s*)?" # debug (https://bugs.python.org/issue36817)
254
+ r"(\![sraf])?" # conversion
255
+ r":",
256
+ String.Interpol,
257
+ "#pop",
258
+ ),
259
+ (r"\s+", Whitespace), # allow new lines
260
+ include("expr"),
261
+ ],
262
+ "expr-inside-fstring-inner": [
263
+ (r"[{([]", Punctuation, "expr-inside-fstring-inner"),
264
+ (r"[])}]", Punctuation, "#pop"),
265
+ (r"\s+", Whitespace), # allow new lines
266
+ include("expr"),
267
+ ],
268
+ "expr-keywords": [
269
+ # Based on https://docs.python.org/3/reference/expressions.html
270
+ (
271
+ words(
272
+ (
273
+ "async for", # TODO https://docs.modular.com/mojo/roadmap#no-async-for-or-async-with
274
+ "async with", # TODO https://docs.modular.com/mojo/roadmap#no-async-for-or-async-with
275
+ "await",
276
+ "else",
277
+ "for",
278
+ "if",
279
+ "lambda",
280
+ "yield",
281
+ "yield from",
282
+ ),
283
+ suffix=r"\b",
284
+ ),
285
+ Keyword,
286
+ ),
287
+ (words(("True", "False", "None"), suffix=r"\b"), Keyword.Constant),
288
+ ],
289
+ "keywords": [
290
+ (
291
+ words(
292
+ (
293
+ "assert",
294
+ "async",
295
+ "await",
296
+ "borrowed",
297
+ "break",
298
+ "continue",
299
+ "del",
300
+ "elif",
301
+ "else",
302
+ "except",
303
+ "finally",
304
+ "for",
305
+ "global",
306
+ "if",
307
+ "lambda",
308
+ "pass",
309
+ "raise",
310
+ "nonlocal",
311
+ "return",
312
+ "try",
313
+ "while",
314
+ "yield",
315
+ "yield from",
316
+ "as",
317
+ "with",
318
+ ),
319
+ suffix=r"\b",
320
+ ),
321
+ Keyword,
322
+ ),
323
+ (words(("True", "False", "None"), suffix=r"\b"), Keyword.Constant),
324
+ ],
325
+ "soft-keywords": [
326
+ # `match`, `case` and `_` soft keywords
327
+ (
328
+ r"(^[ \t]*)" # at beginning of line + possible indentation
329
+ r"(match|case)\b" # a possible keyword
330
+ r"(?![ \t]*(?:" # not followed by...
331
+ r"[:,;=^&|@~)\]}]|(?:" + # characters and keywords that mean this isn't
332
+ # pattern matching (but None/True/False is ok)
333
+ r"|".join(k for k in keyword.kwlist if k[0].islower())
334
+ + r")\b))",
335
+ bygroups(Whitespace, Keyword),
336
+ "soft-keywords-inner",
337
+ ),
338
+ ],
339
+ "soft-keywords-inner": [
340
+ # optional `_` keyword
341
+ (r"(\s+)([^\n_]*)(_\b)", bygroups(Whitespace, using(this), Keyword)),
342
+ default("#pop"),
343
+ ],
344
+ "builtins": [
345
+ (
346
+ words(
347
+ (
348
+ "__import__",
349
+ "abs",
350
+ "aiter",
351
+ "all",
352
+ "any",
353
+ "bin",
354
+ "bool",
355
+ "bytearray",
356
+ "breakpoint",
357
+ "bytes",
358
+ "callable",
359
+ "chr",
360
+ "classmethod",
361
+ "compile",
362
+ "complex",
363
+ "delattr",
364
+ "dict",
365
+ "dir",
366
+ "divmod",
367
+ "enumerate",
368
+ "eval",
369
+ "filter",
370
+ "float",
371
+ "format",
372
+ "frozenset",
373
+ "getattr",
374
+ "globals",
375
+ "hasattr",
376
+ "hash",
377
+ "hex",
378
+ "id",
379
+ "input",
380
+ "int",
381
+ "isinstance",
382
+ "issubclass",
383
+ "iter",
384
+ "len",
385
+ "list",
386
+ "locals",
387
+ "map",
388
+ "max",
389
+ "memoryview",
390
+ "min",
391
+ "next",
392
+ "object",
393
+ "oct",
394
+ "open",
395
+ "ord",
396
+ "pow",
397
+ "print",
398
+ "property",
399
+ "range",
400
+ "repr",
401
+ "reversed",
402
+ "round",
403
+ "set",
404
+ "setattr",
405
+ "slice",
406
+ "sorted",
407
+ "staticmethod",
408
+ "str",
409
+ "sum",
410
+ "super",
411
+ "tuple",
412
+ "type",
413
+ "vars",
414
+ "zip",
415
+ # Mojo builtin types: https://docs.modular.com/mojo/stdlib/builtin/
416
+ "AnyType",
417
+ "Coroutine",
418
+ "DType",
419
+ "Error",
420
+ "Int",
421
+ "List",
422
+ "ListLiteral",
423
+ "Scalar",
424
+ "Int8",
425
+ "UInt8",
426
+ "Int16",
427
+ "UInt16",
428
+ "Int32",
429
+ "UInt32",
430
+ "Int64",
431
+ "UInt64",
432
+ "BFloat16",
433
+ "Float16",
434
+ "Float32",
435
+ "Float64",
436
+ "SIMD",
437
+ "String",
438
+ "Tensor",
439
+ "Tuple",
440
+ "Movable",
441
+ "Copyable",
442
+ "CollectionElement",
443
+ ),
444
+ prefix=r"(?<!\.)",
445
+ suffix=r"\b",
446
+ ),
447
+ Name.Builtin,
448
+ ),
449
+ (r"(?<!\.)(self|Ellipsis|NotImplemented|cls)\b", Name.Builtin.Pseudo),
450
+ (
451
+ words(
452
+ ("Error",),
453
+ prefix=r"(?<!\.)",
454
+ suffix=r"\b",
455
+ ),
456
+ Name.Exception,
457
+ ),
458
+ ],
459
+ "magicfuncs": [
460
+ (
461
+ words(
462
+ (
463
+ "__abs__",
464
+ "__add__",
465
+ "__aenter__",
466
+ "__aexit__",
467
+ "__aiter__",
468
+ "__and__",
469
+ "__anext__",
470
+ "__await__",
471
+ "__bool__",
472
+ "__bytes__",
473
+ "__call__",
474
+ "__complex__",
475
+ "__contains__",
476
+ "__del__",
477
+ "__delattr__",
478
+ "__delete__",
479
+ "__delitem__",
480
+ "__dir__",
481
+ "__divmod__",
482
+ "__enter__",
483
+ "__eq__",
484
+ "__exit__",
485
+ "__float__",
486
+ "__floordiv__",
487
+ "__format__",
488
+ "__ge__",
489
+ "__get__",
490
+ "__getattr__",
491
+ "__getattribute__",
492
+ "__getitem__",
493
+ "__gt__",
494
+ "__hash__",
495
+ "__iadd__",
496
+ "__iand__",
497
+ "__ifloordiv__",
498
+ "__ilshift__",
499
+ "__imatmul__",
500
+ "__imod__",
501
+ "__imul__",
502
+ "__index__",
503
+ "__init__",
504
+ "__instancecheck__",
505
+ "__int__",
506
+ "__invert__",
507
+ "__ior__",
508
+ "__ipow__",
509
+ "__irshift__",
510
+ "__isub__",
511
+ "__iter__",
512
+ "__itruediv__",
513
+ "__ixor__",
514
+ "__le__",
515
+ "__len__",
516
+ "__length_hint__",
517
+ "__lshift__",
518
+ "__lt__",
519
+ "__matmul__",
520
+ "__missing__",
521
+ "__mod__",
522
+ "__mul__",
523
+ "__ne__",
524
+ "__neg__",
525
+ "__new__",
526
+ "__next__",
527
+ "__or__",
528
+ "__pos__",
529
+ "__pow__",
530
+ "__prepare__",
531
+ "__radd__",
532
+ "__rand__",
533
+ "__rdivmod__",
534
+ "__repr__",
535
+ "__reversed__",
536
+ "__rfloordiv__",
537
+ "__rlshift__",
538
+ "__rmatmul__",
539
+ "__rmod__",
540
+ "__rmul__",
541
+ "__ror__",
542
+ "__round__",
543
+ "__rpow__",
544
+ "__rrshift__",
545
+ "__rshift__",
546
+ "__rsub__",
547
+ "__rtruediv__",
548
+ "__rxor__",
549
+ "__set__",
550
+ "__setattr__",
551
+ "__setitem__",
552
+ "__str__",
553
+ "__sub__",
554
+ "__subclasscheck__",
555
+ "__truediv__",
556
+ "__xor__",
557
+ ),
558
+ suffix=r"\b",
559
+ ),
560
+ Name.Function.Magic,
561
+ ),
562
+ ],
563
+ "magicvars": [
564
+ (
565
+ words(
566
+ (
567
+ "__annotations__",
568
+ "__bases__",
569
+ "__class__",
570
+ "__closure__",
571
+ "__code__",
572
+ "__defaults__",
573
+ "__dict__",
574
+ "__doc__",
575
+ "__file__",
576
+ "__func__",
577
+ "__globals__",
578
+ "__kwdefaults__",
579
+ "__module__",
580
+ "__mro__",
581
+ "__name__",
582
+ "__objclass__",
583
+ "__qualname__",
584
+ "__self__",
585
+ "__slots__",
586
+ "__weakref__",
587
+ ),
588
+ suffix=r"\b",
589
+ ),
590
+ Name.Variable.Magic,
591
+ ),
592
+ ],
593
+ "numbers": [
594
+ (
595
+ r"(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)"
596
+ r"([eE][+-]?\d(?:_?\d)*)?",
597
+ Number.Float,
598
+ ),
599
+ (r"\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?", Number.Float),
600
+ (r"0[oO](?:_?[0-7])+", Number.Oct),
601
+ (r"0[bB](?:_?[01])+", Number.Bin),
602
+ (r"0[xX](?:_?[a-fA-F0-9])+", Number.Hex),
603
+ (r"\d(?:_?\d)*", Number.Integer),
604
+ ],
605
+ "name": [
606
+ (r"@" + uni_name, Name.Decorator),
607
+ (r"@", Operator), # new matrix multiplication operator
608
+ (uni_name, Name),
609
+ ],
610
+ "varname": [
611
+ (uni_name, Name.Variable, "#pop"),
612
+ ],
613
+ "funcname": [
614
+ include("magicfuncs"),
615
+ (uni_name, Name.Function, "#pop"),
616
+ default("#pop"),
617
+ ],
618
+ "classname": [
619
+ (uni_name, Name.Class, "#pop"),
620
+ ],
621
+ "structname": [
622
+ (uni_name, Name.Struct, "#pop"),
623
+ ],
624
+ "import": [
625
+ (r"(\s+)(as)(\s+)", bygroups(Whitespace, Keyword, Whitespace)),
626
+ (r"\.", Name.Namespace),
627
+ (uni_name, Name.Namespace),
628
+ (r"(\s*)(,)(\s*)", bygroups(Whitespace, Operator, Whitespace)),
629
+ default("#pop"), # all else: go back
630
+ ],
631
+ "fromimport": [
632
+ (r"(\s+)(import)\b", bygroups(Whitespace, Keyword.Namespace), "#pop"),
633
+ (r"\.", Name.Namespace),
634
+ # if None occurs here, it's "raise x from None", since None can
635
+ # never be a module name
636
+ (r"None\b", Keyword.Constant, "#pop"),
637
+ (uni_name, Name.Namespace),
638
+ default("#pop"),
639
+ ],
640
+ "rfstringescape": [
641
+ (r"\{\{", String.Escape),
642
+ (r"\}\}", String.Escape),
643
+ ],
644
+ "fstringescape": [
645
+ include("rfstringescape"),
646
+ include("stringescape"),
647
+ ],
648
+ "bytesescape": [
649
+ (r'\\([\\abfnrtv"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})', String.Escape)
650
+ ],
651
+ "stringescape": [
652
+ (r"\\(N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})", String.Escape),
653
+ include("bytesescape"),
654
+ ],
655
+ "fstrings-single": fstring_rules(String.Single),
656
+ "fstrings-double": fstring_rules(String.Double),
657
+ "strings-single": innerstring_rules(String.Single),
658
+ "strings-double": innerstring_rules(String.Double),
659
+ "dqf": [
660
+ (r'"', String.Double, "#pop"),
661
+ (r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
662
+ include("fstrings-double"),
663
+ ],
664
+ "sqf": [
665
+ (r"'", String.Single, "#pop"),
666
+ (r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
667
+ include("fstrings-single"),
668
+ ],
669
+ "dqs": [
670
+ (r'"', String.Double, "#pop"),
671
+ (r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
672
+ include("strings-double"),
673
+ ],
674
+ "sqs": [
675
+ (r"'", String.Single, "#pop"),
676
+ (r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
677
+ include("strings-single"),
678
+ ],
679
+ "tdqf": [
680
+ (r'"""', String.Double, "#pop"),
681
+ include("fstrings-double"),
682
+ (r"\n", String.Double),
683
+ ],
684
+ "tsqf": [
685
+ (r"'''", String.Single, "#pop"),
686
+ include("fstrings-single"),
687
+ (r"\n", String.Single),
688
+ ],
689
+ "tdqs": [
690
+ (r'"""', String.Double, "#pop"),
691
+ include("strings-double"),
692
+ (r"\n", String.Double),
693
+ ],
694
+ "tsqs": [
695
+ (r"'''", String.Single, "#pop"),
696
+ include("strings-single"),
697
+ (r"\n", String.Single),
698
+ ],
699
+ }
700
+
701
+ def analyse_text(text):
702
+ # TODO supported?
703
+ if shebang_matches(text, r"mojo?"):
704
+ return 1.0
705
+ if "import " in text[:1000]:
706
+ return 0.9
707
+ return 0
temp_venv/lib/python3.13/site-packages/pygments/lexers/monte.py ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.monte
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the Monte programming language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.token import Comment, Error, Keyword, Name, Number, Operator, \
12
+ Punctuation, String, Whitespace
13
+ from pygments.lexer import RegexLexer, include, words
14
+
15
+ __all__ = ['MonteLexer']
16
+
17
+
18
+ # `var` handled separately
19
+ # `interface` handled separately
20
+ _declarations = ['bind', 'def', 'fn', 'object']
21
+ _methods = ['method', 'to']
22
+ _keywords = [
23
+ 'as', 'break', 'catch', 'continue', 'else', 'escape', 'exit', 'exports',
24
+ 'extends', 'finally', 'for', 'guards', 'if', 'implements', 'import',
25
+ 'in', 'match', 'meta', 'pass', 'return', 'switch', 'try', 'via', 'when',
26
+ 'while',
27
+ ]
28
+ _operators = [
29
+ # Unary
30
+ '~', '!',
31
+ # Binary
32
+ '+', '-', '*', '/', '%', '**', '&', '|', '^', '<<', '>>',
33
+ # Binary augmented
34
+ '+=', '-=', '*=', '/=', '%=', '**=', '&=', '|=', '^=', '<<=', '>>=',
35
+ # Comparison
36
+ '==', '!=', '<', '<=', '>', '>=', '<=>',
37
+ # Patterns and assignment
38
+ ':=', '?', '=~', '!~', '=>',
39
+ # Calls and sends
40
+ '.', '<-', '->',
41
+ ]
42
+ _escape_pattern = (
43
+ r'(?:\\x[0-9a-fA-F]{2}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|'
44
+ r'\\["\'\\bftnr])')
45
+ # _char = _escape_chars + [('.', String.Char)]
46
+ _identifier = r'[_a-zA-Z]\w*'
47
+
48
+ _constants = [
49
+ # Void constants
50
+ 'null',
51
+ # Bool constants
52
+ 'false', 'true',
53
+ # Double constants
54
+ 'Infinity', 'NaN',
55
+ # Special objects
56
+ 'M', 'Ref', 'throw', 'traceln',
57
+ ]
58
+
59
+ _guards = [
60
+ 'Any', 'Binding', 'Bool', 'Bytes', 'Char', 'DeepFrozen', 'Double',
61
+ 'Empty', 'Int', 'List', 'Map', 'Near', 'NullOk', 'Same', 'Selfless',
62
+ 'Set', 'Str', 'SubrangeGuard', 'Transparent', 'Void',
63
+ ]
64
+
65
+ _safeScope = [
66
+ '_accumulateList', '_accumulateMap', '_auditedBy', '_bind',
67
+ '_booleanFlow', '_comparer', '_equalizer', '_iterForever', '_loop',
68
+ '_makeBytes', '_makeDouble', '_makeFinalSlot', '_makeInt', '_makeList',
69
+ '_makeMap', '_makeMessageDesc', '_makeOrderedSpace', '_makeParamDesc',
70
+ '_makeProtocolDesc', '_makeSourceSpan', '_makeString', '_makeVarSlot',
71
+ '_makeVerbFacet', '_mapExtract', '_matchSame', '_quasiMatcher',
72
+ '_slotToBinding', '_splitList', '_suchThat', '_switchFailed',
73
+ '_validateFor', 'b__quasiParser', 'eval', 'import', 'm__quasiParser',
74
+ 'makeBrandPair', 'makeLazySlot', 'safeScope', 'simple__quasiParser',
75
+ ]
76
+
77
+
78
+ class MonteLexer(RegexLexer):
79
+ """
80
+ Lexer for the Monte programming language.
81
+ """
82
+ name = 'Monte'
83
+ url = 'https://monte.readthedocs.io/'
84
+ aliases = ['monte']
85
+ filenames = ['*.mt']
86
+ version_added = '2.2'
87
+
88
+ tokens = {
89
+ 'root': [
90
+ # Comments
91
+ (r'#[^\n]*\n', Comment),
92
+
93
+ # Docstrings
94
+ # Apologies for the non-greedy matcher here.
95
+ (r'/\*\*.*?\*/', String.Doc),
96
+
97
+ # `var` declarations
98
+ (r'\bvar\b', Keyword.Declaration, 'var'),
99
+
100
+ # `interface` declarations
101
+ (r'\binterface\b', Keyword.Declaration, 'interface'),
102
+
103
+ # method declarations
104
+ (words(_methods, prefix='\\b', suffix='\\b'),
105
+ Keyword, 'method'),
106
+
107
+ # All other declarations
108
+ (words(_declarations, prefix='\\b', suffix='\\b'),
109
+ Keyword.Declaration),
110
+
111
+ # Keywords
112
+ (words(_keywords, prefix='\\b', suffix='\\b'), Keyword),
113
+
114
+ # Literals
115
+ ('[+-]?0x[_0-9a-fA-F]+', Number.Hex),
116
+ (r'[+-]?[_0-9]+\.[_0-9]*([eE][+-]?[_0-9]+)?', Number.Float),
117
+ ('[+-]?[_0-9]+', Number.Integer),
118
+ ("'", String.Double, 'char'),
119
+ ('"', String.Double, 'string'),
120
+
121
+ # Quasiliterals
122
+ ('`', String.Backtick, 'ql'),
123
+
124
+ # Operators
125
+ (words(_operators), Operator),
126
+
127
+ # Verb operators
128
+ (_identifier + '=', Operator.Word),
129
+
130
+ # Safe scope constants
131
+ (words(_constants, prefix='\\b', suffix='\\b'),
132
+ Keyword.Pseudo),
133
+
134
+ # Safe scope guards
135
+ (words(_guards, prefix='\\b', suffix='\\b'), Keyword.Type),
136
+
137
+ # All other safe scope names
138
+ (words(_safeScope, prefix='\\b', suffix='\\b'),
139
+ Name.Builtin),
140
+
141
+ # Identifiers
142
+ (_identifier, Name),
143
+
144
+ # Punctuation
145
+ (r'\(|\)|\{|\}|\[|\]|:|,', Punctuation),
146
+
147
+ # Whitespace
148
+ (' +', Whitespace),
149
+
150
+ # Definite lexer errors
151
+ ('=', Error),
152
+ ],
153
+ 'char': [
154
+ # It is definitely an error to have a char of width == 0.
155
+ ("'", Error, 'root'),
156
+ (_escape_pattern, String.Escape, 'charEnd'),
157
+ ('.', String.Char, 'charEnd'),
158
+ ],
159
+ 'charEnd': [
160
+ ("'", String.Char, '#pop:2'),
161
+ # It is definitely an error to have a char of width > 1.
162
+ ('.', Error),
163
+ ],
164
+ # The state of things coming into an interface.
165
+ 'interface': [
166
+ (' +', Whitespace),
167
+ (_identifier, Name.Class, '#pop'),
168
+ include('root'),
169
+ ],
170
+ # The state of things coming into a method.
171
+ 'method': [
172
+ (' +', Whitespace),
173
+ (_identifier, Name.Function, '#pop'),
174
+ include('root'),
175
+ ],
176
+ 'string': [
177
+ ('"', String.Double, 'root'),
178
+ (_escape_pattern, String.Escape),
179
+ (r'\n', String.Double),
180
+ ('.', String.Double),
181
+ ],
182
+ 'ql': [
183
+ ('`', String.Backtick, 'root'),
184
+ (r'\$' + _escape_pattern, String.Escape),
185
+ (r'\$\$', String.Escape),
186
+ (r'@@', String.Escape),
187
+ (r'\$\{', String.Interpol, 'qlNest'),
188
+ (r'@\{', String.Interpol, 'qlNest'),
189
+ (r'\$' + _identifier, Name),
190
+ ('@' + _identifier, Name),
191
+ ('.', String.Backtick),
192
+ ],
193
+ 'qlNest': [
194
+ (r'\}', String.Interpol, '#pop'),
195
+ include('root'),
196
+ ],
197
+ # The state of things immediately following `var`.
198
+ 'var': [
199
+ (' +', Whitespace),
200
+ (_identifier, Name.Variable, '#pop'),
201
+ include('root'),
202
+ ],
203
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/mosel.py ADDED
@@ -0,0 +1,447 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.mosel
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the mosel language.
6
+ http://www.fico.com/en/products/fico-xpress-optimization
7
+
8
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.lexer import RegexLexer, words
13
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
14
+ Number, Punctuation
15
+
16
+ __all__ = ['MoselLexer']
17
+
18
+ FUNCTIONS = (
19
+ # core functions
20
+ '_',
21
+ 'abs',
22
+ 'arctan',
23
+ 'asproc',
24
+ 'assert',
25
+ 'bitflip',
26
+ 'bitneg',
27
+ 'bitset',
28
+ 'bitshift',
29
+ 'bittest',
30
+ 'bitval',
31
+ 'ceil',
32
+ 'cos',
33
+ 'create',
34
+ 'currentdate',
35
+ 'currenttime',
36
+ 'cutelt',
37
+ 'cutfirst',
38
+ 'cuthead',
39
+ 'cutlast',
40
+ 'cuttail',
41
+ 'datablock',
42
+ 'delcell',
43
+ 'exists',
44
+ 'exit',
45
+ 'exp',
46
+ 'exportprob',
47
+ 'fclose',
48
+ 'fflush',
49
+ 'finalize',
50
+ 'findfirst',
51
+ 'findlast',
52
+ 'floor',
53
+ 'fopen',
54
+ 'fselect',
55
+ 'fskipline',
56
+ 'fwrite',
57
+ 'fwrite_',
58
+ 'fwriteln',
59
+ 'fwriteln_',
60
+ 'getact',
61
+ 'getcoeff',
62
+ 'getcoeffs',
63
+ 'getdual',
64
+ 'getelt',
65
+ 'getfid',
66
+ 'getfirst',
67
+ 'getfname',
68
+ 'gethead',
69
+ 'getlast',
70
+ 'getobjval',
71
+ 'getparam',
72
+ 'getrcost',
73
+ 'getreadcnt',
74
+ 'getreverse',
75
+ 'getsize',
76
+ 'getslack',
77
+ 'getsol',
78
+ 'gettail',
79
+ 'gettype',
80
+ 'getvars',
81
+ 'isdynamic',
82
+ 'iseof',
83
+ 'isfinite',
84
+ 'ishidden',
85
+ 'isinf',
86
+ 'isnan',
87
+ 'isodd',
88
+ 'ln',
89
+ 'localsetparam',
90
+ 'log',
91
+ 'makesos1',
92
+ 'makesos2',
93
+ 'maxlist',
94
+ 'memoryuse',
95
+ 'minlist',
96
+ 'newmuid',
97
+ 'publish',
98
+ 'random',
99
+ 'read',
100
+ 'readln',
101
+ 'reset',
102
+ 'restoreparam',
103
+ 'reverse',
104
+ 'round',
105
+ 'setcoeff',
106
+ 'sethidden',
107
+ 'setioerr',
108
+ 'setmatherr',
109
+ 'setname',
110
+ 'setparam',
111
+ 'setrandseed',
112
+ 'setrange',
113
+ 'settype',
114
+ 'sin',
115
+ 'splithead',
116
+ 'splittail',
117
+ 'sqrt',
118
+ 'strfmt',
119
+ 'substr',
120
+ 'timestamp',
121
+ 'unpublish',
122
+ 'versionnum',
123
+ 'versionstr',
124
+ 'write',
125
+ 'write_',
126
+ 'writeln',
127
+ 'writeln_',
128
+
129
+ # mosel exam mmxprs | sed -n -e "s/ [pf][a-z]* \([a-zA-Z0-9_]*\).*/'\1',/p" | sort -u
130
+ 'addcut',
131
+ 'addcuts',
132
+ 'addmipsol',
133
+ 'basisstability',
134
+ 'calcsolinfo',
135
+ 'clearmipdir',
136
+ 'clearmodcut',
137
+ 'command',
138
+ 'copysoltoinit',
139
+ 'crossoverlpsol',
140
+ 'defdelayedrows',
141
+ 'defsecurevecs',
142
+ 'delcuts',
143
+ 'dropcuts',
144
+ 'estimatemarginals',
145
+ 'fixglobal',
146
+ 'flushmsgq',
147
+ 'getbstat',
148
+ 'getcnlist',
149
+ 'getcplist',
150
+ 'getdualray',
151
+ 'getiis',
152
+ 'getiissense',
153
+ 'getiistype',
154
+ 'getinfcause',
155
+ 'getinfeas',
156
+ 'getlb',
157
+ 'getlct',
158
+ 'getleft',
159
+ 'getloadedlinctrs',
160
+ 'getloadedmpvars',
161
+ 'getname',
162
+ 'getprimalray',
163
+ 'getprobstat',
164
+ 'getrange',
165
+ 'getright',
166
+ 'getsensrng',
167
+ 'getsize',
168
+ 'getsol',
169
+ 'gettype',
170
+ 'getub',
171
+ 'getvars',
172
+ 'gety',
173
+ 'hasfeature',
174
+ 'implies',
175
+ 'indicator',
176
+ 'initglobal',
177
+ 'ishidden',
178
+ 'isiisvalid',
179
+ 'isintegral',
180
+ 'loadbasis',
181
+ 'loadcuts',
182
+ 'loadlpsol',
183
+ 'loadmipsol',
184
+ 'loadprob',
185
+ 'maximise',
186
+ 'maximize',
187
+ 'minimise',
188
+ 'minimize',
189
+ 'postsolve',
190
+ 'readbasis',
191
+ 'readdirs',
192
+ 'readsol',
193
+ 'refinemipsol',
194
+ 'rejectintsol',
195
+ 'repairinfeas',
196
+ 'repairinfeas_deprec',
197
+ 'resetbasis',
198
+ 'resetiis',
199
+ 'resetsol',
200
+ 'savebasis',
201
+ 'savemipsol',
202
+ 'savesol',
203
+ 'savestate',
204
+ 'selectsol',
205
+ 'setarchconsistency',
206
+ 'setbstat',
207
+ 'setcallback',
208
+ 'setcbcutoff',
209
+ 'setgndata',
210
+ 'sethidden',
211
+ 'setlb',
212
+ 'setmipdir',
213
+ 'setmodcut',
214
+ 'setsol',
215
+ 'setub',
216
+ 'setucbdata',
217
+ 'stopoptimise',
218
+ 'stopoptimize',
219
+ 'storecut',
220
+ 'storecuts',
221
+ 'unloadprob',
222
+ 'uselastbarsol',
223
+ 'writebasis',
224
+ 'writedirs',
225
+ 'writeprob',
226
+ 'writesol',
227
+ 'xor',
228
+ 'xprs_addctr',
229
+ 'xprs_addindic',
230
+
231
+ # mosel exam mmsystem | sed -n -e "s/ [pf][a-z]* \([a-zA-Z0-9_]*\).*/'\1',/p" | sort -u
232
+ 'addmonths',
233
+ 'copytext',
234
+ 'cuttext',
235
+ 'deltext',
236
+ 'endswith',
237
+ 'erase',
238
+ 'expandpath',
239
+ 'fcopy',
240
+ 'fdelete',
241
+ 'findfiles',
242
+ 'findtext',
243
+ 'fmove',
244
+ 'formattext',
245
+ 'getasnumber',
246
+ 'getchar',
247
+ 'getcwd',
248
+ 'getdate',
249
+ 'getday',
250
+ 'getdaynum',
251
+ 'getdays',
252
+ 'getdirsep',
253
+ 'getdsoparam',
254
+ 'getendparse',
255
+ 'getenv',
256
+ 'getfsize',
257
+ 'getfstat',
258
+ 'getftime',
259
+ 'gethour',
260
+ 'getminute',
261
+ 'getmonth',
262
+ 'getmsec',
263
+ 'getoserrmsg',
264
+ 'getoserror',
265
+ 'getpathsep',
266
+ 'getqtype',
267
+ 'getsecond',
268
+ 'getsepchar',
269
+ 'getsize',
270
+ 'getstart',
271
+ 'getsucc',
272
+ 'getsysinfo',
273
+ 'getsysstat',
274
+ 'gettime',
275
+ 'gettmpdir',
276
+ 'gettrim',
277
+ 'getweekday',
278
+ 'getyear',
279
+ 'inserttext',
280
+ 'isvalid',
281
+ 'jointext',
282
+ 'makedir',
283
+ 'makepath',
284
+ 'newtar',
285
+ 'newzip',
286
+ 'nextfield',
287
+ 'openpipe',
288
+ 'parseextn',
289
+ 'parseint',
290
+ 'parsereal',
291
+ 'parsetext',
292
+ 'pastetext',
293
+ 'pathmatch',
294
+ 'pathsplit',
295
+ 'qsort',
296
+ 'quote',
297
+ 'readtextline',
298
+ 'regmatch',
299
+ 'regreplace',
300
+ 'removedir',
301
+ 'removefiles',
302
+ 'setchar',
303
+ 'setdate',
304
+ 'setday',
305
+ 'setdsoparam',
306
+ 'setendparse',
307
+ 'setenv',
308
+ 'sethour',
309
+ 'setminute',
310
+ 'setmonth',
311
+ 'setmsec',
312
+ 'setoserror',
313
+ 'setqtype',
314
+ 'setsecond',
315
+ 'setsepchar',
316
+ 'setstart',
317
+ 'setsucc',
318
+ 'settime',
319
+ 'settrim',
320
+ 'setyear',
321
+ 'sleep',
322
+ 'splittext',
323
+ 'startswith',
324
+ 'system',
325
+ 'tarlist',
326
+ 'textfmt',
327
+ 'tolower',
328
+ 'toupper',
329
+ 'trim',
330
+ 'untar',
331
+ 'unzip',
332
+ 'ziplist',
333
+
334
+ # mosel exam mmjobs | sed -n -e "s/ [pf][a-z]* \([a-zA-Z0-9_]*\).*/'\1',/p" | sort -u
335
+ 'canceltimer',
336
+ 'clearaliases',
337
+ 'compile',
338
+ 'connect',
339
+ 'detach',
340
+ 'disconnect',
341
+ 'dropnextevent',
342
+ 'findxsrvs',
343
+ 'getaliases',
344
+ 'getannidents',
345
+ 'getannotations',
346
+ 'getbanner',
347
+ 'getclass',
348
+ 'getdsoprop',
349
+ 'getdsopropnum',
350
+ 'getexitcode',
351
+ 'getfromgid',
352
+ 'getfromid',
353
+ 'getfromuid',
354
+ 'getgid',
355
+ 'gethostalias',
356
+ 'getid',
357
+ 'getmodprop',
358
+ 'getmodpropnum',
359
+ 'getnextevent',
360
+ 'getnode',
361
+ 'getrmtid',
362
+ 'getstatus',
363
+ 'getsysinfo',
364
+ 'gettimer',
365
+ 'getuid',
366
+ 'getvalue',
367
+ 'isqueueempty',
368
+ 'load',
369
+ 'nullevent',
370
+ 'peeknextevent',
371
+ 'resetmodpar',
372
+ 'run',
373
+ 'send',
374
+ 'setcontrol',
375
+ 'setdefstream',
376
+ 'setgid',
377
+ 'sethostalias',
378
+ 'setmodpar',
379
+ 'settimer',
380
+ 'setuid',
381
+ 'setworkdir',
382
+ 'stop',
383
+ 'unload',
384
+ 'wait',
385
+ 'waitexpired',
386
+ 'waitfor',
387
+ 'waitforend',
388
+ )
389
+
390
+
391
+ class MoselLexer(RegexLexer):
392
+ """
393
+ For the Mosel optimization language.
394
+ """
395
+ name = 'Mosel'
396
+ aliases = ['mosel']
397
+ filenames = ['*.mos']
398
+ url = 'https://www.fico.com/fico-xpress-optimization/docs/latest/mosel/mosel_lang/dhtml/moselreflang.html'
399
+ version_added = '2.6'
400
+
401
+ tokens = {
402
+ 'root': [
403
+ (r'\n', Text),
404
+ (r'\s+', Text.Whitespace),
405
+ (r'!.*?\n', Comment.Single),
406
+ (r'\(!(.|\n)*?!\)', Comment.Multiline),
407
+ (words((
408
+ 'and', 'as', 'break', 'case', 'count', 'declarations', 'do',
409
+ 'dynamic', 'elif', 'else', 'end-', 'end', 'evaluation', 'false',
410
+ 'forall', 'forward', 'from', 'function', 'hashmap', 'if',
411
+ 'imports', 'include', 'initialisations', 'initializations', 'inter',
412
+ 'max', 'min', 'model', 'namespace', 'next', 'not', 'nsgroup',
413
+ 'nssearch', 'of', 'options', 'or', 'package', 'parameters',
414
+ 'procedure', 'public', 'prod', 'record', 'repeat', 'requirements',
415
+ 'return', 'sum', 'then', 'to', 'true', 'union', 'until', 'uses',
416
+ 'version', 'while', 'with'), prefix=r'\b', suffix=r'\b'),
417
+ Keyword.Builtin),
418
+ (words((
419
+ 'range', 'array', 'set', 'list', 'mpvar', 'mpproblem', 'linctr',
420
+ 'nlctr', 'integer', 'string', 'real', 'boolean', 'text', 'time',
421
+ 'date', 'datetime', 'returned', 'Model', 'Mosel', 'counter',
422
+ 'xmldoc', 'is_sos1', 'is_sos2', 'is_integer', 'is_binary',
423
+ 'is_continuous', 'is_free', 'is_semcont', 'is_semint',
424
+ 'is_partint'), prefix=r'\b', suffix=r'\b'),
425
+ Keyword.Type),
426
+ (r'(\+|\-|\*|/|=|<=|>=|\||\^|<|>|<>|\.\.|\.|:=|::|:|in|mod|div)',
427
+ Operator),
428
+ (r'[()\[\]{},;]+', Punctuation),
429
+ (words(FUNCTIONS, prefix=r'\b', suffix=r'\b'), Name.Function),
430
+ (r'(\d+\.(?!\.)\d*|\.(?!.)\d+)([eE][+-]?\d+)?', Number.Float),
431
+ (r'\d+([eE][+-]?\d+)?', Number.Integer),
432
+ (r'[+-]?Infinity', Number.Integer),
433
+ (r'0[xX][0-9a-fA-F]+', Number),
434
+ (r'"', String.Double, 'double_quote'),
435
+ (r'\'', String.Single, 'single_quote'),
436
+ (r'(\w+|(\.(?!\.)))', Text),
437
+ ],
438
+ 'single_quote': [
439
+ (r'\'', String.Single, '#pop'),
440
+ (r'[^\']+', String.Single),
441
+ ],
442
+ 'double_quote': [
443
+ (r'(\\"|\\[0-7]{1,3}\D|\\[abfnrtv]|\\\\)', String.Escape),
444
+ (r'\"', String.Double, '#pop'),
445
+ (r'[^"\\]+', String.Double),
446
+ ],
447
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/nimrod.py ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.nimrod
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the Nim language (formerly known as Nimrod).
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, default, bygroups
14
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
+ Number, Punctuation, Error
16
+
17
+ __all__ = ['NimrodLexer']
18
+
19
+
20
+ class NimrodLexer(RegexLexer):
21
+ """
22
+ For Nim source code.
23
+ """
24
+
25
+ name = 'Nimrod'
26
+ url = 'http://nim-lang.org/'
27
+ aliases = ['nimrod', 'nim']
28
+ filenames = ['*.nim', '*.nimrod']
29
+ mimetypes = ['text/x-nim']
30
+ version_added = '1.5'
31
+
32
+ flags = re.MULTILINE | re.IGNORECASE
33
+
34
+ def underscorize(words):
35
+ newWords = []
36
+ new = []
37
+ for word in words:
38
+ for ch in word:
39
+ new.append(ch)
40
+ new.append("_?")
41
+ newWords.append(''.join(new))
42
+ new = []
43
+ return "|".join(newWords)
44
+
45
+ keywords = [
46
+ 'addr', 'and', 'as', 'asm', 'bind', 'block', 'break', 'case',
47
+ 'cast', 'concept', 'const', 'continue', 'converter', 'defer', 'discard',
48
+ 'distinct', 'div', 'do', 'elif', 'else', 'end', 'enum', 'except',
49
+ 'export', 'finally', 'for', 'if', 'in', 'yield', 'interface',
50
+ 'is', 'isnot', 'iterator', 'let', 'mixin', 'mod',
51
+ 'not', 'notin', 'object', 'of', 'or', 'out', 'ptr', 'raise',
52
+ 'ref', 'return', 'shl', 'shr', 'static', 'try',
53
+ 'tuple', 'type', 'using', 'when', 'while', 'xor'
54
+ ]
55
+
56
+ keywordsPseudo = [
57
+ 'nil', 'true', 'false'
58
+ ]
59
+
60
+ opWords = [
61
+ 'and', 'or', 'not', 'xor', 'shl', 'shr', 'div', 'mod', 'in',
62
+ 'notin', 'is', 'isnot'
63
+ ]
64
+
65
+ types = [
66
+ 'int', 'int8', 'int16', 'int32', 'int64', 'float', 'float32', 'float64',
67
+ 'bool', 'char', 'range', 'array', 'seq', 'set', 'string'
68
+ ]
69
+
70
+ tokens = {
71
+ 'root': [
72
+ # Comments
73
+ (r'##\[', String.Doc, 'doccomment'),
74
+ (r'##.*$', String.Doc),
75
+ (r'#\[', Comment.Multiline, 'comment'),
76
+ (r'#.*$', Comment),
77
+
78
+ # Pragmas
79
+ (r'\{\.', String.Other, 'pragma'),
80
+
81
+ # Operators
82
+ (r'[*=><+\-/@$~&%!?|\\\[\]]', Operator),
83
+ (r'\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;',
84
+ Punctuation),
85
+
86
+ # Case statement branch
87
+ (r'(\n\s*)(of)(\s)', bygroups(Text.Whitespace, Keyword,
88
+ Text.Whitespace), 'casebranch'),
89
+
90
+ # Strings
91
+ (r'(?:[\w]+)"', String, 'rdqs'),
92
+ (r'"""', String.Double, 'tdqs'),
93
+ ('"', String, 'dqs'),
94
+
95
+ # Char
96
+ ("'", String.Char, 'chars'),
97
+
98
+ # Keywords
99
+ (rf'({underscorize(opWords)})\b', Operator.Word),
100
+ (r'(proc|func|method|macro|template)(\s)(?![(\[\]])',
101
+ bygroups(Keyword, Text.Whitespace), 'funcname'),
102
+ (rf'({underscorize(keywords)})\b', Keyword),
103
+ (r'({})\b'.format(underscorize(['from', 'import', 'include', 'export'])),
104
+ Keyword.Namespace),
105
+ (r'(v_?a_?r)\b', Keyword.Declaration),
106
+ (rf'({underscorize(types)})\b', Name.Builtin),
107
+ (rf'({underscorize(keywordsPseudo)})\b', Keyword.Pseudo),
108
+
109
+ # Identifiers
110
+ (r'\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*', Name),
111
+
112
+ # Numbers
113
+ (r'[0-9][0-9_]*(?=([e.]|\'f(32|64)))',
114
+ Number.Float, ('float-suffix', 'float-number')),
115
+ (r'0x[a-f0-9][a-f0-9_]*', Number.Hex, 'int-suffix'),
116
+ (r'0b[01][01_]*', Number.Bin, 'int-suffix'),
117
+ (r'0o[0-7][0-7_]*', Number.Oct, 'int-suffix'),
118
+ (r'[0-9][0-9_]*', Number.Integer, 'int-suffix'),
119
+
120
+ # Whitespace
121
+ (r'\s+', Text.Whitespace),
122
+ (r'.+$', Error),
123
+ ],
124
+ 'chars': [
125
+ (r'\\([\\abcefnrtvl"\']|x[a-f0-9]{2}|[0-9]{1,3})', String.Escape),
126
+ (r"'", String.Char, '#pop'),
127
+ (r".", String.Char)
128
+ ],
129
+ 'strings': [
130
+ (r'(?<!\$)\$(\d+|#|\w+)+', String.Interpol),
131
+ (r'[^\\\'"$\n]+', String),
132
+ # quotes, dollars and backslashes must be parsed one at a time
133
+ (r'[\'"\\]', String),
134
+ # unhandled string formatting sign
135
+ (r'\$', String)
136
+ # newlines are an error (use "nl" state)
137
+ ],
138
+ 'doccomment': [
139
+ (r'[^\]#]+', String.Doc),
140
+ (r'##\[', String.Doc, '#push'),
141
+ (r'\]##', String.Doc, '#pop'),
142
+ (r'[\]#]', String.Doc),
143
+ ],
144
+ 'comment': [
145
+ (r'[^\]#]+', Comment.Multiline),
146
+ (r'#\[', Comment.Multiline, '#push'),
147
+ (r'\]#', Comment.Multiline, '#pop'),
148
+ (r'[\]#]', Comment.Multiline),
149
+ ],
150
+ 'dqs': [
151
+ (r'\\([\\abcefnrtvl"\']|\n|x[a-f0-9]{2}|[0-9]{1,3})',
152
+ String.Escape),
153
+ (r'"', String, '#pop'),
154
+ include('strings')
155
+ ],
156
+ 'rdqs': [
157
+ (r'"(?!")', String, '#pop'),
158
+ (r'""', String.Escape),
159
+ include('strings')
160
+ ],
161
+ 'tdqs': [
162
+ (r'"""', String.Double, '#pop'),
163
+ include('strings'),
164
+ (r'\n', String.Double)
165
+ ],
166
+ 'funcname': [
167
+ (r'((?![\d_])\w)(((?!_)\w)|(_(?!_)\w))*', Name.Function, '#pop'),
168
+ (r'`.+`', Name.Function, '#pop')
169
+ ],
170
+ 'nl': [
171
+ (r'\n', String)
172
+ ],
173
+ 'float-number': [
174
+ (r'\.(?!\.)[0-9_]*[f]*', Number.Float),
175
+ (r'e[+-]?[0-9][0-9_]*', Number.Float),
176
+ default('#pop')
177
+ ],
178
+ 'float-suffix': [
179
+ (r'\'f(32|64)', Number.Float),
180
+ default('#pop')
181
+ ],
182
+ 'int-suffix': [
183
+ (r'\'i(32|64)', Number.Integer.Long),
184
+ (r'\'i(8|16)', Number.Integer),
185
+ default('#pop')
186
+ ],
187
+ 'casebranch': [
188
+ (r',', Punctuation),
189
+ (r'[\n ]+', Text.Whitespace),
190
+ (r':', Operator, '#pop'),
191
+ (r'\w+|[^:]', Name.Label),
192
+ ],
193
+ 'pragma': [
194
+ (r'[:,]', Text),
195
+ (r'[\n ]+', Text.Whitespace),
196
+ (r'\.\}', String.Other, '#pop'),
197
+ (r'\w+|\W+|[^.}]', String.Other),
198
+ ],
199
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/nix.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.nix
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the NixOS Nix language.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include
14
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
+ Number, Punctuation, Literal
16
+
17
+ __all__ = ['NixLexer']
18
+
19
+
20
+ class NixLexer(RegexLexer):
21
+ """
22
+ For the Nix language.
23
+ """
24
+
25
+ name = 'Nix'
26
+ url = 'http://nixos.org/nix/'
27
+ aliases = ['nixos', 'nix']
28
+ filenames = ['*.nix']
29
+ mimetypes = ['text/x-nix']
30
+ version_added = '2.0'
31
+
32
+ keywords = ['rec', 'with', 'let', 'in', 'inherit', 'assert', 'if',
33
+ 'else', 'then', '...']
34
+ builtins = ['import', 'abort', 'baseNameOf', 'dirOf', 'isNull', 'builtins',
35
+ 'map', 'removeAttrs', 'throw', 'toString', 'derivation']
36
+ operators = ['++', '+', '?', '.', '!', '//', '==', '/',
37
+ '!=', '&&', '||', '->', '=', '<', '>', '*', '-']
38
+
39
+ punctuations = ["(", ")", "[", "]", ";", "{", "}", ":", ",", "@"]
40
+
41
+ tokens = {
42
+ 'root': [
43
+ # comments starting with #
44
+ (r'#.*$', Comment.Single),
45
+
46
+ # multiline comments
47
+ (r'/\*', Comment.Multiline, 'comment'),
48
+
49
+ # whitespace
50
+ (r'\s+', Text),
51
+
52
+ # keywords
53
+ ('({})'.format('|'.join(re.escape(entry) + '\\b' for entry in keywords)), Keyword),
54
+
55
+ # highlight the builtins
56
+ ('({})'.format('|'.join(re.escape(entry) + '\\b' for entry in builtins)),
57
+ Name.Builtin),
58
+
59
+ (r'\b(true|false|null)\b', Name.Constant),
60
+
61
+ # floats
62
+ (r'-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?', Number.Float),
63
+
64
+ # integers
65
+ (r'-?[0-9]+', Number.Integer),
66
+
67
+ # paths
68
+ (r'[\w.+-]*(\/[\w.+-]+)+', Literal),
69
+ (r'~(\/[\w.+-]+)+', Literal),
70
+ (r'\<[\w.+-]+(\/[\w.+-]+)*\>', Literal),
71
+
72
+ # operators
73
+ ('({})'.format('|'.join(re.escape(entry) for entry in operators)),
74
+ Operator),
75
+
76
+ # word operators
77
+ (r'\b(or|and)\b', Operator.Word),
78
+
79
+ (r'\{', Punctuation, 'block'),
80
+
81
+ # punctuations
82
+ ('({})'.format('|'.join(re.escape(entry) for entry in punctuations)), Punctuation),
83
+
84
+ # strings
85
+ (r'"', String.Double, 'doublequote'),
86
+ (r"''", String.Multiline, 'multiline'),
87
+
88
+ # urls
89
+ (r'[a-zA-Z][a-zA-Z0-9\+\-\.]*\:[\w%/?:@&=+$,\\.!~*\'-]+', Literal),
90
+
91
+ # names of variables
92
+ (r'[\w-]+(?=\s*=)', String.Symbol),
93
+ (r'[a-zA-Z_][\w\'-]*', Text),
94
+
95
+ (r"\$\{", String.Interpol, 'antiquote'),
96
+ ],
97
+ 'comment': [
98
+ (r'[^/*]+', Comment.Multiline),
99
+ (r'/\*', Comment.Multiline, '#push'),
100
+ (r'\*/', Comment.Multiline, '#pop'),
101
+ (r'[*/]', Comment.Multiline),
102
+ ],
103
+ 'multiline': [
104
+ (r"''(\$|'|\\n|\\r|\\t|\\)", String.Escape),
105
+ (r"''", String.Multiline, '#pop'),
106
+ (r'\$\{', String.Interpol, 'antiquote'),
107
+ (r"[^'\$]+", String.Multiline),
108
+ (r"\$[^\{']", String.Multiline),
109
+ (r"'[^']", String.Multiline),
110
+ (r"\$(?=')", String.Multiline),
111
+ ],
112
+ 'doublequote': [
113
+ (r'\\(\\|"|\$|n)', String.Escape),
114
+ (r'"', String.Double, '#pop'),
115
+ (r'\$\{', String.Interpol, 'antiquote'),
116
+ (r'[^"\\\$]+', String.Double),
117
+ (r'\$[^\{"]', String.Double),
118
+ (r'\$(?=")', String.Double),
119
+ (r'\\', String.Double),
120
+ ],
121
+ 'antiquote': [
122
+ (r"\}", String.Interpol, '#pop'),
123
+ # TODO: we should probably escape also here ''${ \${
124
+ (r"\$\{", String.Interpol, '#push'),
125
+ include('root'),
126
+ ],
127
+ 'block': [
128
+ (r"\}", Punctuation, '#pop'),
129
+ include('root'),
130
+ ],
131
+ }
132
+
133
+ def analyse_text(text):
134
+ rv = 0.0
135
+ # TODO: let/in
136
+ if re.search(r'import.+?<[^>]+>', text):
137
+ rv += 0.4
138
+ if re.search(r'mkDerivation\s+(\(|\{|rec)', text):
139
+ rv += 0.4
140
+ if re.search(r'=\s+mkIf\s+', text):
141
+ rv += 0.4
142
+ if re.search(r'\{[a-zA-Z,\s]+\}:', text):
143
+ rv += 0.1
144
+ return rv
temp_venv/lib/python3.13/site-packages/pygments/lexers/numbair.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.numbair
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for other Numba Intermediate Representation.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, include, bygroups, words
12
+ from pygments.token import Whitespace, Name, String, Punctuation, Keyword, \
13
+ Operator, Number
14
+
15
+ __all__ = ["NumbaIRLexer"]
16
+
17
+ class NumbaIRLexer(RegexLexer):
18
+ """
19
+ Lexer for Numba IR
20
+ """
21
+ name = 'Numba_IR'
22
+ url = "https://numba.readthedocs.io/en/stable/developer/architecture.html#stage-2-generate-the-numba-ir"
23
+ aliases = ['numba_ir', 'numbair']
24
+ filenames = ['*.numba_ir']
25
+ mimetypes = ['text/x-numba_ir', 'text/x-numbair']
26
+ version_added = '2.19'
27
+
28
+ identifier = r'\$[a-zA-Z0-9._]+'
29
+ fun_or_var = r'([a-zA-Z_]+[a-zA-Z0-9]*)'
30
+
31
+ tokens = {
32
+ 'root' : [
33
+ (r'(label)(\ [0-9]+)(:)$',
34
+ bygroups(Keyword, Name.Label, Punctuation)),
35
+
36
+ (r'=', Operator),
37
+ include('whitespace'),
38
+ include('keyword'),
39
+
40
+ (identifier, Name.Variable),
41
+ (fun_or_var + r'(\()',
42
+ bygroups(Name.Function, Punctuation)),
43
+ (fun_or_var + r'(\=)',
44
+ bygroups(Name.Attribute, Punctuation)),
45
+ (fun_or_var, Name.Constant),
46
+ (r'[0-9]+', Number),
47
+
48
+ # <built-in function some>
49
+ (r'<[^>\n]*>', String),
50
+
51
+ (r'[=<>{}\[\]()*.,!\':]|x\b', Punctuation)
52
+ ],
53
+
54
+ 'keyword':[
55
+ (words((
56
+ 'del', 'jump', 'call', 'branch',
57
+ ), suffix=' '), Keyword),
58
+ ],
59
+
60
+ 'whitespace': [
61
+ (r'(\n|\s)+', Whitespace),
62
+ ],
63
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/objective.py ADDED
@@ -0,0 +1,513 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.objective
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Objective-C family languages.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, bygroups, using, this, words, \
14
+ inherit, default
15
+ from pygments.token import Text, Keyword, Name, String, Operator, \
16
+ Number, Punctuation, Literal, Comment, Whitespace
17
+
18
+ from pygments.lexers.c_cpp import CLexer, CppLexer
19
+
20
+ __all__ = ['ObjectiveCLexer', 'ObjectiveCppLexer', 'LogosLexer', 'SwiftLexer']
21
+
22
+
23
+ def objective(baselexer):
24
+ """
25
+ Generate a subclass of baselexer that accepts the Objective-C syntax
26
+ extensions.
27
+ """
28
+
29
+ # Have to be careful not to accidentally match JavaDoc/Doxygen syntax here,
30
+ # since that's quite common in ordinary C/C++ files. It's OK to match
31
+ # JavaDoc/Doxygen keywords that only apply to Objective-C, mind.
32
+ #
33
+ # The upshot of this is that we CANNOT match @class or @interface
34
+ _oc_keywords = re.compile(r'@(?:end|implementation|protocol)')
35
+
36
+ # Matches [ <ws>? identifier <ws> ( identifier <ws>? ] | identifier? : )
37
+ # (note the identifier is *optional* when there is a ':'!)
38
+ _oc_message = re.compile(r'\[\s*[a-zA-Z_]\w*\s+'
39
+ r'(?:[a-zA-Z_]\w*\s*\]|'
40
+ r'(?:[a-zA-Z_]\w*)?:)')
41
+
42
+ class GeneratedObjectiveCVariant(baselexer):
43
+ """
44
+ Implements Objective-C syntax on top of an existing C family lexer.
45
+ """
46
+
47
+ tokens = {
48
+ 'statements': [
49
+ (r'@"', String, 'string'),
50
+ (r'@(YES|NO)', Number),
51
+ (r"@'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
52
+ (r'@(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?', Number.Float),
53
+ (r'@(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
54
+ (r'@0x[0-9a-fA-F]+[Ll]?', Number.Hex),
55
+ (r'@0[0-7]+[Ll]?', Number.Oct),
56
+ (r'@\d+[Ll]?', Number.Integer),
57
+ (r'@\(', Literal, 'literal_number'),
58
+ (r'@\[', Literal, 'literal_array'),
59
+ (r'@\{', Literal, 'literal_dictionary'),
60
+ (words((
61
+ '@selector', '@private', '@protected', '@public', '@encode',
62
+ '@synchronized', '@try', '@throw', '@catch', '@finally',
63
+ '@end', '@property', '@synthesize', '__bridge', '__bridge_transfer',
64
+ '__autoreleasing', '__block', '__weak', '__strong', 'weak', 'strong',
65
+ 'copy', 'retain', 'assign', 'unsafe_unretained', 'atomic', 'nonatomic',
66
+ 'readonly', 'readwrite', 'setter', 'getter', 'typeof', 'in',
67
+ 'out', 'inout', 'release', 'class', '@dynamic', '@optional',
68
+ '@required', '@autoreleasepool', '@import'), suffix=r'\b'),
69
+ Keyword),
70
+ (words(('id', 'instancetype', 'Class', 'IMP', 'SEL', 'BOOL',
71
+ 'IBOutlet', 'IBAction', 'unichar'), suffix=r'\b'),
72
+ Keyword.Type),
73
+ (r'@(true|false|YES|NO)\n', Name.Builtin),
74
+ (r'(YES|NO|nil|self|super)\b', Name.Builtin),
75
+ # Carbon types
76
+ (r'(Boolean|UInt8|SInt8|UInt16|SInt16|UInt32|SInt32)\b', Keyword.Type),
77
+ # Carbon built-ins
78
+ (r'(TRUE|FALSE)\b', Name.Builtin),
79
+ (r'(@interface|@implementation)(\s+)', bygroups(Keyword, Text),
80
+ ('#pop', 'oc_classname')),
81
+ (r'(@class|@protocol)(\s+)', bygroups(Keyword, Text),
82
+ ('#pop', 'oc_forward_classname')),
83
+ # @ can also prefix other expressions like @{...} or @(...)
84
+ (r'@', Punctuation),
85
+ inherit,
86
+ ],
87
+ 'oc_classname': [
88
+ # interface definition that inherits
89
+ (r'([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?(\s*)(\{)',
90
+ bygroups(Name.Class, Text, Name.Class, Text, Punctuation),
91
+ ('#pop', 'oc_ivars')),
92
+ (r'([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?',
93
+ bygroups(Name.Class, Text, Name.Class), '#pop'),
94
+ # interface definition for a category
95
+ (r'([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))(\s*)(\{)',
96
+ bygroups(Name.Class, Text, Name.Label, Text, Punctuation),
97
+ ('#pop', 'oc_ivars')),
98
+ (r'([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))',
99
+ bygroups(Name.Class, Text, Name.Label), '#pop'),
100
+ # simple interface / implementation
101
+ (r'([a-zA-Z$_][\w$]*)(\s*)(\{)',
102
+ bygroups(Name.Class, Text, Punctuation), ('#pop', 'oc_ivars')),
103
+ (r'([a-zA-Z$_][\w$]*)', Name.Class, '#pop')
104
+ ],
105
+ 'oc_forward_classname': [
106
+ (r'([a-zA-Z$_][\w$]*)(\s*,\s*)',
107
+ bygroups(Name.Class, Text), 'oc_forward_classname'),
108
+ (r'([a-zA-Z$_][\w$]*)(\s*;?)',
109
+ bygroups(Name.Class, Text), '#pop')
110
+ ],
111
+ 'oc_ivars': [
112
+ include('whitespace'),
113
+ include('statements'),
114
+ (';', Punctuation),
115
+ (r'\{', Punctuation, '#push'),
116
+ (r'\}', Punctuation, '#pop'),
117
+ ],
118
+ 'root': [
119
+ # methods
120
+ (r'^([-+])(\s*)' # method marker
121
+ r'(\(.*?\))?(\s*)' # return type
122
+ r'([a-zA-Z$_][\w$]*:?)', # begin of method name
123
+ bygroups(Punctuation, Text, using(this),
124
+ Text, Name.Function),
125
+ 'method'),
126
+ inherit,
127
+ ],
128
+ 'method': [
129
+ include('whitespace'),
130
+ # TODO unsure if ellipses are allowed elsewhere, see
131
+ # discussion in Issue 789
132
+ (r',', Punctuation),
133
+ (r'\.\.\.', Punctuation),
134
+ (r'(\(.*?\))(\s*)([a-zA-Z$_][\w$]*)',
135
+ bygroups(using(this), Text, Name.Variable)),
136
+ (r'[a-zA-Z$_][\w$]*:', Name.Function),
137
+ (';', Punctuation, '#pop'),
138
+ (r'\{', Punctuation, 'function'),
139
+ default('#pop'),
140
+ ],
141
+ 'literal_number': [
142
+ (r'\(', Punctuation, 'literal_number_inner'),
143
+ (r'\)', Literal, '#pop'),
144
+ include('statement'),
145
+ ],
146
+ 'literal_number_inner': [
147
+ (r'\(', Punctuation, '#push'),
148
+ (r'\)', Punctuation, '#pop'),
149
+ include('statement'),
150
+ ],
151
+ 'literal_array': [
152
+ (r'\[', Punctuation, 'literal_array_inner'),
153
+ (r'\]', Literal, '#pop'),
154
+ include('statement'),
155
+ ],
156
+ 'literal_array_inner': [
157
+ (r'\[', Punctuation, '#push'),
158
+ (r'\]', Punctuation, '#pop'),
159
+ include('statement'),
160
+ ],
161
+ 'literal_dictionary': [
162
+ (r'\}', Literal, '#pop'),
163
+ include('statement'),
164
+ ],
165
+ }
166
+
167
+ def analyse_text(text):
168
+ if _oc_keywords.search(text):
169
+ return 1.0
170
+ elif '@"' in text: # strings
171
+ return 0.8
172
+ elif re.search('@[0-9]+', text):
173
+ return 0.7
174
+ elif _oc_message.search(text):
175
+ return 0.8
176
+ return 0
177
+
178
+ def get_tokens_unprocessed(self, text, stack=('root',)):
179
+ from pygments.lexers._cocoa_builtins import COCOA_INTERFACES, \
180
+ COCOA_PROTOCOLS, COCOA_PRIMITIVES
181
+
182
+ for index, token, value in \
183
+ baselexer.get_tokens_unprocessed(self, text, stack):
184
+ if token is Name or token is Name.Class:
185
+ if value in COCOA_INTERFACES or value in COCOA_PROTOCOLS \
186
+ or value in COCOA_PRIMITIVES:
187
+ token = Name.Builtin.Pseudo
188
+
189
+ yield index, token, value
190
+
191
+ return GeneratedObjectiveCVariant
192
+
193
+
194
+ class ObjectiveCLexer(objective(CLexer)):
195
+ """
196
+ For Objective-C source code with preprocessor directives.
197
+ """
198
+
199
+ name = 'Objective-C'
200
+ url = 'https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html'
201
+ aliases = ['objective-c', 'objectivec', 'obj-c', 'objc']
202
+ filenames = ['*.m', '*.h']
203
+ mimetypes = ['text/x-objective-c']
204
+ version_added = ''
205
+ priority = 0.05 # Lower than C
206
+
207
+
208
+ class ObjectiveCppLexer(objective(CppLexer)):
209
+ """
210
+ For Objective-C++ source code with preprocessor directives.
211
+ """
212
+
213
+ name = 'Objective-C++'
214
+ aliases = ['objective-c++', 'objectivec++', 'obj-c++', 'objc++']
215
+ filenames = ['*.mm', '*.hh']
216
+ mimetypes = ['text/x-objective-c++']
217
+ version_added = ''
218
+ priority = 0.05 # Lower than C++
219
+
220
+
221
+ class LogosLexer(ObjectiveCppLexer):
222
+ """
223
+ For Logos + Objective-C source code with preprocessor directives.
224
+ """
225
+
226
+ name = 'Logos'
227
+ aliases = ['logos']
228
+ filenames = ['*.x', '*.xi', '*.xm', '*.xmi']
229
+ mimetypes = ['text/x-logos']
230
+ version_added = '1.6'
231
+ priority = 0.25
232
+
233
+ tokens = {
234
+ 'statements': [
235
+ (r'(%orig|%log)\b', Keyword),
236
+ (r'(%c)\b(\()(\s*)([a-zA-Z$_][\w$]*)(\s*)(\))',
237
+ bygroups(Keyword, Punctuation, Text, Name.Class, Text, Punctuation)),
238
+ (r'(%init)\b(\()',
239
+ bygroups(Keyword, Punctuation), 'logos_init_directive'),
240
+ (r'(%init)(?=\s*;)', bygroups(Keyword)),
241
+ (r'(%hook|%group)(\s+)([a-zA-Z$_][\w$]+)',
242
+ bygroups(Keyword, Text, Name.Class), '#pop'),
243
+ (r'(%subclass)(\s+)', bygroups(Keyword, Text),
244
+ ('#pop', 'logos_classname')),
245
+ inherit,
246
+ ],
247
+ 'logos_init_directive': [
248
+ (r'\s+', Text),
249
+ (',', Punctuation, ('logos_init_directive', '#pop')),
250
+ (r'([a-zA-Z$_][\w$]*)(\s*)(=)(\s*)([^);]*)',
251
+ bygroups(Name.Class, Text, Punctuation, Text, Text)),
252
+ (r'([a-zA-Z$_][\w$]*)', Name.Class),
253
+ (r'\)', Punctuation, '#pop'),
254
+ ],
255
+ 'logos_classname': [
256
+ (r'([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?',
257
+ bygroups(Name.Class, Text, Name.Class), '#pop'),
258
+ (r'([a-zA-Z$_][\w$]*)', Name.Class, '#pop')
259
+ ],
260
+ 'root': [
261
+ (r'(%subclass)(\s+)', bygroups(Keyword, Text),
262
+ 'logos_classname'),
263
+ (r'(%hook|%group)(\s+)([a-zA-Z$_][\w$]+)',
264
+ bygroups(Keyword, Text, Name.Class)),
265
+ (r'(%config)(\s*\(\s*)(\w+)(\s*=)(.*?)(\)\s*)',
266
+ bygroups(Keyword, Text, Name.Variable, Text, String, Text)),
267
+ (r'(%ctor)(\s*)(\{)', bygroups(Keyword, Text, Punctuation),
268
+ 'function'),
269
+ (r'(%new)(\s*)(\()(.*?)(\))',
270
+ bygroups(Keyword, Text, Keyword, String, Keyword)),
271
+ (r'(\s*)(%end)(\s*)', bygroups(Text, Keyword, Text)),
272
+ inherit,
273
+ ],
274
+ }
275
+
276
+ _logos_keywords = re.compile(r'%(?:hook|ctor|init|c\()')
277
+
278
+ def analyse_text(text):
279
+ if LogosLexer._logos_keywords.search(text):
280
+ return 1.0
281
+ return 0
282
+
283
+
284
+ class SwiftLexer(RegexLexer):
285
+ """
286
+ For Swift source.
287
+ """
288
+ name = 'Swift'
289
+ url = 'https://www.swift.org/'
290
+ filenames = ['*.swift']
291
+ aliases = ['swift']
292
+ mimetypes = ['text/x-swift']
293
+ version_added = '2.0'
294
+
295
+ tokens = {
296
+ 'root': [
297
+ # Whitespace and Comments
298
+ (r'\n', Text),
299
+ (r'\s+', Whitespace),
300
+ (r'//', Comment.Single, 'comment-single'),
301
+ (r'/\*', Comment.Multiline, 'comment-multi'),
302
+ (r'#(if|elseif|else|endif|available)\b', Comment.Preproc, 'preproc'),
303
+
304
+ # Keywords
305
+ include('keywords'),
306
+
307
+ # Global Types
308
+ (words((
309
+ 'Array', 'AutoreleasingUnsafeMutablePointer', 'BidirectionalReverseView',
310
+ 'Bit', 'Bool', 'CFunctionPointer', 'COpaquePointer', 'CVaListPointer',
311
+ 'Character', 'ClosedInterval', 'CollectionOfOne', 'ContiguousArray',
312
+ 'Dictionary', 'DictionaryGenerator', 'DictionaryIndex', 'Double',
313
+ 'EmptyCollection', 'EmptyGenerator', 'EnumerateGenerator',
314
+ 'EnumerateSequence', 'FilterCollectionView',
315
+ 'FilterCollectionViewIndex', 'FilterGenerator', 'FilterSequenceView',
316
+ 'Float', 'Float80', 'FloatingPointClassification', 'GeneratorOf',
317
+ 'GeneratorOfOne', 'GeneratorSequence', 'HalfOpenInterval', 'HeapBuffer',
318
+ 'HeapBufferStorage', 'ImplicitlyUnwrappedOptional', 'IndexingGenerator',
319
+ 'Int', 'Int16', 'Int32', 'Int64', 'Int8', 'LazyBidirectionalCollection',
320
+ 'LazyForwardCollection', 'LazyRandomAccessCollection',
321
+ 'LazySequence', 'MapCollectionView', 'MapSequenceGenerator',
322
+ 'MapSequenceView', 'MirrorDisposition', 'ObjectIdentifier', 'OnHeap',
323
+ 'Optional', 'PermutationGenerator', 'QuickLookObject',
324
+ 'RandomAccessReverseView', 'Range', 'RangeGenerator', 'RawByte', 'Repeat',
325
+ 'ReverseBidirectionalIndex', 'ReverseRandomAccessIndex', 'SequenceOf',
326
+ 'SinkOf', 'Slice', 'StaticString', 'StrideThrough', 'StrideThroughGenerator',
327
+ 'StrideTo', 'StrideToGenerator', 'String', 'UInt', 'UInt16', 'UInt32',
328
+ 'UInt64', 'UInt8', 'UTF16', 'UTF32', 'UTF8', 'UnicodeDecodingResult',
329
+ 'UnicodeScalar', 'Unmanaged', 'UnsafeBufferPointer',
330
+ 'UnsafeBufferPointerGenerator', 'UnsafeMutableBufferPointer',
331
+ 'UnsafeMutablePointer', 'UnsafePointer', 'Zip2', 'ZipGenerator2',
332
+ # Protocols
333
+ 'AbsoluteValuable', 'AnyObject', 'ArrayLiteralConvertible',
334
+ 'BidirectionalIndexType', 'BitwiseOperationsType',
335
+ 'BooleanLiteralConvertible', 'BooleanType', 'CVarArgType',
336
+ 'CollectionType', 'Comparable', 'DebugPrintable',
337
+ 'DictionaryLiteralConvertible', 'Equatable',
338
+ 'ExtendedGraphemeClusterLiteralConvertible',
339
+ 'ExtensibleCollectionType', 'FloatLiteralConvertible',
340
+ 'FloatingPointType', 'ForwardIndexType', 'GeneratorType', 'Hashable',
341
+ 'IntegerArithmeticType', 'IntegerLiteralConvertible', 'IntegerType',
342
+ 'IntervalType', 'MirrorType', 'MutableCollectionType', 'MutableSliceable',
343
+ 'NilLiteralConvertible', 'OutputStreamType', 'Printable',
344
+ 'RandomAccessIndexType', 'RangeReplaceableCollectionType',
345
+ 'RawOptionSetType', 'RawRepresentable', 'Reflectable', 'SequenceType',
346
+ 'SignedIntegerType', 'SignedNumberType', 'SinkType', 'Sliceable',
347
+ 'Streamable', 'Strideable', 'StringInterpolationConvertible',
348
+ 'StringLiteralConvertible', 'UnicodeCodecType',
349
+ 'UnicodeScalarLiteralConvertible', 'UnsignedIntegerType',
350
+ '_ArrayBufferType', '_BidirectionalIndexType', '_CocoaStringType',
351
+ '_CollectionType', '_Comparable', '_ExtensibleCollectionType',
352
+ '_ForwardIndexType', '_Incrementable', '_IntegerArithmeticType',
353
+ '_IntegerType', '_ObjectiveCBridgeable', '_RandomAccessIndexType',
354
+ '_RawOptionSetType', '_SequenceType', '_Sequence_Type',
355
+ '_SignedIntegerType', '_SignedNumberType', '_Sliceable', '_Strideable',
356
+ '_SwiftNSArrayRequiredOverridesType', '_SwiftNSArrayType',
357
+ '_SwiftNSCopyingType', '_SwiftNSDictionaryRequiredOverridesType',
358
+ '_SwiftNSDictionaryType', '_SwiftNSEnumeratorType',
359
+ '_SwiftNSFastEnumerationType', '_SwiftNSStringRequiredOverridesType',
360
+ '_SwiftNSStringType', '_UnsignedIntegerType',
361
+ # Variables
362
+ 'C_ARGC', 'C_ARGV', 'Process',
363
+ # Typealiases
364
+ 'Any', 'AnyClass', 'BooleanLiteralType', 'CBool', 'CChar', 'CChar16',
365
+ 'CChar32', 'CDouble', 'CFloat', 'CInt', 'CLong', 'CLongLong', 'CShort',
366
+ 'CSignedChar', 'CUnsignedInt', 'CUnsignedLong', 'CUnsignedShort',
367
+ 'CWideChar', 'ExtendedGraphemeClusterType', 'Float32', 'Float64',
368
+ 'FloatLiteralType', 'IntMax', 'IntegerLiteralType', 'StringLiteralType',
369
+ 'UIntMax', 'UWord', 'UnicodeScalarType', 'Void', 'Word',
370
+ # Foundation/Cocoa
371
+ 'NSErrorPointer', 'NSObjectProtocol', 'Selector'), suffix=r'\b'),
372
+ Name.Builtin),
373
+ # Functions
374
+ (words((
375
+ 'abs', 'advance', 'alignof', 'alignofValue', 'assert', 'assertionFailure',
376
+ 'contains', 'count', 'countElements', 'debugPrint', 'debugPrintln',
377
+ 'distance', 'dropFirst', 'dropLast', 'dump', 'enumerate', 'equal',
378
+ 'extend', 'fatalError', 'filter', 'find', 'first', 'getVaList', 'indices',
379
+ 'insert', 'isEmpty', 'join', 'last', 'lazy', 'lexicographicalCompare',
380
+ 'map', 'max', 'maxElement', 'min', 'minElement', 'numericCast', 'overlaps',
381
+ 'partition', 'precondition', 'preconditionFailure', 'prefix', 'print',
382
+ 'println', 'reduce', 'reflect', 'removeAll', 'removeAtIndex', 'removeLast',
383
+ 'removeRange', 'reverse', 'sizeof', 'sizeofValue', 'sort', 'sorted',
384
+ 'splice', 'split', 'startsWith', 'stride', 'strideof', 'strideofValue',
385
+ 'suffix', 'swap', 'toDebugString', 'toString', 'transcode',
386
+ 'underestimateCount', 'unsafeAddressOf', 'unsafeBitCast', 'unsafeDowncast',
387
+ 'withExtendedLifetime', 'withUnsafeMutablePointer',
388
+ 'withUnsafeMutablePointers', 'withUnsafePointer', 'withUnsafePointers',
389
+ 'withVaList'), suffix=r'\b'),
390
+ Name.Builtin.Pseudo),
391
+
392
+ # Implicit Block Variables
393
+ (r'\$\d+', Name.Variable),
394
+
395
+ # Binary Literal
396
+ (r'0b[01_]+', Number.Bin),
397
+ # Octal Literal
398
+ (r'0o[0-7_]+', Number.Oct),
399
+ # Hexadecimal Literal
400
+ (r'0x[0-9a-fA-F_]+', Number.Hex),
401
+ # Decimal Literal
402
+ (r'[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|'
403
+ r'\.[0-9_]*|[eE][+\-]?[0-9_]+)', Number.Float),
404
+ (r'[0-9][0-9_]*', Number.Integer),
405
+ # String Literal
406
+ (r'"""', String, 'string-multi'),
407
+ (r'"', String, 'string'),
408
+
409
+ # Operators and Punctuation
410
+ (r'[(){}\[\].,:;=@#`?]|->|[<&?](?=\w)|(?<=\w)[>!?]', Punctuation),
411
+ (r'[/=\-+!*%<>&|^?~]+', Operator),
412
+
413
+ # Identifier
414
+ (r'[a-zA-Z_]\w*', Name)
415
+ ],
416
+ 'keywords': [
417
+ (words((
418
+ 'as', 'async', 'await', 'break', 'case', 'catch', 'continue', 'default', 'defer',
419
+ 'do', 'else', 'fallthrough', 'for', 'guard', 'if', 'in', 'is',
420
+ 'repeat', 'return', '#selector', 'switch', 'throw', 'try',
421
+ 'where', 'while'), suffix=r'\b'),
422
+ Keyword),
423
+ (r'@availability\([^)]+\)', Keyword.Reserved),
424
+ (words((
425
+ 'associativity', 'convenience', 'dynamic', 'didSet', 'final',
426
+ 'get', 'indirect', 'infix', 'inout', 'lazy', 'left', 'mutating',
427
+ 'none', 'nonmutating', 'optional', 'override', 'postfix',
428
+ 'precedence', 'prefix', 'Protocol', 'required', 'rethrows',
429
+ 'right', 'set', 'throws', 'Type', 'unowned', 'weak', 'willSet',
430
+ '@availability', '@autoclosure', '@noreturn',
431
+ '@NSApplicationMain', '@NSCopying', '@NSManaged', '@objc',
432
+ '@UIApplicationMain', '@IBAction', '@IBDesignable',
433
+ '@IBInspectable', '@IBOutlet'), suffix=r'\b'),
434
+ Keyword.Reserved),
435
+ (r'(as|dynamicType|false|is|nil|self|Self|super|true|__COLUMN__'
436
+ r'|__FILE__|__FUNCTION__|__LINE__|_'
437
+ r'|#(?:file|line|column|function))\b', Keyword.Constant),
438
+ (r'import\b', Keyword.Declaration, 'module'),
439
+ (r'(class|enum|extension|struct|protocol)(\s+)([a-zA-Z_]\w*)',
440
+ bygroups(Keyword.Declaration, Whitespace, Name.Class)),
441
+ (r'(func)(\s+)([a-zA-Z_]\w*)',
442
+ bygroups(Keyword.Declaration, Whitespace, Name.Function)),
443
+ (r'(var|let)(\s+)([a-zA-Z_]\w*)', bygroups(Keyword.Declaration,
444
+ Whitespace, Name.Variable)),
445
+ (words((
446
+ 'actor', 'associatedtype', 'class', 'deinit', 'enum', 'extension', 'func', 'import',
447
+ 'init', 'internal', 'let', 'operator', 'private', 'protocol', 'public',
448
+ 'static', 'struct', 'subscript', 'typealias', 'var'), suffix=r'\b'),
449
+ Keyword.Declaration)
450
+ ],
451
+ 'comment': [
452
+ (r':param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):',
453
+ Comment.Special)
454
+ ],
455
+
456
+ # Nested
457
+ 'comment-single': [
458
+ (r'\n', Whitespace, '#pop'),
459
+ include('comment'),
460
+ (r'[^\n]+', Comment.Single)
461
+ ],
462
+ 'comment-multi': [
463
+ include('comment'),
464
+ (r'[^*/]+', Comment.Multiline),
465
+ (r'/\*', Comment.Multiline, '#push'),
466
+ (r'\*/', Comment.Multiline, '#pop'),
467
+ (r'[*/]+', Comment.Multiline)
468
+ ],
469
+ 'module': [
470
+ (r'\n', Whitespace, '#pop'),
471
+ (r'[a-zA-Z_]\w*', Name.Class),
472
+ include('root')
473
+ ],
474
+ 'preproc': [
475
+ (r'\n', Whitespace, '#pop'),
476
+ include('keywords'),
477
+ (r'[A-Za-z]\w*', Comment.Preproc),
478
+ include('root')
479
+ ],
480
+ 'string': [
481
+ (r'"', String, '#pop'),
482
+ include("string-common"),
483
+ ],
484
+ 'string-multi': [
485
+ (r'"""', String, '#pop'),
486
+ include("string-common"),
487
+ ],
488
+ 'string-common': [
489
+ (r'\\\(', String.Interpol, 'string-intp'),
490
+ (r"""\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}"""
491
+ r"""|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}""", String.Escape),
492
+ (r'[^\\"]+', String),
493
+ (r'\\', String)
494
+ ],
495
+ 'string-intp': [
496
+ (r'\(', String.Interpol, '#push'),
497
+ (r'\)', String.Interpol, '#pop'),
498
+ include('root')
499
+ ]
500
+ }
501
+
502
+ def get_tokens_unprocessed(self, text):
503
+ from pygments.lexers._cocoa_builtins import COCOA_INTERFACES, \
504
+ COCOA_PROTOCOLS, COCOA_PRIMITIVES
505
+
506
+ for index, token, value in \
507
+ RegexLexer.get_tokens_unprocessed(self, text):
508
+ if token is Name or token is Name.Class:
509
+ if value in COCOA_INTERFACES or value in COCOA_PROTOCOLS \
510
+ or value in COCOA_PRIMITIVES:
511
+ token = Name.Builtin.Pseudo
512
+
513
+ yield index, token, value
temp_venv/lib/python3.13/site-packages/pygments/lexers/parasail.py ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.parasail
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for ParaSail.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include
14
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
+ Number, Punctuation, Literal
16
+
17
+ __all__ = ['ParaSailLexer']
18
+
19
+
20
+ class ParaSailLexer(RegexLexer):
21
+ """
22
+ For ParaSail source code.
23
+ """
24
+
25
+ name = 'ParaSail'
26
+ url = 'http://www.parasail-lang.org'
27
+ aliases = ['parasail']
28
+ filenames = ['*.psi', '*.psl']
29
+ mimetypes = ['text/x-parasail']
30
+ version_added = '2.1'
31
+
32
+ flags = re.MULTILINE
33
+
34
+ tokens = {
35
+ 'root': [
36
+ (r'[^\S\n]+', Text),
37
+ (r'//.*?\n', Comment.Single),
38
+ (r'\b(and|or|xor)=', Operator.Word),
39
+ (r'\b(and(\s+then)?|or(\s+else)?|xor|rem|mod|'
40
+ r'(is|not)\s+null)\b',
41
+ Operator.Word),
42
+ # Keywords
43
+ (r'\b(abs|abstract|all|block|class|concurrent|const|continue|'
44
+ r'each|end|exit|extends|exports|forward|func|global|implements|'
45
+ r'import|in|interface|is|lambda|locked|new|not|null|of|op|'
46
+ r'optional|private|queued|ref|return|reverse|separate|some|'
47
+ r'type|until|var|with|'
48
+ # Control flow
49
+ r'if|then|else|elsif|case|for|while|loop)\b',
50
+ Keyword.Reserved),
51
+ (r'(abstract\s+)?(interface|class|op|func|type)',
52
+ Keyword.Declaration),
53
+ # Literals
54
+ (r'"[^"]*"', String),
55
+ (r'\\[\'ntrf"0]', String.Escape),
56
+ (r'#[a-zA-Z]\w*', Literal), # Enumeration
57
+ include('numbers'),
58
+ (r"'[^']'", String.Char),
59
+ (r'[a-zA-Z]\w*', Name),
60
+ # Operators and Punctuation
61
+ (r'(<==|==>|<=>|\*\*=|<\|=|<<=|>>=|==|!=|=\?|<=|>=|'
62
+ r'\*\*|<<|>>|=>|:=|\+=|-=|\*=|\|=|\||/=|\+|-|\*|/|'
63
+ r'\.\.|<\.\.|\.\.<|<\.\.<)',
64
+ Operator),
65
+ (r'(<|>|\[|\]|\(|\)|\||:|;|,|.|\{|\}|->)',
66
+ Punctuation),
67
+ (r'\n+', Text),
68
+ ],
69
+ 'numbers': [
70
+ (r'\d[0-9_]*#[0-9a-fA-F][0-9a-fA-F_]*#', Number.Hex), # any base
71
+ (r'0[xX][0-9a-fA-F][0-9a-fA-F_]*', Number.Hex), # C-like hex
72
+ (r'0[bB][01][01_]*', Number.Bin), # C-like bin
73
+ (r'\d[0-9_]*\.\d[0-9_]*[eE][+-]\d[0-9_]*', # float exp
74
+ Number.Float),
75
+ (r'\d[0-9_]*\.\d[0-9_]*', Number.Float), # float
76
+ (r'\d[0-9_]*', Number.Integer), # integer
77
+ ],
78
+ }
temp_venv/lib/python3.13/site-packages/pygments/lexers/pawn.py ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.pawn
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Pawn languages.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer
12
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
13
+ Number, Punctuation
14
+ from pygments.util import get_bool_opt
15
+
16
+ __all__ = ['SourcePawnLexer', 'PawnLexer']
17
+
18
+
19
+ class SourcePawnLexer(RegexLexer):
20
+ """
21
+ For SourcePawn source code with preprocessor directives.
22
+ """
23
+ name = 'SourcePawn'
24
+ aliases = ['sp']
25
+ filenames = ['*.sp']
26
+ mimetypes = ['text/x-sourcepawn']
27
+ url = 'https://github.com/alliedmodders/sourcepawn'
28
+ version_added = '1.6'
29
+
30
+ #: optional Comment or Whitespace
31
+ _ws = r'(?:\s|//.*?\n|/\*.*?\*/)+'
32
+ #: only one /* */ style comment
33
+ _ws1 = r'\s*(?:/[*].*?[*]/\s*)*'
34
+
35
+ tokens = {
36
+ 'root': [
37
+ # preprocessor directives: without whitespace
38
+ (r'^#if\s+0', Comment.Preproc, 'if0'),
39
+ ('^#', Comment.Preproc, 'macro'),
40
+ # or with whitespace
41
+ ('^' + _ws1 + r'#if\s+0', Comment.Preproc, 'if0'),
42
+ ('^' + _ws1 + '#', Comment.Preproc, 'macro'),
43
+ (r'\n', Text),
44
+ (r'\s+', Text),
45
+ (r'\\\n', Text), # line continuation
46
+ (r'/(\\\n)?/(\n|(.|\n)*?[^\\]\n)', Comment.Single),
47
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment.Multiline),
48
+ (r'[{}]', Punctuation),
49
+ (r'L?"', String, 'string'),
50
+ (r"L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
51
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
52
+ (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
53
+ (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
54
+ (r'0[0-7]+[LlUu]*', Number.Oct),
55
+ (r'\d+[LlUu]*', Number.Integer),
56
+ (r'[~!%^&*+=|?:<>/-]', Operator),
57
+ (r'[()\[\],.;]', Punctuation),
58
+ (r'(case|const|continue|native|'
59
+ r'default|else|enum|for|if|new|operator|'
60
+ r'public|return|sizeof|static|decl|struct|switch)\b', Keyword),
61
+ (r'(bool|Float)\b', Keyword.Type),
62
+ (r'(true|false)\b', Keyword.Constant),
63
+ (r'[a-zA-Z_]\w*', Name),
64
+ ],
65
+ 'string': [
66
+ (r'"', String, '#pop'),
67
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
68
+ (r'[^\\"\n]+', String), # all other characters
69
+ (r'\\\n', String), # line continuation
70
+ (r'\\', String), # stray backslash
71
+ ],
72
+ 'macro': [
73
+ (r'[^/\n]+', Comment.Preproc),
74
+ (r'/\*(.|\n)*?\*/', Comment.Multiline),
75
+ (r'//.*?\n', Comment.Single, '#pop'),
76
+ (r'/', Comment.Preproc),
77
+ (r'(?<=\\)\n', Comment.Preproc),
78
+ (r'\n', Comment.Preproc, '#pop'),
79
+ ],
80
+ 'if0': [
81
+ (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
82
+ (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
83
+ (r'.*?\n', Comment),
84
+ ]
85
+ }
86
+
87
+ SM_TYPES = {'Action', 'bool', 'Float', 'Plugin', 'String', 'any',
88
+ 'AdminFlag', 'OverrideType', 'OverrideRule', 'ImmunityType',
89
+ 'GroupId', 'AdminId', 'AdmAccessMode', 'AdminCachePart',
90
+ 'CookieAccess', 'CookieMenu', 'CookieMenuAction', 'NetFlow',
91
+ 'ConVarBounds', 'QueryCookie', 'ReplySource',
92
+ 'ConVarQueryResult', 'ConVarQueryFinished', 'Function',
93
+ 'Action', 'Identity', 'PluginStatus', 'PluginInfo', 'DBResult',
94
+ 'DBBindType', 'DBPriority', 'PropType', 'PropFieldType',
95
+ 'MoveType', 'RenderMode', 'RenderFx', 'EventHookMode',
96
+ 'EventHook', 'FileType', 'FileTimeMode', 'PathType',
97
+ 'ParamType', 'ExecType', 'DialogType', 'Handle', 'KvDataTypes',
98
+ 'NominateResult', 'MapChange', 'MenuStyle', 'MenuAction',
99
+ 'MenuSource', 'RegexError', 'SDKCallType', 'SDKLibrary',
100
+ 'SDKFuncConfSource', 'SDKType', 'SDKPassMethod', 'RayType',
101
+ 'TraceEntityFilter', 'ListenOverride', 'SortOrder', 'SortType',
102
+ 'SortFunc2D', 'APLRes', 'FeatureType', 'FeatureStatus',
103
+ 'SMCResult', 'SMCError', 'TFClassType', 'TFTeam', 'TFCond',
104
+ 'TFResourceType', 'Timer', 'TopMenuAction', 'TopMenuObjectType',
105
+ 'TopMenuPosition', 'TopMenuObject', 'UserMsg'}
106
+
107
+ def __init__(self, **options):
108
+ self.smhighlighting = get_bool_opt(options,
109
+ 'sourcemod', True)
110
+
111
+ self._functions = set()
112
+ if self.smhighlighting:
113
+ from pygments.lexers._sourcemod_builtins import FUNCTIONS
114
+ self._functions.update(FUNCTIONS)
115
+ RegexLexer.__init__(self, **options)
116
+
117
+ def get_tokens_unprocessed(self, text):
118
+ for index, token, value in \
119
+ RegexLexer.get_tokens_unprocessed(self, text):
120
+ if token is Name:
121
+ if self.smhighlighting:
122
+ if value in self.SM_TYPES:
123
+ token = Keyword.Type
124
+ elif value in self._functions:
125
+ token = Name.Builtin
126
+ yield index, token, value
127
+
128
+
129
+ class PawnLexer(RegexLexer):
130
+ """
131
+ For Pawn source code.
132
+ """
133
+
134
+ name = 'Pawn'
135
+ aliases = ['pawn']
136
+ filenames = ['*.p', '*.pwn', '*.inc']
137
+ mimetypes = ['text/x-pawn']
138
+ url = 'https://www.compuphase.com/pawn/pawn.htm'
139
+ version_added = '2.0'
140
+
141
+ #: optional Comment or Whitespace
142
+ _ws = r'(?:\s|//.*?\n|/[*][\w\W]*?[*]/)+'
143
+ #: only one /* */ style comment
144
+ _ws1 = r'\s*(?:/[*].*?[*]/\s*)*'
145
+
146
+ tokens = {
147
+ 'root': [
148
+ # preprocessor directives: without whitespace
149
+ (r'^#if\s+0', Comment.Preproc, 'if0'),
150
+ ('^#', Comment.Preproc, 'macro'),
151
+ # or with whitespace
152
+ ('^' + _ws1 + r'#if\s+0', Comment.Preproc, 'if0'),
153
+ ('^' + _ws1 + '#', Comment.Preproc, 'macro'),
154
+ (r'\n', Text),
155
+ (r'\s+', Text),
156
+ (r'\\\n', Text), # line continuation
157
+ (r'/(\\\n)?/(\n|(.|\n)*?[^\\]\n)', Comment.Single),
158
+ (r'/(\\\n)?\*[\w\W]*?\*(\\\n)?/', Comment.Multiline),
159
+ (r'[{}]', Punctuation),
160
+ (r'L?"', String, 'string'),
161
+ (r"L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
162
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
163
+ (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
164
+ (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
165
+ (r'0[0-7]+[LlUu]*', Number.Oct),
166
+ (r'\d+[LlUu]*', Number.Integer),
167
+ (r'[~!%^&*+=|?:<>/-]', Operator),
168
+ (r'[()\[\],.;]', Punctuation),
169
+ (r'(switch|case|default|const|new|static|char|continue|break|'
170
+ r'if|else|for|while|do|operator|enum|'
171
+ r'public|return|sizeof|tagof|state|goto)\b', Keyword),
172
+ (r'(bool|Float)\b', Keyword.Type),
173
+ (r'(true|false)\b', Keyword.Constant),
174
+ (r'[a-zA-Z_]\w*', Name),
175
+ ],
176
+ 'string': [
177
+ (r'"', String, '#pop'),
178
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
179
+ (r'[^\\"\n]+', String), # all other characters
180
+ (r'\\\n', String), # line continuation
181
+ (r'\\', String), # stray backslash
182
+ ],
183
+ 'macro': [
184
+ (r'[^/\n]+', Comment.Preproc),
185
+ (r'/\*(.|\n)*?\*/', Comment.Multiline),
186
+ (r'//.*?\n', Comment.Single, '#pop'),
187
+ (r'/', Comment.Preproc),
188
+ (r'(?<=\\)\n', Comment.Preproc),
189
+ (r'\n', Comment.Preproc, '#pop'),
190
+ ],
191
+ 'if0': [
192
+ (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
193
+ (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
194
+ (r'.*?\n', Comment),
195
+ ]
196
+ }
197
+
198
+ def analyse_text(text):
199
+ """This is basically C. There is a keyword which doesn't exist in C
200
+ though and is nearly unique to this language."""
201
+ if 'tagof' in text:
202
+ return 0.01
temp_venv/lib/python3.13/site-packages/pygments/lexers/perl.py ADDED
@@ -0,0 +1,733 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.perl
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Perl, Raku and related languages.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, ExtendedRegexLexer, include, bygroups, \
14
+ using, this, default, words
15
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
+ Number, Punctuation, Whitespace
17
+ from pygments.util import shebang_matches
18
+
19
+ __all__ = ['PerlLexer', 'Perl6Lexer']
20
+
21
+
22
+ class PerlLexer(RegexLexer):
23
+ """
24
+ For Perl source code.
25
+ """
26
+
27
+ name = 'Perl'
28
+ url = 'https://www.perl.org'
29
+ aliases = ['perl', 'pl']
30
+ filenames = ['*.pl', '*.pm', '*.t', '*.perl']
31
+ mimetypes = ['text/x-perl', 'application/x-perl']
32
+ version_added = ''
33
+
34
+ flags = re.DOTALL | re.MULTILINE
35
+ # TODO: give this to a perl guy who knows how to parse perl...
36
+ tokens = {
37
+ 'balanced-regex': [
38
+ (r'/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*', String.Regex, '#pop'),
39
+ (r'!(\\\\|\\[^\\]|[^\\!])*![egimosx]*', String.Regex, '#pop'),
40
+ (r'\\(\\\\|[^\\])*\\[egimosx]*', String.Regex, '#pop'),
41
+ (r'\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*', String.Regex, '#pop'),
42
+ (r'<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*', String.Regex, '#pop'),
43
+ (r'\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*', String.Regex, '#pop'),
44
+ (r'\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*', String.Regex, '#pop'),
45
+ (r'@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*', String.Regex, '#pop'),
46
+ (r'%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*', String.Regex, '#pop'),
47
+ (r'\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*', String.Regex, '#pop'),
48
+ ],
49
+ 'root': [
50
+ (r'\A\#!.+?$', Comment.Hashbang),
51
+ (r'\#.*?$', Comment.Single),
52
+ (r'^=[a-zA-Z0-9]+\s+.*?\n=cut', Comment.Multiline),
53
+ (words((
54
+ 'case', 'continue', 'do', 'else', 'elsif', 'for', 'foreach',
55
+ 'if', 'last', 'my', 'next', 'our', 'redo', 'reset', 'then',
56
+ 'unless', 'until', 'while', 'print', 'new', 'BEGIN',
57
+ 'CHECK', 'INIT', 'END', 'return'), suffix=r'\b'),
58
+ Keyword),
59
+ (r'(format)(\s+)(\w+)(\s*)(=)(\s*\n)',
60
+ bygroups(Keyword, Whitespace, Name, Whitespace, Punctuation, Whitespace), 'format'),
61
+ (r'(eq|lt|gt|le|ge|ne|not|and|or|cmp)\b', Operator.Word),
62
+ # common delimiters
63
+ (r's/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*',
64
+ String.Regex),
65
+ (r's!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*', String.Regex),
66
+ (r's\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*', String.Regex),
67
+ (r's@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*',
68
+ String.Regex),
69
+ (r's%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*',
70
+ String.Regex),
71
+ # balanced delimiters
72
+ (r's\{(\\\\|\\[^\\]|[^\\}])*\}\s*', String.Regex, 'balanced-regex'),
73
+ (r's<(\\\\|\\[^\\]|[^\\>])*>\s*', String.Regex, 'balanced-regex'),
74
+ (r's\[(\\\\|\\[^\\]|[^\\\]])*\]\s*', String.Regex,
75
+ 'balanced-regex'),
76
+ (r's\((\\\\|\\[^\\]|[^\\)])*\)\s*', String.Regex,
77
+ 'balanced-regex'),
78
+
79
+ (r'm?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*', String.Regex),
80
+ (r'm(?=[/!\\{<\[(@%$])', String.Regex, 'balanced-regex'),
81
+ (r'((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*',
82
+ String.Regex),
83
+ (r'\s+', Whitespace),
84
+ (words((
85
+ 'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless', 'caller', 'chdir',
86
+ 'chmod', 'chomp', 'chop', 'chown', 'chr', 'chroot', 'close', 'closedir', 'connect',
87
+ 'continue', 'cos', 'crypt', 'dbmclose', 'dbmopen', 'defined', 'delete', 'die',
88
+ 'dump', 'each', 'endgrent', 'endhostent', 'endnetent', 'endprotoent',
89
+ 'endpwent', 'endservent', 'eof', 'eval', 'exec', 'exists', 'exit', 'exp', 'fcntl',
90
+ 'fileno', 'flock', 'fork', 'format', 'formline', 'getc', 'getgrent', 'getgrgid',
91
+ 'getgrnam', 'gethostbyaddr', 'gethostbyname', 'gethostent', 'getlogin',
92
+ 'getnetbyaddr', 'getnetbyname', 'getnetent', 'getpeername', 'getpgrp',
93
+ 'getppid', 'getpriority', 'getprotobyname', 'getprotobynumber',
94
+ 'getprotoent', 'getpwent', 'getpwnam', 'getpwuid', 'getservbyname',
95
+ 'getservbyport', 'getservent', 'getsockname', 'getsockopt', 'glob', 'gmtime',
96
+ 'goto', 'grep', 'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill', 'last',
97
+ 'lc', 'lcfirst', 'length', 'link', 'listen', 'local', 'localtime', 'log', 'lstat',
98
+ 'map', 'mkdir', 'msgctl', 'msgget', 'msgrcv', 'msgsnd', 'my', 'next', 'oct', 'open',
99
+ 'opendir', 'ord', 'our', 'pack', 'pipe', 'pop', 'pos', 'printf',
100
+ 'prototype', 'push', 'quotemeta', 'rand', 'read', 'readdir',
101
+ 'readline', 'readlink', 'readpipe', 'recv', 'redo', 'ref', 'rename',
102
+ 'reverse', 'rewinddir', 'rindex', 'rmdir', 'scalar', 'seek', 'seekdir',
103
+ 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent', 'sethostent', 'setnetent',
104
+ 'setpgrp', 'setpriority', 'setprotoent', 'setpwent', 'setservent',
105
+ 'setsockopt', 'shift', 'shmctl', 'shmget', 'shmread', 'shmwrite', 'shutdown',
106
+ 'sin', 'sleep', 'socket', 'socketpair', 'sort', 'splice', 'split', 'sprintf', 'sqrt',
107
+ 'srand', 'stat', 'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread',
108
+ 'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied', 'time', 'times', 'tr',
109
+ 'truncate', 'uc', 'ucfirst', 'umask', 'undef', 'unlink', 'unpack', 'unshift', 'untie',
110
+ 'utime', 'values', 'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'write'), suffix=r'\b'),
111
+ Name.Builtin),
112
+ (r'((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\b', Name.Builtin.Pseudo),
113
+ (r'(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)',
114
+ bygroups(String, String, String.Delimiter, String, String.Delimiter, Whitespace)),
115
+ (r'__END__', Comment.Preproc, 'end-part'),
116
+ (r'\$\^[ADEFHILMOPSTWX]', Name.Variable.Global),
117
+ (r"\$[\\\"\[\]'&`+*.,;=%~?@$!<>(^|/-](?!\w)", Name.Variable.Global),
118
+ (r'[$@%#]+', Name.Variable, 'varname'),
119
+ (r'0_?[0-7]+(_[0-7]+)*', Number.Oct),
120
+ (r'0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*', Number.Hex),
121
+ (r'0b[01]+(_[01]+)*', Number.Bin),
122
+ (r'(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?',
123
+ Number.Float),
124
+ (r'(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*', Number.Float),
125
+ (r'\d+(_\d+)*', Number.Integer),
126
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String),
127
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
128
+ (r'`(\\\\|\\[^\\]|[^`\\])*`', String.Backtick),
129
+ (r'<([^\s>]+)>', String.Regex),
130
+ (r'(q|qq|qw|qr|qx)\{', String.Other, 'cb-string'),
131
+ (r'(q|qq|qw|qr|qx)\(', String.Other, 'rb-string'),
132
+ (r'(q|qq|qw|qr|qx)\[', String.Other, 'sb-string'),
133
+ (r'(q|qq|qw|qr|qx)\<', String.Other, 'lt-string'),
134
+ (r'(q|qq|qw|qr|qx)([\W_])(.|\n)*?\2', String.Other),
135
+ (r'(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
136
+ bygroups(Keyword, Whitespace, Name.Namespace)),
137
+ (r'(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
138
+ bygroups(Keyword, Whitespace, Name.Namespace)),
139
+ (r'(sub)(\s+)', bygroups(Keyword, Whitespace), 'funcname'),
140
+ (words((
141
+ 'no', 'package', 'require', 'use'), suffix=r'\b'),
142
+ Keyword),
143
+ (r'(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|'
144
+ r'!~|&&?|\|\||\.{1,3})', Operator),
145
+ (r'[-+/*%=<>&^|!\\~]=?', Operator),
146
+ (r'[()\[\]:;,<>/?{}]', Punctuation), # yes, there's no shortage
147
+ # of punctuation in Perl!
148
+ (r'(?=\w)', Name, 'name'),
149
+ ],
150
+ 'format': [
151
+ (r'\.\n', String.Interpol, '#pop'),
152
+ (r'[^\n]*\n', String.Interpol),
153
+ ],
154
+ 'varname': [
155
+ (r'\s+', Whitespace),
156
+ (r'\{', Punctuation, '#pop'), # hash syntax?
157
+ (r'\)|,', Punctuation, '#pop'), # argument specifier
158
+ (r'\w+::', Name.Namespace),
159
+ (r'[\w:]+', Name.Variable, '#pop'),
160
+ ],
161
+ 'name': [
162
+ (r'[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)', Name.Namespace, '#pop'),
163
+ (r'[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::', Name.Namespace, '#pop'),
164
+ (r'[\w:]+', Name, '#pop'),
165
+ (r'[A-Z_]+(?=\W)', Name.Constant, '#pop'),
166
+ (r'(?=\W)', Text, '#pop'),
167
+ ],
168
+ 'funcname': [
169
+ (r'[a-zA-Z_]\w*[!?]?', Name.Function),
170
+ (r'\s+', Whitespace),
171
+ # argument declaration
172
+ (r'(\([$@%]*\))(\s*)', bygroups(Punctuation, Whitespace)),
173
+ (r';', Punctuation, '#pop'),
174
+ (r'.*?\{', Punctuation, '#pop'),
175
+ ],
176
+ 'cb-string': [
177
+ (r'\\[{}\\]', String.Other),
178
+ (r'\\', String.Other),
179
+ (r'\{', String.Other, 'cb-string'),
180
+ (r'\}', String.Other, '#pop'),
181
+ (r'[^{}\\]+', String.Other)
182
+ ],
183
+ 'rb-string': [
184
+ (r'\\[()\\]', String.Other),
185
+ (r'\\', String.Other),
186
+ (r'\(', String.Other, 'rb-string'),
187
+ (r'\)', String.Other, '#pop'),
188
+ (r'[^()]+', String.Other)
189
+ ],
190
+ 'sb-string': [
191
+ (r'\\[\[\]\\]', String.Other),
192
+ (r'\\', String.Other),
193
+ (r'\[', String.Other, 'sb-string'),
194
+ (r'\]', String.Other, '#pop'),
195
+ (r'[^\[\]]+', String.Other)
196
+ ],
197
+ 'lt-string': [
198
+ (r'\\[<>\\]', String.Other),
199
+ (r'\\', String.Other),
200
+ (r'\<', String.Other, 'lt-string'),
201
+ (r'\>', String.Other, '#pop'),
202
+ (r'[^<>]+', String.Other)
203
+ ],
204
+ 'end-part': [
205
+ (r'.+', Comment.Preproc, '#pop')
206
+ ]
207
+ }
208
+
209
+ def analyse_text(text):
210
+ if shebang_matches(text, r'perl'):
211
+ return True
212
+
213
+ result = 0
214
+
215
+ if re.search(r'(?:my|our)\s+[$@%(]', text):
216
+ result += 0.9
217
+
218
+ if ':=' in text:
219
+ # := is not valid Perl, but it appears in unicon, so we should
220
+ # become less confident if we think we found Perl with :=
221
+ result /= 2
222
+
223
+ return result
224
+
225
+
226
+ class Perl6Lexer(ExtendedRegexLexer):
227
+ """
228
+ For Raku (a.k.a. Perl 6) source code.
229
+ """
230
+
231
+ name = 'Perl6'
232
+ url = 'https://www.raku.org'
233
+ aliases = ['perl6', 'pl6', 'raku']
234
+ filenames = ['*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6',
235
+ '*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod',
236
+ '*.rakutest', '*.rakudoc']
237
+ mimetypes = ['text/x-perl6', 'application/x-perl6']
238
+ version_added = '2.0'
239
+ flags = re.MULTILINE | re.DOTALL
240
+
241
+ PERL6_IDENTIFIER_RANGE = r"['\w:-]"
242
+
243
+ PERL6_KEYWORDS = (
244
+ #Phasers
245
+ 'BEGIN','CATCH','CHECK','CLOSE','CONTROL','DOC','END','ENTER','FIRST',
246
+ 'INIT','KEEP','LAST','LEAVE','NEXT','POST','PRE','QUIT','UNDO',
247
+ #Keywords
248
+ 'anon','augment','but','class','constant','default','does','else',
249
+ 'elsif','enum','for','gather','given','grammar','has','if','import',
250
+ 'is','let','loop','made','make','method','module','multi','my','need',
251
+ 'orwith','our','proceed','proto','repeat','require','return',
252
+ 'return-rw','returns','role','rule','state','sub','submethod','subset',
253
+ 'succeed','supersede','token','try','unit','unless','until','use',
254
+ 'when','while','with','without',
255
+ #Traits
256
+ 'export','native','repr','required','rw','symbol',
257
+ )
258
+
259
+ PERL6_BUILTINS = (
260
+ 'ACCEPTS','abs','abs2rel','absolute','accept','accessed','acos',
261
+ 'acosec','acosech','acosh','acotan','acotanh','acquire','act','action',
262
+ 'actions','add','add_attribute','add_enum_value','add_fallback',
263
+ 'add_method','add_parent','add_private_method','add_role','add_trustee',
264
+ 'adverb','after','all','allocate','allof','allowed','alternative-names',
265
+ 'annotations','antipair','antipairs','any','anyof','app_lifetime',
266
+ 'append','arch','archname','args','arity','Array','asec','asech','asin',
267
+ 'asinh','ASSIGN-KEY','ASSIGN-POS','assuming','ast','at','atan','atan2',
268
+ 'atanh','AT-KEY','atomic-assign','atomic-dec-fetch','atomic-fetch',
269
+ 'atomic-fetch-add','atomic-fetch-dec','atomic-fetch-inc',
270
+ 'atomic-fetch-sub','atomic-inc-fetch','AT-POS','attributes','auth',
271
+ 'await','backtrace','Bag','BagHash','bail-out','base','basename',
272
+ 'base-repeating','batch','BIND-KEY','BIND-POS','bind-stderr',
273
+ 'bind-stdin','bind-stdout','bind-udp','bits','bless','block','Bool',
274
+ 'bool-only','bounds','break','Bridge','broken','BUILD','build-date',
275
+ 'bytes','cache','callframe','calling-package','CALL-ME','callsame',
276
+ 'callwith','can','cancel','candidates','cando','can-ok','canonpath',
277
+ 'caps','caption','Capture','cas','catdir','categorize','categorize-list',
278
+ 'catfile','catpath','cause','ceiling','cglobal','changed','Channel',
279
+ 'chars','chdir','child','child-name','child-typename','chmod','chomp',
280
+ 'chop','chr','chrs','chunks','cis','classify','classify-list','cleanup',
281
+ 'clone','close','closed','close-stdin','cmp-ok','code','codes','collate',
282
+ 'column','comb','combinations','command','comment','compiler','Complex',
283
+ 'compose','compose_type','composer','condition','config',
284
+ 'configure_destroy','configure_type_checking','conj','connect',
285
+ 'constraints','construct','contains','contents','copy','cos','cosec',
286
+ 'cosech','cosh','cotan','cotanh','count','count-only','cpu-cores',
287
+ 'cpu-usage','CREATE','create_type','cross','cue','curdir','curupdir','d',
288
+ 'Date','DateTime','day','daycount','day-of-month','day-of-week',
289
+ 'day-of-year','days-in-month','declaration','decode','decoder','deepmap',
290
+ 'default','defined','DEFINITE','delayed','DELETE-KEY','DELETE-POS',
291
+ 'denominator','desc','DESTROY','destroyers','devnull','diag',
292
+ 'did-you-mean','die','dies-ok','dir','dirname','dir-sep','DISTROnames',
293
+ 'do','does','does-ok','done','done-testing','duckmap','dynamic','e',
294
+ 'eager','earlier','elems','emit','enclosing','encode','encoder',
295
+ 'encoding','end','ends-with','enum_from_value','enum_value_list',
296
+ 'enum_values','enums','eof','EVAL','eval-dies-ok','EVALFILE',
297
+ 'eval-lives-ok','exception','excludes-max','excludes-min','EXISTS-KEY',
298
+ 'EXISTS-POS','exit','exitcode','exp','expected','explicitly-manage',
299
+ 'expmod','extension','f','fail','fails-like','fc','feature','file',
300
+ 'filename','find_method','find_method_qualified','finish','first','flat',
301
+ 'flatmap','flip','floor','flunk','flush','fmt','format','formatter',
302
+ 'freeze','from','from-list','from-loop','from-posix','full',
303
+ 'full-barrier','get','get_value','getc','gist','got','grab','grabpairs',
304
+ 'grep','handle','handled','handles','hardware','has_accessor','Hash',
305
+ 'head','headers','hh-mm-ss','hidden','hides','hour','how','hyper','id',
306
+ 'illegal','im','in','indent','index','indices','indir','infinite',
307
+ 'infix','infix:<+>','infix:<->','install_method_cache','Instant',
308
+ 'instead','Int','int-bounds','interval','in-timezone','invalid-str',
309
+ 'invert','invocant','IO','IO::Notification.watch-path','is_trusted',
310
+ 'is_type','isa','is-absolute','isa-ok','is-approx','is-deeply',
311
+ 'is-hidden','is-initial-thread','is-int','is-lazy','is-leap-year',
312
+ 'isNaN','isnt','is-prime','is-relative','is-routine','is-setting',
313
+ 'is-win','item','iterator','join','keep','kept','KERNELnames','key',
314
+ 'keyof','keys','kill','kv','kxxv','l','lang','last','lastcall','later',
315
+ 'lazy','lc','leading','level','like','line','lines','link','List',
316
+ 'listen','live','lives-ok','local','lock','log','log10','lookup','lsb',
317
+ 'made','MAIN','make','Map','match','max','maxpairs','merge','message',
318
+ 'method','method_table','methods','migrate','min','minmax','minpairs',
319
+ 'minute','misplaced','Mix','MixHash','mkdir','mode','modified','month',
320
+ 'move','mro','msb','multi','multiness','my','name','named','named_names',
321
+ 'narrow','nativecast','native-descriptor','nativesizeof','new','new_type',
322
+ 'new-from-daycount','new-from-pairs','next','nextcallee','next-handle',
323
+ 'nextsame','nextwith','NFC','NFD','NFKC','NFKD','nl-in','nl-out',
324
+ 'nodemap','nok','none','norm','not','note','now','nude','Num',
325
+ 'numerator','Numeric','of','offset','offset-in-hours','offset-in-minutes',
326
+ 'ok','old','on-close','one','on-switch','open','opened','operation',
327
+ 'optional','ord','ords','orig','os-error','osname','out-buffer','pack',
328
+ 'package','package-kind','package-name','packages','pair','pairs',
329
+ 'pairup','parameter','params','parent','parent-name','parents','parse',
330
+ 'parse-base','parsefile','parse-names','parts','pass','path','path-sep',
331
+ 'payload','peer-host','peer-port','periods','perl','permutations','phaser',
332
+ 'pick','pickpairs','pid','placeholder','plan','plus','polar','poll',
333
+ 'polymod','pop','pos','positional','posix','postfix','postmatch',
334
+ 'precomp-ext','precomp-target','pred','prefix','prematch','prepend',
335
+ 'print','printf','print-nl','print-to','private','private_method_table',
336
+ 'proc','produce','Promise','prompt','protect','pull-one','push',
337
+ 'push-all','push-at-least','push-exactly','push-until-lazy','put',
338
+ 'qualifier-type','quit','r','race','radix','rand','range','Rat','raw',
339
+ 're','read','readchars','readonly','ready','Real','reallocate','reals',
340
+ 'reason','rebless','receive','recv','redispatcher','redo','reduce',
341
+ 'rel2abs','relative','release','rename','repeated','replacement',
342
+ 'report','reserved','resolve','restore','result','resume','rethrow',
343
+ 'reverse','right','rindex','rmdir','role','roles_to_compose','rolish',
344
+ 'roll','rootdir','roots','rotate','rotor','round','roundrobin',
345
+ 'routine-type','run','rwx','s','samecase','samemark','samewith','say',
346
+ 'schedule-on','scheduler','scope','sec','sech','second','seek','self',
347
+ 'send','Set','set_hidden','set_name','set_package','set_rw','set_value',
348
+ 'SetHash','set-instruments','setup_finalization','shape','share','shell',
349
+ 'shift','sibling','sigil','sign','signal','signals','signature','sin',
350
+ 'sinh','sink','sink-all','skip','skip-at-least','skip-at-least-pull-one',
351
+ 'skip-one','skip-rest','sleep','sleep-timer','sleep-until','Slip','slurp',
352
+ 'slurp-rest','slurpy','snap','snapper','so','socket-host','socket-port',
353
+ 'sort','source','source-package','spawn','SPEC','splice','split',
354
+ 'splitdir','splitpath','sprintf','spurt','sqrt','squish','srand','stable',
355
+ 'start','started','starts-with','status','stderr','stdout','Str',
356
+ 'sub_signature','subbuf','subbuf-rw','subname','subparse','subst',
357
+ 'subst-mutate','substr','substr-eq','substr-rw','subtest','succ','sum',
358
+ 'Supply','symlink','t','tail','take','take-rw','tan','tanh','tap',
359
+ 'target','target-name','tc','tclc','tell','then','throttle','throw',
360
+ 'throws-like','timezone','tmpdir','to','today','todo','toggle','to-posix',
361
+ 'total','trailing','trans','tree','trim','trim-leading','trim-trailing',
362
+ 'truncate','truncated-to','trusts','try_acquire','trying','twigil','type',
363
+ 'type_captures','typename','uc','udp','uncaught_handler','unimatch',
364
+ 'uniname','uninames','uniparse','uniprop','uniprops','unique','unival',
365
+ 'univals','unlike','unlink','unlock','unpack','unpolar','unshift',
366
+ 'unwrap','updir','USAGE','use-ok','utc','val','value','values','VAR',
367
+ 'variable','verbose-config','version','VMnames','volume','vow','w','wait',
368
+ 'warn','watch','watch-path','week','weekday-of-month','week-number',
369
+ 'week-year','WHAT','when','WHERE','WHEREFORE','WHICH','WHO',
370
+ 'whole-second','WHY','wordcase','words','workaround','wrap','write',
371
+ 'write-to','x','yada','year','yield','yyyy-mm-dd','z','zip','zip-latest',
372
+
373
+ )
374
+
375
+ PERL6_BUILTIN_CLASSES = (
376
+ #Booleans
377
+ 'False','True',
378
+ #Classes
379
+ 'Any','Array','Associative','AST','atomicint','Attribute','Backtrace',
380
+ 'Backtrace::Frame','Bag','Baggy','BagHash','Blob','Block','Bool','Buf',
381
+ 'Callable','CallFrame','Cancellation','Capture','CArray','Channel','Code',
382
+ 'compiler','Complex','ComplexStr','Cool','CurrentThreadScheduler',
383
+ 'Cursor','Date','Dateish','DateTime','Distro','Duration','Encoding',
384
+ 'Exception','Failure','FatRat','Grammar','Hash','HyperWhatever','Instant',
385
+ 'Int','int16','int32','int64','int8','IntStr','IO','IO::ArgFiles',
386
+ 'IO::CatHandle','IO::Handle','IO::Notification','IO::Path',
387
+ 'IO::Path::Cygwin','IO::Path::QNX','IO::Path::Unix','IO::Path::Win32',
388
+ 'IO::Pipe','IO::Socket','IO::Socket::Async','IO::Socket::INET','IO::Spec',
389
+ 'IO::Spec::Cygwin','IO::Spec::QNX','IO::Spec::Unix','IO::Spec::Win32',
390
+ 'IO::Special','Iterable','Iterator','Junction','Kernel','Label','List',
391
+ 'Lock','Lock::Async','long','longlong','Macro','Map','Match',
392
+ 'Metamodel::AttributeContainer','Metamodel::C3MRO','Metamodel::ClassHOW',
393
+ 'Metamodel::EnumHOW','Metamodel::Finalization','Metamodel::MethodContainer',
394
+ 'Metamodel::MROBasedMethodDispatch','Metamodel::MultipleInheritance',
395
+ 'Metamodel::Naming','Metamodel::Primitives','Metamodel::PrivateMethodContainer',
396
+ 'Metamodel::RoleContainer','Metamodel::Trusting','Method','Mix','MixHash',
397
+ 'Mixy','Mu','NFC','NFD','NFKC','NFKD','Nil','Num','num32','num64',
398
+ 'Numeric','NumStr','ObjAt','Order','Pair','Parameter','Perl','Pod::Block',
399
+ 'Pod::Block::Code','Pod::Block::Comment','Pod::Block::Declarator',
400
+ 'Pod::Block::Named','Pod::Block::Para','Pod::Block::Table','Pod::Heading',
401
+ 'Pod::Item','Pointer','Positional','PositionalBindFailover','Proc',
402
+ 'Proc::Async','Promise','Proxy','PseudoStash','QuantHash','Range','Rat',
403
+ 'Rational','RatStr','Real','Regex','Routine','Scalar','Scheduler',
404
+ 'Semaphore','Seq','Set','SetHash','Setty','Signature','size_t','Slip',
405
+ 'Stash','Str','StrDistance','Stringy','Sub','Submethod','Supplier',
406
+ 'Supplier::Preserving','Supply','Systemic','Tap','Telemetry',
407
+ 'Telemetry::Instrument::Thread','Telemetry::Instrument::Usage',
408
+ 'Telemetry::Period','Telemetry::Sampler','Thread','ThreadPoolScheduler',
409
+ 'UInt','uint16','uint32','uint64','uint8','Uni','utf8','Variable',
410
+ 'Version','VM','Whatever','WhateverCode','WrapHandle'
411
+ )
412
+
413
+ PERL6_OPERATORS = (
414
+ 'X', 'Z', 'after', 'also', 'and', 'andthen', 'before', 'cmp', 'div',
415
+ 'eq', 'eqv', 'extra', 'ff', 'fff', 'ge', 'gt', 'le', 'leg', 'lt', 'm',
416
+ 'mm', 'mod', 'ne', 'or', 'orelse', 'rx', 's', 'tr', 'x', 'xor', 'xx',
417
+ '++', '--', '**', '!', '+', '-', '~', '?', '|', '||', '+^', '~^', '?^',
418
+ '^', '*', '/', '%', '%%', '+&', '+<', '+>', '~&', '~<', '~>', '?&',
419
+ 'gcd', 'lcm', '+', '-', '+|', '+^', '~|', '~^', '?|', '?^',
420
+ '~', '&', '^', 'but', 'does', '<=>', '..', '..^', '^..', '^..^',
421
+ '!=', '==', '<', '<=', '>', '>=', '~~', '===', '!eqv',
422
+ '&&', '||', '^^', '//', 'min', 'max', '??', '!!', 'ff', 'fff', 'so',
423
+ 'not', '<==', '==>', '<<==', '==>>','unicmp',
424
+ )
425
+
426
+ # Perl 6 has a *lot* of possible bracketing characters
427
+ # this list was lifted from STD.pm6 (https://github.com/perl6/std)
428
+ PERL6_BRACKETS = {
429
+ '\u0028': '\u0029', '\u003c': '\u003e', '\u005b': '\u005d',
430
+ '\u007b': '\u007d', '\u00ab': '\u00bb', '\u0f3a': '\u0f3b',
431
+ '\u0f3c': '\u0f3d', '\u169b': '\u169c', '\u2018': '\u2019',
432
+ '\u201a': '\u2019', '\u201b': '\u2019', '\u201c': '\u201d',
433
+ '\u201e': '\u201d', '\u201f': '\u201d', '\u2039': '\u203a',
434
+ '\u2045': '\u2046', '\u207d': '\u207e', '\u208d': '\u208e',
435
+ '\u2208': '\u220b', '\u2209': '\u220c', '\u220a': '\u220d',
436
+ '\u2215': '\u29f5', '\u223c': '\u223d', '\u2243': '\u22cd',
437
+ '\u2252': '\u2253', '\u2254': '\u2255', '\u2264': '\u2265',
438
+ '\u2266': '\u2267', '\u2268': '\u2269', '\u226a': '\u226b',
439
+ '\u226e': '\u226f', '\u2270': '\u2271', '\u2272': '\u2273',
440
+ '\u2274': '\u2275', '\u2276': '\u2277', '\u2278': '\u2279',
441
+ '\u227a': '\u227b', '\u227c': '\u227d', '\u227e': '\u227f',
442
+ '\u2280': '\u2281', '\u2282': '\u2283', '\u2284': '\u2285',
443
+ '\u2286': '\u2287', '\u2288': '\u2289', '\u228a': '\u228b',
444
+ '\u228f': '\u2290', '\u2291': '\u2292', '\u2298': '\u29b8',
445
+ '\u22a2': '\u22a3', '\u22a6': '\u2ade', '\u22a8': '\u2ae4',
446
+ '\u22a9': '\u2ae3', '\u22ab': '\u2ae5', '\u22b0': '\u22b1',
447
+ '\u22b2': '\u22b3', '\u22b4': '\u22b5', '\u22b6': '\u22b7',
448
+ '\u22c9': '\u22ca', '\u22cb': '\u22cc', '\u22d0': '\u22d1',
449
+ '\u22d6': '\u22d7', '\u22d8': '\u22d9', '\u22da': '\u22db',
450
+ '\u22dc': '\u22dd', '\u22de': '\u22df', '\u22e0': '\u22e1',
451
+ '\u22e2': '\u22e3', '\u22e4': '\u22e5', '\u22e6': '\u22e7',
452
+ '\u22e8': '\u22e9', '\u22ea': '\u22eb', '\u22ec': '\u22ed',
453
+ '\u22f0': '\u22f1', '\u22f2': '\u22fa', '\u22f3': '\u22fb',
454
+ '\u22f4': '\u22fc', '\u22f6': '\u22fd', '\u22f7': '\u22fe',
455
+ '\u2308': '\u2309', '\u230a': '\u230b', '\u2329': '\u232a',
456
+ '\u23b4': '\u23b5', '\u2768': '\u2769', '\u276a': '\u276b',
457
+ '\u276c': '\u276d', '\u276e': '\u276f', '\u2770': '\u2771',
458
+ '\u2772': '\u2773', '\u2774': '\u2775', '\u27c3': '\u27c4',
459
+ '\u27c5': '\u27c6', '\u27d5': '\u27d6', '\u27dd': '\u27de',
460
+ '\u27e2': '\u27e3', '\u27e4': '\u27e5', '\u27e6': '\u27e7',
461
+ '\u27e8': '\u27e9', '\u27ea': '\u27eb', '\u2983': '\u2984',
462
+ '\u2985': '\u2986', '\u2987': '\u2988', '\u2989': '\u298a',
463
+ '\u298b': '\u298c', '\u298d': '\u298e', '\u298f': '\u2990',
464
+ '\u2991': '\u2992', '\u2993': '\u2994', '\u2995': '\u2996',
465
+ '\u2997': '\u2998', '\u29c0': '\u29c1', '\u29c4': '\u29c5',
466
+ '\u29cf': '\u29d0', '\u29d1': '\u29d2', '\u29d4': '\u29d5',
467
+ '\u29d8': '\u29d9', '\u29da': '\u29db', '\u29f8': '\u29f9',
468
+ '\u29fc': '\u29fd', '\u2a2b': '\u2a2c', '\u2a2d': '\u2a2e',
469
+ '\u2a34': '\u2a35', '\u2a3c': '\u2a3d', '\u2a64': '\u2a65',
470
+ '\u2a79': '\u2a7a', '\u2a7d': '\u2a7e', '\u2a7f': '\u2a80',
471
+ '\u2a81': '\u2a82', '\u2a83': '\u2a84', '\u2a8b': '\u2a8c',
472
+ '\u2a91': '\u2a92', '\u2a93': '\u2a94', '\u2a95': '\u2a96',
473
+ '\u2a97': '\u2a98', '\u2a99': '\u2a9a', '\u2a9b': '\u2a9c',
474
+ '\u2aa1': '\u2aa2', '\u2aa6': '\u2aa7', '\u2aa8': '\u2aa9',
475
+ '\u2aaa': '\u2aab', '\u2aac': '\u2aad', '\u2aaf': '\u2ab0',
476
+ '\u2ab3': '\u2ab4', '\u2abb': '\u2abc', '\u2abd': '\u2abe',
477
+ '\u2abf': '\u2ac0', '\u2ac1': '\u2ac2', '\u2ac3': '\u2ac4',
478
+ '\u2ac5': '\u2ac6', '\u2acd': '\u2ace', '\u2acf': '\u2ad0',
479
+ '\u2ad1': '\u2ad2', '\u2ad3': '\u2ad4', '\u2ad5': '\u2ad6',
480
+ '\u2aec': '\u2aed', '\u2af7': '\u2af8', '\u2af9': '\u2afa',
481
+ '\u2e02': '\u2e03', '\u2e04': '\u2e05', '\u2e09': '\u2e0a',
482
+ '\u2e0c': '\u2e0d', '\u2e1c': '\u2e1d', '\u2e20': '\u2e21',
483
+ '\u3008': '\u3009', '\u300a': '\u300b', '\u300c': '\u300d',
484
+ '\u300e': '\u300f', '\u3010': '\u3011', '\u3014': '\u3015',
485
+ '\u3016': '\u3017', '\u3018': '\u3019', '\u301a': '\u301b',
486
+ '\u301d': '\u301e', '\ufd3e': '\ufd3f', '\ufe17': '\ufe18',
487
+ '\ufe35': '\ufe36', '\ufe37': '\ufe38', '\ufe39': '\ufe3a',
488
+ '\ufe3b': '\ufe3c', '\ufe3d': '\ufe3e', '\ufe3f': '\ufe40',
489
+ '\ufe41': '\ufe42', '\ufe43': '\ufe44', '\ufe47': '\ufe48',
490
+ '\ufe59': '\ufe5a', '\ufe5b': '\ufe5c', '\ufe5d': '\ufe5e',
491
+ '\uff08': '\uff09', '\uff1c': '\uff1e', '\uff3b': '\uff3d',
492
+ '\uff5b': '\uff5d', '\uff5f': '\uff60', '\uff62': '\uff63',
493
+ }
494
+
495
+ def _build_word_match(words, boundary_regex_fragment=None, prefix='', suffix=''):
496
+ if boundary_regex_fragment is None:
497
+ return r'\b(' + prefix + r'|'.join(re.escape(x) for x in words) + \
498
+ suffix + r')\b'
499
+ else:
500
+ return r'(?<!' + boundary_regex_fragment + r')' + prefix + r'(' + \
501
+ r'|'.join(re.escape(x) for x in words) + r')' + suffix + r'(?!' + \
502
+ boundary_regex_fragment + r')'
503
+
504
+ def brackets_callback(token_class):
505
+ def callback(lexer, match, context):
506
+ groups = match.groupdict()
507
+ opening_chars = groups['delimiter']
508
+ n_chars = len(opening_chars)
509
+ adverbs = groups.get('adverbs')
510
+
511
+ closer = Perl6Lexer.PERL6_BRACKETS.get(opening_chars[0])
512
+ text = context.text
513
+
514
+ if closer is None: # it's not a mirrored character, which means we
515
+ # just need to look for the next occurrence
516
+
517
+ end_pos = text.find(opening_chars, match.start('delimiter') + n_chars)
518
+ else: # we need to look for the corresponding closing character,
519
+ # keep nesting in mind
520
+ closing_chars = closer * n_chars
521
+ nesting_level = 1
522
+
523
+ search_pos = match.start('delimiter')
524
+
525
+ while nesting_level > 0:
526
+ next_open_pos = text.find(opening_chars, search_pos + n_chars)
527
+ next_close_pos = text.find(closing_chars, search_pos + n_chars)
528
+
529
+ if next_close_pos == -1:
530
+ next_close_pos = len(text)
531
+ nesting_level = 0
532
+ elif next_open_pos != -1 and next_open_pos < next_close_pos:
533
+ nesting_level += 1
534
+ search_pos = next_open_pos
535
+ else: # next_close_pos < next_open_pos
536
+ nesting_level -= 1
537
+ search_pos = next_close_pos
538
+
539
+ end_pos = next_close_pos
540
+
541
+ if end_pos < 0: # if we didn't find a closer, just highlight the
542
+ # rest of the text in this class
543
+ end_pos = len(text)
544
+
545
+ if adverbs is not None and re.search(r':to\b', adverbs):
546
+ heredoc_terminator = text[match.start('delimiter') + n_chars:end_pos]
547
+ end_heredoc = re.search(r'^\s*' + re.escape(heredoc_terminator) +
548
+ r'\s*$', text[end_pos:], re.MULTILINE)
549
+
550
+ if end_heredoc:
551
+ end_pos += end_heredoc.end()
552
+ else:
553
+ end_pos = len(text)
554
+
555
+ yield match.start(), token_class, text[match.start():end_pos + n_chars]
556
+ context.pos = end_pos + n_chars
557
+
558
+ return callback
559
+
560
+ def opening_brace_callback(lexer, match, context):
561
+ stack = context.stack
562
+
563
+ yield match.start(), Text, context.text[match.start():match.end()]
564
+ context.pos = match.end()
565
+
566
+ # if we encounter an opening brace and we're one level
567
+ # below a token state, it means we need to increment
568
+ # the nesting level for braces so we know later when
569
+ # we should return to the token rules.
570
+ if len(stack) > 2 and stack[-2] == 'token':
571
+ context.perl6_token_nesting_level += 1
572
+
573
+ def closing_brace_callback(lexer, match, context):
574
+ stack = context.stack
575
+
576
+ yield match.start(), Text, context.text[match.start():match.end()]
577
+ context.pos = match.end()
578
+
579
+ # if we encounter a free closing brace and we're one level
580
+ # below a token state, it means we need to check the nesting
581
+ # level to see if we need to return to the token state.
582
+ if len(stack) > 2 and stack[-2] == 'token':
583
+ context.perl6_token_nesting_level -= 1
584
+ if context.perl6_token_nesting_level == 0:
585
+ stack.pop()
586
+
587
+ def embedded_perl6_callback(lexer, match, context):
588
+ context.perl6_token_nesting_level = 1
589
+ yield match.start(), Text, context.text[match.start():match.end()]
590
+ context.pos = match.end()
591
+ context.stack.append('root')
592
+
593
+ # If you're modifying these rules, be careful if you need to process '{' or '}'
594
+ # characters. We have special logic for processing these characters (due to the fact
595
+ # that you can nest Perl 6 code in regex blocks), so if you need to process one of
596
+ # them, make sure you also process the corresponding one!
597
+ tokens = {
598
+ 'common': [
599
+ (r'#[`|=](?P<delimiter>(?P<first_char>[' + ''.join(PERL6_BRACKETS) + r'])(?P=first_char)*)',
600
+ brackets_callback(Comment.Multiline)),
601
+ (r'#[^\n]*$', Comment.Single),
602
+ (r'^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2', Comment.Multiline),
603
+ (r'^(\s*)=for.*?\n\s*?\n', Comment.Multiline),
604
+ (r'^=.*?\n\s*?\n', Comment.Multiline),
605
+ (r'(regex|token|rule)(\s*' + PERL6_IDENTIFIER_RANGE + '+:sym)',
606
+ bygroups(Keyword, Name), 'token-sym-brackets'),
607
+ (r'(regex|token|rule)(?!' + PERL6_IDENTIFIER_RANGE + r')(\s*' + PERL6_IDENTIFIER_RANGE + '+)?',
608
+ bygroups(Keyword, Name), 'pre-token'),
609
+ # deal with a special case in the Perl 6 grammar (role q { ... })
610
+ (r'(role)(\s+)(q)(\s*)', bygroups(Keyword, Whitespace, Name, Whitespace)),
611
+ (_build_word_match(PERL6_KEYWORDS, PERL6_IDENTIFIER_RANGE), Keyword),
612
+ (_build_word_match(PERL6_BUILTIN_CLASSES, PERL6_IDENTIFIER_RANGE, suffix='(?::[UD])?'),
613
+ Name.Builtin),
614
+ (_build_word_match(PERL6_BUILTINS, PERL6_IDENTIFIER_RANGE), Name.Builtin),
615
+ # copied from PerlLexer
616
+ (r'[$@%&][.^:?=!~]?' + PERL6_IDENTIFIER_RANGE + '+(?:<<.*?>>|<.*?>|«.*?»)*',
617
+ Name.Variable),
618
+ (r'\$[!/](?:<<.*?>>|<.*?>|«.*?»)*', Name.Variable.Global),
619
+ (r'::\?\w+', Name.Variable.Global),
620
+ (r'[$@%&]\*' + PERL6_IDENTIFIER_RANGE + '+(?:<<.*?>>|<.*?>|«.*?»)*',
621
+ Name.Variable.Global),
622
+ (r'\$(?:<.*?>)+', Name.Variable),
623
+ (r'(?:q|qq|Q)[a-zA-Z]?\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^0-9a-zA-Z:\s])'
624
+ r'(?P=first_char)*)', brackets_callback(String)),
625
+ # copied from PerlLexer
626
+ (r'0_?[0-7]+(_[0-7]+)*', Number.Oct),
627
+ (r'0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*', Number.Hex),
628
+ (r'0b[01]+(_[01]+)*', Number.Bin),
629
+ (r'(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?',
630
+ Number.Float),
631
+ (r'(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*', Number.Float),
632
+ (r'\d+(_\d+)*', Number.Integer),
633
+ (r'(?<=~~)\s*/(?:\\\\|\\/|.)*?/', String.Regex),
634
+ (r'(?<=[=(,])\s*/(?:\\\\|\\/|.)*?/', String.Regex),
635
+ (r'm\w+(?=\()', Name),
636
+ (r'(?:m|ms|rx)\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^\w:\s])'
637
+ r'(?P=first_char)*)', brackets_callback(String.Regex)),
638
+ (r'(?:s|ss|tr)\s*(?::[\w\s:]+)?\s*/(?:\\\\|\\/|.)*?/(?:\\\\|\\/|.)*?/',
639
+ String.Regex),
640
+ (r'<[^\s=].*?\S>', String),
641
+ (_build_word_match(PERL6_OPERATORS), Operator),
642
+ (r'\w' + PERL6_IDENTIFIER_RANGE + '*', Name),
643
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String),
644
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
645
+ ],
646
+ 'root': [
647
+ include('common'),
648
+ (r'\{', opening_brace_callback),
649
+ (r'\}', closing_brace_callback),
650
+ (r'.+?', Text),
651
+ ],
652
+ 'pre-token': [
653
+ include('common'),
654
+ (r'\{', Text, ('#pop', 'token')),
655
+ (r'.+?', Text),
656
+ ],
657
+ 'token-sym-brackets': [
658
+ (r'(?P<delimiter>(?P<first_char>[' + ''.join(PERL6_BRACKETS) + '])(?P=first_char)*)',
659
+ brackets_callback(Name), ('#pop', 'pre-token')),
660
+ default(('#pop', 'pre-token')),
661
+ ],
662
+ 'token': [
663
+ (r'\}', Text, '#pop'),
664
+ (r'(?<=:)(?:my|our|state|constant|temp|let).*?;', using(this)),
665
+ # make sure that quotes in character classes aren't treated as strings
666
+ (r'<(?:[-!?+.]\s*)?\[.*?\]>', String.Regex),
667
+ # make sure that '#' characters in quotes aren't treated as comments
668
+ (r"(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'", String.Regex),
669
+ (r'(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"', String.Regex),
670
+ (r'#.*?$', Comment.Single),
671
+ (r'\{', embedded_perl6_callback),
672
+ ('.+?', String.Regex),
673
+ ],
674
+ }
675
+
676
+ def analyse_text(text):
677
+ def strip_pod(lines):
678
+ in_pod = False
679
+ stripped_lines = []
680
+
681
+ for line in lines:
682
+ if re.match(r'^=(?:end|cut)', line):
683
+ in_pod = False
684
+ elif re.match(r'^=\w+', line):
685
+ in_pod = True
686
+ elif not in_pod:
687
+ stripped_lines.append(line)
688
+
689
+ return stripped_lines
690
+
691
+ # XXX handle block comments
692
+ lines = text.splitlines()
693
+ lines = strip_pod(lines)
694
+ text = '\n'.join(lines)
695
+
696
+ if shebang_matches(text, r'perl6|rakudo|niecza|pugs'):
697
+ return True
698
+
699
+ saw_perl_decl = False
700
+ rating = False
701
+
702
+ # check for my/our/has declarations
703
+ if re.search(r"(?:my|our|has)\s+(?:" + Perl6Lexer.PERL6_IDENTIFIER_RANGE +
704
+ r"+\s+)?[$@%&(]", text):
705
+ rating = 0.8
706
+ saw_perl_decl = True
707
+
708
+ for line in lines:
709
+ line = re.sub('#.*', '', line)
710
+ if re.match(r'^\s*$', line):
711
+ continue
712
+
713
+ # match v6; use v6; use v6.0; use v6.0.0;
714
+ if re.match(r'^\s*(?:use\s+)?v6(?:\.\d(?:\.\d)?)?;', line):
715
+ return True
716
+ # match class, module, role, enum, grammar declarations
717
+ class_decl = re.match(r'^\s*(?:(?P<scope>my|our)\s+)?(?:module|class|role|enum|grammar)', line)
718
+ if class_decl:
719
+ if saw_perl_decl or class_decl.group('scope') is not None:
720
+ return True
721
+ rating = 0.05
722
+ continue
723
+ break
724
+
725
+ if ':=' in text:
726
+ # Same logic as above for PerlLexer
727
+ rating /= 2
728
+
729
+ return rating
730
+
731
+ def __init__(self, **options):
732
+ super().__init__(**options)
733
+ self.encoding = options.get('encoding', 'utf-8')
temp_venv/lib/python3.13/site-packages/pygments/lexers/phix.py ADDED
@@ -0,0 +1,363 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ pygments.lexers.phix
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for Phix.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, words
14
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
+ Whitespace
16
+
17
+ __all__ = ['PhixLexer']
18
+
19
+
20
+ class PhixLexer(RegexLexer):
21
+ """
22
+ Pygments Lexer for Phix files (.exw).
23
+ See http://phix.x10.mx
24
+ """
25
+
26
+ name = 'Phix'
27
+ url = 'http://phix.x10.mx'
28
+ aliases = ['phix']
29
+ filenames = ['*.exw']
30
+ mimetypes = ['text/x-phix']
31
+ version_added = '2.14'
32
+
33
+ flags = re.MULTILINE # nb: **NOT** re.DOTALL! (totally spanners comment handling)
34
+
35
+ preproc = (
36
+ 'ifdef', 'elsifdef', 'elsedef'
37
+ )
38
+ # Note these lists are auto-generated by pwa/p2js.exw, when pwa\src\p2js_keywords.e (etc)
39
+ # change, though of course subsequent copy/commit/pull requests are all manual steps.
40
+ types = (
41
+ 'string', 'nullable_string', 'atom_string', 'atom', 'bool', 'boolean',
42
+ 'cdCanvan', 'cdCanvas', 'complex', 'CURLcode', 'dictionary', 'int',
43
+ 'integer', 'Ihandle', 'Ihandles', 'Ihandln', 'mpfr', 'mpq', 'mpz',
44
+ 'mpz_or_string', 'number', 'rid_string', 'seq', 'sequence', 'timedate',
45
+ 'object'
46
+ )
47
+ keywords = (
48
+ 'abstract', 'class', 'continue', 'export', 'extends', 'nullable',
49
+ 'private', 'public', 'static', 'struct', 'trace',
50
+ 'and', 'break', 'by', 'case', 'catch', 'const', 'constant', 'debug',
51
+ 'default', 'do', 'else', 'elsif', 'end', 'enum', 'exit', 'fallthru',
52
+ 'fallthrough', 'for', 'forward', 'function', 'global', 'if', 'in',
53
+ 'include', 'js', 'javascript', 'javascript_semantics', 'let', 'not',
54
+ 'or', 'procedure', 'profile', 'profile_time', 'return', 'safe_mode',
55
+ 'switch', 'then', 'to', 'try', 'type', 'type_check', 'until', 'warning',
56
+ 'while', 'with', 'without', 'xor'
57
+ )
58
+ routines = (
59
+ 'abort', 'abs', 'adjust_timedate', 'and_bits', 'and_bitsu', 'apply',
60
+ 'append', 'arccos', 'arcsin', 'arctan', 'assert', 'atan2',
61
+ 'atom_to_float32', 'atom_to_float64', 'bankers_rounding', 'beep',
62
+ 'begins', 'binary_search', 'bits_to_int', 'bk_color', 'bytes_to_int',
63
+ 'call_func', 'call_proc', 'cdCanvasActivate', 'cdCanvasArc',
64
+ 'cdCanvasBegin', 'cdCanvasBox', 'cdCanvasChord', 'cdCanvasCircle',
65
+ 'cdCanvasClear', 'cdCanvasEnd', 'cdCanvasFlush', 'cdCanvasFont',
66
+ 'cdCanvasGetImageRGB', 'cdCanvasGetSize', 'cdCanvasGetTextAlignment',
67
+ 'cdCanvasGetTextSize', 'cdCanvasLine', 'cdCanvasMark',
68
+ 'cdCanvasMarkSize', 'cdCanvasMultiLineVectorText', 'cdCanvasPixel',
69
+ 'cdCanvasRect', 'cdCanvasRoundedBox', 'cdCanvasRoundedRect',
70
+ 'cdCanvasSector', 'cdCanvasSetAttribute', 'cdCanvasSetBackground',
71
+ 'cdCanvasSetFillMode', 'cdCanvasSetForeground',
72
+ 'cdCanvasSetInteriorStyle', 'cdCanvasSetLineStyle',
73
+ 'cdCanvasSetLineWidth', 'cdCanvasSetTextAlignment', 'cdCanvasText',
74
+ 'cdCanvasSetTextOrientation', 'cdCanvasGetTextOrientation',
75
+ 'cdCanvasVectorText', 'cdCanvasVectorTextDirection',
76
+ 'cdCanvasVectorTextSize', 'cdCanvasVertex', 'cdCreateCanvas',
77
+ 'cdDecodeAlpha', 'cdDecodeColor', 'cdDecodeColorAlpha', 'cdEncodeAlpha',
78
+ 'cdEncodeColor', 'cdEncodeColorAlpha', 'cdKillCanvas', 'cdVersion',
79
+ 'cdVersionDate', 'ceil', 'change_timezone', 'choose', 'clear_screen',
80
+ 'columnize', 'command_line', 'compare', 'complex_abs', 'complex_add',
81
+ 'complex_arg', 'complex_conjugate', 'complex_cos', 'complex_cosh',
82
+ 'complex_div', 'complex_exp', 'complex_imag', 'complex_inv',
83
+ 'complex_log', 'complex_mul', 'complex_neg', 'complex_new',
84
+ 'complex_norm', 'complex_power', 'complex_rho', 'complex_real',
85
+ 'complex_round', 'complex_sin', 'complex_sinh', 'complex_sprint',
86
+ 'complex_sqrt', 'complex_sub', 'complex_theta', 'concat', 'cos',
87
+ 'crash', 'custom_sort', 'date', 'day_of_week', 'day_of_year',
88
+ 'days_in_month', 'decode_base64', 'decode_flags', 'deep_copy', 'deld',
89
+ 'deserialize', 'destroy_dict', 'destroy_queue', 'destroy_stack',
90
+ 'dict_name', 'dict_size', 'elapsed', 'elapsed_short', 'encode_base64',
91
+ 'equal', 'even', 'exp', 'extract', 'factorial', 'factors',
92
+ 'file_size_k', 'find', 'find_all', 'find_any', 'find_replace', 'filter',
93
+ 'flatten', 'float32_to_atom', 'float64_to_atom', 'floor',
94
+ 'format_timedate', 'free_console', 'from_polar', 'gcd', 'get_file_base',
95
+ 'get_file_extension', 'get_file_name', 'get_file_name_and_path',
96
+ 'get_file_path', 'get_file_path_and_name', 'get_maxprime', 'get_prime',
97
+ 'get_primes', 'get_primes_le', 'get_proper_dir', 'get_proper_path',
98
+ 'get_rand', 'get_routine_info', 'get_test_abort', 'get_test_logfile',
99
+ 'get_test_pause', 'get_test_verbosity', 'get_tzid', 'getd', 'getdd',
100
+ 'getd_all_keys', 'getd_by_index', 'getd_index', 'getd_partial_key',
101
+ 'glAttachShader', 'glBindBuffer', 'glBindTexture', 'glBufferData',
102
+ 'glCanvasSpecialText', 'glClear', 'glClearColor', 'glColor',
103
+ 'glCompileShader', 'glCreateBuffer', 'glCreateProgram',
104
+ 'glCreateShader', 'glCreateTexture', 'glDeleteProgram',
105
+ 'glDeleteShader', 'glDrawArrays', 'glEnable',
106
+ 'glEnableVertexAttribArray', 'glFloat32Array', 'glInt32Array',
107
+ 'glFlush', 'glGetAttribLocation', 'glGetError', 'glGetProgramInfoLog',
108
+ 'glGetProgramParameter', 'glGetShaderInfoLog', 'glGetShaderParameter',
109
+ 'glGetUniformLocation', 'glLinkProgram', 'glLoadIdentity',
110
+ 'glMatrixMode', 'glOrtho', 'glRotatef', 'glShadeModel',
111
+ 'glShaderSource', 'glSimpleA7texcoords', 'glTexImage2Dc',
112
+ 'glTexParameteri', 'glTranslate', 'glUniform1f', 'glUniform1i',
113
+ 'glUniformMatrix4fv', 'glUseProgram', 'glVertex',
114
+ 'glVertexAttribPointer', 'glViewport', 'head', 'hsv_to_rgb', 'iff',
115
+ 'iif', 'include_file', 'incl0de_file', 'insert', 'instance',
116
+ 'int_to_bits', 'int_to_bytes', 'is_dict', 'is_integer', 's_leap_year',
117
+ 'is_prime', 'is_prime2', 'islower', 'isupper', 'Icallback',
118
+ 'iup_isdouble', 'iup_isprint', 'iup_XkeyBase', 'IupAppend', 'IupAlarm',
119
+ 'IupBackgroundBox', 'IupButton', 'IupCalendar', 'IupCanvas',
120
+ 'IupClipboard', 'IupClose', 'IupCloseOnEscape', 'IupControlsOpen',
121
+ 'IupDatePick', 'IupDestroy', 'IupDialog', 'IupDrawArc', 'IupDrawBegin',
122
+ 'IupDrawEnd', 'IupDrawGetSize', 'IupDrawGetTextSize', 'IupDrawLine',
123
+ 'IupDrawRectangle', 'IupDrawText', 'IupExpander', 'IupFill',
124
+ 'IupFlatLabel', 'IupFlatList', 'IupFlatTree', 'IupFlush', 'IupFrame',
125
+ 'IupGetAttribute', 'IupGetAttributeId', 'IupGetAttributePtr',
126
+ 'IupGetBrother', 'IupGetChild', 'IupGetChildCount', 'IupGetClassName',
127
+ 'IupGetDialog', 'IupGetDialogChild', 'IupGetDouble', 'IupGetFocus',
128
+ 'IupGetGlobal', 'IupGetGlobalInt', 'IupGetGlobalIntInt', 'IupGetInt',
129
+ 'IupGetInt2', 'IupGetIntId', 'IupGetIntInt', 'IupGetParent',
130
+ 'IupGLCanvas', 'IupGLCanvasOpen', 'IupGLMakeCurrent', 'IupGraph',
131
+ 'IupHbox', 'IupHide', 'IupImage', 'IupImageRGBA', 'IupItem',
132
+ 'iupKeyCodeToName', 'IupLabel', 'IupLink', 'IupList', 'IupMap',
133
+ 'IupMenu', 'IupMenuItem', 'IupMessage', 'IupMessageDlg', 'IupMultiBox',
134
+ 'IupMultiLine', 'IupNextField', 'IupNormaliser', 'IupOpen',
135
+ 'IupPlayInput', 'IupPopup', 'IupPreviousField', 'IupProgressBar',
136
+ 'IupRadio', 'IupRecordInput', 'IupRedraw', 'IupRefresh',
137
+ 'IupRefreshChildren', 'IupSeparator', 'IupSetAttribute',
138
+ 'IupSetAttributes', 'IupSetAttributeHandle', 'IupSetAttributeId',
139
+ 'IupSetAttributePtr', 'IupSetCallback', 'IupSetCallbacks',
140
+ 'IupSetDouble', 'IupSetFocus', 'IupSetGlobal', 'IupSetGlobalInt',
141
+ 'IupSetGlobalFunction', 'IupSetHandle', 'IupSetInt',
142
+ 'IupSetStrAttribute', 'IupSetStrGlobal', 'IupShow', 'IupShowXY',
143
+ 'IupSplit', 'IupStoreAttribute', 'IupSubmenu', 'IupTable',
144
+ 'IupTableClearSelected', 'IupTableClick_cb', 'IupTableGetSelected',
145
+ 'IupTableResize_cb', 'IupTableSetData', 'IupTabs', 'IupText',
146
+ 'IupTimer', 'IupToggle', 'IupTreeAddNodes', 'IupTreeView', 'IupUpdate',
147
+ 'IupValuator', 'IupVbox', 'join', 'join_by', 'join_path', 'k_perm',
148
+ 'largest', 'lcm', 'length', 'log', 'log10', 'log2', 'lower',
149
+ 'm4_crossProduct', 'm4_inverse', 'm4_lookAt', 'm4_multiply',
150
+ 'm4_normalize', 'm4_perspective', 'm4_subtractVectors', 'm4_xRotate',
151
+ 'm4_yRotate', 'machine_bits', 'machine_word', 'match', 'match_all',
152
+ 'match_replace', 'max', 'maxsq', 'min', 'minsq', 'mod', 'mpfr_add',
153
+ 'mpfr_ceil', 'mpfr_cmp', 'mpfr_cmp_si', 'mpfr_const_pi', 'mpfr_div',
154
+ 'mpfr_div_si', 'mpfr_div_z', 'mpfr_floor', 'mpfr_free', 'mpfr_get_d',
155
+ 'mpfr_get_default_precision', 'mpfr_get_default_rounding_mode',
156
+ 'mpfr_get_fixed', 'mpfr_get_precision', 'mpfr_get_si', 'mpfr_init',
157
+ 'mpfr_inits', 'mpfr_init_set', 'mpfr_init_set_q', 'mpfr_init_set_z',
158
+ 'mpfr_mul', 'mpfr_mul_si', 'mpfr_pow_si', 'mpfr_set', 'mpfr_set_d',
159
+ 'mpfr_set_default_precision', 'mpfr_set_default_rounding_mode',
160
+ 'mpfr_set_precision', 'mpfr_set_q', 'mpfr_set_si', 'mpfr_set_str',
161
+ 'mpfr_set_z', 'mpfr_si_div', 'mpfr_si_sub', 'mpfr_sqrt', 'mpfr_sub',
162
+ 'mpfr_sub_si', 'mpq_abs', 'mpq_add', 'mpq_add_si', 'mpq_canonicalize',
163
+ 'mpq_cmp', 'mpq_cmp_si', 'mpq_div', 'mpq_div_2exp', 'mpq_free',
164
+ 'mpq_get_den', 'mpq_get_num', 'mpq_get_str', 'mpq_init', 'mpq_init_set',
165
+ 'mpq_init_set_si', 'mpq_init_set_str', 'mpq_init_set_z', 'mpq_inits',
166
+ 'mpq_inv', 'mpq_mul', 'mpq_neg', 'mpq_set', 'mpq_set_si', 'mpq_set_str',
167
+ 'mpq_set_z', 'mpq_sub', 'mpz_abs', 'mpz_add', 'mpz_addmul',
168
+ 'mpz_addmul_ui', 'mpz_addmul_si', 'mpz_add_si', 'mpz_add_ui', 'mpz_and',
169
+ 'mpz_bin_uiui', 'mpz_cdiv_q', 'mpz_cmp', 'mpz_cmp_si', 'mpz_divexact',
170
+ 'mpz_divexact_ui', 'mpz_divisible_p', 'mpz_divisible_ui_p', 'mpz_even',
171
+ 'mpz_fac_ui', 'mpz_factorstring', 'mpz_fdiv_q', 'mpz_fdiv_q_2exp',
172
+ 'mpz_fdiv_q_ui', 'mpz_fdiv_qr', 'mpz_fdiv_r', 'mpz_fdiv_ui',
173
+ 'mpz_fib_ui', 'mpz_fib2_ui', 'mpz_fits_atom', 'mpz_fits_integer',
174
+ 'mpz_free', 'mpz_gcd', 'mpz_gcd_ui', 'mpz_get_atom', 'mpz_get_integer',
175
+ 'mpz_get_short_str', 'mpz_get_str', 'mpz_init', 'mpz_init_set',
176
+ 'mpz_inits', 'mpz_invert', 'mpz_lcm', 'mpz_lcm_ui', 'mpz_max',
177
+ 'mpz_min', 'mpz_mod', 'mpz_mod_ui', 'mpz_mul', 'mpz_mul_2exp',
178
+ 'mpz_mul_d', 'mpz_mul_si', 'mpz_neg', 'mpz_nthroot', 'mpz_odd',
179
+ 'mpz_pollard_rho', 'mpz_pow_ui', 'mpz_powm', 'mpz_powm_ui', 'mpz_prime',
180
+ 'mpz_prime_factors', 'mpz_prime_mr', 'mpz_rand', 'mpz_rand_ui',
181
+ 'mpz_re_compose', 'mpz_remove', 'mpz_scan0', 'mpz_scan1', 'mpz_set',
182
+ 'mpz_set_d', 'mpz_set_si', 'mpz_set_str', 'mpz_set_v', 'mpz_sign',
183
+ 'mpz_sizeinbase', 'mpz_sqrt', 'mpz_sub', 'mpz_sub_si', 'mpz_sub_ui',
184
+ 'mpz_si_sub', 'mpz_tdiv_q_2exp', 'mpz_tdiv_r_2exp', 'mpz_tstbit',
185
+ 'mpz_ui_pow_ui', 'mpz_xor', 'named_dict', 'new_dict', 'new_queue',
186
+ 'new_stack', 'not_bits', 'not_bitsu', 'odd', 'or_all', 'or_allu',
187
+ 'or_bits', 'or_bitsu', 'ord', 'ordinal', 'ordinant',
188
+ 'override_timezone', 'pad', 'pad_head', 'pad_tail', 'parse_date_string',
189
+ 'papply', 'peep', 'peepn', 'peep_dict', 'permute', 'permutes',
190
+ 'platform', 'pop', 'popn', 'pop_dict', 'power', 'pp', 'ppEx', 'ppExf',
191
+ 'ppf', 'ppOpt', 'pq_add', 'pq_destroy', 'pq_empty', 'pq_new', 'pq_peek',
192
+ 'pq_pop', 'pq_pop_data', 'pq_size', 'prepend', 'prime_factors',
193
+ 'printf', 'product', 'proper', 'push', 'pushn', 'putd', 'puts',
194
+ 'queue_empty', 'queue_size', 'rand', 'rand_range', 'reinstate',
195
+ 'remainder', 'remove', 'remove_all', 'repeat', 'repeatch', 'replace',
196
+ 'requires', 'reverse', 'rfind', 'rgb', 'rmatch', 'rmdr', 'rnd', 'round',
197
+ 'routine_id', 'scanf', 'serialize', 'series', 'set_rand',
198
+ 'set_test_abort', 'set_test_logfile', 'set_test_module',
199
+ 'set_test_pause', 'set_test_verbosity', 'set_timedate_formats',
200
+ 'set_timezone', 'setd', 'setd_default', 'shorten', 'sha256',
201
+ 'shift_bits', 'shuffle', 'sign', 'sin', 'smallest', 'sort',
202
+ 'sort_columns', 'speak', 'splice', 'split', 'split_any', 'split_by',
203
+ 'sprint', 'sprintf', 'sq_abs', 'sq_add', 'sq_and', 'sq_and_bits',
204
+ 'sq_arccos', 'sq_arcsin', 'sq_arctan', 'sq_atom', 'sq_ceil', 'sq_cmp',
205
+ 'sq_cos', 'sq_div', 'sq_even', 'sq_eq', 'sq_floor', 'sq_floor_div',
206
+ 'sq_ge', 'sq_gt', 'sq_int', 'sq_le', 'sq_log', 'sq_log10', 'sq_log2',
207
+ 'sq_lt', 'sq_max', 'sq_min', 'sq_mod', 'sq_mul', 'sq_ne', 'sq_not',
208
+ 'sq_not_bits', 'sq_odd', 'sq_or', 'sq_or_bits', 'sq_power', 'sq_rand',
209
+ 'sq_remainder', 'sq_rmdr', 'sq_rnd', 'sq_round', 'sq_seq', 'sq_sign',
210
+ 'sq_sin', 'sq_sqrt', 'sq_str', 'sq_sub', 'sq_tan', 'sq_trunc',
211
+ 'sq_uminus', 'sq_xor', 'sq_xor_bits', 'sqrt', 'square_free',
212
+ 'stack_empty', 'stack_size', 'substitute', 'substitute_all', 'sum',
213
+ 'tail', 'tan', 'test_equal', 'test_fail', 'test_false',
214
+ 'test_not_equal', 'test_pass', 'test_summary', 'test_true',
215
+ 'text_color', 'throw', 'time', 'timedate_diff', 'timedelta',
216
+ 'to_integer', 'to_number', 'to_rgb', 'to_string', 'traverse_dict',
217
+ 'traverse_dict_partial_key', 'trim', 'trim_head', 'trim_tail', 'trunc',
218
+ 'tagset', 'tagstart', 'typeof', 'unique', 'unix_dict', 'upper',
219
+ 'utf8_to_utf32', 'utf32_to_utf8', 'version', 'vlookup', 'vslice',
220
+ 'wglGetProcAddress', 'wildcard_file', 'wildcard_match', 'with_rho',
221
+ 'with_theta', 'xml_new_doc', 'xml_new_element', 'xml_set_attribute',
222
+ 'xml_sprint', 'xor_bits', 'xor_bitsu',
223
+ 'accept', 'allocate', 'allocate_string', 'allow_break', 'ARM',
224
+ 'atom_to_float80', 'c_func', 'c_proc', 'call_back', 'chdir',
225
+ 'check_break', 'clearDib', 'close', 'closesocket', 'console',
226
+ 'copy_file', 'create', 'create_directory', 'create_thread',
227
+ 'curl_easy_cleanup', 'curl_easy_get_file', 'curl_easy_init',
228
+ 'curl_easy_perform', 'curl_easy_perform_ex', 'curl_easy_setopt',
229
+ 'curl_easy_strerror', 'curl_global_cleanup', 'curl_global_init',
230
+ 'curl_slist_append', 'curl_slist_free_all', 'current_dir', 'cursor',
231
+ 'define_c_func', 'define_c_proc', 'delete', 'delete_cs', 'delete_file',
232
+ 'dir', 'DLL', 'drawDib', 'drawShadedPolygonToDib', 'ELF32', 'ELF64',
233
+ 'enter_cs', 'eval', 'exit_thread', 'free', 'file_exists', 'final',
234
+ 'float80_to_atom', 'format', 'get_bytes', 'get_file_date',
235
+ 'get_file_size', 'get_file_type', 'get_interpreter', 'get_key',
236
+ 'get_socket_error', 'get_text', 'get_thread_exitcode', 'get_thread_id',
237
+ 'getc', 'getenv', 'gets', 'getsockaddr', 'glBegin', 'glCallList',
238
+ 'glFrustum', 'glGenLists', 'glGetString', 'glLight', 'glMaterial',
239
+ 'glNewList', 'glNormal', 'glPopMatrix', 'glPushMatrix', 'glRotate',
240
+ 'glEnd', 'glEndList', 'glTexImage2D', 'goto', 'GUI', 'icons', 'ilASM',
241
+ 'include_files', 'include_paths', 'init_cs', 'ip_to_string',
242
+ 'IupConfig', 'IupConfigDialogClosed', 'IupConfigDialogShow',
243
+ 'IupConfigGetVariableInt', 'IupConfigLoad', 'IupConfigSave',
244
+ 'IupConfigSetVariableInt', 'IupExitLoop', 'IupFileDlg', 'IupFileList',
245
+ 'IupGLSwapBuffers', 'IupHelp', 'IupLoopStep', 'IupMainLoop',
246
+ 'IupNormalizer', 'IupPlot', 'IupPlotAdd', 'IupPlotBegin', 'IupPlotEnd',
247
+ 'IupPlotInsert', 'IupSaveImage', 'IupTreeGetUserId', 'IupUser',
248
+ 'IupVersion', 'IupVersionDate', 'IupVersionNumber', 'IupVersionShow',
249
+ 'killDib', 'leave_cs', 'listen', 'manifest', 'mem_copy', 'mem_set',
250
+ 'mpfr_gamma', 'mpfr_printf', 'mpfr_sprintf', 'mpz_export', 'mpz_import',
251
+ 'namespace', 'new', 'newDib', 'open', 'open_dll', 'PE32', 'PE64',
252
+ 'peek', 'peek_string', 'peek1s', 'peek1u', 'peek2s', 'peek2u', 'peek4s',
253
+ 'peek4u', 'peek8s', 'peek8u', 'peekNS', 'peekns', 'peeknu', 'poke',
254
+ 'poke2', 'poke4', 'poke8', 'pokeN', 'poke_string', 'poke_wstring',
255
+ 'position', 'progress', 'prompt_number', 'prompt_string', 'read_file',
256
+ 'read_lines', 'recv', 'resume_thread', 'seek', 'select', 'send',
257
+ 'setHandler', 'shutdown', 'sleep', 'SO', 'sockaddr_in', 'socket',
258
+ 'split_path', 'suspend_thread', 'system', 'system_exec', 'system_open',
259
+ 'system_wait', 'task_clock_start', 'task_clock_stop', 'task_create',
260
+ 'task_delay', 'task_list', 'task_schedule', 'task_self', 'task_status',
261
+ 'task_suspend', 'task_yield', 'thread_safe_string', 'try_cs',
262
+ 'utf8_to_utf16', 'utf16_to_utf8', 'utf16_to_utf32', 'utf32_to_utf16',
263
+ 'video_config', 'WSACleanup', 'wait_thread', 'walk_dir', 'where',
264
+ 'write_lines', 'wait_key'
265
+ )
266
+ constants = (
267
+ 'ANY_QUEUE', 'ASCENDING', 'BLACK', 'BLOCK_CURSOR', 'BLUE',
268
+ 'BRIGHT_CYAN', 'BRIGHT_BLUE', 'BRIGHT_GREEN', 'BRIGHT_MAGENTA',
269
+ 'BRIGHT_RED', 'BRIGHT_WHITE', 'BROWN', 'C_DWORD', 'C_INT', 'C_POINTER',
270
+ 'C_USHORT', 'C_WORD', 'CD_AMBER', 'CD_BLACK', 'CD_BLUE', 'CD_BOLD',
271
+ 'CD_BOLD_ITALIC', 'CD_BOX', 'CD_CENTER', 'CD_CIRCLE', 'CD_CLOSED_LINES',
272
+ 'CD_CONTINUOUS', 'CD_CUSTOM', 'CD_CYAN', 'CD_DARK_BLUE', 'CD_DARK_CYAN',
273
+ 'CD_DARK_GRAY', 'CD_DARK_GREY', 'CD_DARK_GREEN', 'CD_DARK_MAGENTA',
274
+ 'CD_DARK_RED', 'CD_DARK_YELLOW', 'CD_DASH_DOT', 'CD_DASH_DOT_DOT',
275
+ 'CD_DASHED', 'CD_DBUFFER', 'CD_DEG2RAD', 'CD_DIAMOND', 'CD_DOTTED',
276
+ 'CD_EAST', 'CD_EVENODD', 'CD_FILL', 'CD_GL', 'CD_GRAY', 'CD_GREY',
277
+ 'CD_GREEN', 'CD_HATCH', 'CD_HOLLOW', 'CD_HOLLOW_BOX',
278
+ 'CD_HOLLOW_CIRCLE', 'CD_HOLLOW_DIAMOND', 'CD_INDIGO', 'CD_ITALIC',
279
+ 'CD_IUP', 'CD_IUPDBUFFER', 'CD_LIGHT_BLUE', 'CD_LIGHT_GRAY',
280
+ 'CD_LIGHT_GREY', 'CD_LIGHT_GREEN', 'CD_LIGHT_PARCHMENT', 'CD_MAGENTA',
281
+ 'CD_NAVY', 'CD_NORTH', 'CD_NORTH_EAST', 'CD_NORTH_WEST', 'CD_OLIVE',
282
+ 'CD_OPEN_LINES', 'CD_ORANGE', 'CD_PARCHMENT', 'CD_PATTERN',
283
+ 'CD_PRINTER', 'CD_PURPLE', 'CD_PLAIN', 'CD_PLUS', 'CD_QUERY',
284
+ 'CD_RAD2DEG', 'CD_RED', 'CD_SILVER', 'CD_SOLID', 'CD_SOUTH_EAST',
285
+ 'CD_SOUTH_WEST', 'CD_STAR', 'CD_STIPPLE', 'CD_STRIKEOUT',
286
+ 'CD_UNDERLINE', 'CD_WEST', 'CD_WHITE', 'CD_WINDING', 'CD_VIOLET',
287
+ 'CD_X', 'CD_YELLOW', 'CURLE_OK', 'CURLOPT_MAIL_FROM',
288
+ 'CURLOPT_MAIL_RCPT', 'CURLOPT_PASSWORD', 'CURLOPT_READDATA',
289
+ 'CURLOPT_READFUNCTION', 'CURLOPT_SSL_VERIFYPEER',
290
+ 'CURLOPT_SSL_VERIFYHOST', 'CURLOPT_UPLOAD', 'CURLOPT_URL',
291
+ 'CURLOPT_USE_SSL', 'CURLOPT_USERNAME', 'CURLOPT_VERBOSE',
292
+ 'CURLOPT_WRITEFUNCTION', 'CURLUSESSL_ALL', 'CYAN', 'D_NAME',
293
+ 'D_ATTRIBUTES', 'D_SIZE', 'D_YEAR', 'D_MONTH', 'D_DAY', 'D_HOUR',
294
+ 'D_MINUTE', 'D_SECOND', 'D_CREATION', 'D_LASTACCESS', 'D_MODIFICATION',
295
+ 'DT_YEAR', 'DT_MONTH', 'DT_DAY', 'DT_HOUR', 'DT_MINUTE', 'DT_SECOND',
296
+ 'DT_DOW', 'DT_MSEC', 'DT_DOY', 'DT_GMT', 'EULER', 'E_CODE', 'E_ADDR',
297
+ 'E_LINE', 'E_RTN', 'E_NAME', 'E_FILE', 'E_PATH', 'E_USER', 'false',
298
+ 'False', 'FALSE', 'FIFO_QUEUE', 'FILETYPE_DIRECTORY', 'FILETYPE_FILE',
299
+ 'GET_EOF', 'GET_FAIL', 'GET_IGNORE', 'GET_SUCCESS',
300
+ 'GL_AMBIENT_AND_DIFFUSE', 'GL_ARRAY_BUFFER', 'GL_CLAMP',
301
+ 'GL_CLAMP_TO_BORDER', 'GL_CLAMP_TO_EDGE', 'GL_COLOR_BUFFER_BIT',
302
+ 'GL_COMPILE', 'GL_COMPILE_STATUS', 'GL_CULL_FACE',
303
+ 'GL_DEPTH_BUFFER_BIT', 'GL_DEPTH_TEST', 'GL_EXTENSIONS', 'GL_FLAT',
304
+ 'GL_FLOAT', 'GL_FRAGMENT_SHADER', 'GL_FRONT', 'GL_LIGHT0',
305
+ 'GL_LIGHTING', 'GL_LINEAR', 'GL_LINK_STATUS', 'GL_MODELVIEW',
306
+ 'GL_NEAREST', 'GL_NO_ERROR', 'GL_NORMALIZE', 'GL_POSITION',
307
+ 'GL_PROJECTION', 'GL_QUAD_STRIP', 'GL_QUADS', 'GL_RENDERER',
308
+ 'GL_REPEAT', 'GL_RGB', 'GL_RGBA', 'GL_SMOOTH', 'GL_STATIC_DRAW',
309
+ 'GL_TEXTURE_2D', 'GL_TEXTURE_MAG_FILTER', 'GL_TEXTURE_MIN_FILTER',
310
+ 'GL_TEXTURE_WRAP_S', 'GL_TEXTURE_WRAP_T', 'GL_TRIANGLES',
311
+ 'GL_UNSIGNED_BYTE', 'GL_VENDOR', 'GL_VERSION', 'GL_VERTEX_SHADER',
312
+ 'GRAY', 'GREEN', 'GT_LF_STRIPPED', 'GT_WHOLE_FILE', 'INVLN10',
313
+ 'IUP_CLOSE', 'IUP_CONTINUE', 'IUP_DEFAULT', 'IUP_BLACK', 'IUP_BLUE',
314
+ 'IUP_BUTTON1', 'IUP_BUTTON3', 'IUP_CENTER', 'IUP_CYAN', 'IUP_DARK_BLUE',
315
+ 'IUP_DARK_CYAN', 'IUP_DARK_GRAY', 'IUP_DARK_GREY', 'IUP_DARK_GREEN',
316
+ 'IUP_DARK_MAGENTA', 'IUP_DARK_RED', 'IUP_GRAY', 'IUP_GREY', 'IUP_GREEN',
317
+ 'IUP_IGNORE', 'IUP_INDIGO', 'IUP_MAGENTA', 'IUP_MASK_INT',
318
+ 'IUP_MASK_UINT', 'IUP_MOUSEPOS', 'IUP_NAVY', 'IUP_OLIVE', 'IUP_RECTEXT',
319
+ 'IUP_RED', 'IUP_LIGHT_BLUE', 'IUP_LIGHT_GRAY', 'IUP_LIGHT_GREY',
320
+ 'IUP_LIGHT_GREEN', 'IUP_ORANGE', 'IUP_PARCHMENT', 'IUP_PURPLE',
321
+ 'IUP_SILVER', 'IUP_TEAL', 'IUP_VIOLET', 'IUP_WHITE', 'IUP_YELLOW',
322
+ 'K_BS', 'K_cA', 'K_cC', 'K_cD', 'K_cF5', 'K_cK', 'K_cM', 'K_cN', 'K_cO',
323
+ 'K_cP', 'K_cR', 'K_cS', 'K_cT', 'K_cW', 'K_CR', 'K_DEL', 'K_DOWN',
324
+ 'K_END', 'K_ESC', 'K_F1', 'K_F2', 'K_F3', 'K_F4', 'K_F5', 'K_F6',
325
+ 'K_F7', 'K_F8', 'K_F9', 'K_F10', 'K_F11', 'K_F12', 'K_HOME', 'K_INS',
326
+ 'K_LEFT', 'K_MIDDLE', 'K_PGDN', 'K_PGUP', 'K_RIGHT', 'K_SP', 'K_TAB',
327
+ 'K_UP', 'K_h', 'K_i', 'K_j', 'K_p', 'K_r', 'K_s', 'JS', 'LIFO_QUEUE',
328
+ 'LINUX', 'MAX_HEAP', 'MAGENTA', 'MIN_HEAP', 'Nan', 'NO_CURSOR', 'null',
329
+ 'NULL', 'PI', 'pp_Ascii', 'pp_Brkt', 'pp_Date', 'pp_File', 'pp_FltFmt',
330
+ 'pp_Indent', 'pp_IntCh', 'pp_IntFmt', 'pp_Maxlen', 'pp_Nest',
331
+ 'pp_Pause', 'pp_Q22', 'pp_StrFmt', 'RED', 'SEEK_OK', 'SLASH',
332
+ 'TEST_ABORT', 'TEST_CRASH', 'TEST_PAUSE', 'TEST_PAUSE_FAIL',
333
+ 'TEST_QUIET', 'TEST_SHOW_ALL', 'TEST_SHOW_FAILED', 'TEST_SUMMARY',
334
+ 'true', 'True', 'TRUE', 'VC_SCRNLINES', 'WHITE', 'WINDOWS', 'YELLOW'
335
+ )
336
+
337
+ tokens = {
338
+ 'root': [
339
+ (r"\s+", Whitespace),
340
+ (r'/\*|--/\*|#\[', Comment.Multiline, 'comment'),
341
+ (r'(?://|--|#!).*$', Comment.Single),
342
+ #Alt:
343
+ # (r'//.*$|--.*$|#!.*$', Comment.Single),
344
+ (r'"([^"\\]|\\.)*"', String.Other),
345
+ (r'\'[^\']*\'', String.Other),
346
+ (r'`[^`]*`', String.Other),
347
+
348
+ (words(types, prefix=r'\b', suffix=r'\b'), Name.Function),
349
+ (words(routines, prefix=r'\b', suffix=r'\b'), Name.Function),
350
+ (words(preproc, prefix=r'\b', suffix=r'\b'), Keyword.Declaration),
351
+ (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword.Declaration),
352
+ (words(constants, prefix=r'\b', suffix=r'\b'), Name.Constant),
353
+ # Aside: Phix only supports/uses the ascii/non-unicode tilde
354
+ (r'!=|==|<<|>>|:=|[-~+/*%=<>&^|\.(){},?:\[\]$\\;#]', Operator),
355
+ (r'[\w-]+', Text)
356
+ ],
357
+ 'comment': [
358
+ (r'[^*/#]+', Comment.Multiline),
359
+ (r'/\*|#\[', Comment.Multiline, '#push'),
360
+ (r'\*/|#\]', Comment.Multiline, '#pop'),
361
+ (r'[*/#]', Comment.Multiline)
362
+ ]
363
+ }