react-ai-renderer 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6224,475 +6224,484 @@ function asmatmel(Prism) {
6224
6224
  };
6225
6225
  }
6226
6226
 
6227
- var csharp_1 = csharp;
6228
- csharp.displayName = 'csharp';
6229
- csharp.aliases = ['dotnet', 'cs'];
6230
- function csharp(Prism) {
6227
+ var csharp_1;
6228
+ var hasRequiredCsharp;
6229
+
6230
+ function requireCsharp () {
6231
+ if (hasRequiredCsharp) return csharp_1;
6232
+ hasRequiredCsharp = 1;
6233
+
6234
+ csharp_1 = csharp;
6235
+ csharp.displayName = 'csharp';
6236
+ csharp.aliases = ['dotnet', 'cs'];
6237
+ function csharp(Prism) {
6231
6238
  (function (Prism) {
6232
- /**
6233
- * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
6234
- *
6235
- * Note: This is a simple text based replacement. Be careful when using backreferences!
6236
- *
6237
- * @param {string} pattern the given pattern.
6238
- * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
6239
- * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
6240
- * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
6241
- */
6242
- function replace(pattern, replacements) {
6243
- return pattern.replace(/<<(\d+)>>/g, function (m, index) {
6244
- return '(?:' + replacements[+index] + ')'
6245
- })
6246
- }
6247
- /**
6248
- * @param {string} pattern
6249
- * @param {string[]} replacements
6250
- * @param {string} [flags]
6251
- * @returns {RegExp}
6252
- */
6253
- function re(pattern, replacements, flags) {
6254
- return RegExp(replace(pattern, replacements), flags || '')
6255
- }
6256
- /**
6257
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
6258
- *
6259
- * @param {string} pattern
6260
- * @param {number} depthLog2
6261
- * @returns {string}
6262
- */
6263
- function nested(pattern, depthLog2) {
6264
- for (var i = 0; i < depthLog2; i++) {
6265
- pattern = pattern.replace(/<<self>>/g, function () {
6266
- return '(?:' + pattern + ')'
6267
- });
6268
- }
6269
- return pattern.replace(/<<self>>/g, '[^\\s\\S]')
6270
- } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
6271
- var keywordKinds = {
6272
- // keywords which represent a return or variable type
6273
- type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
6274
- // keywords which are used to declare a type
6275
- typeDeclaration: 'class enum interface record struct',
6276
- // contextual keywords
6277
- // ("var" and "dynamic" are missing because they are used like types)
6278
- contextual:
6279
- 'add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)',
6280
- // all other keywords
6281
- other:
6282
- 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'
6283
- }; // keywords
6284
- function keywordsToPattern(words) {
6285
- return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
6286
- }
6287
- var typeDeclarationKeywords = keywordsToPattern(
6288
- keywordKinds.typeDeclaration
6289
- );
6290
- var keywords = RegExp(
6291
- keywordsToPattern(
6292
- keywordKinds.type +
6293
- ' ' +
6294
- keywordKinds.typeDeclaration +
6295
- ' ' +
6296
- keywordKinds.contextual +
6297
- ' ' +
6298
- keywordKinds.other
6299
- )
6300
- );
6301
- var nonTypeKeywords = keywordsToPattern(
6302
- keywordKinds.typeDeclaration +
6303
- ' ' +
6304
- keywordKinds.contextual +
6305
- ' ' +
6306
- keywordKinds.other
6307
- );
6308
- var nonContextualKeywords = keywordsToPattern(
6309
- keywordKinds.type +
6310
- ' ' +
6311
- keywordKinds.typeDeclaration +
6312
- ' ' +
6313
- keywordKinds.other
6314
- ); // types
6315
- var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
6316
- var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
6317
- var name = /@?\b[A-Za-z_]\w*\b/.source;
6318
- var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
6319
- var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
6320
- nonTypeKeywords,
6321
- genericName
6322
- ]);
6323
- var array = /\[\s*(?:,\s*)*\]/.source;
6324
- var typeExpressionWithoutTuple = replace(
6325
- /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
6326
- [identifier, array]
6327
- );
6328
- var tupleElement = replace(
6329
- /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
6330
- [generic, nestedRound, array]
6331
- );
6332
- var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
6333
- var typeExpression = replace(
6334
- /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
6335
- [tuple, identifier, array]
6336
- );
6337
- var typeInside = {
6338
- keyword: keywords,
6339
- punctuation: /[<>()?,.:[\]]/
6340
- }; // strings & characters
6341
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
6342
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
6343
- var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
6344
- var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
6345
- var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
6346
- Prism.languages.csharp = Prism.languages.extend('clike', {
6347
- string: [
6348
- {
6349
- pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
6350
- lookbehind: true,
6351
- greedy: true
6352
- },
6353
- {
6354
- pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
6355
- lookbehind: true,
6356
- greedy: true
6357
- }
6358
- ],
6359
- 'class-name': [
6360
- {
6361
- // Using static
6362
- // using static System.Math;
6363
- pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
6364
- identifier
6365
- ]),
6366
- lookbehind: true,
6367
- inside: typeInside
6368
- },
6369
- {
6370
- // Using alias (type)
6371
- // using Project = PC.MyCompany.Project;
6372
- pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
6373
- name,
6374
- typeExpression
6375
- ]),
6376
- lookbehind: true,
6377
- inside: typeInside
6378
- },
6379
- {
6380
- // Using alias (alias)
6381
- // using Project = PC.MyCompany.Project;
6382
- pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
6383
- lookbehind: true
6384
- },
6385
- {
6386
- // Type declarations
6387
- // class Foo<A, B>
6388
- // interface Foo<out A, B>
6389
- pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
6390
- typeDeclarationKeywords,
6391
- genericName
6392
- ]),
6393
- lookbehind: true,
6394
- inside: typeInside
6395
- },
6396
- {
6397
- // Single catch exception declaration
6398
- // catch(Foo)
6399
- // (things like catch(Foo e) is covered by variable declaration)
6400
- pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
6401
- lookbehind: true,
6402
- inside: typeInside
6403
- },
6404
- {
6405
- // Name of the type parameter of generic constraints
6406
- // where Foo : class
6407
- pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
6408
- lookbehind: true
6409
- },
6410
- {
6411
- // Casts and checks via as and is.
6412
- // as Foo<A>, is Bar<B>
6413
- // (things like if(a is Foo b) is covered by variable declaration)
6414
- pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
6415
- typeExpressionWithoutTuple
6416
- ]),
6417
- lookbehind: true,
6418
- inside: typeInside
6419
- },
6420
- {
6421
- // Variable, field and parameter declaration
6422
- // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
6423
- pattern: re(
6424
- /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
6425
- .source,
6426
- [typeExpression, nonContextualKeywords, name]
6427
- ),
6428
- inside: typeInside
6429
- }
6430
- ],
6431
- keyword: keywords,
6432
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
6433
- number:
6434
- /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,
6435
- operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
6436
- punctuation: /\?\.?|::|[{}[\];(),.:]/
6437
- });
6438
- Prism.languages.insertBefore('csharp', 'number', {
6439
- range: {
6440
- pattern: /\.\./,
6441
- alias: 'operator'
6442
- }
6443
- });
6444
- Prism.languages.insertBefore('csharp', 'punctuation', {
6445
- 'named-parameter': {
6446
- pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
6447
- lookbehind: true,
6448
- alias: 'punctuation'
6449
- }
6450
- });
6451
- Prism.languages.insertBefore('csharp', 'class-name', {
6452
- namespace: {
6453
- // namespace Foo.Bar {}
6454
- // using Foo.Bar;
6455
- pattern: re(
6456
- /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
6457
- [name]
6458
- ),
6459
- lookbehind: true,
6460
- inside: {
6461
- punctuation: /\./
6462
- }
6463
- },
6464
- 'type-expression': {
6465
- // default(Foo), typeof(Foo<Bar>), sizeof(int)
6466
- pattern: re(
6467
- /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
6468
- .source,
6469
- [nestedRound]
6470
- ),
6471
- lookbehind: true,
6472
- alias: 'class-name',
6473
- inside: typeInside
6474
- },
6475
- 'return-type': {
6476
- // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
6477
- // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
6478
- // int Foo => 0; int Foo { get; set } = 0;
6479
- pattern: re(
6480
- /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
6481
- [typeExpression, identifier]
6482
- ),
6483
- inside: typeInside,
6484
- alias: 'class-name'
6485
- },
6486
- 'constructor-invocation': {
6487
- // new List<Foo<Bar[]>> { }
6488
- pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
6489
- lookbehind: true,
6490
- inside: typeInside,
6491
- alias: 'class-name'
6492
- },
6493
- /*'explicit-implementation': {
6494
- // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
6495
- pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
6496
- inside: classNameInside,
6497
- alias: 'class-name'
6498
- },*/
6499
- 'generic-method': {
6500
- // foo<Bar>()
6501
- pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
6502
- inside: {
6503
- function: re(/^<<0>>/.source, [name]),
6504
- generic: {
6505
- pattern: RegExp(generic),
6506
- alias: 'class-name',
6507
- inside: typeInside
6508
- }
6509
- }
6510
- },
6511
- 'type-list': {
6512
- // The list of types inherited or of generic constraints
6513
- // class Foo<F> : Bar, IList<FooBar>
6514
- // where F : Bar, IList<int>
6515
- pattern: re(
6516
- /\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/
6517
- .source,
6518
- [
6519
- typeDeclarationKeywords,
6520
- genericName,
6521
- name,
6522
- typeExpression,
6523
- keywords.source,
6524
- nestedRound,
6525
- /\bnew\s*\(\s*\)/.source
6526
- ]
6527
- ),
6528
- lookbehind: true,
6529
- inside: {
6530
- 'record-arguments': {
6531
- pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
6532
- genericName,
6533
- nestedRound
6534
- ]),
6535
- lookbehind: true,
6536
- greedy: true,
6537
- inside: Prism.languages.csharp
6538
- },
6539
- keyword: keywords,
6540
- 'class-name': {
6541
- pattern: RegExp(typeExpression),
6542
- greedy: true,
6543
- inside: typeInside
6544
- },
6545
- punctuation: /[,()]/
6546
- }
6547
- },
6548
- preprocessor: {
6549
- pattern: /(^[\t ]*)#.*/m,
6550
- lookbehind: true,
6551
- alias: 'property',
6552
- inside: {
6553
- // highlight preprocessor directives as keywords
6554
- directive: {
6555
- pattern:
6556
- /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
6557
- lookbehind: true,
6558
- alias: 'keyword'
6559
- }
6560
- }
6561
- }
6562
- }); // attributes
6563
- var regularStringOrCharacter = regularString + '|' + character;
6564
- var regularStringCharacterOrComment = replace(
6565
- /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
6566
- [regularStringOrCharacter]
6567
- );
6568
- var roundExpression = nested(
6569
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6570
- regularStringCharacterOrComment
6571
- ]),
6572
- 2
6573
- ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
6574
- var attrTarget =
6575
- /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
6576
- .source;
6577
- var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
6578
- identifier,
6579
- roundExpression
6580
- ]);
6581
- Prism.languages.insertBefore('csharp', 'class-name', {
6582
- attribute: {
6583
- // Attributes
6584
- // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
6585
- pattern: re(
6586
- /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
6587
- .source,
6588
- [attrTarget, attr]
6589
- ),
6590
- lookbehind: true,
6591
- greedy: true,
6592
- inside: {
6593
- target: {
6594
- pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
6595
- alias: 'keyword'
6596
- },
6597
- 'attribute-arguments': {
6598
- pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
6599
- inside: Prism.languages.csharp
6600
- },
6601
- 'class-name': {
6602
- pattern: RegExp(identifier),
6603
- inside: {
6604
- punctuation: /\./
6605
- }
6606
- },
6607
- punctuation: /[:,]/
6608
- }
6609
- }
6610
- }); // string interpolation
6611
- var formatString = /:[^}\r\n]+/.source; // multi line
6612
- var mInterpolationRound = nested(
6613
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6614
- regularStringCharacterOrComment
6615
- ]),
6616
- 2
6617
- );
6618
- var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6619
- mInterpolationRound,
6620
- formatString
6621
- ]); // single line
6622
- var sInterpolationRound = nested(
6623
- replace(
6624
- /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
6625
- .source,
6626
- [regularStringOrCharacter]
6627
- ),
6628
- 2
6629
- );
6630
- var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6631
- sInterpolationRound,
6632
- formatString
6633
- ]);
6634
- function createInterpolationInside(interpolation, interpolationRound) {
6635
- return {
6636
- interpolation: {
6637
- pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
6638
- lookbehind: true,
6639
- inside: {
6640
- 'format-string': {
6641
- pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
6642
- interpolationRound,
6643
- formatString
6644
- ]),
6645
- lookbehind: true,
6646
- inside: {
6647
- punctuation: /^:/
6648
- }
6649
- },
6650
- punctuation: /^\{|\}$/,
6651
- expression: {
6652
- pattern: /[\s\S]+/,
6653
- alias: 'language-csharp',
6654
- inside: Prism.languages.csharp
6655
- }
6656
- }
6657
- },
6658
- string: /[\s\S]+/
6659
- }
6660
- }
6661
- Prism.languages.insertBefore('csharp', 'string', {
6662
- 'interpolation-string': [
6663
- {
6664
- pattern: re(
6665
- /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
6666
- [mInterpolation]
6667
- ),
6668
- lookbehind: true,
6669
- greedy: true,
6670
- inside: createInterpolationInside(mInterpolation, mInterpolationRound)
6671
- },
6672
- {
6673
- pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
6674
- sInterpolation
6675
- ]),
6676
- lookbehind: true,
6677
- greedy: true,
6678
- inside: createInterpolationInside(sInterpolation, sInterpolationRound)
6679
- }
6680
- ],
6681
- char: {
6682
- pattern: RegExp(character),
6683
- greedy: true
6684
- }
6685
- });
6686
- Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
6687
- })(Prism);
6239
+ /**
6240
+ * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
6241
+ *
6242
+ * Note: This is a simple text based replacement. Be careful when using backreferences!
6243
+ *
6244
+ * @param {string} pattern the given pattern.
6245
+ * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
6246
+ * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
6247
+ * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
6248
+ */
6249
+ function replace(pattern, replacements) {
6250
+ return pattern.replace(/<<(\d+)>>/g, function (m, index) {
6251
+ return '(?:' + replacements[+index] + ')'
6252
+ })
6253
+ }
6254
+ /**
6255
+ * @param {string} pattern
6256
+ * @param {string[]} replacements
6257
+ * @param {string} [flags]
6258
+ * @returns {RegExp}
6259
+ */
6260
+ function re(pattern, replacements, flags) {
6261
+ return RegExp(replace(pattern, replacements), flags || '')
6262
+ }
6263
+ /**
6264
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
6265
+ *
6266
+ * @param {string} pattern
6267
+ * @param {number} depthLog2
6268
+ * @returns {string}
6269
+ */
6270
+ function nested(pattern, depthLog2) {
6271
+ for (var i = 0; i < depthLog2; i++) {
6272
+ pattern = pattern.replace(/<<self>>/g, function () {
6273
+ return '(?:' + pattern + ')'
6274
+ });
6275
+ }
6276
+ return pattern.replace(/<<self>>/g, '[^\\s\\S]')
6277
+ } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
6278
+ var keywordKinds = {
6279
+ // keywords which represent a return or variable type
6280
+ type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
6281
+ // keywords which are used to declare a type
6282
+ typeDeclaration: 'class enum interface record struct',
6283
+ // contextual keywords
6284
+ // ("var" and "dynamic" are missing because they are used like types)
6285
+ contextual:
6286
+ 'add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)',
6287
+ // all other keywords
6288
+ other:
6289
+ 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'
6290
+ }; // keywords
6291
+ function keywordsToPattern(words) {
6292
+ return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
6293
+ }
6294
+ var typeDeclarationKeywords = keywordsToPattern(
6295
+ keywordKinds.typeDeclaration
6296
+ );
6297
+ var keywords = RegExp(
6298
+ keywordsToPattern(
6299
+ keywordKinds.type +
6300
+ ' ' +
6301
+ keywordKinds.typeDeclaration +
6302
+ ' ' +
6303
+ keywordKinds.contextual +
6304
+ ' ' +
6305
+ keywordKinds.other
6306
+ )
6307
+ );
6308
+ var nonTypeKeywords = keywordsToPattern(
6309
+ keywordKinds.typeDeclaration +
6310
+ ' ' +
6311
+ keywordKinds.contextual +
6312
+ ' ' +
6313
+ keywordKinds.other
6314
+ );
6315
+ var nonContextualKeywords = keywordsToPattern(
6316
+ keywordKinds.type +
6317
+ ' ' +
6318
+ keywordKinds.typeDeclaration +
6319
+ ' ' +
6320
+ keywordKinds.other
6321
+ ); // types
6322
+ var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
6323
+ var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
6324
+ var name = /@?\b[A-Za-z_]\w*\b/.source;
6325
+ var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
6326
+ var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
6327
+ nonTypeKeywords,
6328
+ genericName
6329
+ ]);
6330
+ var array = /\[\s*(?:,\s*)*\]/.source;
6331
+ var typeExpressionWithoutTuple = replace(
6332
+ /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
6333
+ [identifier, array]
6334
+ );
6335
+ var tupleElement = replace(
6336
+ /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
6337
+ [generic, nestedRound, array]
6338
+ );
6339
+ var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
6340
+ var typeExpression = replace(
6341
+ /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
6342
+ [tuple, identifier, array]
6343
+ );
6344
+ var typeInside = {
6345
+ keyword: keywords,
6346
+ punctuation: /[<>()?,.:[\]]/
6347
+ }; // strings & characters
6348
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
6349
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
6350
+ var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
6351
+ var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
6352
+ var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
6353
+ Prism.languages.csharp = Prism.languages.extend('clike', {
6354
+ string: [
6355
+ {
6356
+ pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
6357
+ lookbehind: true,
6358
+ greedy: true
6359
+ },
6360
+ {
6361
+ pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
6362
+ lookbehind: true,
6363
+ greedy: true
6364
+ }
6365
+ ],
6366
+ 'class-name': [
6367
+ {
6368
+ // Using static
6369
+ // using static System.Math;
6370
+ pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
6371
+ identifier
6372
+ ]),
6373
+ lookbehind: true,
6374
+ inside: typeInside
6375
+ },
6376
+ {
6377
+ // Using alias (type)
6378
+ // using Project = PC.MyCompany.Project;
6379
+ pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
6380
+ name,
6381
+ typeExpression
6382
+ ]),
6383
+ lookbehind: true,
6384
+ inside: typeInside
6385
+ },
6386
+ {
6387
+ // Using alias (alias)
6388
+ // using Project = PC.MyCompany.Project;
6389
+ pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
6390
+ lookbehind: true
6391
+ },
6392
+ {
6393
+ // Type declarations
6394
+ // class Foo<A, B>
6395
+ // interface Foo<out A, B>
6396
+ pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
6397
+ typeDeclarationKeywords,
6398
+ genericName
6399
+ ]),
6400
+ lookbehind: true,
6401
+ inside: typeInside
6402
+ },
6403
+ {
6404
+ // Single catch exception declaration
6405
+ // catch(Foo)
6406
+ // (things like catch(Foo e) is covered by variable declaration)
6407
+ pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
6408
+ lookbehind: true,
6409
+ inside: typeInside
6410
+ },
6411
+ {
6412
+ // Name of the type parameter of generic constraints
6413
+ // where Foo : class
6414
+ pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
6415
+ lookbehind: true
6416
+ },
6417
+ {
6418
+ // Casts and checks via as and is.
6419
+ // as Foo<A>, is Bar<B>
6420
+ // (things like if(a is Foo b) is covered by variable declaration)
6421
+ pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
6422
+ typeExpressionWithoutTuple
6423
+ ]),
6424
+ lookbehind: true,
6425
+ inside: typeInside
6426
+ },
6427
+ {
6428
+ // Variable, field and parameter declaration
6429
+ // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
6430
+ pattern: re(
6431
+ /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
6432
+ .source,
6433
+ [typeExpression, nonContextualKeywords, name]
6434
+ ),
6435
+ inside: typeInside
6436
+ }
6437
+ ],
6438
+ keyword: keywords,
6439
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
6440
+ number:
6441
+ /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,
6442
+ operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
6443
+ punctuation: /\?\.?|::|[{}[\];(),.:]/
6444
+ });
6445
+ Prism.languages.insertBefore('csharp', 'number', {
6446
+ range: {
6447
+ pattern: /\.\./,
6448
+ alias: 'operator'
6449
+ }
6450
+ });
6451
+ Prism.languages.insertBefore('csharp', 'punctuation', {
6452
+ 'named-parameter': {
6453
+ pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
6454
+ lookbehind: true,
6455
+ alias: 'punctuation'
6456
+ }
6457
+ });
6458
+ Prism.languages.insertBefore('csharp', 'class-name', {
6459
+ namespace: {
6460
+ // namespace Foo.Bar {}
6461
+ // using Foo.Bar;
6462
+ pattern: re(
6463
+ /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
6464
+ [name]
6465
+ ),
6466
+ lookbehind: true,
6467
+ inside: {
6468
+ punctuation: /\./
6469
+ }
6470
+ },
6471
+ 'type-expression': {
6472
+ // default(Foo), typeof(Foo<Bar>), sizeof(int)
6473
+ pattern: re(
6474
+ /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
6475
+ .source,
6476
+ [nestedRound]
6477
+ ),
6478
+ lookbehind: true,
6479
+ alias: 'class-name',
6480
+ inside: typeInside
6481
+ },
6482
+ 'return-type': {
6483
+ // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
6484
+ // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
6485
+ // int Foo => 0; int Foo { get; set } = 0;
6486
+ pattern: re(
6487
+ /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
6488
+ [typeExpression, identifier]
6489
+ ),
6490
+ inside: typeInside,
6491
+ alias: 'class-name'
6492
+ },
6493
+ 'constructor-invocation': {
6494
+ // new List<Foo<Bar[]>> { }
6495
+ pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
6496
+ lookbehind: true,
6497
+ inside: typeInside,
6498
+ alias: 'class-name'
6499
+ },
6500
+ /*'explicit-implementation': {
6501
+ // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
6502
+ pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
6503
+ inside: classNameInside,
6504
+ alias: 'class-name'
6505
+ },*/
6506
+ 'generic-method': {
6507
+ // foo<Bar>()
6508
+ pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
6509
+ inside: {
6510
+ function: re(/^<<0>>/.source, [name]),
6511
+ generic: {
6512
+ pattern: RegExp(generic),
6513
+ alias: 'class-name',
6514
+ inside: typeInside
6515
+ }
6516
+ }
6517
+ },
6518
+ 'type-list': {
6519
+ // The list of types inherited or of generic constraints
6520
+ // class Foo<F> : Bar, IList<FooBar>
6521
+ // where F : Bar, IList<int>
6522
+ pattern: re(
6523
+ /\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/
6524
+ .source,
6525
+ [
6526
+ typeDeclarationKeywords,
6527
+ genericName,
6528
+ name,
6529
+ typeExpression,
6530
+ keywords.source,
6531
+ nestedRound,
6532
+ /\bnew\s*\(\s*\)/.source
6533
+ ]
6534
+ ),
6535
+ lookbehind: true,
6536
+ inside: {
6537
+ 'record-arguments': {
6538
+ pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
6539
+ genericName,
6540
+ nestedRound
6541
+ ]),
6542
+ lookbehind: true,
6543
+ greedy: true,
6544
+ inside: Prism.languages.csharp
6545
+ },
6546
+ keyword: keywords,
6547
+ 'class-name': {
6548
+ pattern: RegExp(typeExpression),
6549
+ greedy: true,
6550
+ inside: typeInside
6551
+ },
6552
+ punctuation: /[,()]/
6553
+ }
6554
+ },
6555
+ preprocessor: {
6556
+ pattern: /(^[\t ]*)#.*/m,
6557
+ lookbehind: true,
6558
+ alias: 'property',
6559
+ inside: {
6560
+ // highlight preprocessor directives as keywords
6561
+ directive: {
6562
+ pattern:
6563
+ /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
6564
+ lookbehind: true,
6565
+ alias: 'keyword'
6566
+ }
6567
+ }
6568
+ }
6569
+ }); // attributes
6570
+ var regularStringOrCharacter = regularString + '|' + character;
6571
+ var regularStringCharacterOrComment = replace(
6572
+ /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
6573
+ [regularStringOrCharacter]
6574
+ );
6575
+ var roundExpression = nested(
6576
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6577
+ regularStringCharacterOrComment
6578
+ ]),
6579
+ 2
6580
+ ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
6581
+ var attrTarget =
6582
+ /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
6583
+ .source;
6584
+ var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
6585
+ identifier,
6586
+ roundExpression
6587
+ ]);
6588
+ Prism.languages.insertBefore('csharp', 'class-name', {
6589
+ attribute: {
6590
+ // Attributes
6591
+ // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
6592
+ pattern: re(
6593
+ /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
6594
+ .source,
6595
+ [attrTarget, attr]
6596
+ ),
6597
+ lookbehind: true,
6598
+ greedy: true,
6599
+ inside: {
6600
+ target: {
6601
+ pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
6602
+ alias: 'keyword'
6603
+ },
6604
+ 'attribute-arguments': {
6605
+ pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
6606
+ inside: Prism.languages.csharp
6607
+ },
6608
+ 'class-name': {
6609
+ pattern: RegExp(identifier),
6610
+ inside: {
6611
+ punctuation: /\./
6612
+ }
6613
+ },
6614
+ punctuation: /[:,]/
6615
+ }
6616
+ }
6617
+ }); // string interpolation
6618
+ var formatString = /:[^}\r\n]+/.source; // multi line
6619
+ var mInterpolationRound = nested(
6620
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6621
+ regularStringCharacterOrComment
6622
+ ]),
6623
+ 2
6624
+ );
6625
+ var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6626
+ mInterpolationRound,
6627
+ formatString
6628
+ ]); // single line
6629
+ var sInterpolationRound = nested(
6630
+ replace(
6631
+ /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
6632
+ .source,
6633
+ [regularStringOrCharacter]
6634
+ ),
6635
+ 2
6636
+ );
6637
+ var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6638
+ sInterpolationRound,
6639
+ formatString
6640
+ ]);
6641
+ function createInterpolationInside(interpolation, interpolationRound) {
6642
+ return {
6643
+ interpolation: {
6644
+ pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
6645
+ lookbehind: true,
6646
+ inside: {
6647
+ 'format-string': {
6648
+ pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
6649
+ interpolationRound,
6650
+ formatString
6651
+ ]),
6652
+ lookbehind: true,
6653
+ inside: {
6654
+ punctuation: /^:/
6655
+ }
6656
+ },
6657
+ punctuation: /^\{|\}$/,
6658
+ expression: {
6659
+ pattern: /[\s\S]+/,
6660
+ alias: 'language-csharp',
6661
+ inside: Prism.languages.csharp
6662
+ }
6663
+ }
6664
+ },
6665
+ string: /[\s\S]+/
6666
+ }
6667
+ }
6668
+ Prism.languages.insertBefore('csharp', 'string', {
6669
+ 'interpolation-string': [
6670
+ {
6671
+ pattern: re(
6672
+ /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
6673
+ [mInterpolation]
6674
+ ),
6675
+ lookbehind: true,
6676
+ greedy: true,
6677
+ inside: createInterpolationInside(mInterpolation, mInterpolationRound)
6678
+ },
6679
+ {
6680
+ pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
6681
+ sInterpolation
6682
+ ]),
6683
+ lookbehind: true,
6684
+ greedy: true,
6685
+ inside: createInterpolationInside(sInterpolation, sInterpolationRound)
6686
+ }
6687
+ ],
6688
+ char: {
6689
+ pattern: RegExp(character),
6690
+ greedy: true
6691
+ }
6692
+ });
6693
+ Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
6694
+ })(Prism);
6695
+ }
6696
+ return csharp_1;
6688
6697
  }
6689
6698
 
6690
- var refractorCsharp$1 = csharp_1;
6699
+ var refractorCsharp = requireCsharp();
6691
6700
  var aspnet_1 = aspnet;
6692
6701
  aspnet.displayName = 'aspnet';
6693
6702
  aspnet.aliases = [];
6694
6703
  function aspnet(Prism) {
6695
- Prism.register(refractorCsharp$1);
6704
+ Prism.register(refractorCsharp);
6696
6705
  Prism.languages.aspnet = Prism.languages.extend('markup', {
6697
6706
  'page-directive': {
6698
6707
  pattern: /<%\s*@.*%>/,
@@ -7005,56 +7014,65 @@ function avisynth(Prism) {
7005
7014
  })(Prism);
7006
7015
  }
7007
7016
 
7008
- var avroIdl_1 = avroIdl;
7009
- avroIdl.displayName = 'avroIdl';
7010
- avroIdl.aliases = [];
7011
- function avroIdl(Prism) {
7012
- // GitHub: https://github.com/apache/avro
7013
- // Docs: https://avro.apache.org/docs/current/idl.html
7014
- Prism.languages['avro-idl'] = {
7015
- comment: {
7016
- pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
7017
- greedy: true
7018
- },
7019
- string: {
7020
- pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,
7021
- lookbehind: true,
7022
- greedy: true
7023
- },
7024
- annotation: {
7025
- pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/,
7026
- greedy: true,
7027
- alias: 'function'
7028
- },
7029
- 'function-identifier': {
7030
- pattern: /`[^\r\n`]+`(?=\s*\()/,
7031
- greedy: true,
7032
- alias: 'function'
7033
- },
7034
- identifier: {
7035
- pattern: /`[^\r\n`]+`/,
7036
- greedy: true
7037
- },
7038
- 'class-name': {
7039
- pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,
7040
- lookbehind: true,
7041
- greedy: true
7042
- },
7043
- keyword:
7044
- /\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,
7045
- function: /\b[a-z_]\w*(?=\s*\()/i,
7046
- number: [
7047
- {
7048
- pattern:
7049
- /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,
7050
- lookbehind: true
7051
- },
7052
- /-?\b(?:Infinity|NaN)\b/
7053
- ],
7054
- operator: /=/,
7055
- punctuation: /[()\[\]{}<>.:,;-]/
7056
- };
7057
- Prism.languages.avdl = Prism.languages['avro-idl'];
7017
+ var avroIdl_1;
7018
+ var hasRequiredAvroIdl;
7019
+
7020
+ function requireAvroIdl () {
7021
+ if (hasRequiredAvroIdl) return avroIdl_1;
7022
+ hasRequiredAvroIdl = 1;
7023
+
7024
+ avroIdl_1 = avroIdl;
7025
+ avroIdl.displayName = 'avroIdl';
7026
+ avroIdl.aliases = [];
7027
+ function avroIdl(Prism) {
7028
+ // GitHub: https://github.com/apache/avro
7029
+ // Docs: https://avro.apache.org/docs/current/idl.html
7030
+ Prism.languages['avro-idl'] = {
7031
+ comment: {
7032
+ pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
7033
+ greedy: true
7034
+ },
7035
+ string: {
7036
+ pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,
7037
+ lookbehind: true,
7038
+ greedy: true
7039
+ },
7040
+ annotation: {
7041
+ pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/,
7042
+ greedy: true,
7043
+ alias: 'function'
7044
+ },
7045
+ 'function-identifier': {
7046
+ pattern: /`[^\r\n`]+`(?=\s*\()/,
7047
+ greedy: true,
7048
+ alias: 'function'
7049
+ },
7050
+ identifier: {
7051
+ pattern: /`[^\r\n`]+`/,
7052
+ greedy: true
7053
+ },
7054
+ 'class-name': {
7055
+ pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,
7056
+ lookbehind: true,
7057
+ greedy: true
7058
+ },
7059
+ keyword:
7060
+ /\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,
7061
+ function: /\b[a-z_]\w*(?=\s*\()/i,
7062
+ number: [
7063
+ {
7064
+ pattern:
7065
+ /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,
7066
+ lookbehind: true
7067
+ },
7068
+ /-?\b(?:Infinity|NaN)\b/
7069
+ ],
7070
+ operator: /=/,
7071
+ punctuation: /[()\[\]{}<>.:,;-]/
7072
+ };
7073
+ Prism.languages.avdl = Prism.languages['avro-idl'];
7074
+ }
7075
+ return avroIdl_1;
7058
7076
  }
7059
7077
 
7060
7078
  var bash_1 = bash;
@@ -7636,30 +7654,39 @@ function bnf(Prism) {
7636
7654
  Prism.languages.rbnf = Prism.languages.bnf;
7637
7655
  }
7638
7656
 
7639
- var brainfuck_1 = brainfuck;
7640
- brainfuck.displayName = 'brainfuck';
7641
- brainfuck.aliases = [];
7642
- function brainfuck(Prism) {
7643
- Prism.languages.brainfuck = {
7644
- pointer: {
7645
- pattern: /<|>/,
7646
- alias: 'keyword'
7647
- },
7648
- increment: {
7649
- pattern: /\+/,
7650
- alias: 'inserted'
7651
- },
7652
- decrement: {
7653
- pattern: /-/,
7654
- alias: 'deleted'
7655
- },
7656
- branching: {
7657
- pattern: /\[|\]/,
7658
- alias: 'important'
7659
- },
7660
- operator: /[.,]/,
7661
- comment: /\S+/
7662
- };
7657
+ var brainfuck_1;
7658
+ var hasRequiredBrainfuck;
7659
+
7660
+ function requireBrainfuck () {
7661
+ if (hasRequiredBrainfuck) return brainfuck_1;
7662
+ hasRequiredBrainfuck = 1;
7663
+
7664
+ brainfuck_1 = brainfuck;
7665
+ brainfuck.displayName = 'brainfuck';
7666
+ brainfuck.aliases = [];
7667
+ function brainfuck(Prism) {
7668
+ Prism.languages.brainfuck = {
7669
+ pointer: {
7670
+ pattern: /<|>/,
7671
+ alias: 'keyword'
7672
+ },
7673
+ increment: {
7674
+ pattern: /\+/,
7675
+ alias: 'inserted'
7676
+ },
7677
+ decrement: {
7678
+ pattern: /-/,
7679
+ alias: 'deleted'
7680
+ },
7681
+ branching: {
7682
+ pattern: /\[|\]/,
7683
+ alias: 'important'
7684
+ },
7685
+ operator: /[.,]/,
7686
+ comment: /\S+/
7687
+ };
7688
+ }
7689
+ return brainfuck_1;
7663
7690
  }
7664
7691
 
7665
7692
  var brightscript_1 = brightscript;
@@ -8054,951 +8081,1012 @@ function cmake(Prism) {
8054
8081
  };
8055
8082
  }
8056
8083
 
8057
- var cobol_1 = cobol;
8058
- cobol.displayName = 'cobol';
8059
- cobol.aliases = [];
8060
- function cobol(Prism) {
8061
- Prism.languages.cobol = {
8062
- comment: {
8063
- pattern: /\*>.*|(^[ \t]*)\*.*/m,
8064
- lookbehind: true,
8065
- greedy: true
8066
- },
8067
- string: {
8068
- pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
8069
- greedy: true
8070
- },
8071
- level: {
8072
- pattern: /(^[ \t]*)\d+\b/m,
8073
- lookbehind: true,
8074
- greedy: true,
8075
- alias: 'number'
8076
- },
8077
- 'class-name': {
8078
- // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
8079
- pattern:
8080
- /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
8081
- lookbehind: true,
8082
- inside: {
8083
- number: {
8084
- pattern: /(\()\d+/,
8085
- lookbehind: true
8086
- },
8087
- punctuation: /[()]/
8088
- }
8089
- },
8090
- keyword: {
8091
- pattern:
8092
- /(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\w-])/i,
8093
- lookbehind: true
8094
- },
8095
- boolean: {
8096
- pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
8097
- lookbehind: true
8098
- },
8099
- number: {
8100
- pattern:
8101
- /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
8102
- lookbehind: true
8103
- },
8104
- operator: [
8105
- /<>|[<>]=?|[=+*/&]/,
8106
- {
8107
- pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
8108
- lookbehind: true
8109
- }
8110
- ],
8111
- punctuation: /[.:,()]/
8112
- };
8113
- }
8114
-
8115
- var coffeescript_1 = coffeescript;
8116
- coffeescript.displayName = 'coffeescript';
8117
- coffeescript.aliases = ['coffee'];
8118
- function coffeescript(Prism) {
8119
- (function (Prism) {
8120
- // Ignore comments starting with { to privilege string interpolation highlighting
8121
- var comment = /#(?!\{).+/;
8122
- var interpolation = {
8123
- pattern: /#\{[^}]+\}/,
8124
- alias: 'variable'
8125
- };
8126
- Prism.languages.coffeescript = Prism.languages.extend('javascript', {
8127
- comment: comment,
8128
- string: [
8129
- // Strings are multiline
8130
- {
8131
- pattern: /'(?:\\[\s\S]|[^\\'])*'/,
8132
- greedy: true
8133
- },
8134
- {
8135
- // Strings are multiline
8136
- pattern: /"(?:\\[\s\S]|[^\\"])*"/,
8137
- greedy: true,
8138
- inside: {
8139
- interpolation: interpolation
8140
- }
8141
- }
8142
- ],
8143
- keyword:
8144
- /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,
8145
- 'class-member': {
8146
- pattern: /@(?!\d)\w+/,
8147
- alias: 'variable'
8148
- }
8149
- });
8150
- Prism.languages.insertBefore('coffeescript', 'comment', {
8151
- 'multiline-comment': {
8152
- pattern: /###[\s\S]+?###/,
8153
- alias: 'comment'
8154
- },
8155
- // Block regexp can contain comments and interpolation
8156
- 'block-regex': {
8157
- pattern: /\/{3}[\s\S]*?\/{3}/,
8158
- alias: 'regex',
8159
- inside: {
8160
- comment: comment,
8161
- interpolation: interpolation
8162
- }
8163
- }
8164
- });
8165
- Prism.languages.insertBefore('coffeescript', 'string', {
8166
- 'inline-javascript': {
8167
- pattern: /`(?:\\[\s\S]|[^\\`])*`/,
8168
- inside: {
8169
- delimiter: {
8170
- pattern: /^`|`$/,
8171
- alias: 'punctuation'
8172
- },
8173
- script: {
8174
- pattern: /[\s\S]+/,
8175
- alias: 'language-javascript',
8176
- inside: Prism.languages.javascript
8177
- }
8178
- }
8179
- },
8180
- // Block strings
8181
- 'multiline-string': [
8182
- {
8183
- pattern: /'''[\s\S]*?'''/,
8184
- greedy: true,
8185
- alias: 'string'
8186
- },
8187
- {
8188
- pattern: /"""[\s\S]*?"""/,
8189
- greedy: true,
8190
- alias: 'string',
8191
- inside: {
8192
- interpolation: interpolation
8193
- }
8194
- }
8195
- ]
8196
- });
8197
- Prism.languages.insertBefore('coffeescript', 'keyword', {
8198
- // Object property
8199
- property: /(?!\d)\w+(?=\s*:(?!:))/
8200
- });
8201
- delete Prism.languages.coffeescript['template-string'];
8202
- Prism.languages.coffee = Prism.languages.coffeescript;
8203
- })(Prism);
8204
- }
8205
-
8206
- var concurnas_1 = concurnas;
8207
- concurnas.displayName = 'concurnas';
8208
- concurnas.aliases = ['conc'];
8209
- function concurnas(Prism) {
8210
- Prism.languages.concurnas = {
8084
+ var cobol_1 = cobol;
8085
+ cobol.displayName = 'cobol';
8086
+ cobol.aliases = [];
8087
+ function cobol(Prism) {
8088
+ Prism.languages.cobol = {
8211
8089
  comment: {
8212
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
8090
+ pattern: /\*>.*|(^[ \t]*)\*.*/m,
8213
8091
  lookbehind: true,
8214
8092
  greedy: true
8215
8093
  },
8216
- langext: {
8217
- pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
8094
+ string: {
8095
+ pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
8096
+ greedy: true
8097
+ },
8098
+ level: {
8099
+ pattern: /(^[ \t]*)\d+\b/m,
8100
+ lookbehind: true,
8218
8101
  greedy: true,
8102
+ alias: 'number'
8103
+ },
8104
+ 'class-name': {
8105
+ // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
8106
+ pattern:
8107
+ /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
8108
+ lookbehind: true,
8219
8109
  inside: {
8220
- 'class-name': /^\w+/,
8221
- string: {
8222
- pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
8110
+ number: {
8111
+ pattern: /(\()\d+/,
8223
8112
  lookbehind: true
8224
8113
  },
8225
- punctuation: /\|\|/
8114
+ punctuation: /[()]/
8226
8115
  }
8227
8116
  },
8228
- function: {
8229
- pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
8117
+ keyword: {
8118
+ pattern:
8119
+ /(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\w-])/i,
8230
8120
  lookbehind: true
8231
8121
  },
8232
- keyword:
8233
- /\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,
8234
- boolean: /\b(?:false|true)\b/,
8235
- number:
8236
- /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
8237
- punctuation: /[{}[\];(),.:]/,
8238
- operator:
8239
- /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
8240
- annotation: {
8241
- pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
8242
- alias: 'builtin'
8243
- }
8244
- };
8245
- Prism.languages.insertBefore('concurnas', 'langext', {
8246
- 'regex-literal': {
8247
- pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8248
- greedy: true,
8249
- inside: {
8250
- interpolation: {
8251
- pattern:
8252
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8253
- lookbehind: true,
8254
- inside: Prism.languages.concurnas
8255
- },
8256
- regex: /[\s\S]+/
8257
- }
8122
+ boolean: {
8123
+ pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
8124
+ lookbehind: true
8258
8125
  },
8259
- 'string-literal': {
8260
- pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8261
- greedy: true,
8262
- inside: {
8263
- interpolation: {
8264
- pattern:
8265
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8266
- lookbehind: true,
8267
- inside: Prism.languages.concurnas
8268
- },
8269
- string: /[\s\S]+/
8126
+ number: {
8127
+ pattern:
8128
+ /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
8129
+ lookbehind: true
8130
+ },
8131
+ operator: [
8132
+ /<>|[<>]=?|[=+*/&]/,
8133
+ {
8134
+ pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
8135
+ lookbehind: true
8270
8136
  }
8271
- }
8272
- });
8273
- Prism.languages.conc = Prism.languages.concurnas;
8274
- }
8275
-
8276
- var coq_1 = coq;
8277
- coq.displayName = 'coq';
8278
- coq.aliases = [];
8279
- function coq(Prism) {
8280
- (function (Prism) {
8281
- // https://github.com/coq/coq
8282
- var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
8283
- for (var i = 0; i < 2; i++) {
8284
- commentSource = commentSource.replace(/<self>/g, function () {
8285
- return commentSource
8286
- });
8287
- }
8288
- commentSource = commentSource.replace(/<self>/g, '[]');
8289
- Prism.languages.coq = {
8290
- comment: RegExp(commentSource),
8291
- string: {
8292
- pattern: /"(?:[^"]|"")*"(?!")/,
8293
- greedy: true
8294
- },
8295
- attribute: [
8296
- {
8297
- pattern: RegExp(
8298
- /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
8299
- /<comment>/g,
8300
- function () {
8301
- return commentSource
8302
- }
8303
- )
8304
- ),
8305
- greedy: true,
8306
- alias: 'attr-name',
8307
- inside: {
8308
- comment: RegExp(commentSource),
8309
- string: {
8310
- pattern: /"(?:[^"]|"")*"(?!")/,
8311
- greedy: true
8312
- },
8313
- operator: /=/,
8314
- punctuation: /^#\[|\]$|[,()]/
8315
- }
8316
- },
8317
- {
8318
- pattern:
8319
- /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
8320
- alias: 'attr-name'
8321
- }
8322
- ],
8323
- keyword:
8324
- /\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,
8325
- number:
8326
- /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
8327
- punct: {
8328
- pattern: /@\{|\{\||\[=|:>/,
8329
- alias: 'punctuation'
8330
- },
8331
- operator:
8332
- /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
8333
- punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
8334
- };
8335
- })(Prism);
8137
+ ],
8138
+ punctuation: /[.:,()]/
8139
+ };
8336
8140
  }
8337
8141
 
8338
- var ruby_1 = ruby;
8339
- ruby.displayName = 'ruby';
8340
- ruby.aliases = ['rb'];
8341
- function ruby(Prism) {
8142
+ var coffeescript_1 = coffeescript;
8143
+ coffeescript.displayName = 'coffeescript';
8144
+ coffeescript.aliases = ['coffee'];
8145
+ function coffeescript(Prism) {
8342
8146
  (function (Prism) {
8343
- Prism.languages.ruby = Prism.languages.extend('clike', {
8344
- comment: {
8345
- pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
8346
- greedy: true
8347
- },
8348
- 'class-name': {
8349
- pattern:
8350
- /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
8351
- lookbehind: true,
8352
- inside: {
8353
- punctuation: /[.\\]/
8354
- }
8355
- },
8356
- keyword:
8357
- /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,
8358
- operator:
8359
- /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
8360
- punctuation: /[(){}[\].,;]/
8361
- });
8362
- Prism.languages.insertBefore('ruby', 'operator', {
8363
- 'double-colon': {
8364
- pattern: /::/,
8365
- alias: 'punctuation'
8366
- }
8367
- });
8147
+ // Ignore comments starting with { to privilege string interpolation highlighting
8148
+ var comment = /#(?!\{).+/;
8368
8149
  var interpolation = {
8369
- pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
8370
- lookbehind: true,
8371
- inside: {
8372
- content: {
8373
- pattern: /^(#\{)[\s\S]+(?=\}$)/,
8374
- lookbehind: true,
8375
- inside: Prism.languages.ruby
8376
- },
8377
- delimiter: {
8378
- pattern: /^#\{|\}$/,
8379
- alias: 'punctuation'
8380
- }
8381
- }
8150
+ pattern: /#\{[^}]+\}/,
8151
+ alias: 'variable'
8382
8152
  };
8383
- delete Prism.languages.ruby.function;
8384
- var percentExpression =
8385
- '(?:' +
8386
- [
8387
- /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
8388
- /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
8389
- /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
8390
- /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
8391
- /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
8392
- ].join('|') +
8393
- ')';
8394
- var symbolName =
8395
- /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
8396
- .source;
8397
- Prism.languages.insertBefore('ruby', 'keyword', {
8398
- 'regex-literal': [
8399
- {
8400
- pattern: RegExp(
8401
- /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
8402
- ),
8403
- greedy: true,
8404
- inside: {
8405
- interpolation: interpolation,
8406
- regex: /[\s\S]+/
8407
- }
8408
- },
8409
- {
8410
- pattern:
8411
- /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
8412
- lookbehind: true,
8413
- greedy: true,
8414
- inside: {
8415
- interpolation: interpolation,
8416
- regex: /[\s\S]+/
8417
- }
8418
- }
8419
- ],
8420
- variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
8421
- symbol: [
8422
- {
8423
- pattern: RegExp(/(^|[^:]):/.source + symbolName),
8424
- lookbehind: true,
8425
- greedy: true
8426
- },
8153
+ Prism.languages.coffeescript = Prism.languages.extend('javascript', {
8154
+ comment: comment,
8155
+ string: [
8156
+ // Strings are multiline
8427
8157
  {
8428
- pattern: RegExp(
8429
- /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
8430
- ),
8431
- lookbehind: true,
8158
+ pattern: /'(?:\\[\s\S]|[^\\'])*'/,
8432
8159
  greedy: true
8433
- }
8434
- ],
8435
- 'method-definition': {
8436
- pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
8437
- lookbehind: true,
8438
- inside: {
8439
- function: /\b\w+$/,
8440
- keyword: /^self\b/,
8441
- 'class-name': /^\w+/,
8442
- punctuation: /\./
8443
- }
8444
- }
8445
- });
8446
- Prism.languages.insertBefore('ruby', 'string', {
8447
- 'string-literal': [
8448
- {
8449
- pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
8450
- greedy: true,
8451
- inside: {
8452
- interpolation: interpolation,
8453
- string: /[\s\S]+/
8454
- }
8455
- },
8456
- {
8457
- pattern:
8458
- /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
8459
- greedy: true,
8460
- inside: {
8461
- interpolation: interpolation,
8462
- string: /[\s\S]+/
8463
- }
8464
- },
8465
- {
8466
- pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8467
- alias: 'heredoc-string',
8468
- greedy: true,
8469
- inside: {
8470
- delimiter: {
8471
- pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
8472
- inside: {
8473
- symbol: /\b\w+/,
8474
- punctuation: /^<<[-~]?/
8475
- }
8476
- },
8477
- interpolation: interpolation,
8478
- string: /[\s\S]+/
8479
- }
8480
- },
8481
- {
8482
- pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8483
- alias: 'heredoc-string',
8484
- greedy: true,
8485
- inside: {
8486
- delimiter: {
8487
- pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
8488
- inside: {
8489
- symbol: /\b\w+/,
8490
- punctuation: /^<<[-~]?'|'$/
8491
- }
8492
- },
8493
- string: /[\s\S]+/
8494
- }
8495
- }
8496
- ],
8497
- 'command-literal': [
8498
- {
8499
- pattern: RegExp(/%x/.source + percentExpression),
8500
- greedy: true,
8501
- inside: {
8502
- interpolation: interpolation,
8503
- command: {
8504
- pattern: /[\s\S]+/,
8505
- alias: 'string'
8506
- }
8507
- }
8508
8160
  },
8509
8161
  {
8510
- pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
8162
+ // Strings are multiline
8163
+ pattern: /"(?:\\[\s\S]|[^\\"])*"/,
8511
8164
  greedy: true,
8512
8165
  inside: {
8513
- interpolation: interpolation,
8514
- command: {
8515
- pattern: /[\s\S]+/,
8516
- alias: 'string'
8517
- }
8166
+ interpolation: interpolation
8518
8167
  }
8519
8168
  }
8520
- ]
8521
- });
8522
- delete Prism.languages.ruby.string;
8523
- Prism.languages.insertBefore('ruby', 'number', {
8524
- builtin:
8525
- /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,
8526
- constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
8527
- });
8528
- Prism.languages.rb = Prism.languages.ruby;
8529
- })(Prism);
8530
- }
8531
-
8532
- var refractorRuby = ruby_1;
8533
- var crystal_1 = crystal;
8534
- crystal.displayName = 'crystal';
8535
- crystal.aliases = [];
8536
- function crystal(Prism) {
8537
- Prism.register(refractorRuby)
8538
- ;(function (Prism) {
8539
- Prism.languages.crystal = Prism.languages.extend('ruby', {
8540
- keyword: [
8541
- /\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,
8542
- {
8543
- pattern: /(\.\s*)(?:is_a|responds_to)\?/,
8544
- lookbehind: true
8545
- }
8546
8169
  ],
8547
- number:
8548
- /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,
8549
- operator: [/->/, Prism.languages.ruby.operator],
8550
- punctuation: /[(){}[\].,;\\]/
8551
- });
8552
- Prism.languages.insertBefore('crystal', 'string-literal', {
8553
- attribute: {
8554
- pattern: /@\[.*?\]/,
8555
- inside: {
8556
- delimiter: {
8557
- pattern: /^@\[|\]$/,
8558
- alias: 'punctuation'
8559
- },
8560
- attribute: {
8561
- pattern: /^(\s*)\w+/,
8562
- lookbehind: true,
8563
- alias: 'class-name'
8564
- },
8565
- args: {
8566
- pattern: /\S(?:[\s\S]*\S)?/,
8567
- inside: Prism.languages.crystal
8568
- }
8569
- }
8570
- },
8571
- expansion: {
8572
- pattern: /\{(?:\{.*?\}|%.*?%)\}/,
8573
- inside: {
8574
- content: {
8575
- pattern: /^(\{.)[\s\S]+(?=.\}$)/,
8576
- lookbehind: true,
8577
- inside: Prism.languages.crystal
8578
- },
8579
- delimiter: {
8580
- pattern: /^\{[\{%]|[\}%]\}$/,
8581
- alias: 'operator'
8582
- }
8583
- }
8584
- },
8585
- char: {
8586
- pattern:
8587
- /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
8588
- greedy: true
8170
+ keyword:
8171
+ /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,
8172
+ 'class-member': {
8173
+ pattern: /@(?!\d)\w+/,
8174
+ alias: 'variable'
8589
8175
  }
8590
8176
  });
8591
- })(Prism);
8592
- }
8593
-
8594
- var refractorCsharp = csharp_1;
8595
- var cshtml_1 = cshtml;
8596
- cshtml.displayName = 'cshtml';
8597
- cshtml.aliases = ['razor'];
8598
- function cshtml(Prism) {
8599
- Prism.register(refractorCsharp)
8600
- // Docs:
8601
- // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
8602
- // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
8603
- ;(function (Prism) {
8604
- var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
8605
- .source;
8606
- var stringLike =
8607
- /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
8608
- '|' +
8609
- /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
8610
- /**
8611
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
8612
- *
8613
- * @param {string} pattern
8614
- * @param {number} depthLog2
8615
- * @returns {string}
8616
- */
8617
- function nested(pattern, depthLog2) {
8618
- for (var i = 0; i < depthLog2; i++) {
8619
- pattern = pattern.replace(/<self>/g, function () {
8620
- return '(?:' + pattern + ')'
8621
- });
8622
- }
8623
- return pattern
8624
- .replace(/<self>/g, '[^\\s\\S]')
8625
- .replace(/<str>/g, '(?:' + stringLike + ')')
8626
- .replace(/<comment>/g, '(?:' + commentLike + ')')
8627
- }
8628
- var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
8629
- var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
8630
- var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
8631
- var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
8632
- // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
8633
- // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
8634
- // messes up the bracket and string counting implemented by the above patterns.
8635
- //
8636
- // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
8637
- // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
8638
- // complexity of an HTML expression.
8639
- //
8640
- // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
8641
- // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
8642
- var tagAttrs =
8643
- /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
8644
- .source;
8645
- var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
8646
- var tagRegion =
8647
- /\B@?/.source +
8648
- '(?:' +
8649
- /<([a-zA-Z][\w:]*)/.source +
8650
- tagAttrs +
8651
- /\s*>/.source +
8652
- '(?:' +
8653
- (/[^<]/.source +
8654
- '|' + // all tags that are not the start tag
8655
- // eslint-disable-next-line regexp/strict
8656
- /<\/?(?!\1\b)/.source +
8657
- tagContent +
8658
- '|' + // nested start tag
8659
- nested(
8660
- // eslint-disable-next-line regexp/strict
8661
- /<\1/.source +
8662
- tagAttrs +
8663
- /\s*>/.source +
8664
- '(?:' +
8665
- (/[^<]/.source +
8666
- '|' + // all tags that are not the start tag
8667
- // eslint-disable-next-line regexp/strict
8668
- /<\/?(?!\1\b)/.source +
8669
- tagContent +
8670
- '|' +
8671
- '<self>') +
8672
- ')*' + // eslint-disable-next-line regexp/strict
8673
- /<\/\1\s*>/.source,
8674
- 2
8675
- )) +
8676
- ')*' + // eslint-disable-next-line regexp/strict
8677
- /<\/\1\s*>/.source +
8678
- '|' +
8679
- /</.source +
8680
- tagContent +
8681
- ')'; // Now for the actual language definition(s):
8682
- //
8683
- // Razor as a language has 2 parts:
8684
- // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
8685
- // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
8686
- //
8687
- // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
8688
- // other. However, only CSHTML will be exported via `Prism.languages`.
8689
- Prism.languages.cshtml = Prism.languages.extend('markup', {});
8690
- var csharpWithHtml = Prism.languages.insertBefore(
8691
- 'csharp',
8692
- 'string',
8693
- {
8694
- html: {
8695
- pattern: RegExp(tagRegion),
8696
- greedy: true,
8697
- inside: Prism.languages.cshtml
8698
- }
8699
- },
8700
- {
8701
- csharp: Prism.languages.extend('csharp', {})
8702
- }
8703
- );
8704
- var cs = {
8705
- pattern: /\S[\s\S]*/,
8706
- alias: 'language-csharp',
8707
- inside: csharpWithHtml
8708
- };
8709
- Prism.languages.insertBefore('cshtml', 'prolog', {
8710
- 'razor-comment': {
8711
- pattern: /@\*[\s\S]*?\*@/,
8712
- greedy: true,
8177
+ Prism.languages.insertBefore('coffeescript', 'comment', {
8178
+ 'multiline-comment': {
8179
+ pattern: /###[\s\S]+?###/,
8713
8180
  alias: 'comment'
8714
8181
  },
8715
- block: {
8716
- pattern: RegExp(
8717
- /(^|[^@])@/.source +
8718
- '(?:' +
8719
- [
8720
- // @{ ... }
8721
- curly, // @code{ ... }
8722
- /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
8723
- /(?:for|foreach|lock|switch|using|while)\s*/.source +
8724
- round +
8725
- /\s*/.source +
8726
- curly, // @do { ... } while (...);
8727
- /do\s*/.source +
8728
- curly +
8729
- /\s*while\s*/.source +
8730
- round +
8731
- /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
8732
- /try\s*/.source +
8733
- curly +
8734
- /\s*catch\s*/.source +
8735
- round +
8736
- /\s*/.source +
8737
- curly +
8738
- /\s*finally\s*/.source +
8739
- curly, // @if (...) {...} else if (...) {...} else {...}
8740
- /if\s*/.source +
8741
- round +
8742
- /\s*/.source +
8743
- curly +
8744
- '(?:' +
8745
- /\s*else/.source +
8746
- '(?:' +
8747
- /\s+if\s*/.source +
8748
- round +
8749
- ')?' +
8750
- /\s*/.source +
8751
- curly +
8752
- ')*'
8753
- ].join('|') +
8754
- ')'
8755
- ),
8756
- lookbehind: true,
8757
- greedy: true,
8182
+ // Block regexp can contain comments and interpolation
8183
+ 'block-regex': {
8184
+ pattern: /\/{3}[\s\S]*?\/{3}/,
8185
+ alias: 'regex',
8758
8186
  inside: {
8759
- keyword: /^@\w*/,
8760
- csharp: cs
8187
+ comment: comment,
8188
+ interpolation: interpolation
8761
8189
  }
8762
- },
8763
- directive: {
8764
- pattern:
8765
- /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
8766
- lookbehind: true,
8767
- greedy: true,
8190
+ }
8191
+ });
8192
+ Prism.languages.insertBefore('coffeescript', 'string', {
8193
+ 'inline-javascript': {
8194
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
8768
8195
  inside: {
8769
- keyword: /^@\w+/,
8770
- csharp: cs
8196
+ delimiter: {
8197
+ pattern: /^`|`$/,
8198
+ alias: 'punctuation'
8199
+ },
8200
+ script: {
8201
+ pattern: /[\s\S]+/,
8202
+ alias: 'language-javascript',
8203
+ inside: Prism.languages.javascript
8204
+ }
8771
8205
  }
8772
8206
  },
8773
- value: {
8774
- pattern: RegExp(
8775
- /(^|[^@])@/.source +
8776
- /(?:await\b\s*)?/.source +
8777
- '(?:' +
8778
- /\w+\b/.source +
8779
- '|' +
8780
- round +
8781
- ')' +
8782
- '(?:' +
8783
- /[?!]?\.\w+\b/.source +
8784
- '|' +
8785
- round +
8786
- '|' +
8787
- square +
8788
- '|' +
8789
- angle +
8790
- round +
8791
- ')*'
8792
- ),
8793
- lookbehind: true,
8794
- greedy: true,
8795
- alias: 'variable',
8796
- inside: {
8797
- keyword: /^@/,
8798
- csharp: cs
8207
+ // Block strings
8208
+ 'multiline-string': [
8209
+ {
8210
+ pattern: /'''[\s\S]*?'''/,
8211
+ greedy: true,
8212
+ alias: 'string'
8213
+ },
8214
+ {
8215
+ pattern: /"""[\s\S]*?"""/,
8216
+ greedy: true,
8217
+ alias: 'string',
8218
+ inside: {
8219
+ interpolation: interpolation
8220
+ }
8799
8221
  }
8800
- },
8801
- 'delegate-operator': {
8802
- pattern: /(^|[^@])@(?=<)/,
8803
- lookbehind: true,
8804
- alias: 'operator'
8805
- }
8222
+ ]
8223
+ });
8224
+ Prism.languages.insertBefore('coffeescript', 'keyword', {
8225
+ // Object property
8226
+ property: /(?!\d)\w+(?=\s*:(?!:))/
8806
8227
  });
8807
- Prism.languages.razor = Prism.languages.cshtml;
8228
+ delete Prism.languages.coffeescript['template-string'];
8229
+ Prism.languages.coffee = Prism.languages.coffeescript;
8808
8230
  })(Prism);
8809
8231
  }
8810
8232
 
8811
- var csp_1 = csp;
8812
- csp.displayName = 'csp';
8813
- csp.aliases = [];
8814
- function csp(Prism) {
8815
- (function (Prism) {
8816
- /**
8817
- * @param {string} source
8818
- * @returns {RegExp}
8819
- */
8820
- function value(source) {
8821
- return RegExp(
8822
- /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
8823
- 'i'
8824
- )
8825
- }
8826
- Prism.languages.csp = {
8827
- directive: {
8828
- pattern:
8829
- /(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,
8830
- lookbehind: true,
8831
- alias: 'property'
8832
- },
8833
- scheme: {
8834
- pattern: value(/[a-z][a-z0-9.+-]*:/.source),
8835
- lookbehind: true
8836
- },
8837
- none: {
8838
- pattern: value(/'none'/.source),
8839
- lookbehind: true,
8840
- alias: 'keyword'
8841
- },
8842
- nonce: {
8843
- pattern: value(/'nonce-[-+/\w=]+'/.source),
8844
- lookbehind: true,
8845
- alias: 'number'
8846
- },
8847
- hash: {
8848
- pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
8849
- lookbehind: true,
8850
- alias: 'number'
8851
- },
8852
- host: {
8853
- pattern: value(
8854
- /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
8855
- '|' +
8856
- /\*[^\s;,']*/.source +
8857
- '|' +
8858
- /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
8859
- ),
8860
- lookbehind: true,
8861
- alias: 'url',
8862
- inside: {
8863
- important: /\*/
8864
- }
8865
- },
8866
- keyword: [
8867
- {
8868
- pattern: value(/'unsafe-[a-z-]+'/.source),
8869
- lookbehind: true,
8870
- alias: 'unsafe'
8871
- },
8872
- {
8873
- pattern: value(/'[a-z-]+'/.source),
8874
- lookbehind: true,
8875
- alias: 'safe'
8876
- }
8877
- ],
8878
- punctuation: /;/
8879
- };
8880
- })(Prism);
8233
+ var concurnas_1;
8234
+ var hasRequiredConcurnas;
8235
+
8236
+ function requireConcurnas () {
8237
+ if (hasRequiredConcurnas) return concurnas_1;
8238
+ hasRequiredConcurnas = 1;
8239
+
8240
+ concurnas_1 = concurnas;
8241
+ concurnas.displayName = 'concurnas';
8242
+ concurnas.aliases = ['conc'];
8243
+ function concurnas(Prism) {
8244
+ Prism.languages.concurnas = {
8245
+ comment: {
8246
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
8247
+ lookbehind: true,
8248
+ greedy: true
8249
+ },
8250
+ langext: {
8251
+ pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
8252
+ greedy: true,
8253
+ inside: {
8254
+ 'class-name': /^\w+/,
8255
+ string: {
8256
+ pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
8257
+ lookbehind: true
8258
+ },
8259
+ punctuation: /\|\|/
8260
+ }
8261
+ },
8262
+ function: {
8263
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
8264
+ lookbehind: true
8265
+ },
8266
+ keyword:
8267
+ /\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,
8268
+ boolean: /\b(?:false|true)\b/,
8269
+ number:
8270
+ /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
8271
+ punctuation: /[{}[\];(),.:]/,
8272
+ operator:
8273
+ /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
8274
+ annotation: {
8275
+ pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
8276
+ alias: 'builtin'
8277
+ }
8278
+ };
8279
+ Prism.languages.insertBefore('concurnas', 'langext', {
8280
+ 'regex-literal': {
8281
+ pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8282
+ greedy: true,
8283
+ inside: {
8284
+ interpolation: {
8285
+ pattern:
8286
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8287
+ lookbehind: true,
8288
+ inside: Prism.languages.concurnas
8289
+ },
8290
+ regex: /[\s\S]+/
8291
+ }
8292
+ },
8293
+ 'string-literal': {
8294
+ pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8295
+ greedy: true,
8296
+ inside: {
8297
+ interpolation: {
8298
+ pattern:
8299
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8300
+ lookbehind: true,
8301
+ inside: Prism.languages.concurnas
8302
+ },
8303
+ string: /[\s\S]+/
8304
+ }
8305
+ }
8306
+ });
8307
+ Prism.languages.conc = Prism.languages.concurnas;
8308
+ }
8309
+ return concurnas_1;
8310
+ }
8311
+
8312
+ var coq_1;
8313
+ var hasRequiredCoq;
8314
+
8315
+ function requireCoq () {
8316
+ if (hasRequiredCoq) return coq_1;
8317
+ hasRequiredCoq = 1;
8318
+
8319
+ coq_1 = coq;
8320
+ coq.displayName = 'coq';
8321
+ coq.aliases = [];
8322
+ function coq(Prism) {
8323
+ (function (Prism) {
8324
+ // https://github.com/coq/coq
8325
+ var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
8326
+ for (var i = 0; i < 2; i++) {
8327
+ commentSource = commentSource.replace(/<self>/g, function () {
8328
+ return commentSource
8329
+ });
8330
+ }
8331
+ commentSource = commentSource.replace(/<self>/g, '[]');
8332
+ Prism.languages.coq = {
8333
+ comment: RegExp(commentSource),
8334
+ string: {
8335
+ pattern: /"(?:[^"]|"")*"(?!")/,
8336
+ greedy: true
8337
+ },
8338
+ attribute: [
8339
+ {
8340
+ pattern: RegExp(
8341
+ /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
8342
+ /<comment>/g,
8343
+ function () {
8344
+ return commentSource
8345
+ }
8346
+ )
8347
+ ),
8348
+ greedy: true,
8349
+ alias: 'attr-name',
8350
+ inside: {
8351
+ comment: RegExp(commentSource),
8352
+ string: {
8353
+ pattern: /"(?:[^"]|"")*"(?!")/,
8354
+ greedy: true
8355
+ },
8356
+ operator: /=/,
8357
+ punctuation: /^#\[|\]$|[,()]/
8358
+ }
8359
+ },
8360
+ {
8361
+ pattern:
8362
+ /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
8363
+ alias: 'attr-name'
8364
+ }
8365
+ ],
8366
+ keyword:
8367
+ /\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,
8368
+ number:
8369
+ /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
8370
+ punct: {
8371
+ pattern: /@\{|\{\||\[=|:>/,
8372
+ alias: 'punctuation'
8373
+ },
8374
+ operator:
8375
+ /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
8376
+ punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
8377
+ };
8378
+ })(Prism);
8379
+ }
8380
+ return coq_1;
8381
+ }
8382
+
8383
+ var ruby_1;
8384
+ var hasRequiredRuby;
8385
+
8386
+ function requireRuby () {
8387
+ if (hasRequiredRuby) return ruby_1;
8388
+ hasRequiredRuby = 1;
8389
+
8390
+ ruby_1 = ruby;
8391
+ ruby.displayName = 'ruby';
8392
+ ruby.aliases = ['rb'];
8393
+ function ruby(Prism) {
8394
+ (function (Prism) {
8395
+ Prism.languages.ruby = Prism.languages.extend('clike', {
8396
+ comment: {
8397
+ pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
8398
+ greedy: true
8399
+ },
8400
+ 'class-name': {
8401
+ pattern:
8402
+ /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
8403
+ lookbehind: true,
8404
+ inside: {
8405
+ punctuation: /[.\\]/
8406
+ }
8407
+ },
8408
+ keyword:
8409
+ /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,
8410
+ operator:
8411
+ /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
8412
+ punctuation: /[(){}[\].,;]/
8413
+ });
8414
+ Prism.languages.insertBefore('ruby', 'operator', {
8415
+ 'double-colon': {
8416
+ pattern: /::/,
8417
+ alias: 'punctuation'
8418
+ }
8419
+ });
8420
+ var interpolation = {
8421
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
8422
+ lookbehind: true,
8423
+ inside: {
8424
+ content: {
8425
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
8426
+ lookbehind: true,
8427
+ inside: Prism.languages.ruby
8428
+ },
8429
+ delimiter: {
8430
+ pattern: /^#\{|\}$/,
8431
+ alias: 'punctuation'
8432
+ }
8433
+ }
8434
+ };
8435
+ delete Prism.languages.ruby.function;
8436
+ var percentExpression =
8437
+ '(?:' +
8438
+ [
8439
+ /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
8440
+ /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
8441
+ /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
8442
+ /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
8443
+ /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
8444
+ ].join('|') +
8445
+ ')';
8446
+ var symbolName =
8447
+ /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
8448
+ .source;
8449
+ Prism.languages.insertBefore('ruby', 'keyword', {
8450
+ 'regex-literal': [
8451
+ {
8452
+ pattern: RegExp(
8453
+ /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
8454
+ ),
8455
+ greedy: true,
8456
+ inside: {
8457
+ interpolation: interpolation,
8458
+ regex: /[\s\S]+/
8459
+ }
8460
+ },
8461
+ {
8462
+ pattern:
8463
+ /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
8464
+ lookbehind: true,
8465
+ greedy: true,
8466
+ inside: {
8467
+ interpolation: interpolation,
8468
+ regex: /[\s\S]+/
8469
+ }
8470
+ }
8471
+ ],
8472
+ variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
8473
+ symbol: [
8474
+ {
8475
+ pattern: RegExp(/(^|[^:]):/.source + symbolName),
8476
+ lookbehind: true,
8477
+ greedy: true
8478
+ },
8479
+ {
8480
+ pattern: RegExp(
8481
+ /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
8482
+ ),
8483
+ lookbehind: true,
8484
+ greedy: true
8485
+ }
8486
+ ],
8487
+ 'method-definition': {
8488
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
8489
+ lookbehind: true,
8490
+ inside: {
8491
+ function: /\b\w+$/,
8492
+ keyword: /^self\b/,
8493
+ 'class-name': /^\w+/,
8494
+ punctuation: /\./
8495
+ }
8496
+ }
8497
+ });
8498
+ Prism.languages.insertBefore('ruby', 'string', {
8499
+ 'string-literal': [
8500
+ {
8501
+ pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
8502
+ greedy: true,
8503
+ inside: {
8504
+ interpolation: interpolation,
8505
+ string: /[\s\S]+/
8506
+ }
8507
+ },
8508
+ {
8509
+ pattern:
8510
+ /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
8511
+ greedy: true,
8512
+ inside: {
8513
+ interpolation: interpolation,
8514
+ string: /[\s\S]+/
8515
+ }
8516
+ },
8517
+ {
8518
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8519
+ alias: 'heredoc-string',
8520
+ greedy: true,
8521
+ inside: {
8522
+ delimiter: {
8523
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
8524
+ inside: {
8525
+ symbol: /\b\w+/,
8526
+ punctuation: /^<<[-~]?/
8527
+ }
8528
+ },
8529
+ interpolation: interpolation,
8530
+ string: /[\s\S]+/
8531
+ }
8532
+ },
8533
+ {
8534
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8535
+ alias: 'heredoc-string',
8536
+ greedy: true,
8537
+ inside: {
8538
+ delimiter: {
8539
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
8540
+ inside: {
8541
+ symbol: /\b\w+/,
8542
+ punctuation: /^<<[-~]?'|'$/
8543
+ }
8544
+ },
8545
+ string: /[\s\S]+/
8546
+ }
8547
+ }
8548
+ ],
8549
+ 'command-literal': [
8550
+ {
8551
+ pattern: RegExp(/%x/.source + percentExpression),
8552
+ greedy: true,
8553
+ inside: {
8554
+ interpolation: interpolation,
8555
+ command: {
8556
+ pattern: /[\s\S]+/,
8557
+ alias: 'string'
8558
+ }
8559
+ }
8560
+ },
8561
+ {
8562
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
8563
+ greedy: true,
8564
+ inside: {
8565
+ interpolation: interpolation,
8566
+ command: {
8567
+ pattern: /[\s\S]+/,
8568
+ alias: 'string'
8569
+ }
8570
+ }
8571
+ }
8572
+ ]
8573
+ });
8574
+ delete Prism.languages.ruby.string;
8575
+ Prism.languages.insertBefore('ruby', 'number', {
8576
+ builtin:
8577
+ /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,
8578
+ constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
8579
+ });
8580
+ Prism.languages.rb = Prism.languages.ruby;
8581
+ })(Prism);
8582
+ }
8583
+ return ruby_1;
8584
+ }
8585
+
8586
+ var crystal_1;
8587
+ var hasRequiredCrystal;
8588
+
8589
+ function requireCrystal () {
8590
+ if (hasRequiredCrystal) return crystal_1;
8591
+ hasRequiredCrystal = 1;
8592
+ var refractorRuby = requireRuby();
8593
+ crystal_1 = crystal;
8594
+ crystal.displayName = 'crystal';
8595
+ crystal.aliases = [];
8596
+ function crystal(Prism) {
8597
+ Prism.register(refractorRuby)
8598
+ ;(function (Prism) {
8599
+ Prism.languages.crystal = Prism.languages.extend('ruby', {
8600
+ keyword: [
8601
+ /\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,
8602
+ {
8603
+ pattern: /(\.\s*)(?:is_a|responds_to)\?/,
8604
+ lookbehind: true
8605
+ }
8606
+ ],
8607
+ number:
8608
+ /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,
8609
+ operator: [/->/, Prism.languages.ruby.operator],
8610
+ punctuation: /[(){}[\].,;\\]/
8611
+ });
8612
+ Prism.languages.insertBefore('crystal', 'string-literal', {
8613
+ attribute: {
8614
+ pattern: /@\[.*?\]/,
8615
+ inside: {
8616
+ delimiter: {
8617
+ pattern: /^@\[|\]$/,
8618
+ alias: 'punctuation'
8619
+ },
8620
+ attribute: {
8621
+ pattern: /^(\s*)\w+/,
8622
+ lookbehind: true,
8623
+ alias: 'class-name'
8624
+ },
8625
+ args: {
8626
+ pattern: /\S(?:[\s\S]*\S)?/,
8627
+ inside: Prism.languages.crystal
8628
+ }
8629
+ }
8630
+ },
8631
+ expansion: {
8632
+ pattern: /\{(?:\{.*?\}|%.*?%)\}/,
8633
+ inside: {
8634
+ content: {
8635
+ pattern: /^(\{.)[\s\S]+(?=.\}$)/,
8636
+ lookbehind: true,
8637
+ inside: Prism.languages.crystal
8638
+ },
8639
+ delimiter: {
8640
+ pattern: /^\{[\{%]|[\}%]\}$/,
8641
+ alias: 'operator'
8642
+ }
8643
+ }
8644
+ },
8645
+ char: {
8646
+ pattern:
8647
+ /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
8648
+ greedy: true
8649
+ }
8650
+ });
8651
+ })(Prism);
8652
+ }
8653
+ return crystal_1;
8654
+ }
8655
+
8656
+ var cshtml_1;
8657
+ var hasRequiredCshtml;
8658
+
8659
+ function requireCshtml () {
8660
+ if (hasRequiredCshtml) return cshtml_1;
8661
+ hasRequiredCshtml = 1;
8662
+ var refractorCsharp = requireCsharp();
8663
+ cshtml_1 = cshtml;
8664
+ cshtml.displayName = 'cshtml';
8665
+ cshtml.aliases = ['razor'];
8666
+ function cshtml(Prism) {
8667
+ Prism.register(refractorCsharp)
8668
+ // Docs:
8669
+ // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
8670
+ // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
8671
+ ;(function (Prism) {
8672
+ var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
8673
+ .source;
8674
+ var stringLike =
8675
+ /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
8676
+ '|' +
8677
+ /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
8678
+ /**
8679
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
8680
+ *
8681
+ * @param {string} pattern
8682
+ * @param {number} depthLog2
8683
+ * @returns {string}
8684
+ */
8685
+ function nested(pattern, depthLog2) {
8686
+ for (var i = 0; i < depthLog2; i++) {
8687
+ pattern = pattern.replace(/<self>/g, function () {
8688
+ return '(?:' + pattern + ')'
8689
+ });
8690
+ }
8691
+ return pattern
8692
+ .replace(/<self>/g, '[^\\s\\S]')
8693
+ .replace(/<str>/g, '(?:' + stringLike + ')')
8694
+ .replace(/<comment>/g, '(?:' + commentLike + ')')
8695
+ }
8696
+ var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
8697
+ var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
8698
+ var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
8699
+ var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
8700
+ // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
8701
+ // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
8702
+ // messes up the bracket and string counting implemented by the above patterns.
8703
+ //
8704
+ // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
8705
+ // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
8706
+ // complexity of an HTML expression.
8707
+ //
8708
+ // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
8709
+ // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
8710
+ var tagAttrs =
8711
+ /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
8712
+ .source;
8713
+ var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
8714
+ var tagRegion =
8715
+ /\B@?/.source +
8716
+ '(?:' +
8717
+ /<([a-zA-Z][\w:]*)/.source +
8718
+ tagAttrs +
8719
+ /\s*>/.source +
8720
+ '(?:' +
8721
+ (/[^<]/.source +
8722
+ '|' + // all tags that are not the start tag
8723
+ // eslint-disable-next-line regexp/strict
8724
+ /<\/?(?!\1\b)/.source +
8725
+ tagContent +
8726
+ '|' + // nested start tag
8727
+ nested(
8728
+ // eslint-disable-next-line regexp/strict
8729
+ /<\1/.source +
8730
+ tagAttrs +
8731
+ /\s*>/.source +
8732
+ '(?:' +
8733
+ (/[^<]/.source +
8734
+ '|' + // all tags that are not the start tag
8735
+ // eslint-disable-next-line regexp/strict
8736
+ /<\/?(?!\1\b)/.source +
8737
+ tagContent +
8738
+ '|' +
8739
+ '<self>') +
8740
+ ')*' + // eslint-disable-next-line regexp/strict
8741
+ /<\/\1\s*>/.source,
8742
+ 2
8743
+ )) +
8744
+ ')*' + // eslint-disable-next-line regexp/strict
8745
+ /<\/\1\s*>/.source +
8746
+ '|' +
8747
+ /</.source +
8748
+ tagContent +
8749
+ ')'; // Now for the actual language definition(s):
8750
+ //
8751
+ // Razor as a language has 2 parts:
8752
+ // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
8753
+ // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
8754
+ //
8755
+ // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
8756
+ // other. However, only CSHTML will be exported via `Prism.languages`.
8757
+ Prism.languages.cshtml = Prism.languages.extend('markup', {});
8758
+ var csharpWithHtml = Prism.languages.insertBefore(
8759
+ 'csharp',
8760
+ 'string',
8761
+ {
8762
+ html: {
8763
+ pattern: RegExp(tagRegion),
8764
+ greedy: true,
8765
+ inside: Prism.languages.cshtml
8766
+ }
8767
+ },
8768
+ {
8769
+ csharp: Prism.languages.extend('csharp', {})
8770
+ }
8771
+ );
8772
+ var cs = {
8773
+ pattern: /\S[\s\S]*/,
8774
+ alias: 'language-csharp',
8775
+ inside: csharpWithHtml
8776
+ };
8777
+ Prism.languages.insertBefore('cshtml', 'prolog', {
8778
+ 'razor-comment': {
8779
+ pattern: /@\*[\s\S]*?\*@/,
8780
+ greedy: true,
8781
+ alias: 'comment'
8782
+ },
8783
+ block: {
8784
+ pattern: RegExp(
8785
+ /(^|[^@])@/.source +
8786
+ '(?:' +
8787
+ [
8788
+ // @{ ... }
8789
+ curly, // @code{ ... }
8790
+ /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
8791
+ /(?:for|foreach|lock|switch|using|while)\s*/.source +
8792
+ round +
8793
+ /\s*/.source +
8794
+ curly, // @do { ... } while (...);
8795
+ /do\s*/.source +
8796
+ curly +
8797
+ /\s*while\s*/.source +
8798
+ round +
8799
+ /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
8800
+ /try\s*/.source +
8801
+ curly +
8802
+ /\s*catch\s*/.source +
8803
+ round +
8804
+ /\s*/.source +
8805
+ curly +
8806
+ /\s*finally\s*/.source +
8807
+ curly, // @if (...) {...} else if (...) {...} else {...}
8808
+ /if\s*/.source +
8809
+ round +
8810
+ /\s*/.source +
8811
+ curly +
8812
+ '(?:' +
8813
+ /\s*else/.source +
8814
+ '(?:' +
8815
+ /\s+if\s*/.source +
8816
+ round +
8817
+ ')?' +
8818
+ /\s*/.source +
8819
+ curly +
8820
+ ')*'
8821
+ ].join('|') +
8822
+ ')'
8823
+ ),
8824
+ lookbehind: true,
8825
+ greedy: true,
8826
+ inside: {
8827
+ keyword: /^@\w*/,
8828
+ csharp: cs
8829
+ }
8830
+ },
8831
+ directive: {
8832
+ pattern:
8833
+ /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
8834
+ lookbehind: true,
8835
+ greedy: true,
8836
+ inside: {
8837
+ keyword: /^@\w+/,
8838
+ csharp: cs
8839
+ }
8840
+ },
8841
+ value: {
8842
+ pattern: RegExp(
8843
+ /(^|[^@])@/.source +
8844
+ /(?:await\b\s*)?/.source +
8845
+ '(?:' +
8846
+ /\w+\b/.source +
8847
+ '|' +
8848
+ round +
8849
+ ')' +
8850
+ '(?:' +
8851
+ /[?!]?\.\w+\b/.source +
8852
+ '|' +
8853
+ round +
8854
+ '|' +
8855
+ square +
8856
+ '|' +
8857
+ angle +
8858
+ round +
8859
+ ')*'
8860
+ ),
8861
+ lookbehind: true,
8862
+ greedy: true,
8863
+ alias: 'variable',
8864
+ inside: {
8865
+ keyword: /^@/,
8866
+ csharp: cs
8867
+ }
8868
+ },
8869
+ 'delegate-operator': {
8870
+ pattern: /(^|[^@])@(?=<)/,
8871
+ lookbehind: true,
8872
+ alias: 'operator'
8873
+ }
8874
+ });
8875
+ Prism.languages.razor = Prism.languages.cshtml;
8876
+ })(Prism);
8877
+ }
8878
+ return cshtml_1;
8881
8879
  }
8882
8880
 
8883
- var cssExtras_1 = cssExtras;
8884
- cssExtras.displayName = 'cssExtras';
8885
- cssExtras.aliases = [];
8886
- function cssExtras(Prism) {
8881
+ var csp_1;
8882
+ var hasRequiredCsp;
8883
+
8884
+ function requireCsp () {
8885
+ if (hasRequiredCsp) return csp_1;
8886
+ hasRequiredCsp = 1;
8887
+
8888
+ csp_1 = csp;
8889
+ csp.displayName = 'csp';
8890
+ csp.aliases = [];
8891
+ function csp(Prism) {
8887
8892
  (function (Prism) {
8888
- var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
8889
- var selectorInside;
8890
- Prism.languages.css.selector = {
8891
- pattern: Prism.languages.css.selector.pattern,
8892
- lookbehind: true,
8893
- inside: (selectorInside = {
8894
- 'pseudo-element':
8895
- /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
8896
- 'pseudo-class': /:[-\w]+/,
8897
- class: /\.[-\w]+/,
8898
- id: /#[-\w]+/,
8899
- attribute: {
8900
- pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
8901
- greedy: true,
8902
- inside: {
8903
- punctuation: /^\[|\]$/,
8904
- 'case-sensitivity': {
8905
- pattern: /(\s)[si]$/i,
8906
- lookbehind: true,
8907
- alias: 'keyword'
8908
- },
8909
- namespace: {
8910
- pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
8911
- lookbehind: true,
8912
- inside: {
8913
- punctuation: /\|$/
8914
- }
8915
- },
8916
- 'attr-name': {
8917
- pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
8918
- lookbehind: true
8919
- },
8920
- 'attr-value': [
8921
- string,
8922
- {
8923
- pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
8924
- lookbehind: true
8925
- }
8926
- ],
8927
- operator: /[|~*^$]?=/
8928
- }
8929
- },
8930
- 'n-th': [
8931
- {
8932
- pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
8933
- lookbehind: true,
8934
- inside: {
8935
- number: /[\dn]+/,
8936
- operator: /[+-]/
8937
- }
8938
- },
8939
- {
8940
- pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
8941
- lookbehind: true
8942
- }
8943
- ],
8944
- combinator: />|\+|~|\|\|/,
8945
- // the `tag` token has been existed and removed.
8946
- // because we can't find a perfect tokenize to match it.
8947
- // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
8948
- punctuation: /[(),]/
8949
- })
8950
- };
8951
- Prism.languages.css['atrule'].inside['selector-function-argument'].inside =
8952
- selectorInside;
8953
- Prism.languages.insertBefore('css', 'property', {
8954
- variable: {
8955
- pattern:
8956
- /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
8957
- lookbehind: true
8958
- }
8959
- });
8960
- var unit = {
8961
- pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
8962
- lookbehind: true
8963
- }; // 123 -123 .123 -.123 12.3 -12.3
8964
- var number = {
8965
- pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
8966
- lookbehind: true
8967
- };
8968
- Prism.languages.insertBefore('css', 'function', {
8969
- operator: {
8970
- pattern: /(\s)[+\-*\/](?=\s)/,
8971
- lookbehind: true
8972
- },
8973
- // CAREFUL!
8974
- // Previewers and Inline color use hexcode and color.
8975
- hexcode: {
8976
- pattern: /\B#[\da-f]{3,8}\b/i,
8977
- alias: 'color'
8978
- },
8979
- color: [
8980
- {
8981
- pattern:
8982
- /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,
8983
- lookbehind: true
8984
- },
8985
- {
8986
- pattern:
8987
- /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,
8988
- inside: {
8989
- unit: unit,
8990
- number: number,
8991
- function: /[\w-]+(?=\()/,
8992
- punctuation: /[(),]/
8993
- }
8994
- }
8995
- ],
8996
- // it's important that there is no boundary assertion after the hex digits
8997
- entity: /\\[\da-f]{1,8}/i,
8998
- unit: unit,
8999
- number: number
9000
- });
9001
- })(Prism);
8893
+ /**
8894
+ * @param {string} source
8895
+ * @returns {RegExp}
8896
+ */
8897
+ function value(source) {
8898
+ return RegExp(
8899
+ /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
8900
+ 'i'
8901
+ )
8902
+ }
8903
+ Prism.languages.csp = {
8904
+ directive: {
8905
+ pattern:
8906
+ /(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,
8907
+ lookbehind: true,
8908
+ alias: 'property'
8909
+ },
8910
+ scheme: {
8911
+ pattern: value(/[a-z][a-z0-9.+-]*:/.source),
8912
+ lookbehind: true
8913
+ },
8914
+ none: {
8915
+ pattern: value(/'none'/.source),
8916
+ lookbehind: true,
8917
+ alias: 'keyword'
8918
+ },
8919
+ nonce: {
8920
+ pattern: value(/'nonce-[-+/\w=]+'/.source),
8921
+ lookbehind: true,
8922
+ alias: 'number'
8923
+ },
8924
+ hash: {
8925
+ pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
8926
+ lookbehind: true,
8927
+ alias: 'number'
8928
+ },
8929
+ host: {
8930
+ pattern: value(
8931
+ /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
8932
+ '|' +
8933
+ /\*[^\s;,']*/.source +
8934
+ '|' +
8935
+ /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
8936
+ ),
8937
+ lookbehind: true,
8938
+ alias: 'url',
8939
+ inside: {
8940
+ important: /\*/
8941
+ }
8942
+ },
8943
+ keyword: [
8944
+ {
8945
+ pattern: value(/'unsafe-[a-z-]+'/.source),
8946
+ lookbehind: true,
8947
+ alias: 'unsafe'
8948
+ },
8949
+ {
8950
+ pattern: value(/'[a-z-]+'/.source),
8951
+ lookbehind: true,
8952
+ alias: 'safe'
8953
+ }
8954
+ ],
8955
+ punctuation: /;/
8956
+ };
8957
+ })(Prism);
8958
+ }
8959
+ return csp_1;
8960
+ }
8961
+
8962
+ var cssExtras_1;
8963
+ var hasRequiredCssExtras;
8964
+
8965
+ function requireCssExtras () {
8966
+ if (hasRequiredCssExtras) return cssExtras_1;
8967
+ hasRequiredCssExtras = 1;
8968
+
8969
+ cssExtras_1 = cssExtras;
8970
+ cssExtras.displayName = 'cssExtras';
8971
+ cssExtras.aliases = [];
8972
+ function cssExtras(Prism) {
8973
+ (function (Prism) {
8974
+ var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
8975
+ var selectorInside;
8976
+ Prism.languages.css.selector = {
8977
+ pattern: Prism.languages.css.selector.pattern,
8978
+ lookbehind: true,
8979
+ inside: (selectorInside = {
8980
+ 'pseudo-element':
8981
+ /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
8982
+ 'pseudo-class': /:[-\w]+/,
8983
+ class: /\.[-\w]+/,
8984
+ id: /#[-\w]+/,
8985
+ attribute: {
8986
+ pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
8987
+ greedy: true,
8988
+ inside: {
8989
+ punctuation: /^\[|\]$/,
8990
+ 'case-sensitivity': {
8991
+ pattern: /(\s)[si]$/i,
8992
+ lookbehind: true,
8993
+ alias: 'keyword'
8994
+ },
8995
+ namespace: {
8996
+ pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
8997
+ lookbehind: true,
8998
+ inside: {
8999
+ punctuation: /\|$/
9000
+ }
9001
+ },
9002
+ 'attr-name': {
9003
+ pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
9004
+ lookbehind: true
9005
+ },
9006
+ 'attr-value': [
9007
+ string,
9008
+ {
9009
+ pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
9010
+ lookbehind: true
9011
+ }
9012
+ ],
9013
+ operator: /[|~*^$]?=/
9014
+ }
9015
+ },
9016
+ 'n-th': [
9017
+ {
9018
+ pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
9019
+ lookbehind: true,
9020
+ inside: {
9021
+ number: /[\dn]+/,
9022
+ operator: /[+-]/
9023
+ }
9024
+ },
9025
+ {
9026
+ pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
9027
+ lookbehind: true
9028
+ }
9029
+ ],
9030
+ combinator: />|\+|~|\|\|/,
9031
+ // the `tag` token has been existed and removed.
9032
+ // because we can't find a perfect tokenize to match it.
9033
+ // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
9034
+ punctuation: /[(),]/
9035
+ })
9036
+ };
9037
+ Prism.languages.css['atrule'].inside['selector-function-argument'].inside =
9038
+ selectorInside;
9039
+ Prism.languages.insertBefore('css', 'property', {
9040
+ variable: {
9041
+ pattern:
9042
+ /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
9043
+ lookbehind: true
9044
+ }
9045
+ });
9046
+ var unit = {
9047
+ pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
9048
+ lookbehind: true
9049
+ }; // 123 -123 .123 -.123 12.3 -12.3
9050
+ var number = {
9051
+ pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
9052
+ lookbehind: true
9053
+ };
9054
+ Prism.languages.insertBefore('css', 'function', {
9055
+ operator: {
9056
+ pattern: /(\s)[+\-*\/](?=\s)/,
9057
+ lookbehind: true
9058
+ },
9059
+ // CAREFUL!
9060
+ // Previewers and Inline color use hexcode and color.
9061
+ hexcode: {
9062
+ pattern: /\B#[\da-f]{3,8}\b/i,
9063
+ alias: 'color'
9064
+ },
9065
+ color: [
9066
+ {
9067
+ pattern:
9068
+ /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,
9069
+ lookbehind: true
9070
+ },
9071
+ {
9072
+ pattern:
9073
+ /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,
9074
+ inside: {
9075
+ unit: unit,
9076
+ number: number,
9077
+ function: /[\w-]+(?=\()/,
9078
+ punctuation: /[(),]/
9079
+ }
9080
+ }
9081
+ ],
9082
+ // it's important that there is no boundary assertion after the hex digits
9083
+ entity: /\\[\da-f]{1,8}/i,
9084
+ unit: unit,
9085
+ number: number
9086
+ });
9087
+ })(Prism);
9088
+ }
9089
+ return cssExtras_1;
9002
9090
  }
9003
9091
 
9004
9092
  var csv_1;
@@ -9021,298 +9109,343 @@ function requireCsv () {
9021
9109
  return csv_1;
9022
9110
  }
9023
9111
 
9024
- var cypher_1 = cypher;
9025
- cypher.displayName = 'cypher';
9026
- cypher.aliases = [];
9027
- function cypher(Prism) {
9028
- Prism.languages.cypher = {
9029
- // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
9030
- comment: /\/\/.*/,
9031
- string: {
9032
- pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
9033
- greedy: true
9034
- },
9035
- 'class-name': {
9036
- pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
9037
- lookbehind: true,
9038
- greedy: true
9039
- },
9040
- relationship: {
9041
- pattern:
9042
- /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
9043
- lookbehind: true,
9044
- greedy: true,
9045
- alias: 'property'
9046
- },
9047
- identifier: {
9048
- pattern: /`(?:[^`\\\r\n])*`/,
9049
- greedy: true
9050
- },
9051
- variable: /\$\w+/,
9052
- // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
9053
- keyword:
9054
- /\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,
9055
- function: /\b\w+\b(?=\s*\()/,
9056
- boolean: /\b(?:false|null|true)\b/i,
9057
- number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
9058
- // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
9059
- operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
9060
- punctuation: /[()[\]{},;.]/
9061
- };
9112
+ var cypher_1;
9113
+ var hasRequiredCypher;
9114
+
9115
+ function requireCypher () {
9116
+ if (hasRequiredCypher) return cypher_1;
9117
+ hasRequiredCypher = 1;
9118
+
9119
+ cypher_1 = cypher;
9120
+ cypher.displayName = 'cypher';
9121
+ cypher.aliases = [];
9122
+ function cypher(Prism) {
9123
+ Prism.languages.cypher = {
9124
+ // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
9125
+ comment: /\/\/.*/,
9126
+ string: {
9127
+ pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
9128
+ greedy: true
9129
+ },
9130
+ 'class-name': {
9131
+ pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
9132
+ lookbehind: true,
9133
+ greedy: true
9134
+ },
9135
+ relationship: {
9136
+ pattern:
9137
+ /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
9138
+ lookbehind: true,
9139
+ greedy: true,
9140
+ alias: 'property'
9141
+ },
9142
+ identifier: {
9143
+ pattern: /`(?:[^`\\\r\n])*`/,
9144
+ greedy: true
9145
+ },
9146
+ variable: /\$\w+/,
9147
+ // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
9148
+ keyword:
9149
+ /\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,
9150
+ function: /\b\w+\b(?=\s*\()/,
9151
+ boolean: /\b(?:false|null|true)\b/i,
9152
+ number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
9153
+ // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
9154
+ operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
9155
+ punctuation: /[()[\]{},;.]/
9156
+ };
9157
+ }
9158
+ return cypher_1;
9062
9159
  }
9063
9160
 
9064
- var d_1 = d;
9065
- d.displayName = 'd';
9066
- d.aliases = [];
9067
- function d(Prism) {
9068
- Prism.languages.d = Prism.languages.extend('clike', {
9069
- comment: [
9070
- {
9071
- // Shebang
9072
- pattern: /^\s*#!.+/,
9073
- greedy: true
9074
- },
9075
- {
9076
- pattern: RegExp(
9077
- /(^|[^\\])/.source +
9078
- '(?:' +
9079
- [
9080
- // /+ comment +/
9081
- // Allow one level of nesting
9082
- /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, // // comment
9083
- /\/\/.*/.source, // /* comment */
9084
- /\/\*[\s\S]*?\*\//.source
9085
- ].join('|') +
9086
- ')'
9087
- ),
9088
- lookbehind: true,
9089
- greedy: true
9090
- }
9091
- ],
9092
- string: [
9093
- {
9094
- pattern: RegExp(
9095
- [
9096
- // r"", x""
9097
- /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, // q"[]", q"()", q"<>", q"{}"
9098
- /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, // q"IDENT
9099
- // ...
9100
- // IDENT"
9101
- /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, // q"//", q"||", etc.
9102
- // eslint-disable-next-line regexp/strict
9103
- /\bq"(.)[\s\S]*?\2"/.source, // eslint-disable-next-line regexp/strict
9104
- /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
9105
- ].join('|'),
9106
- 'm'
9107
- ),
9108
- greedy: true
9109
- },
9110
- {
9111
- pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
9112
- greedy: true,
9113
- alias: 'token-string'
9114
- }
9115
- ],
9116
- // In order: $, keywords and special tokens, globally defined symbols
9117
- keyword:
9118
- /\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,
9119
- number: [
9120
- // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
9121
- // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
9122
- /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
9123
- {
9124
- pattern:
9125
- /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
9126
- lookbehind: true
9127
- }
9128
- ],
9129
- operator:
9130
- /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
9131
- });
9132
- Prism.languages.insertBefore('d', 'string', {
9133
- // Characters
9134
- // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
9135
- char: /'(?:\\(?:\W|\w+)|[^\\])'/
9136
- });
9137
- Prism.languages.insertBefore('d', 'keyword', {
9138
- property: /\B@\w*/
9139
- });
9140
- Prism.languages.insertBefore('d', 'function', {
9141
- register: {
9142
- // Iasm registers
9143
- pattern:
9144
- /\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,
9145
- alias: 'variable'
9146
- }
9147
- });
9161
+ var d_1;
9162
+ var hasRequiredD;
9163
+
9164
+ function requireD () {
9165
+ if (hasRequiredD) return d_1;
9166
+ hasRequiredD = 1;
9167
+
9168
+ d_1 = d;
9169
+ d.displayName = 'd';
9170
+ d.aliases = [];
9171
+ function d(Prism) {
9172
+ Prism.languages.d = Prism.languages.extend('clike', {
9173
+ comment: [
9174
+ {
9175
+ // Shebang
9176
+ pattern: /^\s*#!.+/,
9177
+ greedy: true
9178
+ },
9179
+ {
9180
+ pattern: RegExp(
9181
+ /(^|[^\\])/.source +
9182
+ '(?:' +
9183
+ [
9184
+ // /+ comment +/
9185
+ // Allow one level of nesting
9186
+ /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, // // comment
9187
+ /\/\/.*/.source, // /* comment */
9188
+ /\/\*[\s\S]*?\*\//.source
9189
+ ].join('|') +
9190
+ ')'
9191
+ ),
9192
+ lookbehind: true,
9193
+ greedy: true
9194
+ }
9195
+ ],
9196
+ string: [
9197
+ {
9198
+ pattern: RegExp(
9199
+ [
9200
+ // r"", x""
9201
+ /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, // q"[]", q"()", q"<>", q"{}"
9202
+ /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, // q"IDENT
9203
+ // ...
9204
+ // IDENT"
9205
+ /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, // q"//", q"||", etc.
9206
+ // eslint-disable-next-line regexp/strict
9207
+ /\bq"(.)[\s\S]*?\2"/.source, // eslint-disable-next-line regexp/strict
9208
+ /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
9209
+ ].join('|'),
9210
+ 'm'
9211
+ ),
9212
+ greedy: true
9213
+ },
9214
+ {
9215
+ pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
9216
+ greedy: true,
9217
+ alias: 'token-string'
9218
+ }
9219
+ ],
9220
+ // In order: $, keywords and special tokens, globally defined symbols
9221
+ keyword:
9222
+ /\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,
9223
+ number: [
9224
+ // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
9225
+ // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
9226
+ /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
9227
+ {
9228
+ pattern:
9229
+ /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
9230
+ lookbehind: true
9231
+ }
9232
+ ],
9233
+ operator:
9234
+ /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
9235
+ });
9236
+ Prism.languages.insertBefore('d', 'string', {
9237
+ // Characters
9238
+ // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
9239
+ char: /'(?:\\(?:\W|\w+)|[^\\])'/
9240
+ });
9241
+ Prism.languages.insertBefore('d', 'keyword', {
9242
+ property: /\B@\w*/
9243
+ });
9244
+ Prism.languages.insertBefore('d', 'function', {
9245
+ register: {
9246
+ // Iasm registers
9247
+ pattern:
9248
+ /\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,
9249
+ alias: 'variable'
9250
+ }
9251
+ });
9252
+ }
9253
+ return d_1;
9254
+ }
9255
+
9256
+ var dart_1;
9257
+ var hasRequiredDart;
9258
+
9259
+ function requireDart () {
9260
+ if (hasRequiredDart) return dart_1;
9261
+ hasRequiredDart = 1;
9262
+
9263
+ dart_1 = dart;
9264
+ dart.displayName = 'dart';
9265
+ dart.aliases = [];
9266
+ function dart(Prism) {
9267
+ (function (Prism) {
9268
+ var keywords = [
9269
+ /\b(?:async|sync|yield)\*/,
9270
+ /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/
9271
+ ]; // Handles named imports, such as http.Client
9272
+ var packagePrefix = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/
9273
+ .source; // based on the dart naming conventions
9274
+ var className = {
9275
+ pattern: RegExp(packagePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
9276
+ lookbehind: true,
9277
+ inside: {
9278
+ namespace: {
9279
+ pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
9280
+ inside: {
9281
+ punctuation: /\./
9282
+ }
9283
+ }
9284
+ }
9285
+ };
9286
+ Prism.languages.dart = Prism.languages.extend('clike', {
9287
+ 'class-name': [
9288
+ className,
9289
+ {
9290
+ // variables and parameters
9291
+ // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
9292
+ pattern: RegExp(
9293
+ packagePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source
9294
+ ),
9295
+ lookbehind: true,
9296
+ inside: className.inside
9297
+ }
9298
+ ],
9299
+ keyword: keywords,
9300
+ operator:
9301
+ /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
9302
+ });
9303
+ Prism.languages.insertBefore('dart', 'string', {
9304
+ 'string-literal': {
9305
+ pattern:
9306
+ /r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,
9307
+ greedy: true,
9308
+ inside: {
9309
+ interpolation: {
9310
+ pattern:
9311
+ /((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,
9312
+ lookbehind: true,
9313
+ inside: {
9314
+ punctuation: /^\$\{?|\}$/,
9315
+ expression: {
9316
+ pattern: /[\s\S]+/,
9317
+ inside: Prism.languages.dart
9318
+ }
9319
+ }
9320
+ },
9321
+ string: /[\s\S]+/
9322
+ }
9323
+ },
9324
+ string: undefined
9325
+ });
9326
+ Prism.languages.insertBefore('dart', 'class-name', {
9327
+ metadata: {
9328
+ pattern: /@\w+/,
9329
+ alias: 'function'
9330
+ }
9331
+ });
9332
+ Prism.languages.insertBefore('dart', 'class-name', {
9333
+ generics: {
9334
+ pattern:
9335
+ /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,
9336
+ inside: {
9337
+ 'class-name': className,
9338
+ keyword: keywords,
9339
+ punctuation: /[<>(),.:]/,
9340
+ operator: /[?&|]/
9341
+ }
9342
+ }
9343
+ });
9344
+ })(Prism);
9345
+ }
9346
+ return dart_1;
9148
9347
  }
9149
9348
 
9150
- var dart_1 = dart;
9151
- dart.displayName = 'dart';
9152
- dart.aliases = [];
9153
- function dart(Prism) {
9154
- (function (Prism) {
9155
- var keywords = [
9156
- /\b(?:async|sync|yield)\*/,
9157
- /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/
9158
- ]; // Handles named imports, such as http.Client
9159
- var packagePrefix = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/
9160
- .source; // based on the dart naming conventions
9161
- var className = {
9162
- pattern: RegExp(packagePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
9163
- lookbehind: true,
9164
- inside: {
9165
- namespace: {
9166
- pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
9167
- inside: {
9168
- punctuation: /\./
9169
- }
9170
- }
9171
- }
9172
- };
9173
- Prism.languages.dart = Prism.languages.extend('clike', {
9174
- 'class-name': [
9175
- className,
9176
- {
9177
- // variables and parameters
9178
- // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
9179
- pattern: RegExp(
9180
- packagePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source
9181
- ),
9182
- lookbehind: true,
9183
- inside: className.inside
9184
- }
9185
- ],
9186
- keyword: keywords,
9187
- operator:
9188
- /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
9189
- });
9190
- Prism.languages.insertBefore('dart', 'string', {
9191
- 'string-literal': {
9192
- pattern:
9193
- /r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,
9194
- greedy: true,
9195
- inside: {
9196
- interpolation: {
9197
- pattern:
9198
- /((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,
9199
- lookbehind: true,
9200
- inside: {
9201
- punctuation: /^\$\{?|\}$/,
9202
- expression: {
9203
- pattern: /[\s\S]+/,
9204
- inside: Prism.languages.dart
9205
- }
9206
- }
9207
- },
9208
- string: /[\s\S]+/
9209
- }
9210
- },
9211
- string: undefined
9212
- });
9213
- Prism.languages.insertBefore('dart', 'class-name', {
9214
- metadata: {
9215
- pattern: /@\w+/,
9216
- alias: 'function'
9217
- }
9218
- });
9219
- Prism.languages.insertBefore('dart', 'class-name', {
9220
- generics: {
9221
- pattern:
9222
- /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,
9223
- inside: {
9224
- 'class-name': className,
9225
- keyword: keywords,
9226
- punctuation: /[<>(),.:]/,
9227
- operator: /[?&|]/
9228
- }
9229
- }
9230
- });
9231
- })(Prism);
9232
- }
9349
+ var dataweave_1;
9350
+ var hasRequiredDataweave;
9233
9351
 
9234
- var dataweave_1 = dataweave;
9235
- dataweave.displayName = 'dataweave';
9236
- dataweave.aliases = [];
9237
- function dataweave(Prism) {
9352
+ function requireDataweave () {
9353
+ if (hasRequiredDataweave) return dataweave_1;
9354
+ hasRequiredDataweave = 1;
9355
+
9356
+ dataweave_1 = dataweave;
9357
+ dataweave.displayName = 'dataweave';
9358
+ dataweave.aliases = [];
9359
+ function dataweave(Prism) {
9238
9360
  (function (Prism) {
9239
- Prism.languages.dataweave = {
9240
- url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,
9241
- property: {
9242
- pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,
9243
- greedy: true
9244
- },
9245
- string: {
9246
- pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
9247
- greedy: true
9248
- },
9249
- 'mime-type':
9250
- /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,
9251
- date: {
9252
- pattern: /\|[\w:+-]+\|/,
9253
- greedy: true
9254
- },
9255
- comment: [
9256
- {
9257
- pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
9258
- lookbehind: true,
9259
- greedy: true
9260
- },
9261
- {
9262
- pattern: /(^|[^\\:])\/\/.*/,
9263
- lookbehind: true,
9264
- greedy: true
9265
- }
9266
- ],
9267
- regex: {
9268
- pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,
9269
- greedy: true
9270
- },
9271
- keyword:
9272
- /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,
9273
- function: /\b[A-Z_]\w*(?=\s*\()/i,
9274
- number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
9275
- punctuation: /[{}[\];(),.:@]/,
9276
- operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,
9277
- boolean: /\b(?:false|true)\b/
9278
- };
9279
- })(Prism);
9361
+ Prism.languages.dataweave = {
9362
+ url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,
9363
+ property: {
9364
+ pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,
9365
+ greedy: true
9366
+ },
9367
+ string: {
9368
+ pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
9369
+ greedy: true
9370
+ },
9371
+ 'mime-type':
9372
+ /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,
9373
+ date: {
9374
+ pattern: /\|[\w:+-]+\|/,
9375
+ greedy: true
9376
+ },
9377
+ comment: [
9378
+ {
9379
+ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
9380
+ lookbehind: true,
9381
+ greedy: true
9382
+ },
9383
+ {
9384
+ pattern: /(^|[^\\:])\/\/.*/,
9385
+ lookbehind: true,
9386
+ greedy: true
9387
+ }
9388
+ ],
9389
+ regex: {
9390
+ pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,
9391
+ greedy: true
9392
+ },
9393
+ keyword:
9394
+ /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,
9395
+ function: /\b[A-Z_]\w*(?=\s*\()/i,
9396
+ number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
9397
+ punctuation: /[{}[\];(),.:@]/,
9398
+ operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,
9399
+ boolean: /\b(?:false|true)\b/
9400
+ };
9401
+ })(Prism);
9402
+ }
9403
+ return dataweave_1;
9280
9404
  }
9281
9405
 
9282
- var dax_1 = dax;
9283
- dax.displayName = 'dax';
9284
- dax.aliases = [];
9285
- function dax(Prism) {
9286
- Prism.languages.dax = {
9287
- comment: {
9288
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,
9289
- lookbehind: true
9290
- },
9291
- 'data-field': {
9292
- pattern:
9293
- /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,
9294
- alias: 'symbol'
9295
- },
9296
- measure: {
9297
- pattern: /\[[ \w\xA0-\uFFFF]+\]/,
9298
- alias: 'constant'
9299
- },
9300
- string: {
9301
- pattern: /"(?:[^"]|"")*"(?!")/,
9302
- greedy: true
9303
- },
9304
- function:
9305
- /\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,
9306
- keyword:
9307
- /\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,
9308
- boolean: {
9309
- pattern: /\b(?:FALSE|NULL|TRUE)\b/i,
9310
- alias: 'constant'
9311
- },
9312
- number: /\b\d+(?:\.\d*)?|\B\.\d+\b/,
9313
- operator: /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,
9314
- punctuation: /[;\[\](){}`,.]/
9315
- };
9406
+ var dax_1;
9407
+ var hasRequiredDax;
9408
+
9409
+ function requireDax () {
9410
+ if (hasRequiredDax) return dax_1;
9411
+ hasRequiredDax = 1;
9412
+
9413
+ dax_1 = dax;
9414
+ dax.displayName = 'dax';
9415
+ dax.aliases = [];
9416
+ function dax(Prism) {
9417
+ Prism.languages.dax = {
9418
+ comment: {
9419
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,
9420
+ lookbehind: true
9421
+ },
9422
+ 'data-field': {
9423
+ pattern:
9424
+ /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,
9425
+ alias: 'symbol'
9426
+ },
9427
+ measure: {
9428
+ pattern: /\[[ \w\xA0-\uFFFF]+\]/,
9429
+ alias: 'constant'
9430
+ },
9431
+ string: {
9432
+ pattern: /"(?:[^"]|"")*"(?!")/,
9433
+ greedy: true
9434
+ },
9435
+ function:
9436
+ /\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,
9437
+ keyword:
9438
+ /\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,
9439
+ boolean: {
9440
+ pattern: /\b(?:FALSE|NULL|TRUE)\b/i,
9441
+ alias: 'constant'
9442
+ },
9443
+ number: /\b\d+(?:\.\d*)?|\B\.\d+\b/,
9444
+ operator: /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,
9445
+ punctuation: /[;\[\](){}`,.]/
9446
+ };
9447
+ }
9448
+ return dax_1;
9316
9449
  }
9317
9450
 
9318
9451
  var dhall_1;
@@ -9400,64 +9533,73 @@ function requireDhall () {
9400
9533
  return dhall_1;
9401
9534
  }
9402
9535
 
9403
- var diff_1 = diff;
9404
- diff.displayName = 'diff';
9405
- diff.aliases = [];
9406
- function diff(Prism) {
9536
+ var diff_1;
9537
+ var hasRequiredDiff;
9538
+
9539
+ function requireDiff () {
9540
+ if (hasRequiredDiff) return diff_1;
9541
+ hasRequiredDiff = 1;
9542
+
9543
+ diff_1 = diff;
9544
+ diff.displayName = 'diff';
9545
+ diff.aliases = [];
9546
+ function diff(Prism) {
9407
9547
  (function (Prism) {
9408
- Prism.languages.diff = {
9409
- coord: [
9410
- // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
9411
- /^(?:\*{3}|-{3}|\+{3}).*$/m, // Match "@@ ... @@" coord lines in unified diff.
9412
- /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).
9413
- /^\d.*$/m
9414
- ] // deleted, inserted, unchanged, diff
9415
- };
9416
- /**
9417
- * A map from the name of a block to its line prefix.
9418
- *
9419
- * @type {Object<string, string>}
9420
- */
9421
- var PREFIXES = {
9422
- 'deleted-sign': '-',
9423
- 'deleted-arrow': '<',
9424
- 'inserted-sign': '+',
9425
- 'inserted-arrow': '>',
9426
- unchanged: ' ',
9427
- diff: '!'
9428
- }; // add a token for each prefix
9429
- Object.keys(PREFIXES).forEach(function (name) {
9430
- var prefix = PREFIXES[name];
9431
- var alias = [];
9432
- if (!/^\w+$/.test(name)) {
9433
- // "deleted-sign" -> "deleted"
9434
- alias.push(/\w+/.exec(name)[0]);
9435
- }
9436
- if (name === 'diff') {
9437
- alias.push('bold');
9438
- }
9439
- Prism.languages.diff[name] = {
9440
- pattern: RegExp(
9441
- '^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+',
9442
- 'm'
9443
- ),
9444
- alias: alias,
9445
- inside: {
9446
- line: {
9447
- pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/,
9448
- lookbehind: true
9449
- },
9450
- prefix: {
9451
- pattern: /[\s\S]/,
9452
- alias: /\w+/.exec(name)[0]
9453
- }
9454
- }
9455
- };
9456
- }); // make prefixes available to Diff plugin
9457
- Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
9458
- value: PREFIXES
9459
- });
9460
- })(Prism);
9548
+ Prism.languages.diff = {
9549
+ coord: [
9550
+ // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
9551
+ /^(?:\*{3}|-{3}|\+{3}).*$/m, // Match "@@ ... @@" coord lines in unified diff.
9552
+ /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).
9553
+ /^\d.*$/m
9554
+ ] // deleted, inserted, unchanged, diff
9555
+ };
9556
+ /**
9557
+ * A map from the name of a block to its line prefix.
9558
+ *
9559
+ * @type {Object<string, string>}
9560
+ */
9561
+ var PREFIXES = {
9562
+ 'deleted-sign': '-',
9563
+ 'deleted-arrow': '<',
9564
+ 'inserted-sign': '+',
9565
+ 'inserted-arrow': '>',
9566
+ unchanged: ' ',
9567
+ diff: '!'
9568
+ }; // add a token for each prefix
9569
+ Object.keys(PREFIXES).forEach(function (name) {
9570
+ var prefix = PREFIXES[name];
9571
+ var alias = [];
9572
+ if (!/^\w+$/.test(name)) {
9573
+ // "deleted-sign" -> "deleted"
9574
+ alias.push(/\w+/.exec(name)[0]);
9575
+ }
9576
+ if (name === 'diff') {
9577
+ alias.push('bold');
9578
+ }
9579
+ Prism.languages.diff[name] = {
9580
+ pattern: RegExp(
9581
+ '^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+',
9582
+ 'm'
9583
+ ),
9584
+ alias: alias,
9585
+ inside: {
9586
+ line: {
9587
+ pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/,
9588
+ lookbehind: true
9589
+ },
9590
+ prefix: {
9591
+ pattern: /[\s\S]/,
9592
+ alias: /\w+/.exec(name)[0]
9593
+ }
9594
+ }
9595
+ };
9596
+ }); // make prefixes available to Diff plugin
9597
+ Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
9598
+ value: PREFIXES
9599
+ });
9600
+ })(Prism);
9601
+ }
9602
+ return diff_1;
9461
9603
  }
9462
9604
 
9463
9605
  var markupTemplating_1;
@@ -9572,327 +9714,362 @@ function requireMarkupTemplating () {
9572
9714
  token.content = replacement;
9573
9715
  }
9574
9716
  }
9575
- } else if (
9576
- token.content
9577
- /* && typeof token.content !== 'string' */
9578
- ) {
9579
- walkTokens(token.content);
9580
- }
9717
+ } else if (
9718
+ token.content
9719
+ /* && typeof token.content !== 'string' */
9720
+ ) {
9721
+ walkTokens(token.content);
9722
+ }
9723
+ }
9724
+ return tokens
9725
+ }
9726
+ walkTokens(env.tokens);
9727
+ }
9728
+ }
9729
+ });
9730
+ })(Prism);
9731
+ }
9732
+ return markupTemplating_1;
9733
+ }
9734
+
9735
+ var django_1;
9736
+ var hasRequiredDjango;
9737
+
9738
+ function requireDjango () {
9739
+ if (hasRequiredDjango) return django_1;
9740
+ hasRequiredDjango = 1;
9741
+ var refractorMarkupTemplating = requireMarkupTemplating();
9742
+ django_1 = django;
9743
+ django.displayName = 'django';
9744
+ django.aliases = ['jinja2'];
9745
+ function django(Prism) {
9746
+ Prism.register(refractorMarkupTemplating)
9747
+ // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.
9748
+ // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.
9749
+ ;(function (Prism) {
9750
+ Prism.languages.django = {
9751
+ comment: /^\{#[\s\S]*?#\}$/,
9752
+ tag: {
9753
+ pattern: /(^\{%[+-]?\s*)\w+/,
9754
+ lookbehind: true,
9755
+ alias: 'keyword'
9756
+ },
9757
+ delimiter: {
9758
+ pattern: /^\{[{%][+-]?|[+-]?[}%]\}$/,
9759
+ alias: 'punctuation'
9760
+ },
9761
+ string: {
9762
+ pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
9763
+ greedy: true
9764
+ },
9765
+ filter: {
9766
+ pattern: /(\|)\w+/,
9767
+ lookbehind: true,
9768
+ alias: 'function'
9769
+ },
9770
+ test: {
9771
+ pattern: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/,
9772
+ lookbehind: true,
9773
+ alias: 'function'
9774
+ },
9775
+ function: /\b[a-z_]\w+(?=\s*\()/i,
9776
+ keyword:
9777
+ /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,
9778
+ operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
9779
+ number: /\b\d+(?:\.\d+)?\b/,
9780
+ boolean: /[Ff]alse|[Nn]one|[Tt]rue/,
9781
+ variable: /\b\w+\b/,
9782
+ punctuation: /[{}[\](),.:;]/
9783
+ };
9784
+ var pattern = /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g;
9785
+ var markupTemplating = Prism.languages['markup-templating'];
9786
+ Prism.hooks.add('before-tokenize', function (env) {
9787
+ markupTemplating.buildPlaceholders(env, 'django', pattern);
9788
+ });
9789
+ Prism.hooks.add('after-tokenize', function (env) {
9790
+ markupTemplating.tokenizePlaceholders(env, 'django');
9791
+ }); // Add an Jinja2 alias
9792
+ Prism.languages.jinja2 = Prism.languages.django;
9793
+ Prism.hooks.add('before-tokenize', function (env) {
9794
+ markupTemplating.buildPlaceholders(env, 'jinja2', pattern);
9795
+ });
9796
+ Prism.hooks.add('after-tokenize', function (env) {
9797
+ markupTemplating.tokenizePlaceholders(env, 'jinja2');
9798
+ });
9799
+ })(Prism);
9800
+ }
9801
+ return django_1;
9802
+ }
9803
+
9804
+ var dnsZoneFile_1;
9805
+ var hasRequiredDnsZoneFile;
9806
+
9807
+ function requireDnsZoneFile () {
9808
+ if (hasRequiredDnsZoneFile) return dnsZoneFile_1;
9809
+ hasRequiredDnsZoneFile = 1;
9810
+
9811
+ dnsZoneFile_1 = dnsZoneFile;
9812
+ dnsZoneFile.displayName = 'dnsZoneFile';
9813
+ dnsZoneFile.aliases = [];
9814
+ function dnsZoneFile(Prism) {
9815
+ Prism.languages['dns-zone-file'] = {
9816
+ comment: /;.*/,
9817
+ string: {
9818
+ pattern: /"(?:\\.|[^"\\\r\n])*"/,
9819
+ greedy: true
9820
+ },
9821
+ variable: [
9822
+ {
9823
+ pattern: /(^\$ORIGIN[ \t]+)\S+/m,
9824
+ lookbehind: true
9825
+ },
9826
+ {
9827
+ pattern: /(^|\s)@(?=\s|$)/,
9828
+ lookbehind: true
9829
+ }
9830
+ ],
9831
+ keyword: /^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,
9832
+ class: {
9833
+ // https://tools.ietf.org/html/rfc1035#page-13
9834
+ pattern: /(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,
9835
+ lookbehind: true,
9836
+ alias: 'keyword'
9837
+ },
9838
+ type: {
9839
+ // https://en.wikipedia.org/wiki/List_of_DNS_record_types
9840
+ pattern:
9841
+ /(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,
9842
+ lookbehind: true,
9843
+ alias: 'keyword'
9844
+ },
9845
+ punctuation: /[()]/
9846
+ };
9847
+ Prism.languages['dns-zone'] = Prism.languages['dns-zone-file'];
9848
+ }
9849
+ return dnsZoneFile_1;
9850
+ }
9851
+
9852
+ var docker_1;
9853
+ var hasRequiredDocker;
9854
+
9855
+ function requireDocker () {
9856
+ if (hasRequiredDocker) return docker_1;
9857
+ hasRequiredDocker = 1;
9858
+
9859
+ docker_1 = docker;
9860
+ docker.displayName = 'docker';
9861
+ docker.aliases = ['dockerfile'];
9862
+ function docker(Prism) {
9863
+ (function (Prism) {
9864
+ // Many of the following regexes will contain negated lookaheads like `[ \t]+(?![ \t])`. This is a trick to ensure
9865
+ // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.
9866
+ var spaceAfterBackSlash =
9867
+ /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source; // At least one space, comment, or line break
9868
+ var space = /(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(
9869
+ /<SP_BS>/g,
9870
+ function () {
9871
+ return spaceAfterBackSlash
9872
+ }
9873
+ );
9874
+ var string =
9875
+ /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/
9876
+ .source;
9877
+ var option = /--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(
9878
+ /<STR>/g,
9879
+ function () {
9880
+ return string
9881
+ }
9882
+ );
9883
+ var stringRule = {
9884
+ pattern: RegExp(string),
9885
+ greedy: true
9886
+ };
9887
+ var commentRule = {
9888
+ pattern: /(^[ \t]*)#.*/m,
9889
+ lookbehind: true,
9890
+ greedy: true
9891
+ };
9892
+ /**
9893
+ * @param {string} source
9894
+ * @param {string} flags
9895
+ * @returns {RegExp}
9896
+ */
9897
+ function re(source, flags) {
9898
+ source = source
9899
+ .replace(/<OPT>/g, function () {
9900
+ return option
9901
+ })
9902
+ .replace(/<SP>/g, function () {
9903
+ return space
9904
+ });
9905
+ return RegExp(source, flags)
9906
+ }
9907
+ Prism.languages.docker = {
9908
+ instruction: {
9909
+ pattern:
9910
+ /(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,
9911
+ lookbehind: true,
9912
+ greedy: true,
9913
+ inside: {
9914
+ options: {
9915
+ pattern: re(
9916
+ /(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,
9917
+ 'i'
9918
+ ),
9919
+ lookbehind: true,
9920
+ greedy: true,
9921
+ inside: {
9922
+ property: {
9923
+ pattern: /(^|\s)--[\w-]+/,
9924
+ lookbehind: true
9925
+ },
9926
+ string: [
9927
+ stringRule,
9928
+ {
9929
+ pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/,
9930
+ lookbehind: true
9931
+ }
9932
+ ],
9933
+ operator: /\\$/m,
9934
+ punctuation: /=/
9581
9935
  }
9582
- return tokens
9583
- }
9584
- walkTokens(env.tokens);
9936
+ },
9937
+ keyword: [
9938
+ {
9939
+ // https://docs.docker.com/engine/reference/builder/#healthcheck
9940
+ pattern: re(
9941
+ /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/
9942
+ .source,
9943
+ 'i'
9944
+ ),
9945
+ lookbehind: true,
9946
+ greedy: true
9947
+ },
9948
+ {
9949
+ // https://docs.docker.com/engine/reference/builder/#from
9950
+ pattern: re(
9951
+ /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/
9952
+ .source,
9953
+ 'i'
9954
+ ),
9955
+ lookbehind: true,
9956
+ greedy: true
9957
+ },
9958
+ {
9959
+ // https://docs.docker.com/engine/reference/builder/#onbuild
9960
+ pattern: re(/(^ONBUILD<SP>)\w+/.source, 'i'),
9961
+ lookbehind: true,
9962
+ greedy: true
9963
+ },
9964
+ {
9965
+ pattern: /^\w+/,
9966
+ greedy: true
9967
+ }
9968
+ ],
9969
+ comment: commentRule,
9970
+ string: stringRule,
9971
+ variable: /\$(?:\w+|\{[^{}"'\\]*\})/,
9972
+ operator: /\\$/m
9585
9973
  }
9586
- }
9587
- });
9974
+ },
9975
+ comment: commentRule
9976
+ };
9977
+ Prism.languages.dockerfile = Prism.languages.docker;
9588
9978
  })(Prism);
9589
9979
  }
9590
- return markupTemplating_1;
9591
- }
9592
-
9593
- var refractorMarkupTemplating$1 = requireMarkupTemplating();
9594
- var django_1 = django;
9595
- django.displayName = 'django';
9596
- django.aliases = ['jinja2'];
9597
- function django(Prism) {
9598
- Prism.register(refractorMarkupTemplating$1)
9599
- // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.
9600
- // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.
9601
- ;(function (Prism) {
9602
- Prism.languages.django = {
9603
- comment: /^\{#[\s\S]*?#\}$/,
9604
- tag: {
9605
- pattern: /(^\{%[+-]?\s*)\w+/,
9606
- lookbehind: true,
9607
- alias: 'keyword'
9608
- },
9609
- delimiter: {
9610
- pattern: /^\{[{%][+-]?|[+-]?[}%]\}$/,
9611
- alias: 'punctuation'
9612
- },
9613
- string: {
9614
- pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
9615
- greedy: true
9616
- },
9617
- filter: {
9618
- pattern: /(\|)\w+/,
9619
- lookbehind: true,
9620
- alias: 'function'
9621
- },
9622
- test: {
9623
- pattern: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/,
9624
- lookbehind: true,
9625
- alias: 'function'
9626
- },
9627
- function: /\b[a-z_]\w+(?=\s*\()/i,
9628
- keyword:
9629
- /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,
9630
- operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
9631
- number: /\b\d+(?:\.\d+)?\b/,
9632
- boolean: /[Ff]alse|[Nn]one|[Tt]rue/,
9633
- variable: /\b\w+\b/,
9634
- punctuation: /[{}[\](),.:;]/
9635
- };
9636
- var pattern = /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g;
9637
- var markupTemplating = Prism.languages['markup-templating'];
9638
- Prism.hooks.add('before-tokenize', function (env) {
9639
- markupTemplating.buildPlaceholders(env, 'django', pattern);
9640
- });
9641
- Prism.hooks.add('after-tokenize', function (env) {
9642
- markupTemplating.tokenizePlaceholders(env, 'django');
9643
- }); // Add an Jinja2 alias
9644
- Prism.languages.jinja2 = Prism.languages.django;
9645
- Prism.hooks.add('before-tokenize', function (env) {
9646
- markupTemplating.buildPlaceholders(env, 'jinja2', pattern);
9647
- });
9648
- Prism.hooks.add('after-tokenize', function (env) {
9649
- markupTemplating.tokenizePlaceholders(env, 'jinja2');
9650
- });
9651
- })(Prism);
9980
+ return docker_1;
9652
9981
  }
9653
9982
 
9654
- var dnsZoneFile_1 = dnsZoneFile;
9655
- dnsZoneFile.displayName = 'dnsZoneFile';
9656
- dnsZoneFile.aliases = [];
9657
- function dnsZoneFile(Prism) {
9658
- Prism.languages['dns-zone-file'] = {
9659
- comment: /;.*/,
9660
- string: {
9661
- pattern: /"(?:\\.|[^"\\\r\n])*"/,
9662
- greedy: true
9663
- },
9664
- variable: [
9665
- {
9666
- pattern: /(^\$ORIGIN[ \t]+)\S+/m,
9667
- lookbehind: true
9668
- },
9669
- {
9670
- pattern: /(^|\s)@(?=\s|$)/,
9671
- lookbehind: true
9672
- }
9673
- ],
9674
- keyword: /^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,
9675
- class: {
9676
- // https://tools.ietf.org/html/rfc1035#page-13
9677
- pattern: /(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,
9678
- lookbehind: true,
9679
- alias: 'keyword'
9680
- },
9681
- type: {
9682
- // https://en.wikipedia.org/wiki/List_of_DNS_record_types
9683
- pattern:
9684
- /(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,
9685
- lookbehind: true,
9686
- alias: 'keyword'
9687
- },
9688
- punctuation: /[()]/
9689
- };
9690
- Prism.languages['dns-zone'] = Prism.languages['dns-zone-file'];
9691
- }
9983
+ var dot_1;
9984
+ var hasRequiredDot;
9692
9985
 
9693
- var docker_1 = docker;
9694
- docker.displayName = 'docker';
9695
- docker.aliases = ['dockerfile'];
9696
- function docker(Prism) {
9697
- (function (Prism) {
9698
- // Many of the following regexes will contain negated lookaheads like `[ \t]+(?![ \t])`. This is a trick to ensure
9699
- // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.
9700
- var spaceAfterBackSlash =
9701
- /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source; // At least one space, comment, or line break
9702
- var space = /(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(
9703
- /<SP_BS>/g,
9704
- function () {
9705
- return spaceAfterBackSlash
9706
- }
9707
- );
9708
- var string =
9709
- /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/
9710
- .source;
9711
- var option = /--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(
9712
- /<STR>/g,
9713
- function () {
9714
- return string
9715
- }
9716
- );
9717
- var stringRule = {
9718
- pattern: RegExp(string),
9719
- greedy: true
9720
- };
9721
- var commentRule = {
9722
- pattern: /(^[ \t]*)#.*/m,
9723
- lookbehind: true,
9724
- greedy: true
9725
- };
9726
- /**
9727
- * @param {string} source
9728
- * @param {string} flags
9729
- * @returns {RegExp}
9730
- */
9731
- function re(source, flags) {
9732
- source = source
9733
- .replace(/<OPT>/g, function () {
9734
- return option
9735
- })
9736
- .replace(/<SP>/g, function () {
9737
- return space
9738
- });
9739
- return RegExp(source, flags)
9740
- }
9741
- Prism.languages.docker = {
9742
- instruction: {
9743
- pattern:
9744
- /(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,
9745
- lookbehind: true,
9746
- greedy: true,
9747
- inside: {
9748
- options: {
9749
- pattern: re(
9750
- /(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,
9751
- 'i'
9752
- ),
9753
- lookbehind: true,
9754
- greedy: true,
9755
- inside: {
9756
- property: {
9757
- pattern: /(^|\s)--[\w-]+/,
9758
- lookbehind: true
9759
- },
9760
- string: [
9761
- stringRule,
9762
- {
9763
- pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/,
9764
- lookbehind: true
9765
- }
9766
- ],
9767
- operator: /\\$/m,
9768
- punctuation: /=/
9769
- }
9770
- },
9771
- keyword: [
9772
- {
9773
- // https://docs.docker.com/engine/reference/builder/#healthcheck
9774
- pattern: re(
9775
- /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/
9776
- .source,
9777
- 'i'
9778
- ),
9779
- lookbehind: true,
9780
- greedy: true
9781
- },
9782
- {
9783
- // https://docs.docker.com/engine/reference/builder/#from
9784
- pattern: re(
9785
- /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/
9786
- .source,
9787
- 'i'
9788
- ),
9789
- lookbehind: true,
9790
- greedy: true
9791
- },
9792
- {
9793
- // https://docs.docker.com/engine/reference/builder/#onbuild
9794
- pattern: re(/(^ONBUILD<SP>)\w+/.source, 'i'),
9795
- lookbehind: true,
9796
- greedy: true
9797
- },
9798
- {
9799
- pattern: /^\w+/,
9800
- greedy: true
9801
- }
9802
- ],
9803
- comment: commentRule,
9804
- string: stringRule,
9805
- variable: /\$(?:\w+|\{[^{}"'\\]*\})/,
9806
- operator: /\\$/m
9807
- }
9808
- },
9809
- comment: commentRule
9810
- };
9811
- Prism.languages.dockerfile = Prism.languages.docker;
9812
- })(Prism);
9813
- }
9986
+ function requireDot () {
9987
+ if (hasRequiredDot) return dot_1;
9988
+ hasRequiredDot = 1;
9814
9989
 
9815
- var dot_1 = dot;
9816
- dot.displayName = 'dot';
9817
- dot.aliases = ['gv'];
9818
- function dot(Prism) {
9990
+ dot_1 = dot;
9991
+ dot.displayName = 'dot';
9992
+ dot.aliases = ['gv'];
9993
+ function dot(Prism) {
9819
9994
  (function (Prism) {
9820
- var ID =
9821
- '(?:' +
9822
- [
9823
- // an identifier
9824
- /[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source, // a number
9825
- /-?(?:\.\d+|\d+(?:\.\d*)?)/.source, // a double-quoted string
9826
- /"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source, // HTML-like string
9827
- /<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/
9828
- .source
9829
- ].join('|') +
9830
- ')';
9831
- var IDInside = {
9832
- markup: {
9833
- pattern: /(^<)[\s\S]+(?=>$)/,
9834
- lookbehind: true,
9835
- alias: ['language-markup', 'language-html', 'language-xml'],
9836
- inside: Prism.languages.markup
9837
- }
9838
- };
9839
- /**
9840
- * @param {string} source
9841
- * @param {string} flags
9842
- * @returns {RegExp}
9843
- */
9844
- function withID(source, flags) {
9845
- return RegExp(
9846
- source.replace(/<ID>/g, function () {
9847
- return ID
9848
- }),
9849
- flags
9850
- )
9851
- }
9852
- Prism.languages.dot = {
9853
- comment: {
9854
- pattern: /\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,
9855
- greedy: true
9856
- },
9857
- 'graph-name': {
9858
- pattern: withID(
9859
- /(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,
9860
- 'i'
9861
- ),
9862
- lookbehind: true,
9863
- greedy: true,
9864
- alias: 'class-name',
9865
- inside: IDInside
9866
- },
9867
- 'attr-value': {
9868
- pattern: withID(/(=[ \t\r\n]*)<ID>/.source),
9869
- lookbehind: true,
9870
- greedy: true,
9871
- inside: IDInside
9872
- },
9873
- 'attr-name': {
9874
- pattern: withID(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),
9875
- lookbehind: true,
9876
- greedy: true,
9877
- inside: IDInside
9878
- },
9879
- keyword: /\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,
9880
- 'compass-point': {
9881
- pattern: /(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,
9882
- lookbehind: true,
9883
- alias: 'builtin'
9884
- },
9885
- node: {
9886
- pattern: withID(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),
9887
- lookbehind: true,
9888
- greedy: true,
9889
- inside: IDInside
9890
- },
9891
- operator: /[=:]|-[->]/,
9892
- punctuation: /[\[\]{};,]/
9893
- };
9894
- Prism.languages.gv = Prism.languages.dot;
9895
- })(Prism);
9995
+ var ID =
9996
+ '(?:' +
9997
+ [
9998
+ // an identifier
9999
+ /[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source, // a number
10000
+ /-?(?:\.\d+|\d+(?:\.\d*)?)/.source, // a double-quoted string
10001
+ /"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source, // HTML-like string
10002
+ /<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/
10003
+ .source
10004
+ ].join('|') +
10005
+ ')';
10006
+ var IDInside = {
10007
+ markup: {
10008
+ pattern: /(^<)[\s\S]+(?=>$)/,
10009
+ lookbehind: true,
10010
+ alias: ['language-markup', 'language-html', 'language-xml'],
10011
+ inside: Prism.languages.markup
10012
+ }
10013
+ };
10014
+ /**
10015
+ * @param {string} source
10016
+ * @param {string} flags
10017
+ * @returns {RegExp}
10018
+ */
10019
+ function withID(source, flags) {
10020
+ return RegExp(
10021
+ source.replace(/<ID>/g, function () {
10022
+ return ID
10023
+ }),
10024
+ flags
10025
+ )
10026
+ }
10027
+ Prism.languages.dot = {
10028
+ comment: {
10029
+ pattern: /\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,
10030
+ greedy: true
10031
+ },
10032
+ 'graph-name': {
10033
+ pattern: withID(
10034
+ /(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,
10035
+ 'i'
10036
+ ),
10037
+ lookbehind: true,
10038
+ greedy: true,
10039
+ alias: 'class-name',
10040
+ inside: IDInside
10041
+ },
10042
+ 'attr-value': {
10043
+ pattern: withID(/(=[ \t\r\n]*)<ID>/.source),
10044
+ lookbehind: true,
10045
+ greedy: true,
10046
+ inside: IDInside
10047
+ },
10048
+ 'attr-name': {
10049
+ pattern: withID(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),
10050
+ lookbehind: true,
10051
+ greedy: true,
10052
+ inside: IDInside
10053
+ },
10054
+ keyword: /\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,
10055
+ 'compass-point': {
10056
+ pattern: /(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,
10057
+ lookbehind: true,
10058
+ alias: 'builtin'
10059
+ },
10060
+ node: {
10061
+ pattern: withID(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),
10062
+ lookbehind: true,
10063
+ greedy: true,
10064
+ inside: IDInside
10065
+ },
10066
+ operator: /[=:]|-[->]/,
10067
+ punctuation: /[\[\]{};,]/
10068
+ };
10069
+ Prism.languages.gv = Prism.languages.dot;
10070
+ })(Prism);
10071
+ }
10072
+ return dot_1;
9896
10073
  }
9897
10074
 
9898
10075
  var ebnf_1;
@@ -10019,37 +10196,45 @@ function requireEiffel () {
10019
10196
  return eiffel_1;
10020
10197
  }
10021
10198
 
10022
- var refractorMarkupTemplating = requireMarkupTemplating();
10023
- var ejs_1 = ejs;
10024
- ejs.displayName = 'ejs';
10025
- ejs.aliases = ['eta'];
10026
- function ejs(Prism) {
10027
- Prism.register(refractorMarkupTemplating)
10028
- ;(function (Prism) {
10029
- Prism.languages.ejs = {
10030
- delimiter: {
10031
- pattern: /^<%[-_=]?|[-_]?%>$/,
10032
- alias: 'punctuation'
10033
- },
10034
- comment: /^#[\s\S]*/,
10035
- 'language-javascript': {
10036
- pattern: /[\s\S]+/,
10037
- inside: Prism.languages.javascript
10038
- }
10039
- };
10040
- Prism.hooks.add('before-tokenize', function (env) {
10041
- var ejsPattern = /<%(?!%)[\s\S]+?%>/g;
10042
- Prism.languages['markup-templating'].buildPlaceholders(
10043
- env,
10044
- 'ejs',
10045
- ejsPattern
10046
- );
10047
- });
10048
- Prism.hooks.add('after-tokenize', function (env) {
10049
- Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');
10050
- });
10051
- Prism.languages.eta = Prism.languages.ejs;
10052
- })(Prism);
10199
+ var ejs_1;
10200
+ var hasRequiredEjs;
10201
+
10202
+ function requireEjs () {
10203
+ if (hasRequiredEjs) return ejs_1;
10204
+ hasRequiredEjs = 1;
10205
+ var refractorMarkupTemplating = requireMarkupTemplating();
10206
+ ejs_1 = ejs;
10207
+ ejs.displayName = 'ejs';
10208
+ ejs.aliases = ['eta'];
10209
+ function ejs(Prism) {
10210
+ Prism.register(refractorMarkupTemplating)
10211
+ ;(function (Prism) {
10212
+ Prism.languages.ejs = {
10213
+ delimiter: {
10214
+ pattern: /^<%[-_=]?|[-_]?%>$/,
10215
+ alias: 'punctuation'
10216
+ },
10217
+ comment: /^#[\s\S]*/,
10218
+ 'language-javascript': {
10219
+ pattern: /[\s\S]+/,
10220
+ inside: Prism.languages.javascript
10221
+ }
10222
+ };
10223
+ Prism.hooks.add('before-tokenize', function (env) {
10224
+ var ejsPattern = /<%(?!%)[\s\S]+?%>/g;
10225
+ Prism.languages['markup-templating'].buildPlaceholders(
10226
+ env,
10227
+ 'ejs',
10228
+ ejsPattern
10229
+ );
10230
+ });
10231
+ Prism.hooks.add('after-tokenize', function (env) {
10232
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');
10233
+ });
10234
+ Prism.languages.eta = Prism.languages.ejs;
10235
+ })(Prism);
10236
+ }
10237
+ return ejs_1;
10053
10238
  }
10054
10239
 
10055
10240
  var elixir_1;
@@ -10238,7 +10423,7 @@ var hasRequiredErb;
10238
10423
  function requireErb () {
10239
10424
  if (hasRequiredErb) return erb_1;
10240
10425
  hasRequiredErb = 1;
10241
- var refractorRuby = ruby_1;
10426
+ var refractorRuby = requireRuby();
10242
10427
  var refractorMarkupTemplating = requireMarkupTemplating();
10243
10428
  erb_1 = erb;
10244
10429
  erb.displayName = 'erb';
@@ -12720,7 +12905,7 @@ var hasRequiredHaml;
12720
12905
  function requireHaml () {
12721
12906
  if (hasRequiredHaml) return haml_1;
12722
12907
  hasRequiredHaml = 1;
12723
- var refractorRuby = ruby_1;
12908
+ var refractorRuby = requireRuby();
12724
12909
  haml_1 = haml;
12725
12910
  haml.displayName = 'haml';
12726
12911
  haml.aliases = [];
@@ -25156,7 +25341,7 @@ function requireT4Cs () {
25156
25341
  if (hasRequiredT4Cs) return t4Cs_1;
25157
25342
  hasRequiredT4Cs = 1;
25158
25343
  var refractorT4Templating = requireT4Templating();
25159
- var refractorCsharp = csharp_1;
25344
+ var refractorCsharp = requireCsharp();
25160
25345
  t4Cs_1 = t4Cs;
25161
25346
  t4Cs.displayName = 't4Cs';
25162
25347
  t4Cs.aliases = [];
@@ -27914,7 +28099,7 @@ refractor.register(aspnet_1);
27914
28099
  refractor.register(autohotkey_1);
27915
28100
  refractor.register(autoit_1);
27916
28101
  refractor.register(avisynth_1);
27917
- refractor.register(avroIdl_1);
28102
+ refractor.register(requireAvroIdl());
27918
28103
  refractor.register(bash_1);
27919
28104
  refractor.register(basic_1);
27920
28105
  refractor.register(batch_1);
@@ -27923,7 +28108,7 @@ refractor.register(bicep_1);
27923
28108
  refractor.register(birb_1);
27924
28109
  refractor.register(bison_1);
27925
28110
  refractor.register(bnf_1);
27926
- refractor.register(brainfuck_1);
28111
+ refractor.register(requireBrainfuck());
27927
28112
  refractor.register(brightscript_1);
27928
28113
  refractor.register(bro_1);
27929
28114
  refractor.register(bsl_1);
@@ -27935,30 +28120,30 @@ refractor.register(clojure_1);
27935
28120
  refractor.register(cmake_1);
27936
28121
  refractor.register(cobol_1);
27937
28122
  refractor.register(coffeescript_1);
27938
- refractor.register(concurnas_1);
27939
- refractor.register(coq_1);
28123
+ refractor.register(requireConcurnas());
28124
+ refractor.register(requireCoq());
27940
28125
  refractor.register(requireCpp());
27941
- refractor.register(crystal_1);
27942
- refractor.register(csharp_1);
27943
- refractor.register(cshtml_1);
27944
- refractor.register(csp_1);
27945
- refractor.register(cssExtras_1);
28126
+ refractor.register(requireCrystal());
28127
+ refractor.register(requireCsharp());
28128
+ refractor.register(requireCshtml());
28129
+ refractor.register(requireCsp());
28130
+ refractor.register(requireCssExtras());
27946
28131
  refractor.register(requireCsv());
27947
- refractor.register(cypher_1);
27948
- refractor.register(d_1);
27949
- refractor.register(dart_1);
27950
- refractor.register(dataweave_1);
27951
- refractor.register(dax_1);
28132
+ refractor.register(requireCypher());
28133
+ refractor.register(requireD());
28134
+ refractor.register(requireDart());
28135
+ refractor.register(requireDataweave());
28136
+ refractor.register(requireDax());
27952
28137
  refractor.register(requireDhall());
27953
- refractor.register(diff_1);
27954
- refractor.register(django_1);
27955
- refractor.register(dnsZoneFile_1);
27956
- refractor.register(docker_1);
27957
- refractor.register(dot_1);
28138
+ refractor.register(requireDiff());
28139
+ refractor.register(requireDjango());
28140
+ refractor.register(requireDnsZoneFile());
28141
+ refractor.register(requireDocker());
28142
+ refractor.register(requireDot());
27958
28143
  refractor.register(requireEbnf());
27959
28144
  refractor.register(requireEditorconfig());
27960
28145
  refractor.register(requireEiffel());
27961
- refractor.register(ejs_1);
28146
+ refractor.register(requireEjs());
27962
28147
  refractor.register(requireElixir());
27963
28148
  refractor.register(requireElm());
27964
28149
  refractor.register(requireErb());
@@ -28104,7 +28289,7 @@ refractor.register(requireRest());
28104
28289
  refractor.register(requireRip());
28105
28290
  refractor.register(requireRoboconf());
28106
28291
  refractor.register(requireRobotframework());
28107
- refractor.register(ruby_1);
28292
+ refractor.register(requireRuby());
28108
28293
  refractor.register(requireRust());
28109
28294
  refractor.register(requireSas());
28110
28295
  refractor.register(requireSass());
@@ -38931,7 +39116,19 @@ function remarkThinkUpdate(content) {
38931
39116
  */
38932
39117
  function escapeContentForStream(content) {
38933
39118
  if (typeof content !== 'string') return content;
38934
- return content.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/{/g, '&#123;').replace(/}/g, '&#125;');
39119
+ // 匹配代码块的正则表达式
39120
+ var codeBlockRegex = /(```[\s\S]*?```|`[^`]*`)/g;
39121
+ // 分割内容为代码块和非代码块部分
39122
+ var parts = content.split(codeBlockRegex);
39123
+ // 对非代码块部分进行转义,保留代码块部分不变
39124
+ return parts.map(function (part, index) {
39125
+ // 奇数索引为代码块部分(根据split的特性)
39126
+ if (index % 2 === 1) {
39127
+ return part; // 代码块部分不转义
39128
+ }
39129
+ // 偶数索引为非代码块部分,进行转义
39130
+ return part.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/{/g, '&#123;').replace(/}/g, '&#125;');
39131
+ }).join('');
38935
39132
  }
38936
39133
 
38937
39134
  var renderTimer = null;