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.cjs CHANGED
@@ -6246,475 +6246,484 @@ function asmatmel(Prism) {
6246
6246
  };
6247
6247
  }
6248
6248
 
6249
- var csharp_1 = csharp;
6250
- csharp.displayName = 'csharp';
6251
- csharp.aliases = ['dotnet', 'cs'];
6252
- function csharp(Prism) {
6249
+ var csharp_1;
6250
+ var hasRequiredCsharp;
6251
+
6252
+ function requireCsharp () {
6253
+ if (hasRequiredCsharp) return csharp_1;
6254
+ hasRequiredCsharp = 1;
6255
+
6256
+ csharp_1 = csharp;
6257
+ csharp.displayName = 'csharp';
6258
+ csharp.aliases = ['dotnet', 'cs'];
6259
+ function csharp(Prism) {
6253
6260
  (function (Prism) {
6254
- /**
6255
- * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
6256
- *
6257
- * Note: This is a simple text based replacement. Be careful when using backreferences!
6258
- *
6259
- * @param {string} pattern the given pattern.
6260
- * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
6261
- * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
6262
- * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
6263
- */
6264
- function replace(pattern, replacements) {
6265
- return pattern.replace(/<<(\d+)>>/g, function (m, index) {
6266
- return '(?:' + replacements[+index] + ')'
6267
- })
6268
- }
6269
- /**
6270
- * @param {string} pattern
6271
- * @param {string[]} replacements
6272
- * @param {string} [flags]
6273
- * @returns {RegExp}
6274
- */
6275
- function re(pattern, replacements, flags) {
6276
- return RegExp(replace(pattern, replacements), flags || '')
6277
- }
6278
- /**
6279
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
6280
- *
6281
- * @param {string} pattern
6282
- * @param {number} depthLog2
6283
- * @returns {string}
6284
- */
6285
- function nested(pattern, depthLog2) {
6286
- for (var i = 0; i < depthLog2; i++) {
6287
- pattern = pattern.replace(/<<self>>/g, function () {
6288
- return '(?:' + pattern + ')'
6289
- });
6290
- }
6291
- return pattern.replace(/<<self>>/g, '[^\\s\\S]')
6292
- } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
6293
- var keywordKinds = {
6294
- // keywords which represent a return or variable type
6295
- type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
6296
- // keywords which are used to declare a type
6297
- typeDeclaration: 'class enum interface record struct',
6298
- // contextual keywords
6299
- // ("var" and "dynamic" are missing because they are used like types)
6300
- contextual:
6301
- '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*{)',
6302
- // all other keywords
6303
- other:
6304
- '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'
6305
- }; // keywords
6306
- function keywordsToPattern(words) {
6307
- return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
6308
- }
6309
- var typeDeclarationKeywords = keywordsToPattern(
6310
- keywordKinds.typeDeclaration
6311
- );
6312
- var keywords = RegExp(
6313
- keywordsToPattern(
6314
- keywordKinds.type +
6315
- ' ' +
6316
- keywordKinds.typeDeclaration +
6317
- ' ' +
6318
- keywordKinds.contextual +
6319
- ' ' +
6320
- keywordKinds.other
6321
- )
6322
- );
6323
- var nonTypeKeywords = keywordsToPattern(
6324
- keywordKinds.typeDeclaration +
6325
- ' ' +
6326
- keywordKinds.contextual +
6327
- ' ' +
6328
- keywordKinds.other
6329
- );
6330
- var nonContextualKeywords = keywordsToPattern(
6331
- keywordKinds.type +
6332
- ' ' +
6333
- keywordKinds.typeDeclaration +
6334
- ' ' +
6335
- keywordKinds.other
6336
- ); // types
6337
- var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
6338
- var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
6339
- var name = /@?\b[A-Za-z_]\w*\b/.source;
6340
- var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
6341
- var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
6342
- nonTypeKeywords,
6343
- genericName
6344
- ]);
6345
- var array = /\[\s*(?:,\s*)*\]/.source;
6346
- var typeExpressionWithoutTuple = replace(
6347
- /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
6348
- [identifier, array]
6349
- );
6350
- var tupleElement = replace(
6351
- /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
6352
- [generic, nestedRound, array]
6353
- );
6354
- var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
6355
- var typeExpression = replace(
6356
- /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
6357
- [tuple, identifier, array]
6358
- );
6359
- var typeInside = {
6360
- keyword: keywords,
6361
- punctuation: /[<>()?,.:[\]]/
6362
- }; // strings & characters
6363
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
6364
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
6365
- var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
6366
- var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
6367
- var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
6368
- Prism.languages.csharp = Prism.languages.extend('clike', {
6369
- string: [
6370
- {
6371
- pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
6372
- lookbehind: true,
6373
- greedy: true
6374
- },
6375
- {
6376
- pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
6377
- lookbehind: true,
6378
- greedy: true
6379
- }
6380
- ],
6381
- 'class-name': [
6382
- {
6383
- // Using static
6384
- // using static System.Math;
6385
- pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
6386
- identifier
6387
- ]),
6388
- lookbehind: true,
6389
- inside: typeInside
6390
- },
6391
- {
6392
- // Using alias (type)
6393
- // using Project = PC.MyCompany.Project;
6394
- pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
6395
- name,
6396
- typeExpression
6397
- ]),
6398
- lookbehind: true,
6399
- inside: typeInside
6400
- },
6401
- {
6402
- // Using alias (alias)
6403
- // using Project = PC.MyCompany.Project;
6404
- pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
6405
- lookbehind: true
6406
- },
6407
- {
6408
- // Type declarations
6409
- // class Foo<A, B>
6410
- // interface Foo<out A, B>
6411
- pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
6412
- typeDeclarationKeywords,
6413
- genericName
6414
- ]),
6415
- lookbehind: true,
6416
- inside: typeInside
6417
- },
6418
- {
6419
- // Single catch exception declaration
6420
- // catch(Foo)
6421
- // (things like catch(Foo e) is covered by variable declaration)
6422
- pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
6423
- lookbehind: true,
6424
- inside: typeInside
6425
- },
6426
- {
6427
- // Name of the type parameter of generic constraints
6428
- // where Foo : class
6429
- pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
6430
- lookbehind: true
6431
- },
6432
- {
6433
- // Casts and checks via as and is.
6434
- // as Foo<A>, is Bar<B>
6435
- // (things like if(a is Foo b) is covered by variable declaration)
6436
- pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
6437
- typeExpressionWithoutTuple
6438
- ]),
6439
- lookbehind: true,
6440
- inside: typeInside
6441
- },
6442
- {
6443
- // Variable, field and parameter declaration
6444
- // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
6445
- pattern: re(
6446
- /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
6447
- .source,
6448
- [typeExpression, nonContextualKeywords, name]
6449
- ),
6450
- inside: typeInside
6451
- }
6452
- ],
6453
- keyword: keywords,
6454
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
6455
- number:
6456
- /(?:\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,
6457
- operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
6458
- punctuation: /\?\.?|::|[{}[\];(),.:]/
6459
- });
6460
- Prism.languages.insertBefore('csharp', 'number', {
6461
- range: {
6462
- pattern: /\.\./,
6463
- alias: 'operator'
6464
- }
6465
- });
6466
- Prism.languages.insertBefore('csharp', 'punctuation', {
6467
- 'named-parameter': {
6468
- pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
6469
- lookbehind: true,
6470
- alias: 'punctuation'
6471
- }
6472
- });
6473
- Prism.languages.insertBefore('csharp', 'class-name', {
6474
- namespace: {
6475
- // namespace Foo.Bar {}
6476
- // using Foo.Bar;
6477
- pattern: re(
6478
- /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
6479
- [name]
6480
- ),
6481
- lookbehind: true,
6482
- inside: {
6483
- punctuation: /\./
6484
- }
6485
- },
6486
- 'type-expression': {
6487
- // default(Foo), typeof(Foo<Bar>), sizeof(int)
6488
- pattern: re(
6489
- /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
6490
- .source,
6491
- [nestedRound]
6492
- ),
6493
- lookbehind: true,
6494
- alias: 'class-name',
6495
- inside: typeInside
6496
- },
6497
- 'return-type': {
6498
- // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
6499
- // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
6500
- // int Foo => 0; int Foo { get; set } = 0;
6501
- pattern: re(
6502
- /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
6503
- [typeExpression, identifier]
6504
- ),
6505
- inside: typeInside,
6506
- alias: 'class-name'
6507
- },
6508
- 'constructor-invocation': {
6509
- // new List<Foo<Bar[]>> { }
6510
- pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
6511
- lookbehind: true,
6512
- inside: typeInside,
6513
- alias: 'class-name'
6514
- },
6515
- /*'explicit-implementation': {
6516
- // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
6517
- pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
6518
- inside: classNameInside,
6519
- alias: 'class-name'
6520
- },*/
6521
- 'generic-method': {
6522
- // foo<Bar>()
6523
- pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
6524
- inside: {
6525
- function: re(/^<<0>>/.source, [name]),
6526
- generic: {
6527
- pattern: RegExp(generic),
6528
- alias: 'class-name',
6529
- inside: typeInside
6530
- }
6531
- }
6532
- },
6533
- 'type-list': {
6534
- // The list of types inherited or of generic constraints
6535
- // class Foo<F> : Bar, IList<FooBar>
6536
- // where F : Bar, IList<int>
6537
- pattern: re(
6538
- /\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|[{;]|=>|$))/
6539
- .source,
6540
- [
6541
- typeDeclarationKeywords,
6542
- genericName,
6543
- name,
6544
- typeExpression,
6545
- keywords.source,
6546
- nestedRound,
6547
- /\bnew\s*\(\s*\)/.source
6548
- ]
6549
- ),
6550
- lookbehind: true,
6551
- inside: {
6552
- 'record-arguments': {
6553
- pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
6554
- genericName,
6555
- nestedRound
6556
- ]),
6557
- lookbehind: true,
6558
- greedy: true,
6559
- inside: Prism.languages.csharp
6560
- },
6561
- keyword: keywords,
6562
- 'class-name': {
6563
- pattern: RegExp(typeExpression),
6564
- greedy: true,
6565
- inside: typeInside
6566
- },
6567
- punctuation: /[,()]/
6568
- }
6569
- },
6570
- preprocessor: {
6571
- pattern: /(^[\t ]*)#.*/m,
6572
- lookbehind: true,
6573
- alias: 'property',
6574
- inside: {
6575
- // highlight preprocessor directives as keywords
6576
- directive: {
6577
- pattern:
6578
- /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
6579
- lookbehind: true,
6580
- alias: 'keyword'
6581
- }
6582
- }
6583
- }
6584
- }); // attributes
6585
- var regularStringOrCharacter = regularString + '|' + character;
6586
- var regularStringCharacterOrComment = replace(
6587
- /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
6588
- [regularStringOrCharacter]
6589
- );
6590
- var roundExpression = nested(
6591
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6592
- regularStringCharacterOrComment
6593
- ]),
6594
- 2
6595
- ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
6596
- var attrTarget =
6597
- /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
6598
- .source;
6599
- var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
6600
- identifier,
6601
- roundExpression
6602
- ]);
6603
- Prism.languages.insertBefore('csharp', 'class-name', {
6604
- attribute: {
6605
- // Attributes
6606
- // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
6607
- pattern: re(
6608
- /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
6609
- .source,
6610
- [attrTarget, attr]
6611
- ),
6612
- lookbehind: true,
6613
- greedy: true,
6614
- inside: {
6615
- target: {
6616
- pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
6617
- alias: 'keyword'
6618
- },
6619
- 'attribute-arguments': {
6620
- pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
6621
- inside: Prism.languages.csharp
6622
- },
6623
- 'class-name': {
6624
- pattern: RegExp(identifier),
6625
- inside: {
6626
- punctuation: /\./
6627
- }
6628
- },
6629
- punctuation: /[:,]/
6630
- }
6631
- }
6632
- }); // string interpolation
6633
- var formatString = /:[^}\r\n]+/.source; // multi line
6634
- var mInterpolationRound = nested(
6635
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6636
- regularStringCharacterOrComment
6637
- ]),
6638
- 2
6639
- );
6640
- var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6641
- mInterpolationRound,
6642
- formatString
6643
- ]); // single line
6644
- var sInterpolationRound = nested(
6645
- replace(
6646
- /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
6647
- .source,
6648
- [regularStringOrCharacter]
6649
- ),
6650
- 2
6651
- );
6652
- var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6653
- sInterpolationRound,
6654
- formatString
6655
- ]);
6656
- function createInterpolationInside(interpolation, interpolationRound) {
6657
- return {
6658
- interpolation: {
6659
- pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
6660
- lookbehind: true,
6661
- inside: {
6662
- 'format-string': {
6663
- pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
6664
- interpolationRound,
6665
- formatString
6666
- ]),
6667
- lookbehind: true,
6668
- inside: {
6669
- punctuation: /^:/
6670
- }
6671
- },
6672
- punctuation: /^\{|\}$/,
6673
- expression: {
6674
- pattern: /[\s\S]+/,
6675
- alias: 'language-csharp',
6676
- inside: Prism.languages.csharp
6677
- }
6678
- }
6679
- },
6680
- string: /[\s\S]+/
6681
- }
6682
- }
6683
- Prism.languages.insertBefore('csharp', 'string', {
6684
- 'interpolation-string': [
6685
- {
6686
- pattern: re(
6687
- /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
6688
- [mInterpolation]
6689
- ),
6690
- lookbehind: true,
6691
- greedy: true,
6692
- inside: createInterpolationInside(mInterpolation, mInterpolationRound)
6693
- },
6694
- {
6695
- pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
6696
- sInterpolation
6697
- ]),
6698
- lookbehind: true,
6699
- greedy: true,
6700
- inside: createInterpolationInside(sInterpolation, sInterpolationRound)
6701
- }
6702
- ],
6703
- char: {
6704
- pattern: RegExp(character),
6705
- greedy: true
6706
- }
6707
- });
6708
- Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
6709
- })(Prism);
6261
+ /**
6262
+ * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
6263
+ *
6264
+ * Note: This is a simple text based replacement. Be careful when using backreferences!
6265
+ *
6266
+ * @param {string} pattern the given pattern.
6267
+ * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
6268
+ * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
6269
+ * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
6270
+ */
6271
+ function replace(pattern, replacements) {
6272
+ return pattern.replace(/<<(\d+)>>/g, function (m, index) {
6273
+ return '(?:' + replacements[+index] + ')'
6274
+ })
6275
+ }
6276
+ /**
6277
+ * @param {string} pattern
6278
+ * @param {string[]} replacements
6279
+ * @param {string} [flags]
6280
+ * @returns {RegExp}
6281
+ */
6282
+ function re(pattern, replacements, flags) {
6283
+ return RegExp(replace(pattern, replacements), flags || '')
6284
+ }
6285
+ /**
6286
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
6287
+ *
6288
+ * @param {string} pattern
6289
+ * @param {number} depthLog2
6290
+ * @returns {string}
6291
+ */
6292
+ function nested(pattern, depthLog2) {
6293
+ for (var i = 0; i < depthLog2; i++) {
6294
+ pattern = pattern.replace(/<<self>>/g, function () {
6295
+ return '(?:' + pattern + ')'
6296
+ });
6297
+ }
6298
+ return pattern.replace(/<<self>>/g, '[^\\s\\S]')
6299
+ } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
6300
+ var keywordKinds = {
6301
+ // keywords which represent a return or variable type
6302
+ type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
6303
+ // keywords which are used to declare a type
6304
+ typeDeclaration: 'class enum interface record struct',
6305
+ // contextual keywords
6306
+ // ("var" and "dynamic" are missing because they are used like types)
6307
+ contextual:
6308
+ '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*{)',
6309
+ // all other keywords
6310
+ other:
6311
+ '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'
6312
+ }; // keywords
6313
+ function keywordsToPattern(words) {
6314
+ return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
6315
+ }
6316
+ var typeDeclarationKeywords = keywordsToPattern(
6317
+ keywordKinds.typeDeclaration
6318
+ );
6319
+ var keywords = RegExp(
6320
+ keywordsToPattern(
6321
+ keywordKinds.type +
6322
+ ' ' +
6323
+ keywordKinds.typeDeclaration +
6324
+ ' ' +
6325
+ keywordKinds.contextual +
6326
+ ' ' +
6327
+ keywordKinds.other
6328
+ )
6329
+ );
6330
+ var nonTypeKeywords = keywordsToPattern(
6331
+ keywordKinds.typeDeclaration +
6332
+ ' ' +
6333
+ keywordKinds.contextual +
6334
+ ' ' +
6335
+ keywordKinds.other
6336
+ );
6337
+ var nonContextualKeywords = keywordsToPattern(
6338
+ keywordKinds.type +
6339
+ ' ' +
6340
+ keywordKinds.typeDeclaration +
6341
+ ' ' +
6342
+ keywordKinds.other
6343
+ ); // types
6344
+ var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
6345
+ var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
6346
+ var name = /@?\b[A-Za-z_]\w*\b/.source;
6347
+ var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
6348
+ var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
6349
+ nonTypeKeywords,
6350
+ genericName
6351
+ ]);
6352
+ var array = /\[\s*(?:,\s*)*\]/.source;
6353
+ var typeExpressionWithoutTuple = replace(
6354
+ /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
6355
+ [identifier, array]
6356
+ );
6357
+ var tupleElement = replace(
6358
+ /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
6359
+ [generic, nestedRound, array]
6360
+ );
6361
+ var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
6362
+ var typeExpression = replace(
6363
+ /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
6364
+ [tuple, identifier, array]
6365
+ );
6366
+ var typeInside = {
6367
+ keyword: keywords,
6368
+ punctuation: /[<>()?,.:[\]]/
6369
+ }; // strings & characters
6370
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
6371
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
6372
+ var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
6373
+ var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
6374
+ var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
6375
+ Prism.languages.csharp = Prism.languages.extend('clike', {
6376
+ string: [
6377
+ {
6378
+ pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
6379
+ lookbehind: true,
6380
+ greedy: true
6381
+ },
6382
+ {
6383
+ pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
6384
+ lookbehind: true,
6385
+ greedy: true
6386
+ }
6387
+ ],
6388
+ 'class-name': [
6389
+ {
6390
+ // Using static
6391
+ // using static System.Math;
6392
+ pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
6393
+ identifier
6394
+ ]),
6395
+ lookbehind: true,
6396
+ inside: typeInside
6397
+ },
6398
+ {
6399
+ // Using alias (type)
6400
+ // using Project = PC.MyCompany.Project;
6401
+ pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
6402
+ name,
6403
+ typeExpression
6404
+ ]),
6405
+ lookbehind: true,
6406
+ inside: typeInside
6407
+ },
6408
+ {
6409
+ // Using alias (alias)
6410
+ // using Project = PC.MyCompany.Project;
6411
+ pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
6412
+ lookbehind: true
6413
+ },
6414
+ {
6415
+ // Type declarations
6416
+ // class Foo<A, B>
6417
+ // interface Foo<out A, B>
6418
+ pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
6419
+ typeDeclarationKeywords,
6420
+ genericName
6421
+ ]),
6422
+ lookbehind: true,
6423
+ inside: typeInside
6424
+ },
6425
+ {
6426
+ // Single catch exception declaration
6427
+ // catch(Foo)
6428
+ // (things like catch(Foo e) is covered by variable declaration)
6429
+ pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
6430
+ lookbehind: true,
6431
+ inside: typeInside
6432
+ },
6433
+ {
6434
+ // Name of the type parameter of generic constraints
6435
+ // where Foo : class
6436
+ pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
6437
+ lookbehind: true
6438
+ },
6439
+ {
6440
+ // Casts and checks via as and is.
6441
+ // as Foo<A>, is Bar<B>
6442
+ // (things like if(a is Foo b) is covered by variable declaration)
6443
+ pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
6444
+ typeExpressionWithoutTuple
6445
+ ]),
6446
+ lookbehind: true,
6447
+ inside: typeInside
6448
+ },
6449
+ {
6450
+ // Variable, field and parameter declaration
6451
+ // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
6452
+ pattern: re(
6453
+ /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
6454
+ .source,
6455
+ [typeExpression, nonContextualKeywords, name]
6456
+ ),
6457
+ inside: typeInside
6458
+ }
6459
+ ],
6460
+ keyword: keywords,
6461
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
6462
+ number:
6463
+ /(?:\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,
6464
+ operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
6465
+ punctuation: /\?\.?|::|[{}[\];(),.:]/
6466
+ });
6467
+ Prism.languages.insertBefore('csharp', 'number', {
6468
+ range: {
6469
+ pattern: /\.\./,
6470
+ alias: 'operator'
6471
+ }
6472
+ });
6473
+ Prism.languages.insertBefore('csharp', 'punctuation', {
6474
+ 'named-parameter': {
6475
+ pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
6476
+ lookbehind: true,
6477
+ alias: 'punctuation'
6478
+ }
6479
+ });
6480
+ Prism.languages.insertBefore('csharp', 'class-name', {
6481
+ namespace: {
6482
+ // namespace Foo.Bar {}
6483
+ // using Foo.Bar;
6484
+ pattern: re(
6485
+ /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
6486
+ [name]
6487
+ ),
6488
+ lookbehind: true,
6489
+ inside: {
6490
+ punctuation: /\./
6491
+ }
6492
+ },
6493
+ 'type-expression': {
6494
+ // default(Foo), typeof(Foo<Bar>), sizeof(int)
6495
+ pattern: re(
6496
+ /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
6497
+ .source,
6498
+ [nestedRound]
6499
+ ),
6500
+ lookbehind: true,
6501
+ alias: 'class-name',
6502
+ inside: typeInside
6503
+ },
6504
+ 'return-type': {
6505
+ // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
6506
+ // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
6507
+ // int Foo => 0; int Foo { get; set } = 0;
6508
+ pattern: re(
6509
+ /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
6510
+ [typeExpression, identifier]
6511
+ ),
6512
+ inside: typeInside,
6513
+ alias: 'class-name'
6514
+ },
6515
+ 'constructor-invocation': {
6516
+ // new List<Foo<Bar[]>> { }
6517
+ pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
6518
+ lookbehind: true,
6519
+ inside: typeInside,
6520
+ alias: 'class-name'
6521
+ },
6522
+ /*'explicit-implementation': {
6523
+ // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
6524
+ pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
6525
+ inside: classNameInside,
6526
+ alias: 'class-name'
6527
+ },*/
6528
+ 'generic-method': {
6529
+ // foo<Bar>()
6530
+ pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
6531
+ inside: {
6532
+ function: re(/^<<0>>/.source, [name]),
6533
+ generic: {
6534
+ pattern: RegExp(generic),
6535
+ alias: 'class-name',
6536
+ inside: typeInside
6537
+ }
6538
+ }
6539
+ },
6540
+ 'type-list': {
6541
+ // The list of types inherited or of generic constraints
6542
+ // class Foo<F> : Bar, IList<FooBar>
6543
+ // where F : Bar, IList<int>
6544
+ pattern: re(
6545
+ /\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|[{;]|=>|$))/
6546
+ .source,
6547
+ [
6548
+ typeDeclarationKeywords,
6549
+ genericName,
6550
+ name,
6551
+ typeExpression,
6552
+ keywords.source,
6553
+ nestedRound,
6554
+ /\bnew\s*\(\s*\)/.source
6555
+ ]
6556
+ ),
6557
+ lookbehind: true,
6558
+ inside: {
6559
+ 'record-arguments': {
6560
+ pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
6561
+ genericName,
6562
+ nestedRound
6563
+ ]),
6564
+ lookbehind: true,
6565
+ greedy: true,
6566
+ inside: Prism.languages.csharp
6567
+ },
6568
+ keyword: keywords,
6569
+ 'class-name': {
6570
+ pattern: RegExp(typeExpression),
6571
+ greedy: true,
6572
+ inside: typeInside
6573
+ },
6574
+ punctuation: /[,()]/
6575
+ }
6576
+ },
6577
+ preprocessor: {
6578
+ pattern: /(^[\t ]*)#.*/m,
6579
+ lookbehind: true,
6580
+ alias: 'property',
6581
+ inside: {
6582
+ // highlight preprocessor directives as keywords
6583
+ directive: {
6584
+ pattern:
6585
+ /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
6586
+ lookbehind: true,
6587
+ alias: 'keyword'
6588
+ }
6589
+ }
6590
+ }
6591
+ }); // attributes
6592
+ var regularStringOrCharacter = regularString + '|' + character;
6593
+ var regularStringCharacterOrComment = replace(
6594
+ /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
6595
+ [regularStringOrCharacter]
6596
+ );
6597
+ var roundExpression = nested(
6598
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6599
+ regularStringCharacterOrComment
6600
+ ]),
6601
+ 2
6602
+ ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
6603
+ var attrTarget =
6604
+ /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
6605
+ .source;
6606
+ var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
6607
+ identifier,
6608
+ roundExpression
6609
+ ]);
6610
+ Prism.languages.insertBefore('csharp', 'class-name', {
6611
+ attribute: {
6612
+ // Attributes
6613
+ // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
6614
+ pattern: re(
6615
+ /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
6616
+ .source,
6617
+ [attrTarget, attr]
6618
+ ),
6619
+ lookbehind: true,
6620
+ greedy: true,
6621
+ inside: {
6622
+ target: {
6623
+ pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
6624
+ alias: 'keyword'
6625
+ },
6626
+ 'attribute-arguments': {
6627
+ pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
6628
+ inside: Prism.languages.csharp
6629
+ },
6630
+ 'class-name': {
6631
+ pattern: RegExp(identifier),
6632
+ inside: {
6633
+ punctuation: /\./
6634
+ }
6635
+ },
6636
+ punctuation: /[:,]/
6637
+ }
6638
+ }
6639
+ }); // string interpolation
6640
+ var formatString = /:[^}\r\n]+/.source; // multi line
6641
+ var mInterpolationRound = nested(
6642
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
6643
+ regularStringCharacterOrComment
6644
+ ]),
6645
+ 2
6646
+ );
6647
+ var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6648
+ mInterpolationRound,
6649
+ formatString
6650
+ ]); // single line
6651
+ var sInterpolationRound = nested(
6652
+ replace(
6653
+ /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
6654
+ .source,
6655
+ [regularStringOrCharacter]
6656
+ ),
6657
+ 2
6658
+ );
6659
+ var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
6660
+ sInterpolationRound,
6661
+ formatString
6662
+ ]);
6663
+ function createInterpolationInside(interpolation, interpolationRound) {
6664
+ return {
6665
+ interpolation: {
6666
+ pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
6667
+ lookbehind: true,
6668
+ inside: {
6669
+ 'format-string': {
6670
+ pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
6671
+ interpolationRound,
6672
+ formatString
6673
+ ]),
6674
+ lookbehind: true,
6675
+ inside: {
6676
+ punctuation: /^:/
6677
+ }
6678
+ },
6679
+ punctuation: /^\{|\}$/,
6680
+ expression: {
6681
+ pattern: /[\s\S]+/,
6682
+ alias: 'language-csharp',
6683
+ inside: Prism.languages.csharp
6684
+ }
6685
+ }
6686
+ },
6687
+ string: /[\s\S]+/
6688
+ }
6689
+ }
6690
+ Prism.languages.insertBefore('csharp', 'string', {
6691
+ 'interpolation-string': [
6692
+ {
6693
+ pattern: re(
6694
+ /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
6695
+ [mInterpolation]
6696
+ ),
6697
+ lookbehind: true,
6698
+ greedy: true,
6699
+ inside: createInterpolationInside(mInterpolation, mInterpolationRound)
6700
+ },
6701
+ {
6702
+ pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
6703
+ sInterpolation
6704
+ ]),
6705
+ lookbehind: true,
6706
+ greedy: true,
6707
+ inside: createInterpolationInside(sInterpolation, sInterpolationRound)
6708
+ }
6709
+ ],
6710
+ char: {
6711
+ pattern: RegExp(character),
6712
+ greedy: true
6713
+ }
6714
+ });
6715
+ Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
6716
+ })(Prism);
6717
+ }
6718
+ return csharp_1;
6710
6719
  }
6711
6720
 
6712
- var refractorCsharp$1 = csharp_1;
6721
+ var refractorCsharp = requireCsharp();
6713
6722
  var aspnet_1 = aspnet;
6714
6723
  aspnet.displayName = 'aspnet';
6715
6724
  aspnet.aliases = [];
6716
6725
  function aspnet(Prism) {
6717
- Prism.register(refractorCsharp$1);
6726
+ Prism.register(refractorCsharp);
6718
6727
  Prism.languages.aspnet = Prism.languages.extend('markup', {
6719
6728
  'page-directive': {
6720
6729
  pattern: /<%\s*@.*%>/,
@@ -7027,56 +7036,65 @@ function avisynth(Prism) {
7027
7036
  })(Prism);
7028
7037
  }
7029
7038
 
7030
- var avroIdl_1 = avroIdl;
7031
- avroIdl.displayName = 'avroIdl';
7032
- avroIdl.aliases = [];
7033
- function avroIdl(Prism) {
7034
- // GitHub: https://github.com/apache/avro
7035
- // Docs: https://avro.apache.org/docs/current/idl.html
7036
- Prism.languages['avro-idl'] = {
7037
- comment: {
7038
- pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
7039
- greedy: true
7040
- },
7041
- string: {
7042
- pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,
7043
- lookbehind: true,
7044
- greedy: true
7045
- },
7046
- annotation: {
7047
- pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/,
7048
- greedy: true,
7049
- alias: 'function'
7050
- },
7051
- 'function-identifier': {
7052
- pattern: /`[^\r\n`]+`(?=\s*\()/,
7053
- greedy: true,
7054
- alias: 'function'
7055
- },
7056
- identifier: {
7057
- pattern: /`[^\r\n`]+`/,
7058
- greedy: true
7059
- },
7060
- 'class-name': {
7061
- pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,
7062
- lookbehind: true,
7063
- greedy: true
7064
- },
7065
- keyword:
7066
- /\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/,
7067
- function: /\b[a-z_]\w*(?=\s*\()/i,
7068
- number: [
7069
- {
7070
- pattern:
7071
- /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,
7072
- lookbehind: true
7073
- },
7074
- /-?\b(?:Infinity|NaN)\b/
7075
- ],
7076
- operator: /=/,
7077
- punctuation: /[()\[\]{}<>.:,;-]/
7078
- };
7079
- Prism.languages.avdl = Prism.languages['avro-idl'];
7039
+ var avroIdl_1;
7040
+ var hasRequiredAvroIdl;
7041
+
7042
+ function requireAvroIdl () {
7043
+ if (hasRequiredAvroIdl) return avroIdl_1;
7044
+ hasRequiredAvroIdl = 1;
7045
+
7046
+ avroIdl_1 = avroIdl;
7047
+ avroIdl.displayName = 'avroIdl';
7048
+ avroIdl.aliases = [];
7049
+ function avroIdl(Prism) {
7050
+ // GitHub: https://github.com/apache/avro
7051
+ // Docs: https://avro.apache.org/docs/current/idl.html
7052
+ Prism.languages['avro-idl'] = {
7053
+ comment: {
7054
+ pattern: /\/\/.*|\/\*[\s\S]*?\*\//,
7055
+ greedy: true
7056
+ },
7057
+ string: {
7058
+ pattern: /(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,
7059
+ lookbehind: true,
7060
+ greedy: true
7061
+ },
7062
+ annotation: {
7063
+ pattern: /@(?:[$\w.-]|`[^\r\n`]+`)+/,
7064
+ greedy: true,
7065
+ alias: 'function'
7066
+ },
7067
+ 'function-identifier': {
7068
+ pattern: /`[^\r\n`]+`(?=\s*\()/,
7069
+ greedy: true,
7070
+ alias: 'function'
7071
+ },
7072
+ identifier: {
7073
+ pattern: /`[^\r\n`]+`/,
7074
+ greedy: true
7075
+ },
7076
+ 'class-name': {
7077
+ pattern: /(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,
7078
+ lookbehind: true,
7079
+ greedy: true
7080
+ },
7081
+ keyword:
7082
+ /\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/,
7083
+ function: /\b[a-z_]\w*(?=\s*\()/i,
7084
+ number: [
7085
+ {
7086
+ pattern:
7087
+ /(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,
7088
+ lookbehind: true
7089
+ },
7090
+ /-?\b(?:Infinity|NaN)\b/
7091
+ ],
7092
+ operator: /=/,
7093
+ punctuation: /[()\[\]{}<>.:,;-]/
7094
+ };
7095
+ Prism.languages.avdl = Prism.languages['avro-idl'];
7096
+ }
7097
+ return avroIdl_1;
7080
7098
  }
7081
7099
 
7082
7100
  var bash_1 = bash;
@@ -7658,30 +7676,39 @@ function bnf(Prism) {
7658
7676
  Prism.languages.rbnf = Prism.languages.bnf;
7659
7677
  }
7660
7678
 
7661
- var brainfuck_1 = brainfuck;
7662
- brainfuck.displayName = 'brainfuck';
7663
- brainfuck.aliases = [];
7664
- function brainfuck(Prism) {
7665
- Prism.languages.brainfuck = {
7666
- pointer: {
7667
- pattern: /<|>/,
7668
- alias: 'keyword'
7669
- },
7670
- increment: {
7671
- pattern: /\+/,
7672
- alias: 'inserted'
7673
- },
7674
- decrement: {
7675
- pattern: /-/,
7676
- alias: 'deleted'
7677
- },
7678
- branching: {
7679
- pattern: /\[|\]/,
7680
- alias: 'important'
7681
- },
7682
- operator: /[.,]/,
7683
- comment: /\S+/
7684
- };
7679
+ var brainfuck_1;
7680
+ var hasRequiredBrainfuck;
7681
+
7682
+ function requireBrainfuck () {
7683
+ if (hasRequiredBrainfuck) return brainfuck_1;
7684
+ hasRequiredBrainfuck = 1;
7685
+
7686
+ brainfuck_1 = brainfuck;
7687
+ brainfuck.displayName = 'brainfuck';
7688
+ brainfuck.aliases = [];
7689
+ function brainfuck(Prism) {
7690
+ Prism.languages.brainfuck = {
7691
+ pointer: {
7692
+ pattern: /<|>/,
7693
+ alias: 'keyword'
7694
+ },
7695
+ increment: {
7696
+ pattern: /\+/,
7697
+ alias: 'inserted'
7698
+ },
7699
+ decrement: {
7700
+ pattern: /-/,
7701
+ alias: 'deleted'
7702
+ },
7703
+ branching: {
7704
+ pattern: /\[|\]/,
7705
+ alias: 'important'
7706
+ },
7707
+ operator: /[.,]/,
7708
+ comment: /\S+/
7709
+ };
7710
+ }
7711
+ return brainfuck_1;
7685
7712
  }
7686
7713
 
7687
7714
  var brightscript_1 = brightscript;
@@ -8076,951 +8103,1012 @@ function cmake(Prism) {
8076
8103
  };
8077
8104
  }
8078
8105
 
8079
- var cobol_1 = cobol;
8080
- cobol.displayName = 'cobol';
8081
- cobol.aliases = [];
8082
- function cobol(Prism) {
8083
- Prism.languages.cobol = {
8084
- comment: {
8085
- pattern: /\*>.*|(^[ \t]*)\*.*/m,
8086
- lookbehind: true,
8087
- greedy: true
8088
- },
8089
- string: {
8090
- pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
8091
- greedy: true
8092
- },
8093
- level: {
8094
- pattern: /(^[ \t]*)\d+\b/m,
8095
- lookbehind: true,
8096
- greedy: true,
8097
- alias: 'number'
8098
- },
8099
- 'class-name': {
8100
- // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
8101
- pattern:
8102
- /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
8103
- lookbehind: true,
8104
- inside: {
8105
- number: {
8106
- pattern: /(\()\d+/,
8107
- lookbehind: true
8108
- },
8109
- punctuation: /[()]/
8110
- }
8111
- },
8112
- keyword: {
8113
- pattern:
8114
- /(^|[^\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,
8115
- lookbehind: true
8116
- },
8117
- boolean: {
8118
- pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
8119
- lookbehind: true
8120
- },
8121
- number: {
8122
- pattern:
8123
- /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
8124
- lookbehind: true
8125
- },
8126
- operator: [
8127
- /<>|[<>]=?|[=+*/&]/,
8128
- {
8129
- pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
8130
- lookbehind: true
8131
- }
8132
- ],
8133
- punctuation: /[.:,()]/
8134
- };
8135
- }
8136
-
8137
- var coffeescript_1 = coffeescript;
8138
- coffeescript.displayName = 'coffeescript';
8139
- coffeescript.aliases = ['coffee'];
8140
- function coffeescript(Prism) {
8141
- (function (Prism) {
8142
- // Ignore comments starting with { to privilege string interpolation highlighting
8143
- var comment = /#(?!\{).+/;
8144
- var interpolation = {
8145
- pattern: /#\{[^}]+\}/,
8146
- alias: 'variable'
8147
- };
8148
- Prism.languages.coffeescript = Prism.languages.extend('javascript', {
8149
- comment: comment,
8150
- string: [
8151
- // Strings are multiline
8152
- {
8153
- pattern: /'(?:\\[\s\S]|[^\\'])*'/,
8154
- greedy: true
8155
- },
8156
- {
8157
- // Strings are multiline
8158
- pattern: /"(?:\\[\s\S]|[^\\"])*"/,
8159
- greedy: true,
8160
- inside: {
8161
- interpolation: interpolation
8162
- }
8163
- }
8164
- ],
8165
- keyword:
8166
- /\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/,
8167
- 'class-member': {
8168
- pattern: /@(?!\d)\w+/,
8169
- alias: 'variable'
8170
- }
8171
- });
8172
- Prism.languages.insertBefore('coffeescript', 'comment', {
8173
- 'multiline-comment': {
8174
- pattern: /###[\s\S]+?###/,
8175
- alias: 'comment'
8176
- },
8177
- // Block regexp can contain comments and interpolation
8178
- 'block-regex': {
8179
- pattern: /\/{3}[\s\S]*?\/{3}/,
8180
- alias: 'regex',
8181
- inside: {
8182
- comment: comment,
8183
- interpolation: interpolation
8184
- }
8185
- }
8186
- });
8187
- Prism.languages.insertBefore('coffeescript', 'string', {
8188
- 'inline-javascript': {
8189
- pattern: /`(?:\\[\s\S]|[^\\`])*`/,
8190
- inside: {
8191
- delimiter: {
8192
- pattern: /^`|`$/,
8193
- alias: 'punctuation'
8194
- },
8195
- script: {
8196
- pattern: /[\s\S]+/,
8197
- alias: 'language-javascript',
8198
- inside: Prism.languages.javascript
8199
- }
8200
- }
8201
- },
8202
- // Block strings
8203
- 'multiline-string': [
8204
- {
8205
- pattern: /'''[\s\S]*?'''/,
8206
- greedy: true,
8207
- alias: 'string'
8208
- },
8209
- {
8210
- pattern: /"""[\s\S]*?"""/,
8211
- greedy: true,
8212
- alias: 'string',
8213
- inside: {
8214
- interpolation: interpolation
8215
- }
8216
- }
8217
- ]
8218
- });
8219
- Prism.languages.insertBefore('coffeescript', 'keyword', {
8220
- // Object property
8221
- property: /(?!\d)\w+(?=\s*:(?!:))/
8222
- });
8223
- delete Prism.languages.coffeescript['template-string'];
8224
- Prism.languages.coffee = Prism.languages.coffeescript;
8225
- })(Prism);
8226
- }
8227
-
8228
- var concurnas_1 = concurnas;
8229
- concurnas.displayName = 'concurnas';
8230
- concurnas.aliases = ['conc'];
8231
- function concurnas(Prism) {
8232
- Prism.languages.concurnas = {
8106
+ var cobol_1 = cobol;
8107
+ cobol.displayName = 'cobol';
8108
+ cobol.aliases = [];
8109
+ function cobol(Prism) {
8110
+ Prism.languages.cobol = {
8233
8111
  comment: {
8234
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
8112
+ pattern: /\*>.*|(^[ \t]*)\*.*/m,
8235
8113
  lookbehind: true,
8236
8114
  greedy: true
8237
8115
  },
8238
- langext: {
8239
- pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
8116
+ string: {
8117
+ pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
8118
+ greedy: true
8119
+ },
8120
+ level: {
8121
+ pattern: /(^[ \t]*)\d+\b/m,
8122
+ lookbehind: true,
8240
8123
  greedy: true,
8124
+ alias: 'number'
8125
+ },
8126
+ 'class-name': {
8127
+ // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
8128
+ pattern:
8129
+ /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
8130
+ lookbehind: true,
8241
8131
  inside: {
8242
- 'class-name': /^\w+/,
8243
- string: {
8244
- pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
8132
+ number: {
8133
+ pattern: /(\()\d+/,
8245
8134
  lookbehind: true
8246
8135
  },
8247
- punctuation: /\|\|/
8136
+ punctuation: /[()]/
8248
8137
  }
8249
8138
  },
8250
- function: {
8251
- pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
8139
+ keyword: {
8140
+ pattern:
8141
+ /(^|[^\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,
8252
8142
  lookbehind: true
8253
8143
  },
8254
- keyword:
8255
- /\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/,
8256
- boolean: /\b(?:false|true)\b/,
8257
- number:
8258
- /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
8259
- punctuation: /[{}[\];(),.:]/,
8260
- operator:
8261
- /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
8262
- annotation: {
8263
- pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
8264
- alias: 'builtin'
8265
- }
8266
- };
8267
- Prism.languages.insertBefore('concurnas', 'langext', {
8268
- 'regex-literal': {
8269
- pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8270
- greedy: true,
8271
- inside: {
8272
- interpolation: {
8273
- pattern:
8274
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8275
- lookbehind: true,
8276
- inside: Prism.languages.concurnas
8277
- },
8278
- regex: /[\s\S]+/
8279
- }
8144
+ boolean: {
8145
+ pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
8146
+ lookbehind: true
8280
8147
  },
8281
- 'string-literal': {
8282
- pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8283
- greedy: true,
8284
- inside: {
8285
- interpolation: {
8286
- pattern:
8287
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8288
- lookbehind: true,
8289
- inside: Prism.languages.concurnas
8290
- },
8291
- string: /[\s\S]+/
8148
+ number: {
8149
+ pattern:
8150
+ /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
8151
+ lookbehind: true
8152
+ },
8153
+ operator: [
8154
+ /<>|[<>]=?|[=+*/&]/,
8155
+ {
8156
+ pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
8157
+ lookbehind: true
8292
8158
  }
8293
- }
8294
- });
8295
- Prism.languages.conc = Prism.languages.concurnas;
8296
- }
8297
-
8298
- var coq_1 = coq;
8299
- coq.displayName = 'coq';
8300
- coq.aliases = [];
8301
- function coq(Prism) {
8302
- (function (Prism) {
8303
- // https://github.com/coq/coq
8304
- var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
8305
- for (var i = 0; i < 2; i++) {
8306
- commentSource = commentSource.replace(/<self>/g, function () {
8307
- return commentSource
8308
- });
8309
- }
8310
- commentSource = commentSource.replace(/<self>/g, '[]');
8311
- Prism.languages.coq = {
8312
- comment: RegExp(commentSource),
8313
- string: {
8314
- pattern: /"(?:[^"]|"")*"(?!")/,
8315
- greedy: true
8316
- },
8317
- attribute: [
8318
- {
8319
- pattern: RegExp(
8320
- /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
8321
- /<comment>/g,
8322
- function () {
8323
- return commentSource
8324
- }
8325
- )
8326
- ),
8327
- greedy: true,
8328
- alias: 'attr-name',
8329
- inside: {
8330
- comment: RegExp(commentSource),
8331
- string: {
8332
- pattern: /"(?:[^"]|"")*"(?!")/,
8333
- greedy: true
8334
- },
8335
- operator: /=/,
8336
- punctuation: /^#\[|\]$|[,()]/
8337
- }
8338
- },
8339
- {
8340
- pattern:
8341
- /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
8342
- alias: 'attr-name'
8343
- }
8344
- ],
8345
- keyword:
8346
- /\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/,
8347
- number:
8348
- /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
8349
- punct: {
8350
- pattern: /@\{|\{\||\[=|:>/,
8351
- alias: 'punctuation'
8352
- },
8353
- operator:
8354
- /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
8355
- punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
8356
- };
8357
- })(Prism);
8159
+ ],
8160
+ punctuation: /[.:,()]/
8161
+ };
8358
8162
  }
8359
8163
 
8360
- var ruby_1 = ruby;
8361
- ruby.displayName = 'ruby';
8362
- ruby.aliases = ['rb'];
8363
- function ruby(Prism) {
8164
+ var coffeescript_1 = coffeescript;
8165
+ coffeescript.displayName = 'coffeescript';
8166
+ coffeescript.aliases = ['coffee'];
8167
+ function coffeescript(Prism) {
8364
8168
  (function (Prism) {
8365
- Prism.languages.ruby = Prism.languages.extend('clike', {
8366
- comment: {
8367
- pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
8368
- greedy: true
8369
- },
8370
- 'class-name': {
8371
- pattern:
8372
- /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
8373
- lookbehind: true,
8374
- inside: {
8375
- punctuation: /[.\\]/
8376
- }
8377
- },
8378
- keyword:
8379
- /\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/,
8380
- operator:
8381
- /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
8382
- punctuation: /[(){}[\].,;]/
8383
- });
8384
- Prism.languages.insertBefore('ruby', 'operator', {
8385
- 'double-colon': {
8386
- pattern: /::/,
8387
- alias: 'punctuation'
8388
- }
8389
- });
8169
+ // Ignore comments starting with { to privilege string interpolation highlighting
8170
+ var comment = /#(?!\{).+/;
8390
8171
  var interpolation = {
8391
- pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
8392
- lookbehind: true,
8393
- inside: {
8394
- content: {
8395
- pattern: /^(#\{)[\s\S]+(?=\}$)/,
8396
- lookbehind: true,
8397
- inside: Prism.languages.ruby
8398
- },
8399
- delimiter: {
8400
- pattern: /^#\{|\}$/,
8401
- alias: 'punctuation'
8402
- }
8403
- }
8172
+ pattern: /#\{[^}]+\}/,
8173
+ alias: 'variable'
8404
8174
  };
8405
- delete Prism.languages.ruby.function;
8406
- var percentExpression =
8407
- '(?:' +
8408
- [
8409
- /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
8410
- /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
8411
- /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
8412
- /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
8413
- /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
8414
- ].join('|') +
8415
- ')';
8416
- var symbolName =
8417
- /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
8418
- .source;
8419
- Prism.languages.insertBefore('ruby', 'keyword', {
8420
- 'regex-literal': [
8421
- {
8422
- pattern: RegExp(
8423
- /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
8424
- ),
8425
- greedy: true,
8426
- inside: {
8427
- interpolation: interpolation,
8428
- regex: /[\s\S]+/
8429
- }
8430
- },
8431
- {
8432
- pattern:
8433
- /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
8434
- lookbehind: true,
8435
- greedy: true,
8436
- inside: {
8437
- interpolation: interpolation,
8438
- regex: /[\s\S]+/
8439
- }
8440
- }
8441
- ],
8442
- variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
8443
- symbol: [
8444
- {
8445
- pattern: RegExp(/(^|[^:]):/.source + symbolName),
8446
- lookbehind: true,
8447
- greedy: true
8448
- },
8175
+ Prism.languages.coffeescript = Prism.languages.extend('javascript', {
8176
+ comment: comment,
8177
+ string: [
8178
+ // Strings are multiline
8449
8179
  {
8450
- pattern: RegExp(
8451
- /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
8452
- ),
8453
- lookbehind: true,
8180
+ pattern: /'(?:\\[\s\S]|[^\\'])*'/,
8454
8181
  greedy: true
8455
- }
8456
- ],
8457
- 'method-definition': {
8458
- pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
8459
- lookbehind: true,
8460
- inside: {
8461
- function: /\b\w+$/,
8462
- keyword: /^self\b/,
8463
- 'class-name': /^\w+/,
8464
- punctuation: /\./
8465
- }
8466
- }
8467
- });
8468
- Prism.languages.insertBefore('ruby', 'string', {
8469
- 'string-literal': [
8470
- {
8471
- pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
8472
- greedy: true,
8473
- inside: {
8474
- interpolation: interpolation,
8475
- string: /[\s\S]+/
8476
- }
8477
- },
8478
- {
8479
- pattern:
8480
- /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
8481
- greedy: true,
8482
- inside: {
8483
- interpolation: interpolation,
8484
- string: /[\s\S]+/
8485
- }
8486
- },
8487
- {
8488
- pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8489
- alias: 'heredoc-string',
8490
- greedy: true,
8491
- inside: {
8492
- delimiter: {
8493
- pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
8494
- inside: {
8495
- symbol: /\b\w+/,
8496
- punctuation: /^<<[-~]?/
8497
- }
8498
- },
8499
- interpolation: interpolation,
8500
- string: /[\s\S]+/
8501
- }
8502
- },
8503
- {
8504
- pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8505
- alias: 'heredoc-string',
8506
- greedy: true,
8507
- inside: {
8508
- delimiter: {
8509
- pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
8510
- inside: {
8511
- symbol: /\b\w+/,
8512
- punctuation: /^<<[-~]?'|'$/
8513
- }
8514
- },
8515
- string: /[\s\S]+/
8516
- }
8517
- }
8518
- ],
8519
- 'command-literal': [
8520
- {
8521
- pattern: RegExp(/%x/.source + percentExpression),
8522
- greedy: true,
8523
- inside: {
8524
- interpolation: interpolation,
8525
- command: {
8526
- pattern: /[\s\S]+/,
8527
- alias: 'string'
8528
- }
8529
- }
8530
8182
  },
8531
8183
  {
8532
- pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
8184
+ // Strings are multiline
8185
+ pattern: /"(?:\\[\s\S]|[^\\"])*"/,
8533
8186
  greedy: true,
8534
8187
  inside: {
8535
- interpolation: interpolation,
8536
- command: {
8537
- pattern: /[\s\S]+/,
8538
- alias: 'string'
8539
- }
8188
+ interpolation: interpolation
8540
8189
  }
8541
8190
  }
8542
- ]
8543
- });
8544
- delete Prism.languages.ruby.string;
8545
- Prism.languages.insertBefore('ruby', 'number', {
8546
- builtin:
8547
- /\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/,
8548
- constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
8549
- });
8550
- Prism.languages.rb = Prism.languages.ruby;
8551
- })(Prism);
8552
- }
8553
-
8554
- var refractorRuby = ruby_1;
8555
- var crystal_1 = crystal;
8556
- crystal.displayName = 'crystal';
8557
- crystal.aliases = [];
8558
- function crystal(Prism) {
8559
- Prism.register(refractorRuby)
8560
- ;(function (Prism) {
8561
- Prism.languages.crystal = Prism.languages.extend('ruby', {
8562
- keyword: [
8563
- /\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/,
8564
- {
8565
- pattern: /(\.\s*)(?:is_a|responds_to)\?/,
8566
- lookbehind: true
8567
- }
8568
8191
  ],
8569
- number:
8570
- /\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/,
8571
- operator: [/->/, Prism.languages.ruby.operator],
8572
- punctuation: /[(){}[\].,;\\]/
8573
- });
8574
- Prism.languages.insertBefore('crystal', 'string-literal', {
8575
- attribute: {
8576
- pattern: /@\[.*?\]/,
8577
- inside: {
8578
- delimiter: {
8579
- pattern: /^@\[|\]$/,
8580
- alias: 'punctuation'
8581
- },
8582
- attribute: {
8583
- pattern: /^(\s*)\w+/,
8584
- lookbehind: true,
8585
- alias: 'class-name'
8586
- },
8587
- args: {
8588
- pattern: /\S(?:[\s\S]*\S)?/,
8589
- inside: Prism.languages.crystal
8590
- }
8591
- }
8592
- },
8593
- expansion: {
8594
- pattern: /\{(?:\{.*?\}|%.*?%)\}/,
8595
- inside: {
8596
- content: {
8597
- pattern: /^(\{.)[\s\S]+(?=.\}$)/,
8598
- lookbehind: true,
8599
- inside: Prism.languages.crystal
8600
- },
8601
- delimiter: {
8602
- pattern: /^\{[\{%]|[\}%]\}$/,
8603
- alias: 'operator'
8604
- }
8605
- }
8606
- },
8607
- char: {
8608
- pattern:
8609
- /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
8610
- greedy: true
8192
+ keyword:
8193
+ /\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/,
8194
+ 'class-member': {
8195
+ pattern: /@(?!\d)\w+/,
8196
+ alias: 'variable'
8611
8197
  }
8612
8198
  });
8613
- })(Prism);
8614
- }
8615
-
8616
- var refractorCsharp = csharp_1;
8617
- var cshtml_1 = cshtml;
8618
- cshtml.displayName = 'cshtml';
8619
- cshtml.aliases = ['razor'];
8620
- function cshtml(Prism) {
8621
- Prism.register(refractorCsharp)
8622
- // Docs:
8623
- // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
8624
- // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
8625
- ;(function (Prism) {
8626
- var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
8627
- .source;
8628
- var stringLike =
8629
- /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
8630
- '|' +
8631
- /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
8632
- /**
8633
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
8634
- *
8635
- * @param {string} pattern
8636
- * @param {number} depthLog2
8637
- * @returns {string}
8638
- */
8639
- function nested(pattern, depthLog2) {
8640
- for (var i = 0; i < depthLog2; i++) {
8641
- pattern = pattern.replace(/<self>/g, function () {
8642
- return '(?:' + pattern + ')'
8643
- });
8644
- }
8645
- return pattern
8646
- .replace(/<self>/g, '[^\\s\\S]')
8647
- .replace(/<str>/g, '(?:' + stringLike + ')')
8648
- .replace(/<comment>/g, '(?:' + commentLike + ')')
8649
- }
8650
- var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
8651
- var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
8652
- var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
8653
- var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
8654
- // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
8655
- // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
8656
- // messes up the bracket and string counting implemented by the above patterns.
8657
- //
8658
- // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
8659
- // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
8660
- // complexity of an HTML expression.
8661
- //
8662
- // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
8663
- // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
8664
- var tagAttrs =
8665
- /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
8666
- .source;
8667
- var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
8668
- var tagRegion =
8669
- /\B@?/.source +
8670
- '(?:' +
8671
- /<([a-zA-Z][\w:]*)/.source +
8672
- tagAttrs +
8673
- /\s*>/.source +
8674
- '(?:' +
8675
- (/[^<]/.source +
8676
- '|' + // all tags that are not the start tag
8677
- // eslint-disable-next-line regexp/strict
8678
- /<\/?(?!\1\b)/.source +
8679
- tagContent +
8680
- '|' + // nested start tag
8681
- nested(
8682
- // eslint-disable-next-line regexp/strict
8683
- /<\1/.source +
8684
- tagAttrs +
8685
- /\s*>/.source +
8686
- '(?:' +
8687
- (/[^<]/.source +
8688
- '|' + // all tags that are not the start tag
8689
- // eslint-disable-next-line regexp/strict
8690
- /<\/?(?!\1\b)/.source +
8691
- tagContent +
8692
- '|' +
8693
- '<self>') +
8694
- ')*' + // eslint-disable-next-line regexp/strict
8695
- /<\/\1\s*>/.source,
8696
- 2
8697
- )) +
8698
- ')*' + // eslint-disable-next-line regexp/strict
8699
- /<\/\1\s*>/.source +
8700
- '|' +
8701
- /</.source +
8702
- tagContent +
8703
- ')'; // Now for the actual language definition(s):
8704
- //
8705
- // Razor as a language has 2 parts:
8706
- // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
8707
- // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
8708
- //
8709
- // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
8710
- // other. However, only CSHTML will be exported via `Prism.languages`.
8711
- Prism.languages.cshtml = Prism.languages.extend('markup', {});
8712
- var csharpWithHtml = Prism.languages.insertBefore(
8713
- 'csharp',
8714
- 'string',
8715
- {
8716
- html: {
8717
- pattern: RegExp(tagRegion),
8718
- greedy: true,
8719
- inside: Prism.languages.cshtml
8720
- }
8721
- },
8722
- {
8723
- csharp: Prism.languages.extend('csharp', {})
8724
- }
8725
- );
8726
- var cs = {
8727
- pattern: /\S[\s\S]*/,
8728
- alias: 'language-csharp',
8729
- inside: csharpWithHtml
8730
- };
8731
- Prism.languages.insertBefore('cshtml', 'prolog', {
8732
- 'razor-comment': {
8733
- pattern: /@\*[\s\S]*?\*@/,
8734
- greedy: true,
8199
+ Prism.languages.insertBefore('coffeescript', 'comment', {
8200
+ 'multiline-comment': {
8201
+ pattern: /###[\s\S]+?###/,
8735
8202
  alias: 'comment'
8736
8203
  },
8737
- block: {
8738
- pattern: RegExp(
8739
- /(^|[^@])@/.source +
8740
- '(?:' +
8741
- [
8742
- // @{ ... }
8743
- curly, // @code{ ... }
8744
- /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
8745
- /(?:for|foreach|lock|switch|using|while)\s*/.source +
8746
- round +
8747
- /\s*/.source +
8748
- curly, // @do { ... } while (...);
8749
- /do\s*/.source +
8750
- curly +
8751
- /\s*while\s*/.source +
8752
- round +
8753
- /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
8754
- /try\s*/.source +
8755
- curly +
8756
- /\s*catch\s*/.source +
8757
- round +
8758
- /\s*/.source +
8759
- curly +
8760
- /\s*finally\s*/.source +
8761
- curly, // @if (...) {...} else if (...) {...} else {...}
8762
- /if\s*/.source +
8763
- round +
8764
- /\s*/.source +
8765
- curly +
8766
- '(?:' +
8767
- /\s*else/.source +
8768
- '(?:' +
8769
- /\s+if\s*/.source +
8770
- round +
8771
- ')?' +
8772
- /\s*/.source +
8773
- curly +
8774
- ')*'
8775
- ].join('|') +
8776
- ')'
8777
- ),
8778
- lookbehind: true,
8779
- greedy: true,
8204
+ // Block regexp can contain comments and interpolation
8205
+ 'block-regex': {
8206
+ pattern: /\/{3}[\s\S]*?\/{3}/,
8207
+ alias: 'regex',
8780
8208
  inside: {
8781
- keyword: /^@\w*/,
8782
- csharp: cs
8209
+ comment: comment,
8210
+ interpolation: interpolation
8783
8211
  }
8784
- },
8785
- directive: {
8786
- pattern:
8787
- /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
8788
- lookbehind: true,
8789
- greedy: true,
8212
+ }
8213
+ });
8214
+ Prism.languages.insertBefore('coffeescript', 'string', {
8215
+ 'inline-javascript': {
8216
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
8790
8217
  inside: {
8791
- keyword: /^@\w+/,
8792
- csharp: cs
8218
+ delimiter: {
8219
+ pattern: /^`|`$/,
8220
+ alias: 'punctuation'
8221
+ },
8222
+ script: {
8223
+ pattern: /[\s\S]+/,
8224
+ alias: 'language-javascript',
8225
+ inside: Prism.languages.javascript
8226
+ }
8793
8227
  }
8794
8228
  },
8795
- value: {
8796
- pattern: RegExp(
8797
- /(^|[^@])@/.source +
8798
- /(?:await\b\s*)?/.source +
8799
- '(?:' +
8800
- /\w+\b/.source +
8801
- '|' +
8802
- round +
8803
- ')' +
8804
- '(?:' +
8805
- /[?!]?\.\w+\b/.source +
8806
- '|' +
8807
- round +
8808
- '|' +
8809
- square +
8810
- '|' +
8811
- angle +
8812
- round +
8813
- ')*'
8814
- ),
8815
- lookbehind: true,
8816
- greedy: true,
8817
- alias: 'variable',
8818
- inside: {
8819
- keyword: /^@/,
8820
- csharp: cs
8229
+ // Block strings
8230
+ 'multiline-string': [
8231
+ {
8232
+ pattern: /'''[\s\S]*?'''/,
8233
+ greedy: true,
8234
+ alias: 'string'
8235
+ },
8236
+ {
8237
+ pattern: /"""[\s\S]*?"""/,
8238
+ greedy: true,
8239
+ alias: 'string',
8240
+ inside: {
8241
+ interpolation: interpolation
8242
+ }
8821
8243
  }
8822
- },
8823
- 'delegate-operator': {
8824
- pattern: /(^|[^@])@(?=<)/,
8825
- lookbehind: true,
8826
- alias: 'operator'
8827
- }
8244
+ ]
8245
+ });
8246
+ Prism.languages.insertBefore('coffeescript', 'keyword', {
8247
+ // Object property
8248
+ property: /(?!\d)\w+(?=\s*:(?!:))/
8828
8249
  });
8829
- Prism.languages.razor = Prism.languages.cshtml;
8250
+ delete Prism.languages.coffeescript['template-string'];
8251
+ Prism.languages.coffee = Prism.languages.coffeescript;
8830
8252
  })(Prism);
8831
8253
  }
8832
8254
 
8833
- var csp_1 = csp;
8834
- csp.displayName = 'csp';
8835
- csp.aliases = [];
8836
- function csp(Prism) {
8837
- (function (Prism) {
8838
- /**
8839
- * @param {string} source
8840
- * @returns {RegExp}
8841
- */
8842
- function value(source) {
8843
- return RegExp(
8844
- /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
8845
- 'i'
8846
- )
8847
- }
8848
- Prism.languages.csp = {
8849
- directive: {
8850
- pattern:
8851
- /(^|[\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,
8852
- lookbehind: true,
8853
- alias: 'property'
8854
- },
8855
- scheme: {
8856
- pattern: value(/[a-z][a-z0-9.+-]*:/.source),
8857
- lookbehind: true
8858
- },
8859
- none: {
8860
- pattern: value(/'none'/.source),
8861
- lookbehind: true,
8862
- alias: 'keyword'
8863
- },
8864
- nonce: {
8865
- pattern: value(/'nonce-[-+/\w=]+'/.source),
8866
- lookbehind: true,
8867
- alias: 'number'
8868
- },
8869
- hash: {
8870
- pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
8871
- lookbehind: true,
8872
- alias: 'number'
8873
- },
8874
- host: {
8875
- pattern: value(
8876
- /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
8877
- '|' +
8878
- /\*[^\s;,']*/.source +
8879
- '|' +
8880
- /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
8881
- ),
8882
- lookbehind: true,
8883
- alias: 'url',
8884
- inside: {
8885
- important: /\*/
8886
- }
8887
- },
8888
- keyword: [
8889
- {
8890
- pattern: value(/'unsafe-[a-z-]+'/.source),
8891
- lookbehind: true,
8892
- alias: 'unsafe'
8893
- },
8894
- {
8895
- pattern: value(/'[a-z-]+'/.source),
8896
- lookbehind: true,
8897
- alias: 'safe'
8898
- }
8899
- ],
8900
- punctuation: /;/
8901
- };
8902
- })(Prism);
8255
+ var concurnas_1;
8256
+ var hasRequiredConcurnas;
8257
+
8258
+ function requireConcurnas () {
8259
+ if (hasRequiredConcurnas) return concurnas_1;
8260
+ hasRequiredConcurnas = 1;
8261
+
8262
+ concurnas_1 = concurnas;
8263
+ concurnas.displayName = 'concurnas';
8264
+ concurnas.aliases = ['conc'];
8265
+ function concurnas(Prism) {
8266
+ Prism.languages.concurnas = {
8267
+ comment: {
8268
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
8269
+ lookbehind: true,
8270
+ greedy: true
8271
+ },
8272
+ langext: {
8273
+ pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
8274
+ greedy: true,
8275
+ inside: {
8276
+ 'class-name': /^\w+/,
8277
+ string: {
8278
+ pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
8279
+ lookbehind: true
8280
+ },
8281
+ punctuation: /\|\|/
8282
+ }
8283
+ },
8284
+ function: {
8285
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
8286
+ lookbehind: true
8287
+ },
8288
+ keyword:
8289
+ /\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/,
8290
+ boolean: /\b(?:false|true)\b/,
8291
+ number:
8292
+ /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
8293
+ punctuation: /[{}[\];(),.:]/,
8294
+ operator:
8295
+ /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
8296
+ annotation: {
8297
+ pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
8298
+ alias: 'builtin'
8299
+ }
8300
+ };
8301
+ Prism.languages.insertBefore('concurnas', 'langext', {
8302
+ 'regex-literal': {
8303
+ pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8304
+ greedy: true,
8305
+ inside: {
8306
+ interpolation: {
8307
+ pattern:
8308
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8309
+ lookbehind: true,
8310
+ inside: Prism.languages.concurnas
8311
+ },
8312
+ regex: /[\s\S]+/
8313
+ }
8314
+ },
8315
+ 'string-literal': {
8316
+ pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
8317
+ greedy: true,
8318
+ inside: {
8319
+ interpolation: {
8320
+ pattern:
8321
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
8322
+ lookbehind: true,
8323
+ inside: Prism.languages.concurnas
8324
+ },
8325
+ string: /[\s\S]+/
8326
+ }
8327
+ }
8328
+ });
8329
+ Prism.languages.conc = Prism.languages.concurnas;
8330
+ }
8331
+ return concurnas_1;
8332
+ }
8333
+
8334
+ var coq_1;
8335
+ var hasRequiredCoq;
8336
+
8337
+ function requireCoq () {
8338
+ if (hasRequiredCoq) return coq_1;
8339
+ hasRequiredCoq = 1;
8340
+
8341
+ coq_1 = coq;
8342
+ coq.displayName = 'coq';
8343
+ coq.aliases = [];
8344
+ function coq(Prism) {
8345
+ (function (Prism) {
8346
+ // https://github.com/coq/coq
8347
+ var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
8348
+ for (var i = 0; i < 2; i++) {
8349
+ commentSource = commentSource.replace(/<self>/g, function () {
8350
+ return commentSource
8351
+ });
8352
+ }
8353
+ commentSource = commentSource.replace(/<self>/g, '[]');
8354
+ Prism.languages.coq = {
8355
+ comment: RegExp(commentSource),
8356
+ string: {
8357
+ pattern: /"(?:[^"]|"")*"(?!")/,
8358
+ greedy: true
8359
+ },
8360
+ attribute: [
8361
+ {
8362
+ pattern: RegExp(
8363
+ /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
8364
+ /<comment>/g,
8365
+ function () {
8366
+ return commentSource
8367
+ }
8368
+ )
8369
+ ),
8370
+ greedy: true,
8371
+ alias: 'attr-name',
8372
+ inside: {
8373
+ comment: RegExp(commentSource),
8374
+ string: {
8375
+ pattern: /"(?:[^"]|"")*"(?!")/,
8376
+ greedy: true
8377
+ },
8378
+ operator: /=/,
8379
+ punctuation: /^#\[|\]$|[,()]/
8380
+ }
8381
+ },
8382
+ {
8383
+ pattern:
8384
+ /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
8385
+ alias: 'attr-name'
8386
+ }
8387
+ ],
8388
+ keyword:
8389
+ /\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/,
8390
+ number:
8391
+ /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
8392
+ punct: {
8393
+ pattern: /@\{|\{\||\[=|:>/,
8394
+ alias: 'punctuation'
8395
+ },
8396
+ operator:
8397
+ /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
8398
+ punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
8399
+ };
8400
+ })(Prism);
8401
+ }
8402
+ return coq_1;
8403
+ }
8404
+
8405
+ var ruby_1;
8406
+ var hasRequiredRuby;
8407
+
8408
+ function requireRuby () {
8409
+ if (hasRequiredRuby) return ruby_1;
8410
+ hasRequiredRuby = 1;
8411
+
8412
+ ruby_1 = ruby;
8413
+ ruby.displayName = 'ruby';
8414
+ ruby.aliases = ['rb'];
8415
+ function ruby(Prism) {
8416
+ (function (Prism) {
8417
+ Prism.languages.ruby = Prism.languages.extend('clike', {
8418
+ comment: {
8419
+ pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
8420
+ greedy: true
8421
+ },
8422
+ 'class-name': {
8423
+ pattern:
8424
+ /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
8425
+ lookbehind: true,
8426
+ inside: {
8427
+ punctuation: /[.\\]/
8428
+ }
8429
+ },
8430
+ keyword:
8431
+ /\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/,
8432
+ operator:
8433
+ /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
8434
+ punctuation: /[(){}[\].,;]/
8435
+ });
8436
+ Prism.languages.insertBefore('ruby', 'operator', {
8437
+ 'double-colon': {
8438
+ pattern: /::/,
8439
+ alias: 'punctuation'
8440
+ }
8441
+ });
8442
+ var interpolation = {
8443
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
8444
+ lookbehind: true,
8445
+ inside: {
8446
+ content: {
8447
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
8448
+ lookbehind: true,
8449
+ inside: Prism.languages.ruby
8450
+ },
8451
+ delimiter: {
8452
+ pattern: /^#\{|\}$/,
8453
+ alias: 'punctuation'
8454
+ }
8455
+ }
8456
+ };
8457
+ delete Prism.languages.ruby.function;
8458
+ var percentExpression =
8459
+ '(?:' +
8460
+ [
8461
+ /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
8462
+ /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
8463
+ /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
8464
+ /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
8465
+ /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
8466
+ ].join('|') +
8467
+ ')';
8468
+ var symbolName =
8469
+ /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
8470
+ .source;
8471
+ Prism.languages.insertBefore('ruby', 'keyword', {
8472
+ 'regex-literal': [
8473
+ {
8474
+ pattern: RegExp(
8475
+ /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
8476
+ ),
8477
+ greedy: true,
8478
+ inside: {
8479
+ interpolation: interpolation,
8480
+ regex: /[\s\S]+/
8481
+ }
8482
+ },
8483
+ {
8484
+ pattern:
8485
+ /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
8486
+ lookbehind: true,
8487
+ greedy: true,
8488
+ inside: {
8489
+ interpolation: interpolation,
8490
+ regex: /[\s\S]+/
8491
+ }
8492
+ }
8493
+ ],
8494
+ variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
8495
+ symbol: [
8496
+ {
8497
+ pattern: RegExp(/(^|[^:]):/.source + symbolName),
8498
+ lookbehind: true,
8499
+ greedy: true
8500
+ },
8501
+ {
8502
+ pattern: RegExp(
8503
+ /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
8504
+ ),
8505
+ lookbehind: true,
8506
+ greedy: true
8507
+ }
8508
+ ],
8509
+ 'method-definition': {
8510
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
8511
+ lookbehind: true,
8512
+ inside: {
8513
+ function: /\b\w+$/,
8514
+ keyword: /^self\b/,
8515
+ 'class-name': /^\w+/,
8516
+ punctuation: /\./
8517
+ }
8518
+ }
8519
+ });
8520
+ Prism.languages.insertBefore('ruby', 'string', {
8521
+ 'string-literal': [
8522
+ {
8523
+ pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
8524
+ greedy: true,
8525
+ inside: {
8526
+ interpolation: interpolation,
8527
+ string: /[\s\S]+/
8528
+ }
8529
+ },
8530
+ {
8531
+ pattern:
8532
+ /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
8533
+ greedy: true,
8534
+ inside: {
8535
+ interpolation: interpolation,
8536
+ string: /[\s\S]+/
8537
+ }
8538
+ },
8539
+ {
8540
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8541
+ alias: 'heredoc-string',
8542
+ greedy: true,
8543
+ inside: {
8544
+ delimiter: {
8545
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
8546
+ inside: {
8547
+ symbol: /\b\w+/,
8548
+ punctuation: /^<<[-~]?/
8549
+ }
8550
+ },
8551
+ interpolation: interpolation,
8552
+ string: /[\s\S]+/
8553
+ }
8554
+ },
8555
+ {
8556
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
8557
+ alias: 'heredoc-string',
8558
+ greedy: true,
8559
+ inside: {
8560
+ delimiter: {
8561
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
8562
+ inside: {
8563
+ symbol: /\b\w+/,
8564
+ punctuation: /^<<[-~]?'|'$/
8565
+ }
8566
+ },
8567
+ string: /[\s\S]+/
8568
+ }
8569
+ }
8570
+ ],
8571
+ 'command-literal': [
8572
+ {
8573
+ pattern: RegExp(/%x/.source + percentExpression),
8574
+ greedy: true,
8575
+ inside: {
8576
+ interpolation: interpolation,
8577
+ command: {
8578
+ pattern: /[\s\S]+/,
8579
+ alias: 'string'
8580
+ }
8581
+ }
8582
+ },
8583
+ {
8584
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
8585
+ greedy: true,
8586
+ inside: {
8587
+ interpolation: interpolation,
8588
+ command: {
8589
+ pattern: /[\s\S]+/,
8590
+ alias: 'string'
8591
+ }
8592
+ }
8593
+ }
8594
+ ]
8595
+ });
8596
+ delete Prism.languages.ruby.string;
8597
+ Prism.languages.insertBefore('ruby', 'number', {
8598
+ builtin:
8599
+ /\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/,
8600
+ constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
8601
+ });
8602
+ Prism.languages.rb = Prism.languages.ruby;
8603
+ })(Prism);
8604
+ }
8605
+ return ruby_1;
8606
+ }
8607
+
8608
+ var crystal_1;
8609
+ var hasRequiredCrystal;
8610
+
8611
+ function requireCrystal () {
8612
+ if (hasRequiredCrystal) return crystal_1;
8613
+ hasRequiredCrystal = 1;
8614
+ var refractorRuby = requireRuby();
8615
+ crystal_1 = crystal;
8616
+ crystal.displayName = 'crystal';
8617
+ crystal.aliases = [];
8618
+ function crystal(Prism) {
8619
+ Prism.register(refractorRuby)
8620
+ ;(function (Prism) {
8621
+ Prism.languages.crystal = Prism.languages.extend('ruby', {
8622
+ keyword: [
8623
+ /\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/,
8624
+ {
8625
+ pattern: /(\.\s*)(?:is_a|responds_to)\?/,
8626
+ lookbehind: true
8627
+ }
8628
+ ],
8629
+ number:
8630
+ /\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/,
8631
+ operator: [/->/, Prism.languages.ruby.operator],
8632
+ punctuation: /[(){}[\].,;\\]/
8633
+ });
8634
+ Prism.languages.insertBefore('crystal', 'string-literal', {
8635
+ attribute: {
8636
+ pattern: /@\[.*?\]/,
8637
+ inside: {
8638
+ delimiter: {
8639
+ pattern: /^@\[|\]$/,
8640
+ alias: 'punctuation'
8641
+ },
8642
+ attribute: {
8643
+ pattern: /^(\s*)\w+/,
8644
+ lookbehind: true,
8645
+ alias: 'class-name'
8646
+ },
8647
+ args: {
8648
+ pattern: /\S(?:[\s\S]*\S)?/,
8649
+ inside: Prism.languages.crystal
8650
+ }
8651
+ }
8652
+ },
8653
+ expansion: {
8654
+ pattern: /\{(?:\{.*?\}|%.*?%)\}/,
8655
+ inside: {
8656
+ content: {
8657
+ pattern: /^(\{.)[\s\S]+(?=.\}$)/,
8658
+ lookbehind: true,
8659
+ inside: Prism.languages.crystal
8660
+ },
8661
+ delimiter: {
8662
+ pattern: /^\{[\{%]|[\}%]\}$/,
8663
+ alias: 'operator'
8664
+ }
8665
+ }
8666
+ },
8667
+ char: {
8668
+ pattern:
8669
+ /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
8670
+ greedy: true
8671
+ }
8672
+ });
8673
+ })(Prism);
8674
+ }
8675
+ return crystal_1;
8676
+ }
8677
+
8678
+ var cshtml_1;
8679
+ var hasRequiredCshtml;
8680
+
8681
+ function requireCshtml () {
8682
+ if (hasRequiredCshtml) return cshtml_1;
8683
+ hasRequiredCshtml = 1;
8684
+ var refractorCsharp = requireCsharp();
8685
+ cshtml_1 = cshtml;
8686
+ cshtml.displayName = 'cshtml';
8687
+ cshtml.aliases = ['razor'];
8688
+ function cshtml(Prism) {
8689
+ Prism.register(refractorCsharp)
8690
+ // Docs:
8691
+ // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
8692
+ // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
8693
+ ;(function (Prism) {
8694
+ var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
8695
+ .source;
8696
+ var stringLike =
8697
+ /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
8698
+ '|' +
8699
+ /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
8700
+ /**
8701
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
8702
+ *
8703
+ * @param {string} pattern
8704
+ * @param {number} depthLog2
8705
+ * @returns {string}
8706
+ */
8707
+ function nested(pattern, depthLog2) {
8708
+ for (var i = 0; i < depthLog2; i++) {
8709
+ pattern = pattern.replace(/<self>/g, function () {
8710
+ return '(?:' + pattern + ')'
8711
+ });
8712
+ }
8713
+ return pattern
8714
+ .replace(/<self>/g, '[^\\s\\S]')
8715
+ .replace(/<str>/g, '(?:' + stringLike + ')')
8716
+ .replace(/<comment>/g, '(?:' + commentLike + ')')
8717
+ }
8718
+ var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
8719
+ var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
8720
+ var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
8721
+ var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
8722
+ // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
8723
+ // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
8724
+ // messes up the bracket and string counting implemented by the above patterns.
8725
+ //
8726
+ // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
8727
+ // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
8728
+ // complexity of an HTML expression.
8729
+ //
8730
+ // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
8731
+ // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
8732
+ var tagAttrs =
8733
+ /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
8734
+ .source;
8735
+ var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
8736
+ var tagRegion =
8737
+ /\B@?/.source +
8738
+ '(?:' +
8739
+ /<([a-zA-Z][\w:]*)/.source +
8740
+ tagAttrs +
8741
+ /\s*>/.source +
8742
+ '(?:' +
8743
+ (/[^<]/.source +
8744
+ '|' + // all tags that are not the start tag
8745
+ // eslint-disable-next-line regexp/strict
8746
+ /<\/?(?!\1\b)/.source +
8747
+ tagContent +
8748
+ '|' + // nested start tag
8749
+ nested(
8750
+ // eslint-disable-next-line regexp/strict
8751
+ /<\1/.source +
8752
+ tagAttrs +
8753
+ /\s*>/.source +
8754
+ '(?:' +
8755
+ (/[^<]/.source +
8756
+ '|' + // all tags that are not the start tag
8757
+ // eslint-disable-next-line regexp/strict
8758
+ /<\/?(?!\1\b)/.source +
8759
+ tagContent +
8760
+ '|' +
8761
+ '<self>') +
8762
+ ')*' + // eslint-disable-next-line regexp/strict
8763
+ /<\/\1\s*>/.source,
8764
+ 2
8765
+ )) +
8766
+ ')*' + // eslint-disable-next-line regexp/strict
8767
+ /<\/\1\s*>/.source +
8768
+ '|' +
8769
+ /</.source +
8770
+ tagContent +
8771
+ ')'; // Now for the actual language definition(s):
8772
+ //
8773
+ // Razor as a language has 2 parts:
8774
+ // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
8775
+ // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
8776
+ //
8777
+ // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
8778
+ // other. However, only CSHTML will be exported via `Prism.languages`.
8779
+ Prism.languages.cshtml = Prism.languages.extend('markup', {});
8780
+ var csharpWithHtml = Prism.languages.insertBefore(
8781
+ 'csharp',
8782
+ 'string',
8783
+ {
8784
+ html: {
8785
+ pattern: RegExp(tagRegion),
8786
+ greedy: true,
8787
+ inside: Prism.languages.cshtml
8788
+ }
8789
+ },
8790
+ {
8791
+ csharp: Prism.languages.extend('csharp', {})
8792
+ }
8793
+ );
8794
+ var cs = {
8795
+ pattern: /\S[\s\S]*/,
8796
+ alias: 'language-csharp',
8797
+ inside: csharpWithHtml
8798
+ };
8799
+ Prism.languages.insertBefore('cshtml', 'prolog', {
8800
+ 'razor-comment': {
8801
+ pattern: /@\*[\s\S]*?\*@/,
8802
+ greedy: true,
8803
+ alias: 'comment'
8804
+ },
8805
+ block: {
8806
+ pattern: RegExp(
8807
+ /(^|[^@])@/.source +
8808
+ '(?:' +
8809
+ [
8810
+ // @{ ... }
8811
+ curly, // @code{ ... }
8812
+ /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
8813
+ /(?:for|foreach|lock|switch|using|while)\s*/.source +
8814
+ round +
8815
+ /\s*/.source +
8816
+ curly, // @do { ... } while (...);
8817
+ /do\s*/.source +
8818
+ curly +
8819
+ /\s*while\s*/.source +
8820
+ round +
8821
+ /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
8822
+ /try\s*/.source +
8823
+ curly +
8824
+ /\s*catch\s*/.source +
8825
+ round +
8826
+ /\s*/.source +
8827
+ curly +
8828
+ /\s*finally\s*/.source +
8829
+ curly, // @if (...) {...} else if (...) {...} else {...}
8830
+ /if\s*/.source +
8831
+ round +
8832
+ /\s*/.source +
8833
+ curly +
8834
+ '(?:' +
8835
+ /\s*else/.source +
8836
+ '(?:' +
8837
+ /\s+if\s*/.source +
8838
+ round +
8839
+ ')?' +
8840
+ /\s*/.source +
8841
+ curly +
8842
+ ')*'
8843
+ ].join('|') +
8844
+ ')'
8845
+ ),
8846
+ lookbehind: true,
8847
+ greedy: true,
8848
+ inside: {
8849
+ keyword: /^@\w*/,
8850
+ csharp: cs
8851
+ }
8852
+ },
8853
+ directive: {
8854
+ pattern:
8855
+ /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
8856
+ lookbehind: true,
8857
+ greedy: true,
8858
+ inside: {
8859
+ keyword: /^@\w+/,
8860
+ csharp: cs
8861
+ }
8862
+ },
8863
+ value: {
8864
+ pattern: RegExp(
8865
+ /(^|[^@])@/.source +
8866
+ /(?:await\b\s*)?/.source +
8867
+ '(?:' +
8868
+ /\w+\b/.source +
8869
+ '|' +
8870
+ round +
8871
+ ')' +
8872
+ '(?:' +
8873
+ /[?!]?\.\w+\b/.source +
8874
+ '|' +
8875
+ round +
8876
+ '|' +
8877
+ square +
8878
+ '|' +
8879
+ angle +
8880
+ round +
8881
+ ')*'
8882
+ ),
8883
+ lookbehind: true,
8884
+ greedy: true,
8885
+ alias: 'variable',
8886
+ inside: {
8887
+ keyword: /^@/,
8888
+ csharp: cs
8889
+ }
8890
+ },
8891
+ 'delegate-operator': {
8892
+ pattern: /(^|[^@])@(?=<)/,
8893
+ lookbehind: true,
8894
+ alias: 'operator'
8895
+ }
8896
+ });
8897
+ Prism.languages.razor = Prism.languages.cshtml;
8898
+ })(Prism);
8899
+ }
8900
+ return cshtml_1;
8903
8901
  }
8904
8902
 
8905
- var cssExtras_1 = cssExtras;
8906
- cssExtras.displayName = 'cssExtras';
8907
- cssExtras.aliases = [];
8908
- function cssExtras(Prism) {
8903
+ var csp_1;
8904
+ var hasRequiredCsp;
8905
+
8906
+ function requireCsp () {
8907
+ if (hasRequiredCsp) return csp_1;
8908
+ hasRequiredCsp = 1;
8909
+
8910
+ csp_1 = csp;
8911
+ csp.displayName = 'csp';
8912
+ csp.aliases = [];
8913
+ function csp(Prism) {
8909
8914
  (function (Prism) {
8910
- var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
8911
- var selectorInside;
8912
- Prism.languages.css.selector = {
8913
- pattern: Prism.languages.css.selector.pattern,
8914
- lookbehind: true,
8915
- inside: (selectorInside = {
8916
- 'pseudo-element':
8917
- /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
8918
- 'pseudo-class': /:[-\w]+/,
8919
- class: /\.[-\w]+/,
8920
- id: /#[-\w]+/,
8921
- attribute: {
8922
- pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
8923
- greedy: true,
8924
- inside: {
8925
- punctuation: /^\[|\]$/,
8926
- 'case-sensitivity': {
8927
- pattern: /(\s)[si]$/i,
8928
- lookbehind: true,
8929
- alias: 'keyword'
8930
- },
8931
- namespace: {
8932
- pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
8933
- lookbehind: true,
8934
- inside: {
8935
- punctuation: /\|$/
8936
- }
8937
- },
8938
- 'attr-name': {
8939
- pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
8940
- lookbehind: true
8941
- },
8942
- 'attr-value': [
8943
- string,
8944
- {
8945
- pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
8946
- lookbehind: true
8947
- }
8948
- ],
8949
- operator: /[|~*^$]?=/
8950
- }
8951
- },
8952
- 'n-th': [
8953
- {
8954
- pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
8955
- lookbehind: true,
8956
- inside: {
8957
- number: /[\dn]+/,
8958
- operator: /[+-]/
8959
- }
8960
- },
8961
- {
8962
- pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
8963
- lookbehind: true
8964
- }
8965
- ],
8966
- combinator: />|\+|~|\|\|/,
8967
- // the `tag` token has been existed and removed.
8968
- // because we can't find a perfect tokenize to match it.
8969
- // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
8970
- punctuation: /[(),]/
8971
- })
8972
- };
8973
- Prism.languages.css['atrule'].inside['selector-function-argument'].inside =
8974
- selectorInside;
8975
- Prism.languages.insertBefore('css', 'property', {
8976
- variable: {
8977
- pattern:
8978
- /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
8979
- lookbehind: true
8980
- }
8981
- });
8982
- var unit = {
8983
- pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
8984
- lookbehind: true
8985
- }; // 123 -123 .123 -.123 12.3 -12.3
8986
- var number = {
8987
- pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
8988
- lookbehind: true
8989
- };
8990
- Prism.languages.insertBefore('css', 'function', {
8991
- operator: {
8992
- pattern: /(\s)[+\-*\/](?=\s)/,
8993
- lookbehind: true
8994
- },
8995
- // CAREFUL!
8996
- // Previewers and Inline color use hexcode and color.
8997
- hexcode: {
8998
- pattern: /\B#[\da-f]{3,8}\b/i,
8999
- alias: 'color'
9000
- },
9001
- color: [
9002
- {
9003
- pattern:
9004
- /(^|[^\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,
9005
- lookbehind: true
9006
- },
9007
- {
9008
- pattern:
9009
- /\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,
9010
- inside: {
9011
- unit: unit,
9012
- number: number,
9013
- function: /[\w-]+(?=\()/,
9014
- punctuation: /[(),]/
9015
- }
9016
- }
9017
- ],
9018
- // it's important that there is no boundary assertion after the hex digits
9019
- entity: /\\[\da-f]{1,8}/i,
9020
- unit: unit,
9021
- number: number
9022
- });
9023
- })(Prism);
8915
+ /**
8916
+ * @param {string} source
8917
+ * @returns {RegExp}
8918
+ */
8919
+ function value(source) {
8920
+ return RegExp(
8921
+ /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
8922
+ 'i'
8923
+ )
8924
+ }
8925
+ Prism.languages.csp = {
8926
+ directive: {
8927
+ pattern:
8928
+ /(^|[\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,
8929
+ lookbehind: true,
8930
+ alias: 'property'
8931
+ },
8932
+ scheme: {
8933
+ pattern: value(/[a-z][a-z0-9.+-]*:/.source),
8934
+ lookbehind: true
8935
+ },
8936
+ none: {
8937
+ pattern: value(/'none'/.source),
8938
+ lookbehind: true,
8939
+ alias: 'keyword'
8940
+ },
8941
+ nonce: {
8942
+ pattern: value(/'nonce-[-+/\w=]+'/.source),
8943
+ lookbehind: true,
8944
+ alias: 'number'
8945
+ },
8946
+ hash: {
8947
+ pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
8948
+ lookbehind: true,
8949
+ alias: 'number'
8950
+ },
8951
+ host: {
8952
+ pattern: value(
8953
+ /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
8954
+ '|' +
8955
+ /\*[^\s;,']*/.source +
8956
+ '|' +
8957
+ /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
8958
+ ),
8959
+ lookbehind: true,
8960
+ alias: 'url',
8961
+ inside: {
8962
+ important: /\*/
8963
+ }
8964
+ },
8965
+ keyword: [
8966
+ {
8967
+ pattern: value(/'unsafe-[a-z-]+'/.source),
8968
+ lookbehind: true,
8969
+ alias: 'unsafe'
8970
+ },
8971
+ {
8972
+ pattern: value(/'[a-z-]+'/.source),
8973
+ lookbehind: true,
8974
+ alias: 'safe'
8975
+ }
8976
+ ],
8977
+ punctuation: /;/
8978
+ };
8979
+ })(Prism);
8980
+ }
8981
+ return csp_1;
8982
+ }
8983
+
8984
+ var cssExtras_1;
8985
+ var hasRequiredCssExtras;
8986
+
8987
+ function requireCssExtras () {
8988
+ if (hasRequiredCssExtras) return cssExtras_1;
8989
+ hasRequiredCssExtras = 1;
8990
+
8991
+ cssExtras_1 = cssExtras;
8992
+ cssExtras.displayName = 'cssExtras';
8993
+ cssExtras.aliases = [];
8994
+ function cssExtras(Prism) {
8995
+ (function (Prism) {
8996
+ var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
8997
+ var selectorInside;
8998
+ Prism.languages.css.selector = {
8999
+ pattern: Prism.languages.css.selector.pattern,
9000
+ lookbehind: true,
9001
+ inside: (selectorInside = {
9002
+ 'pseudo-element':
9003
+ /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
9004
+ 'pseudo-class': /:[-\w]+/,
9005
+ class: /\.[-\w]+/,
9006
+ id: /#[-\w]+/,
9007
+ attribute: {
9008
+ pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
9009
+ greedy: true,
9010
+ inside: {
9011
+ punctuation: /^\[|\]$/,
9012
+ 'case-sensitivity': {
9013
+ pattern: /(\s)[si]$/i,
9014
+ lookbehind: true,
9015
+ alias: 'keyword'
9016
+ },
9017
+ namespace: {
9018
+ pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
9019
+ lookbehind: true,
9020
+ inside: {
9021
+ punctuation: /\|$/
9022
+ }
9023
+ },
9024
+ 'attr-name': {
9025
+ pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
9026
+ lookbehind: true
9027
+ },
9028
+ 'attr-value': [
9029
+ string,
9030
+ {
9031
+ pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
9032
+ lookbehind: true
9033
+ }
9034
+ ],
9035
+ operator: /[|~*^$]?=/
9036
+ }
9037
+ },
9038
+ 'n-th': [
9039
+ {
9040
+ pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
9041
+ lookbehind: true,
9042
+ inside: {
9043
+ number: /[\dn]+/,
9044
+ operator: /[+-]/
9045
+ }
9046
+ },
9047
+ {
9048
+ pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
9049
+ lookbehind: true
9050
+ }
9051
+ ],
9052
+ combinator: />|\+|~|\|\|/,
9053
+ // the `tag` token has been existed and removed.
9054
+ // because we can't find a perfect tokenize to match it.
9055
+ // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
9056
+ punctuation: /[(),]/
9057
+ })
9058
+ };
9059
+ Prism.languages.css['atrule'].inside['selector-function-argument'].inside =
9060
+ selectorInside;
9061
+ Prism.languages.insertBefore('css', 'property', {
9062
+ variable: {
9063
+ pattern:
9064
+ /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
9065
+ lookbehind: true
9066
+ }
9067
+ });
9068
+ var unit = {
9069
+ pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
9070
+ lookbehind: true
9071
+ }; // 123 -123 .123 -.123 12.3 -12.3
9072
+ var number = {
9073
+ pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
9074
+ lookbehind: true
9075
+ };
9076
+ Prism.languages.insertBefore('css', 'function', {
9077
+ operator: {
9078
+ pattern: /(\s)[+\-*\/](?=\s)/,
9079
+ lookbehind: true
9080
+ },
9081
+ // CAREFUL!
9082
+ // Previewers and Inline color use hexcode and color.
9083
+ hexcode: {
9084
+ pattern: /\B#[\da-f]{3,8}\b/i,
9085
+ alias: 'color'
9086
+ },
9087
+ color: [
9088
+ {
9089
+ pattern:
9090
+ /(^|[^\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,
9091
+ lookbehind: true
9092
+ },
9093
+ {
9094
+ pattern:
9095
+ /\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,
9096
+ inside: {
9097
+ unit: unit,
9098
+ number: number,
9099
+ function: /[\w-]+(?=\()/,
9100
+ punctuation: /[(),]/
9101
+ }
9102
+ }
9103
+ ],
9104
+ // it's important that there is no boundary assertion after the hex digits
9105
+ entity: /\\[\da-f]{1,8}/i,
9106
+ unit: unit,
9107
+ number: number
9108
+ });
9109
+ })(Prism);
9110
+ }
9111
+ return cssExtras_1;
9024
9112
  }
9025
9113
 
9026
9114
  var csv_1;
@@ -9043,298 +9131,343 @@ function requireCsv () {
9043
9131
  return csv_1;
9044
9132
  }
9045
9133
 
9046
- var cypher_1 = cypher;
9047
- cypher.displayName = 'cypher';
9048
- cypher.aliases = [];
9049
- function cypher(Prism) {
9050
- Prism.languages.cypher = {
9051
- // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
9052
- comment: /\/\/.*/,
9053
- string: {
9054
- pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
9055
- greedy: true
9056
- },
9057
- 'class-name': {
9058
- pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
9059
- lookbehind: true,
9060
- greedy: true
9061
- },
9062
- relationship: {
9063
- pattern:
9064
- /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
9065
- lookbehind: true,
9066
- greedy: true,
9067
- alias: 'property'
9068
- },
9069
- identifier: {
9070
- pattern: /`(?:[^`\\\r\n])*`/,
9071
- greedy: true
9072
- },
9073
- variable: /\$\w+/,
9074
- // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
9075
- keyword:
9076
- /\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,
9077
- function: /\b\w+\b(?=\s*\()/,
9078
- boolean: /\b(?:false|null|true)\b/i,
9079
- number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
9080
- // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
9081
- operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
9082
- punctuation: /[()[\]{},;.]/
9083
- };
9134
+ var cypher_1;
9135
+ var hasRequiredCypher;
9136
+
9137
+ function requireCypher () {
9138
+ if (hasRequiredCypher) return cypher_1;
9139
+ hasRequiredCypher = 1;
9140
+
9141
+ cypher_1 = cypher;
9142
+ cypher.displayName = 'cypher';
9143
+ cypher.aliases = [];
9144
+ function cypher(Prism) {
9145
+ Prism.languages.cypher = {
9146
+ // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
9147
+ comment: /\/\/.*/,
9148
+ string: {
9149
+ pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
9150
+ greedy: true
9151
+ },
9152
+ 'class-name': {
9153
+ pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
9154
+ lookbehind: true,
9155
+ greedy: true
9156
+ },
9157
+ relationship: {
9158
+ pattern:
9159
+ /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
9160
+ lookbehind: true,
9161
+ greedy: true,
9162
+ alias: 'property'
9163
+ },
9164
+ identifier: {
9165
+ pattern: /`(?:[^`\\\r\n])*`/,
9166
+ greedy: true
9167
+ },
9168
+ variable: /\$\w+/,
9169
+ // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
9170
+ keyword:
9171
+ /\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,
9172
+ function: /\b\w+\b(?=\s*\()/,
9173
+ boolean: /\b(?:false|null|true)\b/i,
9174
+ number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
9175
+ // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
9176
+ operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
9177
+ punctuation: /[()[\]{},;.]/
9178
+ };
9179
+ }
9180
+ return cypher_1;
9084
9181
  }
9085
9182
 
9086
- var d_1 = d;
9087
- d.displayName = 'd';
9088
- d.aliases = [];
9089
- function d(Prism) {
9090
- Prism.languages.d = Prism.languages.extend('clike', {
9091
- comment: [
9092
- {
9093
- // Shebang
9094
- pattern: /^\s*#!.+/,
9095
- greedy: true
9096
- },
9097
- {
9098
- pattern: RegExp(
9099
- /(^|[^\\])/.source +
9100
- '(?:' +
9101
- [
9102
- // /+ comment +/
9103
- // Allow one level of nesting
9104
- /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, // // comment
9105
- /\/\/.*/.source, // /* comment */
9106
- /\/\*[\s\S]*?\*\//.source
9107
- ].join('|') +
9108
- ')'
9109
- ),
9110
- lookbehind: true,
9111
- greedy: true
9112
- }
9113
- ],
9114
- string: [
9115
- {
9116
- pattern: RegExp(
9117
- [
9118
- // r"", x""
9119
- /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, // q"[]", q"()", q"<>", q"{}"
9120
- /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, // q"IDENT
9121
- // ...
9122
- // IDENT"
9123
- /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, // q"//", q"||", etc.
9124
- // eslint-disable-next-line regexp/strict
9125
- /\bq"(.)[\s\S]*?\2"/.source, // eslint-disable-next-line regexp/strict
9126
- /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
9127
- ].join('|'),
9128
- 'm'
9129
- ),
9130
- greedy: true
9131
- },
9132
- {
9133
- pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
9134
- greedy: true,
9135
- alias: 'token-string'
9136
- }
9137
- ],
9138
- // In order: $, keywords and special tokens, globally defined symbols
9139
- keyword:
9140
- /\$|\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/,
9141
- number: [
9142
- // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
9143
- // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
9144
- /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
9145
- {
9146
- pattern:
9147
- /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
9148
- lookbehind: true
9149
- }
9150
- ],
9151
- operator:
9152
- /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
9153
- });
9154
- Prism.languages.insertBefore('d', 'string', {
9155
- // Characters
9156
- // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
9157
- char: /'(?:\\(?:\W|\w+)|[^\\])'/
9158
- });
9159
- Prism.languages.insertBefore('d', 'keyword', {
9160
- property: /\B@\w*/
9161
- });
9162
- Prism.languages.insertBefore('d', 'function', {
9163
- register: {
9164
- // Iasm registers
9165
- pattern:
9166
- /\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)/,
9167
- alias: 'variable'
9168
- }
9169
- });
9183
+ var d_1;
9184
+ var hasRequiredD;
9185
+
9186
+ function requireD () {
9187
+ if (hasRequiredD) return d_1;
9188
+ hasRequiredD = 1;
9189
+
9190
+ d_1 = d;
9191
+ d.displayName = 'd';
9192
+ d.aliases = [];
9193
+ function d(Prism) {
9194
+ Prism.languages.d = Prism.languages.extend('clike', {
9195
+ comment: [
9196
+ {
9197
+ // Shebang
9198
+ pattern: /^\s*#!.+/,
9199
+ greedy: true
9200
+ },
9201
+ {
9202
+ pattern: RegExp(
9203
+ /(^|[^\\])/.source +
9204
+ '(?:' +
9205
+ [
9206
+ // /+ comment +/
9207
+ // Allow one level of nesting
9208
+ /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, // // comment
9209
+ /\/\/.*/.source, // /* comment */
9210
+ /\/\*[\s\S]*?\*\//.source
9211
+ ].join('|') +
9212
+ ')'
9213
+ ),
9214
+ lookbehind: true,
9215
+ greedy: true
9216
+ }
9217
+ ],
9218
+ string: [
9219
+ {
9220
+ pattern: RegExp(
9221
+ [
9222
+ // r"", x""
9223
+ /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, // q"[]", q"()", q"<>", q"{}"
9224
+ /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, // q"IDENT
9225
+ // ...
9226
+ // IDENT"
9227
+ /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, // q"//", q"||", etc.
9228
+ // eslint-disable-next-line regexp/strict
9229
+ /\bq"(.)[\s\S]*?\2"/.source, // eslint-disable-next-line regexp/strict
9230
+ /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
9231
+ ].join('|'),
9232
+ 'm'
9233
+ ),
9234
+ greedy: true
9235
+ },
9236
+ {
9237
+ pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
9238
+ greedy: true,
9239
+ alias: 'token-string'
9240
+ }
9241
+ ],
9242
+ // In order: $, keywords and special tokens, globally defined symbols
9243
+ keyword:
9244
+ /\$|\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/,
9245
+ number: [
9246
+ // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
9247
+ // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
9248
+ /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
9249
+ {
9250
+ pattern:
9251
+ /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
9252
+ lookbehind: true
9253
+ }
9254
+ ],
9255
+ operator:
9256
+ /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
9257
+ });
9258
+ Prism.languages.insertBefore('d', 'string', {
9259
+ // Characters
9260
+ // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
9261
+ char: /'(?:\\(?:\W|\w+)|[^\\])'/
9262
+ });
9263
+ Prism.languages.insertBefore('d', 'keyword', {
9264
+ property: /\B@\w*/
9265
+ });
9266
+ Prism.languages.insertBefore('d', 'function', {
9267
+ register: {
9268
+ // Iasm registers
9269
+ pattern:
9270
+ /\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)/,
9271
+ alias: 'variable'
9272
+ }
9273
+ });
9274
+ }
9275
+ return d_1;
9276
+ }
9277
+
9278
+ var dart_1;
9279
+ var hasRequiredDart;
9280
+
9281
+ function requireDart () {
9282
+ if (hasRequiredDart) return dart_1;
9283
+ hasRequiredDart = 1;
9284
+
9285
+ dart_1 = dart;
9286
+ dart.displayName = 'dart';
9287
+ dart.aliases = [];
9288
+ function dart(Prism) {
9289
+ (function (Prism) {
9290
+ var keywords = [
9291
+ /\b(?:async|sync|yield)\*/,
9292
+ /\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/
9293
+ ]; // Handles named imports, such as http.Client
9294
+ var packagePrefix = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/
9295
+ .source; // based on the dart naming conventions
9296
+ var className = {
9297
+ pattern: RegExp(packagePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
9298
+ lookbehind: true,
9299
+ inside: {
9300
+ namespace: {
9301
+ pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
9302
+ inside: {
9303
+ punctuation: /\./
9304
+ }
9305
+ }
9306
+ }
9307
+ };
9308
+ Prism.languages.dart = Prism.languages.extend('clike', {
9309
+ 'class-name': [
9310
+ className,
9311
+ {
9312
+ // variables and parameters
9313
+ // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
9314
+ pattern: RegExp(
9315
+ packagePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source
9316
+ ),
9317
+ lookbehind: true,
9318
+ inside: className.inside
9319
+ }
9320
+ ],
9321
+ keyword: keywords,
9322
+ operator:
9323
+ /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
9324
+ });
9325
+ Prism.languages.insertBefore('dart', 'string', {
9326
+ 'string-literal': {
9327
+ pattern:
9328
+ /r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,
9329
+ greedy: true,
9330
+ inside: {
9331
+ interpolation: {
9332
+ pattern:
9333
+ /((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,
9334
+ lookbehind: true,
9335
+ inside: {
9336
+ punctuation: /^\$\{?|\}$/,
9337
+ expression: {
9338
+ pattern: /[\s\S]+/,
9339
+ inside: Prism.languages.dart
9340
+ }
9341
+ }
9342
+ },
9343
+ string: /[\s\S]+/
9344
+ }
9345
+ },
9346
+ string: undefined
9347
+ });
9348
+ Prism.languages.insertBefore('dart', 'class-name', {
9349
+ metadata: {
9350
+ pattern: /@\w+/,
9351
+ alias: 'function'
9352
+ }
9353
+ });
9354
+ Prism.languages.insertBefore('dart', 'class-name', {
9355
+ generics: {
9356
+ pattern:
9357
+ /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,
9358
+ inside: {
9359
+ 'class-name': className,
9360
+ keyword: keywords,
9361
+ punctuation: /[<>(),.:]/,
9362
+ operator: /[?&|]/
9363
+ }
9364
+ }
9365
+ });
9366
+ })(Prism);
9367
+ }
9368
+ return dart_1;
9170
9369
  }
9171
9370
 
9172
- var dart_1 = dart;
9173
- dart.displayName = 'dart';
9174
- dart.aliases = [];
9175
- function dart(Prism) {
9176
- (function (Prism) {
9177
- var keywords = [
9178
- /\b(?:async|sync|yield)\*/,
9179
- /\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/
9180
- ]; // Handles named imports, such as http.Client
9181
- var packagePrefix = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/
9182
- .source; // based on the dart naming conventions
9183
- var className = {
9184
- pattern: RegExp(packagePrefix + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
9185
- lookbehind: true,
9186
- inside: {
9187
- namespace: {
9188
- pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,
9189
- inside: {
9190
- punctuation: /\./
9191
- }
9192
- }
9193
- }
9194
- };
9195
- Prism.languages.dart = Prism.languages.extend('clike', {
9196
- 'class-name': [
9197
- className,
9198
- {
9199
- // variables and parameters
9200
- // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)
9201
- pattern: RegExp(
9202
- packagePrefix + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source
9203
- ),
9204
- lookbehind: true,
9205
- inside: className.inside
9206
- }
9207
- ],
9208
- keyword: keywords,
9209
- operator:
9210
- /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
9211
- });
9212
- Prism.languages.insertBefore('dart', 'string', {
9213
- 'string-literal': {
9214
- pattern:
9215
- /r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,
9216
- greedy: true,
9217
- inside: {
9218
- interpolation: {
9219
- pattern:
9220
- /((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,
9221
- lookbehind: true,
9222
- inside: {
9223
- punctuation: /^\$\{?|\}$/,
9224
- expression: {
9225
- pattern: /[\s\S]+/,
9226
- inside: Prism.languages.dart
9227
- }
9228
- }
9229
- },
9230
- string: /[\s\S]+/
9231
- }
9232
- },
9233
- string: undefined
9234
- });
9235
- Prism.languages.insertBefore('dart', 'class-name', {
9236
- metadata: {
9237
- pattern: /@\w+/,
9238
- alias: 'function'
9239
- }
9240
- });
9241
- Prism.languages.insertBefore('dart', 'class-name', {
9242
- generics: {
9243
- pattern:
9244
- /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,
9245
- inside: {
9246
- 'class-name': className,
9247
- keyword: keywords,
9248
- punctuation: /[<>(),.:]/,
9249
- operator: /[?&|]/
9250
- }
9251
- }
9252
- });
9253
- })(Prism);
9254
- }
9371
+ var dataweave_1;
9372
+ var hasRequiredDataweave;
9255
9373
 
9256
- var dataweave_1 = dataweave;
9257
- dataweave.displayName = 'dataweave';
9258
- dataweave.aliases = [];
9259
- function dataweave(Prism) {
9374
+ function requireDataweave () {
9375
+ if (hasRequiredDataweave) return dataweave_1;
9376
+ hasRequiredDataweave = 1;
9377
+
9378
+ dataweave_1 = dataweave;
9379
+ dataweave.displayName = 'dataweave';
9380
+ dataweave.aliases = [];
9381
+ function dataweave(Prism) {
9260
9382
  (function (Prism) {
9261
- Prism.languages.dataweave = {
9262
- url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,
9263
- property: {
9264
- pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,
9265
- greedy: true
9266
- },
9267
- string: {
9268
- pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
9269
- greedy: true
9270
- },
9271
- 'mime-type':
9272
- /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,
9273
- date: {
9274
- pattern: /\|[\w:+-]+\|/,
9275
- greedy: true
9276
- },
9277
- comment: [
9278
- {
9279
- pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
9280
- lookbehind: true,
9281
- greedy: true
9282
- },
9283
- {
9284
- pattern: /(^|[^\\:])\/\/.*/,
9285
- lookbehind: true,
9286
- greedy: true
9287
- }
9288
- ],
9289
- regex: {
9290
- pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,
9291
- greedy: true
9292
- },
9293
- keyword:
9294
- /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,
9295
- function: /\b[A-Z_]\w*(?=\s*\()/i,
9296
- number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
9297
- punctuation: /[{}[\];(),.:@]/,
9298
- operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,
9299
- boolean: /\b(?:false|true)\b/
9300
- };
9301
- })(Prism);
9383
+ Prism.languages.dataweave = {
9384
+ url: /\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,
9385
+ property: {
9386
+ pattern: /(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,
9387
+ greedy: true
9388
+ },
9389
+ string: {
9390
+ pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
9391
+ greedy: true
9392
+ },
9393
+ 'mime-type':
9394
+ /\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,
9395
+ date: {
9396
+ pattern: /\|[\w:+-]+\|/,
9397
+ greedy: true
9398
+ },
9399
+ comment: [
9400
+ {
9401
+ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
9402
+ lookbehind: true,
9403
+ greedy: true
9404
+ },
9405
+ {
9406
+ pattern: /(^|[^\\:])\/\/.*/,
9407
+ lookbehind: true,
9408
+ greedy: true
9409
+ }
9410
+ ],
9411
+ regex: {
9412
+ pattern: /\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,
9413
+ greedy: true
9414
+ },
9415
+ keyword:
9416
+ /\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,
9417
+ function: /\b[A-Z_]\w*(?=\s*\()/i,
9418
+ number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
9419
+ punctuation: /[{}[\];(),.:@]/,
9420
+ operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,
9421
+ boolean: /\b(?:false|true)\b/
9422
+ };
9423
+ })(Prism);
9424
+ }
9425
+ return dataweave_1;
9302
9426
  }
9303
9427
 
9304
- var dax_1 = dax;
9305
- dax.displayName = 'dax';
9306
- dax.aliases = [];
9307
- function dax(Prism) {
9308
- Prism.languages.dax = {
9309
- comment: {
9310
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,
9311
- lookbehind: true
9312
- },
9313
- 'data-field': {
9314
- pattern:
9315
- /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,
9316
- alias: 'symbol'
9317
- },
9318
- measure: {
9319
- pattern: /\[[ \w\xA0-\uFFFF]+\]/,
9320
- alias: 'constant'
9321
- },
9322
- string: {
9323
- pattern: /"(?:[^"]|"")*"(?!")/,
9324
- greedy: true
9325
- },
9326
- function:
9327
- /\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,
9328
- keyword:
9329
- /\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,
9330
- boolean: {
9331
- pattern: /\b(?:FALSE|NULL|TRUE)\b/i,
9332
- alias: 'constant'
9333
- },
9334
- number: /\b\d+(?:\.\d*)?|\B\.\d+\b/,
9335
- operator: /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,
9336
- punctuation: /[;\[\](){}`,.]/
9337
- };
9428
+ var dax_1;
9429
+ var hasRequiredDax;
9430
+
9431
+ function requireDax () {
9432
+ if (hasRequiredDax) return dax_1;
9433
+ hasRequiredDax = 1;
9434
+
9435
+ dax_1 = dax;
9436
+ dax.displayName = 'dax';
9437
+ dax.aliases = [];
9438
+ function dax(Prism) {
9439
+ Prism.languages.dax = {
9440
+ comment: {
9441
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,
9442
+ lookbehind: true
9443
+ },
9444
+ 'data-field': {
9445
+ pattern:
9446
+ /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,
9447
+ alias: 'symbol'
9448
+ },
9449
+ measure: {
9450
+ pattern: /\[[ \w\xA0-\uFFFF]+\]/,
9451
+ alias: 'constant'
9452
+ },
9453
+ string: {
9454
+ pattern: /"(?:[^"]|"")*"(?!")/,
9455
+ greedy: true
9456
+ },
9457
+ function:
9458
+ /\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,
9459
+ keyword:
9460
+ /\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,
9461
+ boolean: {
9462
+ pattern: /\b(?:FALSE|NULL|TRUE)\b/i,
9463
+ alias: 'constant'
9464
+ },
9465
+ number: /\b\d+(?:\.\d*)?|\B\.\d+\b/,
9466
+ operator: /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,
9467
+ punctuation: /[;\[\](){}`,.]/
9468
+ };
9469
+ }
9470
+ return dax_1;
9338
9471
  }
9339
9472
 
9340
9473
  var dhall_1;
@@ -9422,64 +9555,73 @@ function requireDhall () {
9422
9555
  return dhall_1;
9423
9556
  }
9424
9557
 
9425
- var diff_1 = diff;
9426
- diff.displayName = 'diff';
9427
- diff.aliases = [];
9428
- function diff(Prism) {
9558
+ var diff_1;
9559
+ var hasRequiredDiff;
9560
+
9561
+ function requireDiff () {
9562
+ if (hasRequiredDiff) return diff_1;
9563
+ hasRequiredDiff = 1;
9564
+
9565
+ diff_1 = diff;
9566
+ diff.displayName = 'diff';
9567
+ diff.aliases = [];
9568
+ function diff(Prism) {
9429
9569
  (function (Prism) {
9430
- Prism.languages.diff = {
9431
- coord: [
9432
- // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
9433
- /^(?:\*{3}|-{3}|\+{3}).*$/m, // Match "@@ ... @@" coord lines in unified diff.
9434
- /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).
9435
- /^\d.*$/m
9436
- ] // deleted, inserted, unchanged, diff
9437
- };
9438
- /**
9439
- * A map from the name of a block to its line prefix.
9440
- *
9441
- * @type {Object<string, string>}
9442
- */
9443
- var PREFIXES = {
9444
- 'deleted-sign': '-',
9445
- 'deleted-arrow': '<',
9446
- 'inserted-sign': '+',
9447
- 'inserted-arrow': '>',
9448
- unchanged: ' ',
9449
- diff: '!'
9450
- }; // add a token for each prefix
9451
- Object.keys(PREFIXES).forEach(function (name) {
9452
- var prefix = PREFIXES[name];
9453
- var alias = [];
9454
- if (!/^\w+$/.test(name)) {
9455
- // "deleted-sign" -> "deleted"
9456
- alias.push(/\w+/.exec(name)[0]);
9457
- }
9458
- if (name === 'diff') {
9459
- alias.push('bold');
9460
- }
9461
- Prism.languages.diff[name] = {
9462
- pattern: RegExp(
9463
- '^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+',
9464
- 'm'
9465
- ),
9466
- alias: alias,
9467
- inside: {
9468
- line: {
9469
- pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/,
9470
- lookbehind: true
9471
- },
9472
- prefix: {
9473
- pattern: /[\s\S]/,
9474
- alias: /\w+/.exec(name)[0]
9475
- }
9476
- }
9477
- };
9478
- }); // make prefixes available to Diff plugin
9479
- Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
9480
- value: PREFIXES
9481
- });
9482
- })(Prism);
9570
+ Prism.languages.diff = {
9571
+ coord: [
9572
+ // Match all kinds of coord lines (prefixed by "+++", "---" or "***").
9573
+ /^(?:\*{3}|-{3}|\+{3}).*$/m, // Match "@@ ... @@" coord lines in unified diff.
9574
+ /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).
9575
+ /^\d.*$/m
9576
+ ] // deleted, inserted, unchanged, diff
9577
+ };
9578
+ /**
9579
+ * A map from the name of a block to its line prefix.
9580
+ *
9581
+ * @type {Object<string, string>}
9582
+ */
9583
+ var PREFIXES = {
9584
+ 'deleted-sign': '-',
9585
+ 'deleted-arrow': '<',
9586
+ 'inserted-sign': '+',
9587
+ 'inserted-arrow': '>',
9588
+ unchanged: ' ',
9589
+ diff: '!'
9590
+ }; // add a token for each prefix
9591
+ Object.keys(PREFIXES).forEach(function (name) {
9592
+ var prefix = PREFIXES[name];
9593
+ var alias = [];
9594
+ if (!/^\w+$/.test(name)) {
9595
+ // "deleted-sign" -> "deleted"
9596
+ alias.push(/\w+/.exec(name)[0]);
9597
+ }
9598
+ if (name === 'diff') {
9599
+ alias.push('bold');
9600
+ }
9601
+ Prism.languages.diff[name] = {
9602
+ pattern: RegExp(
9603
+ '^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+',
9604
+ 'm'
9605
+ ),
9606
+ alias: alias,
9607
+ inside: {
9608
+ line: {
9609
+ pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/,
9610
+ lookbehind: true
9611
+ },
9612
+ prefix: {
9613
+ pattern: /[\s\S]/,
9614
+ alias: /\w+/.exec(name)[0]
9615
+ }
9616
+ }
9617
+ };
9618
+ }); // make prefixes available to Diff plugin
9619
+ Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
9620
+ value: PREFIXES
9621
+ });
9622
+ })(Prism);
9623
+ }
9624
+ return diff_1;
9483
9625
  }
9484
9626
 
9485
9627
  var markupTemplating_1;
@@ -9594,327 +9736,362 @@ function requireMarkupTemplating () {
9594
9736
  token.content = replacement;
9595
9737
  }
9596
9738
  }
9597
- } else if (
9598
- token.content
9599
- /* && typeof token.content !== 'string' */
9600
- ) {
9601
- walkTokens(token.content);
9602
- }
9739
+ } else if (
9740
+ token.content
9741
+ /* && typeof token.content !== 'string' */
9742
+ ) {
9743
+ walkTokens(token.content);
9744
+ }
9745
+ }
9746
+ return tokens
9747
+ }
9748
+ walkTokens(env.tokens);
9749
+ }
9750
+ }
9751
+ });
9752
+ })(Prism);
9753
+ }
9754
+ return markupTemplating_1;
9755
+ }
9756
+
9757
+ var django_1;
9758
+ var hasRequiredDjango;
9759
+
9760
+ function requireDjango () {
9761
+ if (hasRequiredDjango) return django_1;
9762
+ hasRequiredDjango = 1;
9763
+ var refractorMarkupTemplating = requireMarkupTemplating();
9764
+ django_1 = django;
9765
+ django.displayName = 'django';
9766
+ django.aliases = ['jinja2'];
9767
+ function django(Prism) {
9768
+ Prism.register(refractorMarkupTemplating)
9769
+ // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.
9770
+ // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.
9771
+ ;(function (Prism) {
9772
+ Prism.languages.django = {
9773
+ comment: /^\{#[\s\S]*?#\}$/,
9774
+ tag: {
9775
+ pattern: /(^\{%[+-]?\s*)\w+/,
9776
+ lookbehind: true,
9777
+ alias: 'keyword'
9778
+ },
9779
+ delimiter: {
9780
+ pattern: /^\{[{%][+-]?|[+-]?[}%]\}$/,
9781
+ alias: 'punctuation'
9782
+ },
9783
+ string: {
9784
+ pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
9785
+ greedy: true
9786
+ },
9787
+ filter: {
9788
+ pattern: /(\|)\w+/,
9789
+ lookbehind: true,
9790
+ alias: 'function'
9791
+ },
9792
+ test: {
9793
+ pattern: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/,
9794
+ lookbehind: true,
9795
+ alias: 'function'
9796
+ },
9797
+ function: /\b[a-z_]\w+(?=\s*\()/i,
9798
+ keyword:
9799
+ /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,
9800
+ operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
9801
+ number: /\b\d+(?:\.\d+)?\b/,
9802
+ boolean: /[Ff]alse|[Nn]one|[Tt]rue/,
9803
+ variable: /\b\w+\b/,
9804
+ punctuation: /[{}[\](),.:;]/
9805
+ };
9806
+ var pattern = /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g;
9807
+ var markupTemplating = Prism.languages['markup-templating'];
9808
+ Prism.hooks.add('before-tokenize', function (env) {
9809
+ markupTemplating.buildPlaceholders(env, 'django', pattern);
9810
+ });
9811
+ Prism.hooks.add('after-tokenize', function (env) {
9812
+ markupTemplating.tokenizePlaceholders(env, 'django');
9813
+ }); // Add an Jinja2 alias
9814
+ Prism.languages.jinja2 = Prism.languages.django;
9815
+ Prism.hooks.add('before-tokenize', function (env) {
9816
+ markupTemplating.buildPlaceholders(env, 'jinja2', pattern);
9817
+ });
9818
+ Prism.hooks.add('after-tokenize', function (env) {
9819
+ markupTemplating.tokenizePlaceholders(env, 'jinja2');
9820
+ });
9821
+ })(Prism);
9822
+ }
9823
+ return django_1;
9824
+ }
9825
+
9826
+ var dnsZoneFile_1;
9827
+ var hasRequiredDnsZoneFile;
9828
+
9829
+ function requireDnsZoneFile () {
9830
+ if (hasRequiredDnsZoneFile) return dnsZoneFile_1;
9831
+ hasRequiredDnsZoneFile = 1;
9832
+
9833
+ dnsZoneFile_1 = dnsZoneFile;
9834
+ dnsZoneFile.displayName = 'dnsZoneFile';
9835
+ dnsZoneFile.aliases = [];
9836
+ function dnsZoneFile(Prism) {
9837
+ Prism.languages['dns-zone-file'] = {
9838
+ comment: /;.*/,
9839
+ string: {
9840
+ pattern: /"(?:\\.|[^"\\\r\n])*"/,
9841
+ greedy: true
9842
+ },
9843
+ variable: [
9844
+ {
9845
+ pattern: /(^\$ORIGIN[ \t]+)\S+/m,
9846
+ lookbehind: true
9847
+ },
9848
+ {
9849
+ pattern: /(^|\s)@(?=\s|$)/,
9850
+ lookbehind: true
9851
+ }
9852
+ ],
9853
+ keyword: /^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,
9854
+ class: {
9855
+ // https://tools.ietf.org/html/rfc1035#page-13
9856
+ pattern: /(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,
9857
+ lookbehind: true,
9858
+ alias: 'keyword'
9859
+ },
9860
+ type: {
9861
+ // https://en.wikipedia.org/wiki/List_of_DNS_record_types
9862
+ pattern:
9863
+ /(^|\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|$)/,
9864
+ lookbehind: true,
9865
+ alias: 'keyword'
9866
+ },
9867
+ punctuation: /[()]/
9868
+ };
9869
+ Prism.languages['dns-zone'] = Prism.languages['dns-zone-file'];
9870
+ }
9871
+ return dnsZoneFile_1;
9872
+ }
9873
+
9874
+ var docker_1;
9875
+ var hasRequiredDocker;
9876
+
9877
+ function requireDocker () {
9878
+ if (hasRequiredDocker) return docker_1;
9879
+ hasRequiredDocker = 1;
9880
+
9881
+ docker_1 = docker;
9882
+ docker.displayName = 'docker';
9883
+ docker.aliases = ['dockerfile'];
9884
+ function docker(Prism) {
9885
+ (function (Prism) {
9886
+ // Many of the following regexes will contain negated lookaheads like `[ \t]+(?![ \t])`. This is a trick to ensure
9887
+ // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.
9888
+ var spaceAfterBackSlash =
9889
+ /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source; // At least one space, comment, or line break
9890
+ var space = /(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(
9891
+ /<SP_BS>/g,
9892
+ function () {
9893
+ return spaceAfterBackSlash
9894
+ }
9895
+ );
9896
+ var string =
9897
+ /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/
9898
+ .source;
9899
+ var option = /--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(
9900
+ /<STR>/g,
9901
+ function () {
9902
+ return string
9903
+ }
9904
+ );
9905
+ var stringRule = {
9906
+ pattern: RegExp(string),
9907
+ greedy: true
9908
+ };
9909
+ var commentRule = {
9910
+ pattern: /(^[ \t]*)#.*/m,
9911
+ lookbehind: true,
9912
+ greedy: true
9913
+ };
9914
+ /**
9915
+ * @param {string} source
9916
+ * @param {string} flags
9917
+ * @returns {RegExp}
9918
+ */
9919
+ function re(source, flags) {
9920
+ source = source
9921
+ .replace(/<OPT>/g, function () {
9922
+ return option
9923
+ })
9924
+ .replace(/<SP>/g, function () {
9925
+ return space
9926
+ });
9927
+ return RegExp(source, flags)
9928
+ }
9929
+ Prism.languages.docker = {
9930
+ instruction: {
9931
+ pattern:
9932
+ /(^[ \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,
9933
+ lookbehind: true,
9934
+ greedy: true,
9935
+ inside: {
9936
+ options: {
9937
+ pattern: re(
9938
+ /(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,
9939
+ 'i'
9940
+ ),
9941
+ lookbehind: true,
9942
+ greedy: true,
9943
+ inside: {
9944
+ property: {
9945
+ pattern: /(^|\s)--[\w-]+/,
9946
+ lookbehind: true
9947
+ },
9948
+ string: [
9949
+ stringRule,
9950
+ {
9951
+ pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/,
9952
+ lookbehind: true
9953
+ }
9954
+ ],
9955
+ operator: /\\$/m,
9956
+ punctuation: /=/
9603
9957
  }
9604
- return tokens
9605
- }
9606
- walkTokens(env.tokens);
9958
+ },
9959
+ keyword: [
9960
+ {
9961
+ // https://docs.docker.com/engine/reference/builder/#healthcheck
9962
+ pattern: re(
9963
+ /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/
9964
+ .source,
9965
+ 'i'
9966
+ ),
9967
+ lookbehind: true,
9968
+ greedy: true
9969
+ },
9970
+ {
9971
+ // https://docs.docker.com/engine/reference/builder/#from
9972
+ pattern: re(
9973
+ /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/
9974
+ .source,
9975
+ 'i'
9976
+ ),
9977
+ lookbehind: true,
9978
+ greedy: true
9979
+ },
9980
+ {
9981
+ // https://docs.docker.com/engine/reference/builder/#onbuild
9982
+ pattern: re(/(^ONBUILD<SP>)\w+/.source, 'i'),
9983
+ lookbehind: true,
9984
+ greedy: true
9985
+ },
9986
+ {
9987
+ pattern: /^\w+/,
9988
+ greedy: true
9989
+ }
9990
+ ],
9991
+ comment: commentRule,
9992
+ string: stringRule,
9993
+ variable: /\$(?:\w+|\{[^{}"'\\]*\})/,
9994
+ operator: /\\$/m
9607
9995
  }
9608
- }
9609
- });
9996
+ },
9997
+ comment: commentRule
9998
+ };
9999
+ Prism.languages.dockerfile = Prism.languages.docker;
9610
10000
  })(Prism);
9611
10001
  }
9612
- return markupTemplating_1;
9613
- }
9614
-
9615
- var refractorMarkupTemplating$1 = requireMarkupTemplating();
9616
- var django_1 = django;
9617
- django.displayName = 'django';
9618
- django.aliases = ['jinja2'];
9619
- function django(Prism) {
9620
- Prism.register(refractorMarkupTemplating$1)
9621
- // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.
9622
- // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.
9623
- ;(function (Prism) {
9624
- Prism.languages.django = {
9625
- comment: /^\{#[\s\S]*?#\}$/,
9626
- tag: {
9627
- pattern: /(^\{%[+-]?\s*)\w+/,
9628
- lookbehind: true,
9629
- alias: 'keyword'
9630
- },
9631
- delimiter: {
9632
- pattern: /^\{[{%][+-]?|[+-]?[}%]\}$/,
9633
- alias: 'punctuation'
9634
- },
9635
- string: {
9636
- pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
9637
- greedy: true
9638
- },
9639
- filter: {
9640
- pattern: /(\|)\w+/,
9641
- lookbehind: true,
9642
- alias: 'function'
9643
- },
9644
- test: {
9645
- pattern: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/,
9646
- lookbehind: true,
9647
- alias: 'function'
9648
- },
9649
- function: /\b[a-z_]\w+(?=\s*\()/i,
9650
- keyword:
9651
- /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,
9652
- operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
9653
- number: /\b\d+(?:\.\d+)?\b/,
9654
- boolean: /[Ff]alse|[Nn]one|[Tt]rue/,
9655
- variable: /\b\w+\b/,
9656
- punctuation: /[{}[\](),.:;]/
9657
- };
9658
- var pattern = /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g;
9659
- var markupTemplating = Prism.languages['markup-templating'];
9660
- Prism.hooks.add('before-tokenize', function (env) {
9661
- markupTemplating.buildPlaceholders(env, 'django', pattern);
9662
- });
9663
- Prism.hooks.add('after-tokenize', function (env) {
9664
- markupTemplating.tokenizePlaceholders(env, 'django');
9665
- }); // Add an Jinja2 alias
9666
- Prism.languages.jinja2 = Prism.languages.django;
9667
- Prism.hooks.add('before-tokenize', function (env) {
9668
- markupTemplating.buildPlaceholders(env, 'jinja2', pattern);
9669
- });
9670
- Prism.hooks.add('after-tokenize', function (env) {
9671
- markupTemplating.tokenizePlaceholders(env, 'jinja2');
9672
- });
9673
- })(Prism);
10002
+ return docker_1;
9674
10003
  }
9675
10004
 
9676
- var dnsZoneFile_1 = dnsZoneFile;
9677
- dnsZoneFile.displayName = 'dnsZoneFile';
9678
- dnsZoneFile.aliases = [];
9679
- function dnsZoneFile(Prism) {
9680
- Prism.languages['dns-zone-file'] = {
9681
- comment: /;.*/,
9682
- string: {
9683
- pattern: /"(?:\\.|[^"\\\r\n])*"/,
9684
- greedy: true
9685
- },
9686
- variable: [
9687
- {
9688
- pattern: /(^\$ORIGIN[ \t]+)\S+/m,
9689
- lookbehind: true
9690
- },
9691
- {
9692
- pattern: /(^|\s)@(?=\s|$)/,
9693
- lookbehind: true
9694
- }
9695
- ],
9696
- keyword: /^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,
9697
- class: {
9698
- // https://tools.ietf.org/html/rfc1035#page-13
9699
- pattern: /(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,
9700
- lookbehind: true,
9701
- alias: 'keyword'
9702
- },
9703
- type: {
9704
- // https://en.wikipedia.org/wiki/List_of_DNS_record_types
9705
- pattern:
9706
- /(^|\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|$)/,
9707
- lookbehind: true,
9708
- alias: 'keyword'
9709
- },
9710
- punctuation: /[()]/
9711
- };
9712
- Prism.languages['dns-zone'] = Prism.languages['dns-zone-file'];
9713
- }
10005
+ var dot_1;
10006
+ var hasRequiredDot;
9714
10007
 
9715
- var docker_1 = docker;
9716
- docker.displayName = 'docker';
9717
- docker.aliases = ['dockerfile'];
9718
- function docker(Prism) {
9719
- (function (Prism) {
9720
- // Many of the following regexes will contain negated lookaheads like `[ \t]+(?![ \t])`. This is a trick to ensure
9721
- // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.
9722
- var spaceAfterBackSlash =
9723
- /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source; // At least one space, comment, or line break
9724
- var space = /(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(
9725
- /<SP_BS>/g,
9726
- function () {
9727
- return spaceAfterBackSlash
9728
- }
9729
- );
9730
- var string =
9731
- /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/
9732
- .source;
9733
- var option = /--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(
9734
- /<STR>/g,
9735
- function () {
9736
- return string
9737
- }
9738
- );
9739
- var stringRule = {
9740
- pattern: RegExp(string),
9741
- greedy: true
9742
- };
9743
- var commentRule = {
9744
- pattern: /(^[ \t]*)#.*/m,
9745
- lookbehind: true,
9746
- greedy: true
9747
- };
9748
- /**
9749
- * @param {string} source
9750
- * @param {string} flags
9751
- * @returns {RegExp}
9752
- */
9753
- function re(source, flags) {
9754
- source = source
9755
- .replace(/<OPT>/g, function () {
9756
- return option
9757
- })
9758
- .replace(/<SP>/g, function () {
9759
- return space
9760
- });
9761
- return RegExp(source, flags)
9762
- }
9763
- Prism.languages.docker = {
9764
- instruction: {
9765
- pattern:
9766
- /(^[ \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,
9767
- lookbehind: true,
9768
- greedy: true,
9769
- inside: {
9770
- options: {
9771
- pattern: re(
9772
- /(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,
9773
- 'i'
9774
- ),
9775
- lookbehind: true,
9776
- greedy: true,
9777
- inside: {
9778
- property: {
9779
- pattern: /(^|\s)--[\w-]+/,
9780
- lookbehind: true
9781
- },
9782
- string: [
9783
- stringRule,
9784
- {
9785
- pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/,
9786
- lookbehind: true
9787
- }
9788
- ],
9789
- operator: /\\$/m,
9790
- punctuation: /=/
9791
- }
9792
- },
9793
- keyword: [
9794
- {
9795
- // https://docs.docker.com/engine/reference/builder/#healthcheck
9796
- pattern: re(
9797
- /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/
9798
- .source,
9799
- 'i'
9800
- ),
9801
- lookbehind: true,
9802
- greedy: true
9803
- },
9804
- {
9805
- // https://docs.docker.com/engine/reference/builder/#from
9806
- pattern: re(
9807
- /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/
9808
- .source,
9809
- 'i'
9810
- ),
9811
- lookbehind: true,
9812
- greedy: true
9813
- },
9814
- {
9815
- // https://docs.docker.com/engine/reference/builder/#onbuild
9816
- pattern: re(/(^ONBUILD<SP>)\w+/.source, 'i'),
9817
- lookbehind: true,
9818
- greedy: true
9819
- },
9820
- {
9821
- pattern: /^\w+/,
9822
- greedy: true
9823
- }
9824
- ],
9825
- comment: commentRule,
9826
- string: stringRule,
9827
- variable: /\$(?:\w+|\{[^{}"'\\]*\})/,
9828
- operator: /\\$/m
9829
- }
9830
- },
9831
- comment: commentRule
9832
- };
9833
- Prism.languages.dockerfile = Prism.languages.docker;
9834
- })(Prism);
9835
- }
10008
+ function requireDot () {
10009
+ if (hasRequiredDot) return dot_1;
10010
+ hasRequiredDot = 1;
9836
10011
 
9837
- var dot_1 = dot;
9838
- dot.displayName = 'dot';
9839
- dot.aliases = ['gv'];
9840
- function dot(Prism) {
10012
+ dot_1 = dot;
10013
+ dot.displayName = 'dot';
10014
+ dot.aliases = ['gv'];
10015
+ function dot(Prism) {
9841
10016
  (function (Prism) {
9842
- var ID =
9843
- '(?:' +
9844
- [
9845
- // an identifier
9846
- /[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source, // a number
9847
- /-?(?:\.\d+|\d+(?:\.\d*)?)/.source, // a double-quoted string
9848
- /"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source, // HTML-like string
9849
- /<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/
9850
- .source
9851
- ].join('|') +
9852
- ')';
9853
- var IDInside = {
9854
- markup: {
9855
- pattern: /(^<)[\s\S]+(?=>$)/,
9856
- lookbehind: true,
9857
- alias: ['language-markup', 'language-html', 'language-xml'],
9858
- inside: Prism.languages.markup
9859
- }
9860
- };
9861
- /**
9862
- * @param {string} source
9863
- * @param {string} flags
9864
- * @returns {RegExp}
9865
- */
9866
- function withID(source, flags) {
9867
- return RegExp(
9868
- source.replace(/<ID>/g, function () {
9869
- return ID
9870
- }),
9871
- flags
9872
- )
9873
- }
9874
- Prism.languages.dot = {
9875
- comment: {
9876
- pattern: /\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,
9877
- greedy: true
9878
- },
9879
- 'graph-name': {
9880
- pattern: withID(
9881
- /(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,
9882
- 'i'
9883
- ),
9884
- lookbehind: true,
9885
- greedy: true,
9886
- alias: 'class-name',
9887
- inside: IDInside
9888
- },
9889
- 'attr-value': {
9890
- pattern: withID(/(=[ \t\r\n]*)<ID>/.source),
9891
- lookbehind: true,
9892
- greedy: true,
9893
- inside: IDInside
9894
- },
9895
- 'attr-name': {
9896
- pattern: withID(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),
9897
- lookbehind: true,
9898
- greedy: true,
9899
- inside: IDInside
9900
- },
9901
- keyword: /\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,
9902
- 'compass-point': {
9903
- pattern: /(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,
9904
- lookbehind: true,
9905
- alias: 'builtin'
9906
- },
9907
- node: {
9908
- pattern: withID(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),
9909
- lookbehind: true,
9910
- greedy: true,
9911
- inside: IDInside
9912
- },
9913
- operator: /[=:]|-[->]/,
9914
- punctuation: /[\[\]{};,]/
9915
- };
9916
- Prism.languages.gv = Prism.languages.dot;
9917
- })(Prism);
10017
+ var ID =
10018
+ '(?:' +
10019
+ [
10020
+ // an identifier
10021
+ /[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source, // a number
10022
+ /-?(?:\.\d+|\d+(?:\.\d*)?)/.source, // a double-quoted string
10023
+ /"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source, // HTML-like string
10024
+ /<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/
10025
+ .source
10026
+ ].join('|') +
10027
+ ')';
10028
+ var IDInside = {
10029
+ markup: {
10030
+ pattern: /(^<)[\s\S]+(?=>$)/,
10031
+ lookbehind: true,
10032
+ alias: ['language-markup', 'language-html', 'language-xml'],
10033
+ inside: Prism.languages.markup
10034
+ }
10035
+ };
10036
+ /**
10037
+ * @param {string} source
10038
+ * @param {string} flags
10039
+ * @returns {RegExp}
10040
+ */
10041
+ function withID(source, flags) {
10042
+ return RegExp(
10043
+ source.replace(/<ID>/g, function () {
10044
+ return ID
10045
+ }),
10046
+ flags
10047
+ )
10048
+ }
10049
+ Prism.languages.dot = {
10050
+ comment: {
10051
+ pattern: /\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,
10052
+ greedy: true
10053
+ },
10054
+ 'graph-name': {
10055
+ pattern: withID(
10056
+ /(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,
10057
+ 'i'
10058
+ ),
10059
+ lookbehind: true,
10060
+ greedy: true,
10061
+ alias: 'class-name',
10062
+ inside: IDInside
10063
+ },
10064
+ 'attr-value': {
10065
+ pattern: withID(/(=[ \t\r\n]*)<ID>/.source),
10066
+ lookbehind: true,
10067
+ greedy: true,
10068
+ inside: IDInside
10069
+ },
10070
+ 'attr-name': {
10071
+ pattern: withID(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),
10072
+ lookbehind: true,
10073
+ greedy: true,
10074
+ inside: IDInside
10075
+ },
10076
+ keyword: /\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,
10077
+ 'compass-point': {
10078
+ pattern: /(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,
10079
+ lookbehind: true,
10080
+ alias: 'builtin'
10081
+ },
10082
+ node: {
10083
+ pattern: withID(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),
10084
+ lookbehind: true,
10085
+ greedy: true,
10086
+ inside: IDInside
10087
+ },
10088
+ operator: /[=:]|-[->]/,
10089
+ punctuation: /[\[\]{};,]/
10090
+ };
10091
+ Prism.languages.gv = Prism.languages.dot;
10092
+ })(Prism);
10093
+ }
10094
+ return dot_1;
9918
10095
  }
9919
10096
 
9920
10097
  var ebnf_1;
@@ -10041,37 +10218,45 @@ function requireEiffel () {
10041
10218
  return eiffel_1;
10042
10219
  }
10043
10220
 
10044
- var refractorMarkupTemplating = requireMarkupTemplating();
10045
- var ejs_1 = ejs;
10046
- ejs.displayName = 'ejs';
10047
- ejs.aliases = ['eta'];
10048
- function ejs(Prism) {
10049
- Prism.register(refractorMarkupTemplating)
10050
- ;(function (Prism) {
10051
- Prism.languages.ejs = {
10052
- delimiter: {
10053
- pattern: /^<%[-_=]?|[-_]?%>$/,
10054
- alias: 'punctuation'
10055
- },
10056
- comment: /^#[\s\S]*/,
10057
- 'language-javascript': {
10058
- pattern: /[\s\S]+/,
10059
- inside: Prism.languages.javascript
10060
- }
10061
- };
10062
- Prism.hooks.add('before-tokenize', function (env) {
10063
- var ejsPattern = /<%(?!%)[\s\S]+?%>/g;
10064
- Prism.languages['markup-templating'].buildPlaceholders(
10065
- env,
10066
- 'ejs',
10067
- ejsPattern
10068
- );
10069
- });
10070
- Prism.hooks.add('after-tokenize', function (env) {
10071
- Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');
10072
- });
10073
- Prism.languages.eta = Prism.languages.ejs;
10074
- })(Prism);
10221
+ var ejs_1;
10222
+ var hasRequiredEjs;
10223
+
10224
+ function requireEjs () {
10225
+ if (hasRequiredEjs) return ejs_1;
10226
+ hasRequiredEjs = 1;
10227
+ var refractorMarkupTemplating = requireMarkupTemplating();
10228
+ ejs_1 = ejs;
10229
+ ejs.displayName = 'ejs';
10230
+ ejs.aliases = ['eta'];
10231
+ function ejs(Prism) {
10232
+ Prism.register(refractorMarkupTemplating)
10233
+ ;(function (Prism) {
10234
+ Prism.languages.ejs = {
10235
+ delimiter: {
10236
+ pattern: /^<%[-_=]?|[-_]?%>$/,
10237
+ alias: 'punctuation'
10238
+ },
10239
+ comment: /^#[\s\S]*/,
10240
+ 'language-javascript': {
10241
+ pattern: /[\s\S]+/,
10242
+ inside: Prism.languages.javascript
10243
+ }
10244
+ };
10245
+ Prism.hooks.add('before-tokenize', function (env) {
10246
+ var ejsPattern = /<%(?!%)[\s\S]+?%>/g;
10247
+ Prism.languages['markup-templating'].buildPlaceholders(
10248
+ env,
10249
+ 'ejs',
10250
+ ejsPattern
10251
+ );
10252
+ });
10253
+ Prism.hooks.add('after-tokenize', function (env) {
10254
+ Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs');
10255
+ });
10256
+ Prism.languages.eta = Prism.languages.ejs;
10257
+ })(Prism);
10258
+ }
10259
+ return ejs_1;
10075
10260
  }
10076
10261
 
10077
10262
  var elixir_1;
@@ -10260,7 +10445,7 @@ var hasRequiredErb;
10260
10445
  function requireErb () {
10261
10446
  if (hasRequiredErb) return erb_1;
10262
10447
  hasRequiredErb = 1;
10263
- var refractorRuby = ruby_1;
10448
+ var refractorRuby = requireRuby();
10264
10449
  var refractorMarkupTemplating = requireMarkupTemplating();
10265
10450
  erb_1 = erb;
10266
10451
  erb.displayName = 'erb';
@@ -12742,7 +12927,7 @@ var hasRequiredHaml;
12742
12927
  function requireHaml () {
12743
12928
  if (hasRequiredHaml) return haml_1;
12744
12929
  hasRequiredHaml = 1;
12745
- var refractorRuby = ruby_1;
12930
+ var refractorRuby = requireRuby();
12746
12931
  haml_1 = haml;
12747
12932
  haml.displayName = 'haml';
12748
12933
  haml.aliases = [];
@@ -25178,7 +25363,7 @@ function requireT4Cs () {
25178
25363
  if (hasRequiredT4Cs) return t4Cs_1;
25179
25364
  hasRequiredT4Cs = 1;
25180
25365
  var refractorT4Templating = requireT4Templating();
25181
- var refractorCsharp = csharp_1;
25366
+ var refractorCsharp = requireCsharp();
25182
25367
  t4Cs_1 = t4Cs;
25183
25368
  t4Cs.displayName = 't4Cs';
25184
25369
  t4Cs.aliases = [];
@@ -27936,7 +28121,7 @@ refractor.register(aspnet_1);
27936
28121
  refractor.register(autohotkey_1);
27937
28122
  refractor.register(autoit_1);
27938
28123
  refractor.register(avisynth_1);
27939
- refractor.register(avroIdl_1);
28124
+ refractor.register(requireAvroIdl());
27940
28125
  refractor.register(bash_1);
27941
28126
  refractor.register(basic_1);
27942
28127
  refractor.register(batch_1);
@@ -27945,7 +28130,7 @@ refractor.register(bicep_1);
27945
28130
  refractor.register(birb_1);
27946
28131
  refractor.register(bison_1);
27947
28132
  refractor.register(bnf_1);
27948
- refractor.register(brainfuck_1);
28133
+ refractor.register(requireBrainfuck());
27949
28134
  refractor.register(brightscript_1);
27950
28135
  refractor.register(bro_1);
27951
28136
  refractor.register(bsl_1);
@@ -27957,30 +28142,30 @@ refractor.register(clojure_1);
27957
28142
  refractor.register(cmake_1);
27958
28143
  refractor.register(cobol_1);
27959
28144
  refractor.register(coffeescript_1);
27960
- refractor.register(concurnas_1);
27961
- refractor.register(coq_1);
28145
+ refractor.register(requireConcurnas());
28146
+ refractor.register(requireCoq());
27962
28147
  refractor.register(requireCpp());
27963
- refractor.register(crystal_1);
27964
- refractor.register(csharp_1);
27965
- refractor.register(cshtml_1);
27966
- refractor.register(csp_1);
27967
- refractor.register(cssExtras_1);
28148
+ refractor.register(requireCrystal());
28149
+ refractor.register(requireCsharp());
28150
+ refractor.register(requireCshtml());
28151
+ refractor.register(requireCsp());
28152
+ refractor.register(requireCssExtras());
27968
28153
  refractor.register(requireCsv());
27969
- refractor.register(cypher_1);
27970
- refractor.register(d_1);
27971
- refractor.register(dart_1);
27972
- refractor.register(dataweave_1);
27973
- refractor.register(dax_1);
28154
+ refractor.register(requireCypher());
28155
+ refractor.register(requireD());
28156
+ refractor.register(requireDart());
28157
+ refractor.register(requireDataweave());
28158
+ refractor.register(requireDax());
27974
28159
  refractor.register(requireDhall());
27975
- refractor.register(diff_1);
27976
- refractor.register(django_1);
27977
- refractor.register(dnsZoneFile_1);
27978
- refractor.register(docker_1);
27979
- refractor.register(dot_1);
28160
+ refractor.register(requireDiff());
28161
+ refractor.register(requireDjango());
28162
+ refractor.register(requireDnsZoneFile());
28163
+ refractor.register(requireDocker());
28164
+ refractor.register(requireDot());
27980
28165
  refractor.register(requireEbnf());
27981
28166
  refractor.register(requireEditorconfig());
27982
28167
  refractor.register(requireEiffel());
27983
- refractor.register(ejs_1);
28168
+ refractor.register(requireEjs());
27984
28169
  refractor.register(requireElixir());
27985
28170
  refractor.register(requireElm());
27986
28171
  refractor.register(requireErb());
@@ -28126,7 +28311,7 @@ refractor.register(requireRest());
28126
28311
  refractor.register(requireRip());
28127
28312
  refractor.register(requireRoboconf());
28128
28313
  refractor.register(requireRobotframework());
28129
- refractor.register(ruby_1);
28314
+ refractor.register(requireRuby());
28130
28315
  refractor.register(requireRust());
28131
28316
  refractor.register(requireSas());
28132
28317
  refractor.register(requireSass());
@@ -38953,7 +39138,19 @@ function remarkThinkUpdate(content) {
38953
39138
  */
38954
39139
  function escapeContentForStream(content) {
38955
39140
  if (typeof content !== 'string') return content;
38956
- return content.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/{/g, '&#123;').replace(/}/g, '&#125;');
39141
+ // 匹配代码块的正则表达式
39142
+ var codeBlockRegex = /(```[\s\S]*?```|`[^`]*`)/g;
39143
+ // 分割内容为代码块和非代码块部分
39144
+ var parts = content.split(codeBlockRegex);
39145
+ // 对非代码块部分进行转义,保留代码块部分不变
39146
+ return parts.map(function (part, index) {
39147
+ // 奇数索引为代码块部分(根据split的特性)
39148
+ if (index % 2 === 1) {
39149
+ return part; // 代码块部分不转义
39150
+ }
39151
+ // 偶数索引为非代码块部分,进行转义
39152
+ return part.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/{/g, '&#123;').replace(/}/g, '&#125;');
39153
+ }).join('');
38957
39154
  }
38958
39155
 
38959
39156
  var renderTimer = null;