@banyan_cloud/roots 1.0.111 → 1.0.112

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/cjs/index.js CHANGED
@@ -20694,126 +20694,134 @@ function c(Prism) {
20694
20694
  delete Prism.languages.c['boolean'];
20695
20695
  }
20696
20696
 
20697
- var refractorC$1 = c_1;
20698
- var cpp_1 = cpp;
20699
- cpp.displayName = 'cpp';
20700
- cpp.aliases = [];
20701
- function cpp(Prism) {
20702
- Prism.register(refractorC$1)
20703
- ;(function (Prism) {
20704
- var keyword =
20705
- /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;
20706
- var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
20707
- /<keyword>/g,
20708
- function () {
20709
- return keyword.source
20710
- }
20711
- );
20712
- Prism.languages.cpp = Prism.languages.extend('c', {
20713
- 'class-name': [
20714
- {
20715
- pattern: RegExp(
20716
- /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
20717
- /<keyword>/g,
20718
- function () {
20719
- return keyword.source
20720
- }
20721
- )
20722
- ),
20723
- lookbehind: true
20724
- }, // This is intended to capture the class name of method implementations like:
20725
- // void foo::bar() const {}
20726
- // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
20727
- // it starts with an uppercase letter. This approximation should give decent results.
20728
- /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, // This will capture the class name before destructors like:
20729
- // Foo::~Foo() {}
20730
- /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, // This also intends to capture the class name of method implementations but here the class has template
20731
- // parameters, so it can't be a namespace (until C++ adds generic namespaces).
20732
- /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
20733
- ],
20734
- keyword: keyword,
20735
- number: {
20736
- pattern:
20737
- /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
20738
- greedy: true
20739
- },
20740
- operator:
20741
- />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
20742
- boolean: /\b(?:false|true)\b/
20743
- });
20744
- Prism.languages.insertBefore('cpp', 'string', {
20745
- module: {
20746
- // https://en.cppreference.com/w/cpp/language/modules
20747
- pattern: RegExp(
20748
- /(\b(?:import|module)\s+)/.source +
20749
- '(?:' + // header-name
20750
- /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source +
20751
- '|' + // module name or partition or both
20752
- /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
20753
- /<mod-name>/g,
20754
- function () {
20755
- return modName
20756
- }
20757
- ) +
20758
- ')'
20759
- ),
20760
- lookbehind: true,
20761
- greedy: true,
20762
- inside: {
20763
- string: /^[<"][\s\S]+/,
20764
- operator: /:/,
20765
- punctuation: /\./
20766
- }
20767
- },
20768
- 'raw-string': {
20769
- pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
20770
- alias: 'string',
20771
- greedy: true
20772
- }
20773
- });
20774
- Prism.languages.insertBefore('cpp', 'keyword', {
20775
- 'generic-function': {
20776
- pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
20777
- inside: {
20778
- function: /^\w+/,
20779
- generic: {
20780
- pattern: /<[\s\S]+/,
20781
- alias: 'class-name',
20782
- inside: Prism.languages.cpp
20783
- }
20784
- }
20785
- }
20786
- });
20787
- Prism.languages.insertBefore('cpp', 'operator', {
20788
- 'double-colon': {
20789
- pattern: /::/,
20790
- alias: 'punctuation'
20791
- }
20792
- });
20793
- Prism.languages.insertBefore('cpp', 'class-name', {
20794
- // the base clause is an optional list of parent classes
20795
- // https://en.cppreference.com/w/cpp/language/class
20796
- 'base-clause': {
20797
- pattern:
20798
- /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
20799
- lookbehind: true,
20800
- greedy: true,
20801
- inside: Prism.languages.extend('cpp', {})
20802
- }
20803
- });
20804
- Prism.languages.insertBefore(
20805
- 'inside',
20806
- 'double-colon',
20807
- {
20808
- // All untokenized words that are not namespaces should be class names
20809
- 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i
20810
- },
20811
- Prism.languages.cpp['base-clause']
20812
- );
20813
- })(Prism);
20697
+ var cpp_1;
20698
+ var hasRequiredCpp;
20699
+
20700
+ function requireCpp () {
20701
+ if (hasRequiredCpp) return cpp_1;
20702
+ hasRequiredCpp = 1;
20703
+ var refractorC = c_1;
20704
+ cpp_1 = cpp;
20705
+ cpp.displayName = 'cpp';
20706
+ cpp.aliases = [];
20707
+ function cpp(Prism) {
20708
+ Prism.register(refractorC)
20709
+ ;(function (Prism) {
20710
+ var keyword =
20711
+ /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;
20712
+ var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
20713
+ /<keyword>/g,
20714
+ function () {
20715
+ return keyword.source
20716
+ }
20717
+ );
20718
+ Prism.languages.cpp = Prism.languages.extend('c', {
20719
+ 'class-name': [
20720
+ {
20721
+ pattern: RegExp(
20722
+ /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
20723
+ /<keyword>/g,
20724
+ function () {
20725
+ return keyword.source
20726
+ }
20727
+ )
20728
+ ),
20729
+ lookbehind: true
20730
+ }, // This is intended to capture the class name of method implementations like:
20731
+ // void foo::bar() const {}
20732
+ // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
20733
+ // it starts with an uppercase letter. This approximation should give decent results.
20734
+ /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, // This will capture the class name before destructors like:
20735
+ // Foo::~Foo() {}
20736
+ /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, // This also intends to capture the class name of method implementations but here the class has template
20737
+ // parameters, so it can't be a namespace (until C++ adds generic namespaces).
20738
+ /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
20739
+ ],
20740
+ keyword: keyword,
20741
+ number: {
20742
+ pattern:
20743
+ /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
20744
+ greedy: true
20745
+ },
20746
+ operator:
20747
+ />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
20748
+ boolean: /\b(?:false|true)\b/
20749
+ });
20750
+ Prism.languages.insertBefore('cpp', 'string', {
20751
+ module: {
20752
+ // https://en.cppreference.com/w/cpp/language/modules
20753
+ pattern: RegExp(
20754
+ /(\b(?:import|module)\s+)/.source +
20755
+ '(?:' + // header-name
20756
+ /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source +
20757
+ '|' + // module name or partition or both
20758
+ /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
20759
+ /<mod-name>/g,
20760
+ function () {
20761
+ return modName
20762
+ }
20763
+ ) +
20764
+ ')'
20765
+ ),
20766
+ lookbehind: true,
20767
+ greedy: true,
20768
+ inside: {
20769
+ string: /^[<"][\s\S]+/,
20770
+ operator: /:/,
20771
+ punctuation: /\./
20772
+ }
20773
+ },
20774
+ 'raw-string': {
20775
+ pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
20776
+ alias: 'string',
20777
+ greedy: true
20778
+ }
20779
+ });
20780
+ Prism.languages.insertBefore('cpp', 'keyword', {
20781
+ 'generic-function': {
20782
+ pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
20783
+ inside: {
20784
+ function: /^\w+/,
20785
+ generic: {
20786
+ pattern: /<[\s\S]+/,
20787
+ alias: 'class-name',
20788
+ inside: Prism.languages.cpp
20789
+ }
20790
+ }
20791
+ }
20792
+ });
20793
+ Prism.languages.insertBefore('cpp', 'operator', {
20794
+ 'double-colon': {
20795
+ pattern: /::/,
20796
+ alias: 'punctuation'
20797
+ }
20798
+ });
20799
+ Prism.languages.insertBefore('cpp', 'class-name', {
20800
+ // the base clause is an optional list of parent classes
20801
+ // https://en.cppreference.com/w/cpp/language/class
20802
+ 'base-clause': {
20803
+ pattern:
20804
+ /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
20805
+ lookbehind: true,
20806
+ greedy: true,
20807
+ inside: Prism.languages.extend('cpp', {})
20808
+ }
20809
+ });
20810
+ Prism.languages.insertBefore(
20811
+ 'inside',
20812
+ 'double-colon',
20813
+ {
20814
+ // All untokenized words that are not namespaces should be class names
20815
+ 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i
20816
+ },
20817
+ Prism.languages.cpp['base-clause']
20818
+ );
20819
+ })(Prism);
20820
+ }
20821
+ return cpp_1;
20814
20822
  }
20815
20823
 
20816
- var refractorCpp$1 = cpp_1;
20824
+ var refractorCpp$1 = requireCpp();
20817
20825
  var arduino_1 = arduino;
20818
20826
  arduino.displayName = 'arduino';
20819
20827
  arduino.aliases = ['ino'];
@@ -21157,475 +21165,484 @@ function asmatmel(Prism) {
21157
21165
  };
21158
21166
  }
21159
21167
 
21160
- var csharp_1 = csharp;
21161
- csharp.displayName = 'csharp';
21162
- csharp.aliases = ['dotnet', 'cs'];
21163
- function csharp(Prism) {
21168
+ var csharp_1;
21169
+ var hasRequiredCsharp;
21170
+
21171
+ function requireCsharp () {
21172
+ if (hasRequiredCsharp) return csharp_1;
21173
+ hasRequiredCsharp = 1;
21174
+
21175
+ csharp_1 = csharp;
21176
+ csharp.displayName = 'csharp';
21177
+ csharp.aliases = ['dotnet', 'cs'];
21178
+ function csharp(Prism) {
21164
21179
  (function (Prism) {
21165
- /**
21166
- * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
21167
- *
21168
- * Note: This is a simple text based replacement. Be careful when using backreferences!
21169
- *
21170
- * @param {string} pattern the given pattern.
21171
- * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
21172
- * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
21173
- * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
21174
- */
21175
- function replace(pattern, replacements) {
21176
- return pattern.replace(/<<(\d+)>>/g, function (m, index) {
21177
- return '(?:' + replacements[+index] + ')'
21178
- })
21179
- }
21180
- /**
21181
- * @param {string} pattern
21182
- * @param {string[]} replacements
21183
- * @param {string} [flags]
21184
- * @returns {RegExp}
21185
- */
21186
- function re(pattern, replacements, flags) {
21187
- return RegExp(replace(pattern, replacements), flags || '')
21188
- }
21189
- /**
21190
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
21191
- *
21192
- * @param {string} pattern
21193
- * @param {number} depthLog2
21194
- * @returns {string}
21195
- */
21196
- function nested(pattern, depthLog2) {
21197
- for (var i = 0; i < depthLog2; i++) {
21198
- pattern = pattern.replace(/<<self>>/g, function () {
21199
- return '(?:' + pattern + ')'
21200
- });
21201
- }
21202
- return pattern.replace(/<<self>>/g, '[^\\s\\S]')
21203
- } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
21204
- var keywordKinds = {
21205
- // keywords which represent a return or variable type
21206
- type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
21207
- // keywords which are used to declare a type
21208
- typeDeclaration: 'class enum interface record struct',
21209
- // contextual keywords
21210
- // ("var" and "dynamic" are missing because they are used like types)
21211
- contextual:
21212
- '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*{)',
21213
- // all other keywords
21214
- other:
21215
- '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'
21216
- }; // keywords
21217
- function keywordsToPattern(words) {
21218
- return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
21219
- }
21220
- var typeDeclarationKeywords = keywordsToPattern(
21221
- keywordKinds.typeDeclaration
21222
- );
21223
- var keywords = RegExp(
21224
- keywordsToPattern(
21225
- keywordKinds.type +
21226
- ' ' +
21227
- keywordKinds.typeDeclaration +
21228
- ' ' +
21229
- keywordKinds.contextual +
21230
- ' ' +
21231
- keywordKinds.other
21232
- )
21233
- );
21234
- var nonTypeKeywords = keywordsToPattern(
21235
- keywordKinds.typeDeclaration +
21236
- ' ' +
21237
- keywordKinds.contextual +
21238
- ' ' +
21239
- keywordKinds.other
21240
- );
21241
- var nonContextualKeywords = keywordsToPattern(
21242
- keywordKinds.type +
21243
- ' ' +
21244
- keywordKinds.typeDeclaration +
21245
- ' ' +
21246
- keywordKinds.other
21247
- ); // types
21248
- var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
21249
- var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
21250
- var name = /@?\b[A-Za-z_]\w*\b/.source;
21251
- var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
21252
- var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
21253
- nonTypeKeywords,
21254
- genericName
21255
- ]);
21256
- var array = /\[\s*(?:,\s*)*\]/.source;
21257
- var typeExpressionWithoutTuple = replace(
21258
- /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
21259
- [identifier, array]
21260
- );
21261
- var tupleElement = replace(
21262
- /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
21263
- [generic, nestedRound, array]
21264
- );
21265
- var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
21266
- var typeExpression = replace(
21267
- /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
21268
- [tuple, identifier, array]
21269
- );
21270
- var typeInside = {
21271
- keyword: keywords,
21272
- punctuation: /[<>()?,.:[\]]/
21273
- }; // strings & characters
21274
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
21275
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
21276
- var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
21277
- var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
21278
- var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
21279
- Prism.languages.csharp = Prism.languages.extend('clike', {
21280
- string: [
21281
- {
21282
- pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
21283
- lookbehind: true,
21284
- greedy: true
21285
- },
21286
- {
21287
- pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
21288
- lookbehind: true,
21289
- greedy: true
21290
- }
21291
- ],
21292
- 'class-name': [
21293
- {
21294
- // Using static
21295
- // using static System.Math;
21296
- pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
21297
- identifier
21298
- ]),
21299
- lookbehind: true,
21300
- inside: typeInside
21301
- },
21302
- {
21303
- // Using alias (type)
21304
- // using Project = PC.MyCompany.Project;
21305
- pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
21306
- name,
21307
- typeExpression
21308
- ]),
21309
- lookbehind: true,
21310
- inside: typeInside
21311
- },
21312
- {
21313
- // Using alias (alias)
21314
- // using Project = PC.MyCompany.Project;
21315
- pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
21316
- lookbehind: true
21317
- },
21318
- {
21319
- // Type declarations
21320
- // class Foo<A, B>
21321
- // interface Foo<out A, B>
21322
- pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
21323
- typeDeclarationKeywords,
21324
- genericName
21325
- ]),
21326
- lookbehind: true,
21327
- inside: typeInside
21328
- },
21329
- {
21330
- // Single catch exception declaration
21331
- // catch(Foo)
21332
- // (things like catch(Foo e) is covered by variable declaration)
21333
- pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
21334
- lookbehind: true,
21335
- inside: typeInside
21336
- },
21337
- {
21338
- // Name of the type parameter of generic constraints
21339
- // where Foo : class
21340
- pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
21341
- lookbehind: true
21342
- },
21343
- {
21344
- // Casts and checks via as and is.
21345
- // as Foo<A>, is Bar<B>
21346
- // (things like if(a is Foo b) is covered by variable declaration)
21347
- pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
21348
- typeExpressionWithoutTuple
21349
- ]),
21350
- lookbehind: true,
21351
- inside: typeInside
21352
- },
21353
- {
21354
- // Variable, field and parameter declaration
21355
- // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
21356
- pattern: re(
21357
- /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
21358
- .source,
21359
- [typeExpression, nonContextualKeywords, name]
21360
- ),
21361
- inside: typeInside
21362
- }
21363
- ],
21364
- keyword: keywords,
21365
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
21366
- number:
21367
- /(?:\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,
21368
- operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
21369
- punctuation: /\?\.?|::|[{}[\];(),.:]/
21370
- });
21371
- Prism.languages.insertBefore('csharp', 'number', {
21372
- range: {
21373
- pattern: /\.\./,
21374
- alias: 'operator'
21375
- }
21376
- });
21377
- Prism.languages.insertBefore('csharp', 'punctuation', {
21378
- 'named-parameter': {
21379
- pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
21380
- lookbehind: true,
21381
- alias: 'punctuation'
21382
- }
21383
- });
21384
- Prism.languages.insertBefore('csharp', 'class-name', {
21385
- namespace: {
21386
- // namespace Foo.Bar {}
21387
- // using Foo.Bar;
21388
- pattern: re(
21389
- /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
21390
- [name]
21391
- ),
21392
- lookbehind: true,
21393
- inside: {
21394
- punctuation: /\./
21395
- }
21396
- },
21397
- 'type-expression': {
21398
- // default(Foo), typeof(Foo<Bar>), sizeof(int)
21399
- pattern: re(
21400
- /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
21401
- .source,
21402
- [nestedRound]
21403
- ),
21404
- lookbehind: true,
21405
- alias: 'class-name',
21406
- inside: typeInside
21407
- },
21408
- 'return-type': {
21409
- // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
21410
- // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
21411
- // int Foo => 0; int Foo { get; set } = 0;
21412
- pattern: re(
21413
- /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
21414
- [typeExpression, identifier]
21415
- ),
21416
- inside: typeInside,
21417
- alias: 'class-name'
21418
- },
21419
- 'constructor-invocation': {
21420
- // new List<Foo<Bar[]>> { }
21421
- pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
21422
- lookbehind: true,
21423
- inside: typeInside,
21424
- alias: 'class-name'
21425
- },
21426
- /*'explicit-implementation': {
21427
- // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
21428
- pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
21429
- inside: classNameInside,
21430
- alias: 'class-name'
21431
- },*/
21432
- 'generic-method': {
21433
- // foo<Bar>()
21434
- pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
21435
- inside: {
21436
- function: re(/^<<0>>/.source, [name]),
21437
- generic: {
21438
- pattern: RegExp(generic),
21439
- alias: 'class-name',
21440
- inside: typeInside
21441
- }
21442
- }
21443
- },
21444
- 'type-list': {
21445
- // The list of types inherited or of generic constraints
21446
- // class Foo<F> : Bar, IList<FooBar>
21447
- // where F : Bar, IList<int>
21448
- pattern: re(
21449
- /\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|[{;]|=>|$))/
21450
- .source,
21451
- [
21452
- typeDeclarationKeywords,
21453
- genericName,
21454
- name,
21455
- typeExpression,
21456
- keywords.source,
21457
- nestedRound,
21458
- /\bnew\s*\(\s*\)/.source
21459
- ]
21460
- ),
21461
- lookbehind: true,
21462
- inside: {
21463
- 'record-arguments': {
21464
- pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
21465
- genericName,
21466
- nestedRound
21467
- ]),
21468
- lookbehind: true,
21469
- greedy: true,
21470
- inside: Prism.languages.csharp
21471
- },
21472
- keyword: keywords,
21473
- 'class-name': {
21474
- pattern: RegExp(typeExpression),
21475
- greedy: true,
21476
- inside: typeInside
21477
- },
21478
- punctuation: /[,()]/
21479
- }
21480
- },
21481
- preprocessor: {
21482
- pattern: /(^[\t ]*)#.*/m,
21483
- lookbehind: true,
21484
- alias: 'property',
21485
- inside: {
21486
- // highlight preprocessor directives as keywords
21487
- directive: {
21488
- pattern:
21489
- /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
21490
- lookbehind: true,
21491
- alias: 'keyword'
21492
- }
21493
- }
21494
- }
21495
- }); // attributes
21496
- var regularStringOrCharacter = regularString + '|' + character;
21497
- var regularStringCharacterOrComment = replace(
21498
- /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
21499
- [regularStringOrCharacter]
21500
- );
21501
- var roundExpression = nested(
21502
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21503
- regularStringCharacterOrComment
21504
- ]),
21505
- 2
21506
- ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
21507
- var attrTarget =
21508
- /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
21509
- .source;
21510
- var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
21511
- identifier,
21512
- roundExpression
21513
- ]);
21514
- Prism.languages.insertBefore('csharp', 'class-name', {
21515
- attribute: {
21516
- // Attributes
21517
- // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
21518
- pattern: re(
21519
- /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
21520
- .source,
21521
- [attrTarget, attr]
21522
- ),
21523
- lookbehind: true,
21524
- greedy: true,
21525
- inside: {
21526
- target: {
21527
- pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
21528
- alias: 'keyword'
21529
- },
21530
- 'attribute-arguments': {
21531
- pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
21532
- inside: Prism.languages.csharp
21533
- },
21534
- 'class-name': {
21535
- pattern: RegExp(identifier),
21536
- inside: {
21537
- punctuation: /\./
21538
- }
21539
- },
21540
- punctuation: /[:,]/
21541
- }
21542
- }
21543
- }); // string interpolation
21544
- var formatString = /:[^}\r\n]+/.source; // multi line
21545
- var mInterpolationRound = nested(
21546
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21547
- regularStringCharacterOrComment
21548
- ]),
21549
- 2
21550
- );
21551
- var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21552
- mInterpolationRound,
21553
- formatString
21554
- ]); // single line
21555
- var sInterpolationRound = nested(
21556
- replace(
21557
- /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
21558
- .source,
21559
- [regularStringOrCharacter]
21560
- ),
21561
- 2
21562
- );
21563
- var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21564
- sInterpolationRound,
21565
- formatString
21566
- ]);
21567
- function createInterpolationInside(interpolation, interpolationRound) {
21568
- return {
21569
- interpolation: {
21570
- pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
21571
- lookbehind: true,
21572
- inside: {
21573
- 'format-string': {
21574
- pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
21575
- interpolationRound,
21576
- formatString
21577
- ]),
21578
- lookbehind: true,
21579
- inside: {
21580
- punctuation: /^:/
21581
- }
21582
- },
21583
- punctuation: /^\{|\}$/,
21584
- expression: {
21585
- pattern: /[\s\S]+/,
21586
- alias: 'language-csharp',
21587
- inside: Prism.languages.csharp
21588
- }
21589
- }
21590
- },
21591
- string: /[\s\S]+/
21592
- }
21593
- }
21594
- Prism.languages.insertBefore('csharp', 'string', {
21595
- 'interpolation-string': [
21596
- {
21597
- pattern: re(
21598
- /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
21599
- [mInterpolation]
21600
- ),
21601
- lookbehind: true,
21602
- greedy: true,
21603
- inside: createInterpolationInside(mInterpolation, mInterpolationRound)
21604
- },
21605
- {
21606
- pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
21607
- sInterpolation
21608
- ]),
21609
- lookbehind: true,
21610
- greedy: true,
21611
- inside: createInterpolationInside(sInterpolation, sInterpolationRound)
21612
- }
21613
- ],
21614
- char: {
21615
- pattern: RegExp(character),
21616
- greedy: true
21617
- }
21618
- });
21619
- Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
21620
- })(Prism);
21180
+ /**
21181
+ * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
21182
+ *
21183
+ * Note: This is a simple text based replacement. Be careful when using backreferences!
21184
+ *
21185
+ * @param {string} pattern the given pattern.
21186
+ * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
21187
+ * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
21188
+ * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
21189
+ */
21190
+ function replace(pattern, replacements) {
21191
+ return pattern.replace(/<<(\d+)>>/g, function (m, index) {
21192
+ return '(?:' + replacements[+index] + ')'
21193
+ })
21194
+ }
21195
+ /**
21196
+ * @param {string} pattern
21197
+ * @param {string[]} replacements
21198
+ * @param {string} [flags]
21199
+ * @returns {RegExp}
21200
+ */
21201
+ function re(pattern, replacements, flags) {
21202
+ return RegExp(replace(pattern, replacements), flags || '')
21203
+ }
21204
+ /**
21205
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
21206
+ *
21207
+ * @param {string} pattern
21208
+ * @param {number} depthLog2
21209
+ * @returns {string}
21210
+ */
21211
+ function nested(pattern, depthLog2) {
21212
+ for (var i = 0; i < depthLog2; i++) {
21213
+ pattern = pattern.replace(/<<self>>/g, function () {
21214
+ return '(?:' + pattern + ')'
21215
+ });
21216
+ }
21217
+ return pattern.replace(/<<self>>/g, '[^\\s\\S]')
21218
+ } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
21219
+ var keywordKinds = {
21220
+ // keywords which represent a return or variable type
21221
+ type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
21222
+ // keywords which are used to declare a type
21223
+ typeDeclaration: 'class enum interface record struct',
21224
+ // contextual keywords
21225
+ // ("var" and "dynamic" are missing because they are used like types)
21226
+ contextual:
21227
+ '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*{)',
21228
+ // all other keywords
21229
+ other:
21230
+ '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'
21231
+ }; // keywords
21232
+ function keywordsToPattern(words) {
21233
+ return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
21234
+ }
21235
+ var typeDeclarationKeywords = keywordsToPattern(
21236
+ keywordKinds.typeDeclaration
21237
+ );
21238
+ var keywords = RegExp(
21239
+ keywordsToPattern(
21240
+ keywordKinds.type +
21241
+ ' ' +
21242
+ keywordKinds.typeDeclaration +
21243
+ ' ' +
21244
+ keywordKinds.contextual +
21245
+ ' ' +
21246
+ keywordKinds.other
21247
+ )
21248
+ );
21249
+ var nonTypeKeywords = keywordsToPattern(
21250
+ keywordKinds.typeDeclaration +
21251
+ ' ' +
21252
+ keywordKinds.contextual +
21253
+ ' ' +
21254
+ keywordKinds.other
21255
+ );
21256
+ var nonContextualKeywords = keywordsToPattern(
21257
+ keywordKinds.type +
21258
+ ' ' +
21259
+ keywordKinds.typeDeclaration +
21260
+ ' ' +
21261
+ keywordKinds.other
21262
+ ); // types
21263
+ var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
21264
+ var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
21265
+ var name = /@?\b[A-Za-z_]\w*\b/.source;
21266
+ var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
21267
+ var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
21268
+ nonTypeKeywords,
21269
+ genericName
21270
+ ]);
21271
+ var array = /\[\s*(?:,\s*)*\]/.source;
21272
+ var typeExpressionWithoutTuple = replace(
21273
+ /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
21274
+ [identifier, array]
21275
+ );
21276
+ var tupleElement = replace(
21277
+ /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
21278
+ [generic, nestedRound, array]
21279
+ );
21280
+ var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
21281
+ var typeExpression = replace(
21282
+ /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
21283
+ [tuple, identifier, array]
21284
+ );
21285
+ var typeInside = {
21286
+ keyword: keywords,
21287
+ punctuation: /[<>()?,.:[\]]/
21288
+ }; // strings & characters
21289
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
21290
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
21291
+ var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
21292
+ var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
21293
+ var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
21294
+ Prism.languages.csharp = Prism.languages.extend('clike', {
21295
+ string: [
21296
+ {
21297
+ pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
21298
+ lookbehind: true,
21299
+ greedy: true
21300
+ },
21301
+ {
21302
+ pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
21303
+ lookbehind: true,
21304
+ greedy: true
21305
+ }
21306
+ ],
21307
+ 'class-name': [
21308
+ {
21309
+ // Using static
21310
+ // using static System.Math;
21311
+ pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
21312
+ identifier
21313
+ ]),
21314
+ lookbehind: true,
21315
+ inside: typeInside
21316
+ },
21317
+ {
21318
+ // Using alias (type)
21319
+ // using Project = PC.MyCompany.Project;
21320
+ pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
21321
+ name,
21322
+ typeExpression
21323
+ ]),
21324
+ lookbehind: true,
21325
+ inside: typeInside
21326
+ },
21327
+ {
21328
+ // Using alias (alias)
21329
+ // using Project = PC.MyCompany.Project;
21330
+ pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
21331
+ lookbehind: true
21332
+ },
21333
+ {
21334
+ // Type declarations
21335
+ // class Foo<A, B>
21336
+ // interface Foo<out A, B>
21337
+ pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
21338
+ typeDeclarationKeywords,
21339
+ genericName
21340
+ ]),
21341
+ lookbehind: true,
21342
+ inside: typeInside
21343
+ },
21344
+ {
21345
+ // Single catch exception declaration
21346
+ // catch(Foo)
21347
+ // (things like catch(Foo e) is covered by variable declaration)
21348
+ pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
21349
+ lookbehind: true,
21350
+ inside: typeInside
21351
+ },
21352
+ {
21353
+ // Name of the type parameter of generic constraints
21354
+ // where Foo : class
21355
+ pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
21356
+ lookbehind: true
21357
+ },
21358
+ {
21359
+ // Casts and checks via as and is.
21360
+ // as Foo<A>, is Bar<B>
21361
+ // (things like if(a is Foo b) is covered by variable declaration)
21362
+ pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
21363
+ typeExpressionWithoutTuple
21364
+ ]),
21365
+ lookbehind: true,
21366
+ inside: typeInside
21367
+ },
21368
+ {
21369
+ // Variable, field and parameter declaration
21370
+ // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
21371
+ pattern: re(
21372
+ /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
21373
+ .source,
21374
+ [typeExpression, nonContextualKeywords, name]
21375
+ ),
21376
+ inside: typeInside
21377
+ }
21378
+ ],
21379
+ keyword: keywords,
21380
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
21381
+ number:
21382
+ /(?:\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,
21383
+ operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
21384
+ punctuation: /\?\.?|::|[{}[\];(),.:]/
21385
+ });
21386
+ Prism.languages.insertBefore('csharp', 'number', {
21387
+ range: {
21388
+ pattern: /\.\./,
21389
+ alias: 'operator'
21390
+ }
21391
+ });
21392
+ Prism.languages.insertBefore('csharp', 'punctuation', {
21393
+ 'named-parameter': {
21394
+ pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
21395
+ lookbehind: true,
21396
+ alias: 'punctuation'
21397
+ }
21398
+ });
21399
+ Prism.languages.insertBefore('csharp', 'class-name', {
21400
+ namespace: {
21401
+ // namespace Foo.Bar {}
21402
+ // using Foo.Bar;
21403
+ pattern: re(
21404
+ /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
21405
+ [name]
21406
+ ),
21407
+ lookbehind: true,
21408
+ inside: {
21409
+ punctuation: /\./
21410
+ }
21411
+ },
21412
+ 'type-expression': {
21413
+ // default(Foo), typeof(Foo<Bar>), sizeof(int)
21414
+ pattern: re(
21415
+ /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
21416
+ .source,
21417
+ [nestedRound]
21418
+ ),
21419
+ lookbehind: true,
21420
+ alias: 'class-name',
21421
+ inside: typeInside
21422
+ },
21423
+ 'return-type': {
21424
+ // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
21425
+ // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
21426
+ // int Foo => 0; int Foo { get; set } = 0;
21427
+ pattern: re(
21428
+ /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
21429
+ [typeExpression, identifier]
21430
+ ),
21431
+ inside: typeInside,
21432
+ alias: 'class-name'
21433
+ },
21434
+ 'constructor-invocation': {
21435
+ // new List<Foo<Bar[]>> { }
21436
+ pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
21437
+ lookbehind: true,
21438
+ inside: typeInside,
21439
+ alias: 'class-name'
21440
+ },
21441
+ /*'explicit-implementation': {
21442
+ // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
21443
+ pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
21444
+ inside: classNameInside,
21445
+ alias: 'class-name'
21446
+ },*/
21447
+ 'generic-method': {
21448
+ // foo<Bar>()
21449
+ pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
21450
+ inside: {
21451
+ function: re(/^<<0>>/.source, [name]),
21452
+ generic: {
21453
+ pattern: RegExp(generic),
21454
+ alias: 'class-name',
21455
+ inside: typeInside
21456
+ }
21457
+ }
21458
+ },
21459
+ 'type-list': {
21460
+ // The list of types inherited or of generic constraints
21461
+ // class Foo<F> : Bar, IList<FooBar>
21462
+ // where F : Bar, IList<int>
21463
+ pattern: re(
21464
+ /\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|[{;]|=>|$))/
21465
+ .source,
21466
+ [
21467
+ typeDeclarationKeywords,
21468
+ genericName,
21469
+ name,
21470
+ typeExpression,
21471
+ keywords.source,
21472
+ nestedRound,
21473
+ /\bnew\s*\(\s*\)/.source
21474
+ ]
21475
+ ),
21476
+ lookbehind: true,
21477
+ inside: {
21478
+ 'record-arguments': {
21479
+ pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
21480
+ genericName,
21481
+ nestedRound
21482
+ ]),
21483
+ lookbehind: true,
21484
+ greedy: true,
21485
+ inside: Prism.languages.csharp
21486
+ },
21487
+ keyword: keywords,
21488
+ 'class-name': {
21489
+ pattern: RegExp(typeExpression),
21490
+ greedy: true,
21491
+ inside: typeInside
21492
+ },
21493
+ punctuation: /[,()]/
21494
+ }
21495
+ },
21496
+ preprocessor: {
21497
+ pattern: /(^[\t ]*)#.*/m,
21498
+ lookbehind: true,
21499
+ alias: 'property',
21500
+ inside: {
21501
+ // highlight preprocessor directives as keywords
21502
+ directive: {
21503
+ pattern:
21504
+ /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
21505
+ lookbehind: true,
21506
+ alias: 'keyword'
21507
+ }
21508
+ }
21509
+ }
21510
+ }); // attributes
21511
+ var regularStringOrCharacter = regularString + '|' + character;
21512
+ var regularStringCharacterOrComment = replace(
21513
+ /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
21514
+ [regularStringOrCharacter]
21515
+ );
21516
+ var roundExpression = nested(
21517
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21518
+ regularStringCharacterOrComment
21519
+ ]),
21520
+ 2
21521
+ ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
21522
+ var attrTarget =
21523
+ /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
21524
+ .source;
21525
+ var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
21526
+ identifier,
21527
+ roundExpression
21528
+ ]);
21529
+ Prism.languages.insertBefore('csharp', 'class-name', {
21530
+ attribute: {
21531
+ // Attributes
21532
+ // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
21533
+ pattern: re(
21534
+ /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
21535
+ .source,
21536
+ [attrTarget, attr]
21537
+ ),
21538
+ lookbehind: true,
21539
+ greedy: true,
21540
+ inside: {
21541
+ target: {
21542
+ pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
21543
+ alias: 'keyword'
21544
+ },
21545
+ 'attribute-arguments': {
21546
+ pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
21547
+ inside: Prism.languages.csharp
21548
+ },
21549
+ 'class-name': {
21550
+ pattern: RegExp(identifier),
21551
+ inside: {
21552
+ punctuation: /\./
21553
+ }
21554
+ },
21555
+ punctuation: /[:,]/
21556
+ }
21557
+ }
21558
+ }); // string interpolation
21559
+ var formatString = /:[^}\r\n]+/.source; // multi line
21560
+ var mInterpolationRound = nested(
21561
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21562
+ regularStringCharacterOrComment
21563
+ ]),
21564
+ 2
21565
+ );
21566
+ var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21567
+ mInterpolationRound,
21568
+ formatString
21569
+ ]); // single line
21570
+ var sInterpolationRound = nested(
21571
+ replace(
21572
+ /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
21573
+ .source,
21574
+ [regularStringOrCharacter]
21575
+ ),
21576
+ 2
21577
+ );
21578
+ var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21579
+ sInterpolationRound,
21580
+ formatString
21581
+ ]);
21582
+ function createInterpolationInside(interpolation, interpolationRound) {
21583
+ return {
21584
+ interpolation: {
21585
+ pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
21586
+ lookbehind: true,
21587
+ inside: {
21588
+ 'format-string': {
21589
+ pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
21590
+ interpolationRound,
21591
+ formatString
21592
+ ]),
21593
+ lookbehind: true,
21594
+ inside: {
21595
+ punctuation: /^:/
21596
+ }
21597
+ },
21598
+ punctuation: /^\{|\}$/,
21599
+ expression: {
21600
+ pattern: /[\s\S]+/,
21601
+ alias: 'language-csharp',
21602
+ inside: Prism.languages.csharp
21603
+ }
21604
+ }
21605
+ },
21606
+ string: /[\s\S]+/
21607
+ }
21608
+ }
21609
+ Prism.languages.insertBefore('csharp', 'string', {
21610
+ 'interpolation-string': [
21611
+ {
21612
+ pattern: re(
21613
+ /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
21614
+ [mInterpolation]
21615
+ ),
21616
+ lookbehind: true,
21617
+ greedy: true,
21618
+ inside: createInterpolationInside(mInterpolation, mInterpolationRound)
21619
+ },
21620
+ {
21621
+ pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
21622
+ sInterpolation
21623
+ ]),
21624
+ lookbehind: true,
21625
+ greedy: true,
21626
+ inside: createInterpolationInside(sInterpolation, sInterpolationRound)
21627
+ }
21628
+ ],
21629
+ char: {
21630
+ pattern: RegExp(character),
21631
+ greedy: true
21632
+ }
21633
+ });
21634
+ Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
21635
+ })(Prism);
21636
+ }
21637
+ return csharp_1;
21621
21638
  }
21622
21639
 
21623
- var refractorCsharp$1 = csharp_1;
21640
+ var refractorCsharp = requireCsharp();
21624
21641
  var aspnet_1 = aspnet;
21625
21642
  aspnet.displayName = 'aspnet';
21626
21643
  aspnet.aliases = [];
21627
21644
  function aspnet(Prism) {
21628
- Prism.register(refractorCsharp$1);
21645
+ Prism.register(refractorCsharp);
21629
21646
  Prism.languages.aspnet = Prism.languages.extend('markup', {
21630
21647
  'page-directive': {
21631
21648
  pattern: /<%\s*@.*%>/,
@@ -22814,7 +22831,7 @@ function cfscript(Prism) {
22814
22831
  Prism.languages.cfc = Prism.languages['cfscript'];
22815
22832
  }
22816
22833
 
22817
- var refractorCpp = cpp_1;
22834
+ var refractorCpp = requireCpp();
22818
22835
  var chaiscript_1 = chaiscript;
22819
22836
  chaiscript.displayName = 'chaiscript';
22820
22837
  chaiscript.aliases = [];
@@ -22987,1088 +23004,1194 @@ function cmake(Prism) {
22987
23004
  };
22988
23005
  }
22989
23006
 
22990
- var cobol_1 = cobol;
22991
- cobol.displayName = 'cobol';
22992
- cobol.aliases = [];
22993
- function cobol(Prism) {
22994
- Prism.languages.cobol = {
22995
- comment: {
22996
- pattern: /\*>.*|(^[ \t]*)\*.*/m,
22997
- lookbehind: true,
22998
- greedy: true
22999
- },
23000
- string: {
23001
- pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
23002
- greedy: true
23003
- },
23004
- level: {
23005
- pattern: /(^[ \t]*)\d+\b/m,
23006
- lookbehind: true,
23007
- greedy: true,
23008
- alias: 'number'
23009
- },
23010
- 'class-name': {
23011
- // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
23012
- pattern:
23013
- /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
23014
- lookbehind: true,
23015
- inside: {
23016
- number: {
23017
- pattern: /(\()\d+/,
23018
- lookbehind: true
23019
- },
23020
- punctuation: /[()]/
23021
- }
23022
- },
23023
- keyword: {
23024
- pattern:
23025
- /(^|[^\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,
23026
- lookbehind: true
23027
- },
23028
- boolean: {
23029
- pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
23030
- lookbehind: true
23031
- },
23032
- number: {
23033
- pattern:
23034
- /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
23035
- lookbehind: true
23036
- },
23037
- operator: [
23038
- /<>|[<>]=?|[=+*/&]/,
23039
- {
23040
- pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
23041
- lookbehind: true
23042
- }
23043
- ],
23044
- punctuation: /[.:,()]/
23045
- };
23007
+ var cobol_1;
23008
+ var hasRequiredCobol;
23009
+
23010
+ function requireCobol () {
23011
+ if (hasRequiredCobol) return cobol_1;
23012
+ hasRequiredCobol = 1;
23013
+
23014
+ cobol_1 = cobol;
23015
+ cobol.displayName = 'cobol';
23016
+ cobol.aliases = [];
23017
+ function cobol(Prism) {
23018
+ Prism.languages.cobol = {
23019
+ comment: {
23020
+ pattern: /\*>.*|(^[ \t]*)\*.*/m,
23021
+ lookbehind: true,
23022
+ greedy: true
23023
+ },
23024
+ string: {
23025
+ pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
23026
+ greedy: true
23027
+ },
23028
+ level: {
23029
+ pattern: /(^[ \t]*)\d+\b/m,
23030
+ lookbehind: true,
23031
+ greedy: true,
23032
+ alias: 'number'
23033
+ },
23034
+ 'class-name': {
23035
+ // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
23036
+ pattern:
23037
+ /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
23038
+ lookbehind: true,
23039
+ inside: {
23040
+ number: {
23041
+ pattern: /(\()\d+/,
23042
+ lookbehind: true
23043
+ },
23044
+ punctuation: /[()]/
23045
+ }
23046
+ },
23047
+ keyword: {
23048
+ pattern:
23049
+ /(^|[^\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,
23050
+ lookbehind: true
23051
+ },
23052
+ boolean: {
23053
+ pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
23054
+ lookbehind: true
23055
+ },
23056
+ number: {
23057
+ pattern:
23058
+ /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
23059
+ lookbehind: true
23060
+ },
23061
+ operator: [
23062
+ /<>|[<>]=?|[=+*/&]/,
23063
+ {
23064
+ pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
23065
+ lookbehind: true
23066
+ }
23067
+ ],
23068
+ punctuation: /[.:,()]/
23069
+ };
23070
+ }
23071
+ return cobol_1;
23046
23072
  }
23047
23073
 
23048
- var coffeescript_1 = coffeescript;
23049
- coffeescript.displayName = 'coffeescript';
23050
- coffeescript.aliases = ['coffee'];
23051
- function coffeescript(Prism) {
23074
+ var coffeescript_1;
23075
+ var hasRequiredCoffeescript;
23076
+
23077
+ function requireCoffeescript () {
23078
+ if (hasRequiredCoffeescript) return coffeescript_1;
23079
+ hasRequiredCoffeescript = 1;
23080
+
23081
+ coffeescript_1 = coffeescript;
23082
+ coffeescript.displayName = 'coffeescript';
23083
+ coffeescript.aliases = ['coffee'];
23084
+ function coffeescript(Prism) {
23052
23085
  (function (Prism) {
23053
- // Ignore comments starting with { to privilege string interpolation highlighting
23054
- var comment = /#(?!\{).+/;
23055
- var interpolation = {
23056
- pattern: /#\{[^}]+\}/,
23057
- alias: 'variable'
23058
- };
23059
- Prism.languages.coffeescript = Prism.languages.extend('javascript', {
23060
- comment: comment,
23061
- string: [
23062
- // Strings are multiline
23063
- {
23064
- pattern: /'(?:\\[\s\S]|[^\\'])*'/,
23065
- greedy: true
23066
- },
23067
- {
23068
- // Strings are multiline
23069
- pattern: /"(?:\\[\s\S]|[^\\"])*"/,
23070
- greedy: true,
23071
- inside: {
23072
- interpolation: interpolation
23073
- }
23074
- }
23075
- ],
23076
- keyword:
23077
- /\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/,
23078
- 'class-member': {
23079
- pattern: /@(?!\d)\w+/,
23080
- alias: 'variable'
23081
- }
23082
- });
23083
- Prism.languages.insertBefore('coffeescript', 'comment', {
23084
- 'multiline-comment': {
23085
- pattern: /###[\s\S]+?###/,
23086
- alias: 'comment'
23087
- },
23088
- // Block regexp can contain comments and interpolation
23089
- 'block-regex': {
23090
- pattern: /\/{3}[\s\S]*?\/{3}/,
23091
- alias: 'regex',
23092
- inside: {
23093
- comment: comment,
23094
- interpolation: interpolation
23095
- }
23096
- }
23097
- });
23098
- Prism.languages.insertBefore('coffeescript', 'string', {
23099
- 'inline-javascript': {
23100
- pattern: /`(?:\\[\s\S]|[^\\`])*`/,
23101
- inside: {
23102
- delimiter: {
23103
- pattern: /^`|`$/,
23104
- alias: 'punctuation'
23105
- },
23106
- script: {
23107
- pattern: /[\s\S]+/,
23108
- alias: 'language-javascript',
23109
- inside: Prism.languages.javascript
23110
- }
23111
- }
23112
- },
23113
- // Block strings
23114
- 'multiline-string': [
23115
- {
23116
- pattern: /'''[\s\S]*?'''/,
23117
- greedy: true,
23118
- alias: 'string'
23119
- },
23120
- {
23121
- pattern: /"""[\s\S]*?"""/,
23122
- greedy: true,
23123
- alias: 'string',
23124
- inside: {
23125
- interpolation: interpolation
23126
- }
23127
- }
23128
- ]
23129
- });
23130
- Prism.languages.insertBefore('coffeescript', 'keyword', {
23131
- // Object property
23132
- property: /(?!\d)\w+(?=\s*:(?!:))/
23133
- });
23134
- delete Prism.languages.coffeescript['template-string'];
23135
- Prism.languages.coffee = Prism.languages.coffeescript;
23136
- })(Prism);
23086
+ // Ignore comments starting with { to privilege string interpolation highlighting
23087
+ var comment = /#(?!\{).+/;
23088
+ var interpolation = {
23089
+ pattern: /#\{[^}]+\}/,
23090
+ alias: 'variable'
23091
+ };
23092
+ Prism.languages.coffeescript = Prism.languages.extend('javascript', {
23093
+ comment: comment,
23094
+ string: [
23095
+ // Strings are multiline
23096
+ {
23097
+ pattern: /'(?:\\[\s\S]|[^\\'])*'/,
23098
+ greedy: true
23099
+ },
23100
+ {
23101
+ // Strings are multiline
23102
+ pattern: /"(?:\\[\s\S]|[^\\"])*"/,
23103
+ greedy: true,
23104
+ inside: {
23105
+ interpolation: interpolation
23106
+ }
23107
+ }
23108
+ ],
23109
+ keyword:
23110
+ /\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/,
23111
+ 'class-member': {
23112
+ pattern: /@(?!\d)\w+/,
23113
+ alias: 'variable'
23114
+ }
23115
+ });
23116
+ Prism.languages.insertBefore('coffeescript', 'comment', {
23117
+ 'multiline-comment': {
23118
+ pattern: /###[\s\S]+?###/,
23119
+ alias: 'comment'
23120
+ },
23121
+ // Block regexp can contain comments and interpolation
23122
+ 'block-regex': {
23123
+ pattern: /\/{3}[\s\S]*?\/{3}/,
23124
+ alias: 'regex',
23125
+ inside: {
23126
+ comment: comment,
23127
+ interpolation: interpolation
23128
+ }
23129
+ }
23130
+ });
23131
+ Prism.languages.insertBefore('coffeescript', 'string', {
23132
+ 'inline-javascript': {
23133
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
23134
+ inside: {
23135
+ delimiter: {
23136
+ pattern: /^`|`$/,
23137
+ alias: 'punctuation'
23138
+ },
23139
+ script: {
23140
+ pattern: /[\s\S]+/,
23141
+ alias: 'language-javascript',
23142
+ inside: Prism.languages.javascript
23143
+ }
23144
+ }
23145
+ },
23146
+ // Block strings
23147
+ 'multiline-string': [
23148
+ {
23149
+ pattern: /'''[\s\S]*?'''/,
23150
+ greedy: true,
23151
+ alias: 'string'
23152
+ },
23153
+ {
23154
+ pattern: /"""[\s\S]*?"""/,
23155
+ greedy: true,
23156
+ alias: 'string',
23157
+ inside: {
23158
+ interpolation: interpolation
23159
+ }
23160
+ }
23161
+ ]
23162
+ });
23163
+ Prism.languages.insertBefore('coffeescript', 'keyword', {
23164
+ // Object property
23165
+ property: /(?!\d)\w+(?=\s*:(?!:))/
23166
+ });
23167
+ delete Prism.languages.coffeescript['template-string'];
23168
+ Prism.languages.coffee = Prism.languages.coffeescript;
23169
+ })(Prism);
23170
+ }
23171
+ return coffeescript_1;
23137
23172
  }
23138
23173
 
23139
- var concurnas_1 = concurnas;
23140
- concurnas.displayName = 'concurnas';
23141
- concurnas.aliases = ['conc'];
23142
- function concurnas(Prism) {
23143
- Prism.languages.concurnas = {
23144
- comment: {
23145
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
23146
- lookbehind: true,
23147
- greedy: true
23148
- },
23149
- langext: {
23150
- pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
23151
- greedy: true,
23152
- inside: {
23153
- 'class-name': /^\w+/,
23154
- string: {
23155
- pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
23156
- lookbehind: true
23157
- },
23158
- punctuation: /\|\|/
23159
- }
23160
- },
23161
- function: {
23162
- pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
23163
- lookbehind: true
23164
- },
23165
- keyword:
23166
- /\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/,
23167
- boolean: /\b(?:false|true)\b/,
23168
- number:
23169
- /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
23170
- punctuation: /[{}[\];(),.:]/,
23171
- operator:
23172
- /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
23173
- annotation: {
23174
- pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
23175
- alias: 'builtin'
23176
- }
23177
- };
23178
- Prism.languages.insertBefore('concurnas', 'langext', {
23179
- 'regex-literal': {
23180
- pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23181
- greedy: true,
23182
- inside: {
23183
- interpolation: {
23184
- pattern:
23185
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23186
- lookbehind: true,
23187
- inside: Prism.languages.concurnas
23188
- },
23189
- regex: /[\s\S]+/
23190
- }
23191
- },
23192
- 'string-literal': {
23193
- pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23194
- greedy: true,
23195
- inside: {
23196
- interpolation: {
23197
- pattern:
23198
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23199
- lookbehind: true,
23200
- inside: Prism.languages.concurnas
23201
- },
23202
- string: /[\s\S]+/
23203
- }
23204
- }
23205
- });
23206
- Prism.languages.conc = Prism.languages.concurnas;
23207
- }
23174
+ var concurnas_1;
23175
+ var hasRequiredConcurnas;
23208
23176
 
23209
- var coq_1 = coq;
23210
- coq.displayName = 'coq';
23211
- coq.aliases = [];
23212
- function coq(Prism) {
23213
- (function (Prism) {
23214
- // https://github.com/coq/coq
23215
- var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
23216
- for (var i = 0; i < 2; i++) {
23217
- commentSource = commentSource.replace(/<self>/g, function () {
23218
- return commentSource
23219
- });
23220
- }
23221
- commentSource = commentSource.replace(/<self>/g, '[]');
23222
- Prism.languages.coq = {
23223
- comment: RegExp(commentSource),
23224
- string: {
23225
- pattern: /"(?:[^"]|"")*"(?!")/,
23226
- greedy: true
23227
- },
23228
- attribute: [
23229
- {
23230
- pattern: RegExp(
23231
- /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
23232
- /<comment>/g,
23233
- function () {
23234
- return commentSource
23235
- }
23236
- )
23237
- ),
23238
- greedy: true,
23239
- alias: 'attr-name',
23240
- inside: {
23241
- comment: RegExp(commentSource),
23242
- string: {
23243
- pattern: /"(?:[^"]|"")*"(?!")/,
23244
- greedy: true
23245
- },
23246
- operator: /=/,
23247
- punctuation: /^#\[|\]$|[,()]/
23248
- }
23249
- },
23250
- {
23251
- pattern:
23252
- /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
23253
- alias: 'attr-name'
23254
- }
23255
- ],
23256
- keyword:
23257
- /\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/,
23258
- number:
23259
- /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
23260
- punct: {
23261
- pattern: /@\{|\{\||\[=|:>/,
23262
- alias: 'punctuation'
23263
- },
23264
- operator:
23265
- /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
23266
- punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
23267
- };
23268
- })(Prism);
23177
+ function requireConcurnas () {
23178
+ if (hasRequiredConcurnas) return concurnas_1;
23179
+ hasRequiredConcurnas = 1;
23180
+
23181
+ concurnas_1 = concurnas;
23182
+ concurnas.displayName = 'concurnas';
23183
+ concurnas.aliases = ['conc'];
23184
+ function concurnas(Prism) {
23185
+ Prism.languages.concurnas = {
23186
+ comment: {
23187
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
23188
+ lookbehind: true,
23189
+ greedy: true
23190
+ },
23191
+ langext: {
23192
+ pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
23193
+ greedy: true,
23194
+ inside: {
23195
+ 'class-name': /^\w+/,
23196
+ string: {
23197
+ pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
23198
+ lookbehind: true
23199
+ },
23200
+ punctuation: /\|\|/
23201
+ }
23202
+ },
23203
+ function: {
23204
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
23205
+ lookbehind: true
23206
+ },
23207
+ keyword:
23208
+ /\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/,
23209
+ boolean: /\b(?:false|true)\b/,
23210
+ number:
23211
+ /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
23212
+ punctuation: /[{}[\];(),.:]/,
23213
+ operator:
23214
+ /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
23215
+ annotation: {
23216
+ pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
23217
+ alias: 'builtin'
23218
+ }
23219
+ };
23220
+ Prism.languages.insertBefore('concurnas', 'langext', {
23221
+ 'regex-literal': {
23222
+ pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23223
+ greedy: true,
23224
+ inside: {
23225
+ interpolation: {
23226
+ pattern:
23227
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23228
+ lookbehind: true,
23229
+ inside: Prism.languages.concurnas
23230
+ },
23231
+ regex: /[\s\S]+/
23232
+ }
23233
+ },
23234
+ 'string-literal': {
23235
+ pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23236
+ greedy: true,
23237
+ inside: {
23238
+ interpolation: {
23239
+ pattern:
23240
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23241
+ lookbehind: true,
23242
+ inside: Prism.languages.concurnas
23243
+ },
23244
+ string: /[\s\S]+/
23245
+ }
23246
+ }
23247
+ });
23248
+ Prism.languages.conc = Prism.languages.concurnas;
23249
+ }
23250
+ return concurnas_1;
23269
23251
  }
23270
23252
 
23271
- var ruby_1 = ruby;
23272
- ruby.displayName = 'ruby';
23273
- ruby.aliases = ['rb'];
23274
- function ruby(Prism) {
23253
+ var coq_1;
23254
+ var hasRequiredCoq;
23255
+
23256
+ function requireCoq () {
23257
+ if (hasRequiredCoq) return coq_1;
23258
+ hasRequiredCoq = 1;
23259
+
23260
+ coq_1 = coq;
23261
+ coq.displayName = 'coq';
23262
+ coq.aliases = [];
23263
+ function coq(Prism) {
23275
23264
  (function (Prism) {
23276
- Prism.languages.ruby = Prism.languages.extend('clike', {
23277
- comment: {
23278
- pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
23279
- greedy: true
23280
- },
23281
- 'class-name': {
23282
- pattern:
23283
- /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
23284
- lookbehind: true,
23285
- inside: {
23286
- punctuation: /[.\\]/
23287
- }
23288
- },
23289
- keyword:
23290
- /\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/,
23291
- operator:
23292
- /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
23293
- punctuation: /[(){}[\].,;]/
23294
- });
23295
- Prism.languages.insertBefore('ruby', 'operator', {
23296
- 'double-colon': {
23297
- pattern: /::/,
23298
- alias: 'punctuation'
23299
- }
23300
- });
23301
- var interpolation = {
23302
- pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
23303
- lookbehind: true,
23304
- inside: {
23305
- content: {
23306
- pattern: /^(#\{)[\s\S]+(?=\}$)/,
23307
- lookbehind: true,
23308
- inside: Prism.languages.ruby
23309
- },
23310
- delimiter: {
23311
- pattern: /^#\{|\}$/,
23312
- alias: 'punctuation'
23313
- }
23314
- }
23315
- };
23316
- delete Prism.languages.ruby.function;
23317
- var percentExpression =
23318
- '(?:' +
23319
- [
23320
- /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
23321
- /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
23322
- /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
23323
- /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
23324
- /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
23325
- ].join('|') +
23326
- ')';
23327
- var symbolName =
23328
- /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
23329
- .source;
23330
- Prism.languages.insertBefore('ruby', 'keyword', {
23331
- 'regex-literal': [
23332
- {
23333
- pattern: RegExp(
23334
- /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
23335
- ),
23336
- greedy: true,
23337
- inside: {
23338
- interpolation: interpolation,
23339
- regex: /[\s\S]+/
23340
- }
23341
- },
23342
- {
23343
- pattern:
23344
- /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
23345
- lookbehind: true,
23346
- greedy: true,
23347
- inside: {
23348
- interpolation: interpolation,
23349
- regex: /[\s\S]+/
23350
- }
23351
- }
23352
- ],
23353
- variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
23354
- symbol: [
23355
- {
23356
- pattern: RegExp(/(^|[^:]):/.source + symbolName),
23357
- lookbehind: true,
23358
- greedy: true
23359
- },
23360
- {
23361
- pattern: RegExp(
23362
- /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
23363
- ),
23364
- lookbehind: true,
23365
- greedy: true
23366
- }
23367
- ],
23368
- 'method-definition': {
23369
- pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
23370
- lookbehind: true,
23371
- inside: {
23372
- function: /\b\w+$/,
23373
- keyword: /^self\b/,
23374
- 'class-name': /^\w+/,
23375
- punctuation: /\./
23376
- }
23377
- }
23378
- });
23379
- Prism.languages.insertBefore('ruby', 'string', {
23380
- 'string-literal': [
23381
- {
23382
- pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
23383
- greedy: true,
23384
- inside: {
23385
- interpolation: interpolation,
23386
- string: /[\s\S]+/
23387
- }
23388
- },
23389
- {
23390
- pattern:
23391
- /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
23392
- greedy: true,
23393
- inside: {
23394
- interpolation: interpolation,
23395
- string: /[\s\S]+/
23396
- }
23397
- },
23398
- {
23399
- pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23400
- alias: 'heredoc-string',
23401
- greedy: true,
23402
- inside: {
23403
- delimiter: {
23404
- pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
23405
- inside: {
23406
- symbol: /\b\w+/,
23407
- punctuation: /^<<[-~]?/
23408
- }
23409
- },
23410
- interpolation: interpolation,
23411
- string: /[\s\S]+/
23412
- }
23413
- },
23414
- {
23415
- pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23416
- alias: 'heredoc-string',
23417
- greedy: true,
23418
- inside: {
23419
- delimiter: {
23420
- pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
23421
- inside: {
23422
- symbol: /\b\w+/,
23423
- punctuation: /^<<[-~]?'|'$/
23424
- }
23425
- },
23426
- string: /[\s\S]+/
23427
- }
23428
- }
23429
- ],
23430
- 'command-literal': [
23431
- {
23432
- pattern: RegExp(/%x/.source + percentExpression),
23433
- greedy: true,
23434
- inside: {
23435
- interpolation: interpolation,
23436
- command: {
23437
- pattern: /[\s\S]+/,
23438
- alias: 'string'
23439
- }
23440
- }
23441
- },
23442
- {
23443
- pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
23444
- greedy: true,
23445
- inside: {
23446
- interpolation: interpolation,
23447
- command: {
23448
- pattern: /[\s\S]+/,
23449
- alias: 'string'
23450
- }
23451
- }
23452
- }
23453
- ]
23454
- });
23455
- delete Prism.languages.ruby.string;
23456
- Prism.languages.insertBefore('ruby', 'number', {
23457
- builtin:
23458
- /\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/,
23459
- constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
23460
- });
23461
- Prism.languages.rb = Prism.languages.ruby;
23462
- })(Prism);
23265
+ // https://github.com/coq/coq
23266
+ var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
23267
+ for (var i = 0; i < 2; i++) {
23268
+ commentSource = commentSource.replace(/<self>/g, function () {
23269
+ return commentSource
23270
+ });
23271
+ }
23272
+ commentSource = commentSource.replace(/<self>/g, '[]');
23273
+ Prism.languages.coq = {
23274
+ comment: RegExp(commentSource),
23275
+ string: {
23276
+ pattern: /"(?:[^"]|"")*"(?!")/,
23277
+ greedy: true
23278
+ },
23279
+ attribute: [
23280
+ {
23281
+ pattern: RegExp(
23282
+ /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
23283
+ /<comment>/g,
23284
+ function () {
23285
+ return commentSource
23286
+ }
23287
+ )
23288
+ ),
23289
+ greedy: true,
23290
+ alias: 'attr-name',
23291
+ inside: {
23292
+ comment: RegExp(commentSource),
23293
+ string: {
23294
+ pattern: /"(?:[^"]|"")*"(?!")/,
23295
+ greedy: true
23296
+ },
23297
+ operator: /=/,
23298
+ punctuation: /^#\[|\]$|[,()]/
23299
+ }
23300
+ },
23301
+ {
23302
+ pattern:
23303
+ /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
23304
+ alias: 'attr-name'
23305
+ }
23306
+ ],
23307
+ keyword:
23308
+ /\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/,
23309
+ number:
23310
+ /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
23311
+ punct: {
23312
+ pattern: /@\{|\{\||\[=|:>/,
23313
+ alias: 'punctuation'
23314
+ },
23315
+ operator:
23316
+ /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
23317
+ punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
23318
+ };
23319
+ })(Prism);
23320
+ }
23321
+ return coq_1;
23463
23322
  }
23464
23323
 
23465
- var refractorRuby = ruby_1;
23466
- var crystal_1 = crystal;
23467
- crystal.displayName = 'crystal';
23468
- crystal.aliases = [];
23469
- function crystal(Prism) {
23470
- Prism.register(refractorRuby)
23471
- ;(function (Prism) {
23472
- Prism.languages.crystal = Prism.languages.extend('ruby', {
23473
- keyword: [
23474
- /\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/,
23475
- {
23476
- pattern: /(\.\s*)(?:is_a|responds_to)\?/,
23477
- lookbehind: true
23478
- }
23479
- ],
23480
- number:
23481
- /\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/,
23482
- operator: [/->/, Prism.languages.ruby.operator],
23483
- punctuation: /[(){}[\].,;\\]/
23484
- });
23485
- Prism.languages.insertBefore('crystal', 'string-literal', {
23486
- attribute: {
23487
- pattern: /@\[.*?\]/,
23488
- inside: {
23489
- delimiter: {
23490
- pattern: /^@\[|\]$/,
23491
- alias: 'punctuation'
23492
- },
23493
- attribute: {
23494
- pattern: /^(\s*)\w+/,
23495
- lookbehind: true,
23496
- alias: 'class-name'
23497
- },
23498
- args: {
23499
- pattern: /\S(?:[\s\S]*\S)?/,
23500
- inside: Prism.languages.crystal
23501
- }
23502
- }
23503
- },
23504
- expansion: {
23505
- pattern: /\{(?:\{.*?\}|%.*?%)\}/,
23506
- inside: {
23507
- content: {
23508
- pattern: /^(\{.)[\s\S]+(?=.\}$)/,
23509
- lookbehind: true,
23510
- inside: Prism.languages.crystal
23511
- },
23512
- delimiter: {
23513
- pattern: /^\{[\{%]|[\}%]\}$/,
23514
- alias: 'operator'
23515
- }
23516
- }
23517
- },
23518
- char: {
23519
- pattern:
23520
- /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
23521
- greedy: true
23522
- }
23523
- });
23524
- })(Prism);
23324
+ var ruby_1;
23325
+ var hasRequiredRuby;
23326
+
23327
+ function requireRuby () {
23328
+ if (hasRequiredRuby) return ruby_1;
23329
+ hasRequiredRuby = 1;
23330
+
23331
+ ruby_1 = ruby;
23332
+ ruby.displayName = 'ruby';
23333
+ ruby.aliases = ['rb'];
23334
+ function ruby(Prism) {
23335
+ (function (Prism) {
23336
+ Prism.languages.ruby = Prism.languages.extend('clike', {
23337
+ comment: {
23338
+ pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
23339
+ greedy: true
23340
+ },
23341
+ 'class-name': {
23342
+ pattern:
23343
+ /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
23344
+ lookbehind: true,
23345
+ inside: {
23346
+ punctuation: /[.\\]/
23347
+ }
23348
+ },
23349
+ keyword:
23350
+ /\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/,
23351
+ operator:
23352
+ /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
23353
+ punctuation: /[(){}[\].,;]/
23354
+ });
23355
+ Prism.languages.insertBefore('ruby', 'operator', {
23356
+ 'double-colon': {
23357
+ pattern: /::/,
23358
+ alias: 'punctuation'
23359
+ }
23360
+ });
23361
+ var interpolation = {
23362
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
23363
+ lookbehind: true,
23364
+ inside: {
23365
+ content: {
23366
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
23367
+ lookbehind: true,
23368
+ inside: Prism.languages.ruby
23369
+ },
23370
+ delimiter: {
23371
+ pattern: /^#\{|\}$/,
23372
+ alias: 'punctuation'
23373
+ }
23374
+ }
23375
+ };
23376
+ delete Prism.languages.ruby.function;
23377
+ var percentExpression =
23378
+ '(?:' +
23379
+ [
23380
+ /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
23381
+ /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
23382
+ /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
23383
+ /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
23384
+ /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
23385
+ ].join('|') +
23386
+ ')';
23387
+ var symbolName =
23388
+ /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
23389
+ .source;
23390
+ Prism.languages.insertBefore('ruby', 'keyword', {
23391
+ 'regex-literal': [
23392
+ {
23393
+ pattern: RegExp(
23394
+ /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
23395
+ ),
23396
+ greedy: true,
23397
+ inside: {
23398
+ interpolation: interpolation,
23399
+ regex: /[\s\S]+/
23400
+ }
23401
+ },
23402
+ {
23403
+ pattern:
23404
+ /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
23405
+ lookbehind: true,
23406
+ greedy: true,
23407
+ inside: {
23408
+ interpolation: interpolation,
23409
+ regex: /[\s\S]+/
23410
+ }
23411
+ }
23412
+ ],
23413
+ variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
23414
+ symbol: [
23415
+ {
23416
+ pattern: RegExp(/(^|[^:]):/.source + symbolName),
23417
+ lookbehind: true,
23418
+ greedy: true
23419
+ },
23420
+ {
23421
+ pattern: RegExp(
23422
+ /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
23423
+ ),
23424
+ lookbehind: true,
23425
+ greedy: true
23426
+ }
23427
+ ],
23428
+ 'method-definition': {
23429
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
23430
+ lookbehind: true,
23431
+ inside: {
23432
+ function: /\b\w+$/,
23433
+ keyword: /^self\b/,
23434
+ 'class-name': /^\w+/,
23435
+ punctuation: /\./
23436
+ }
23437
+ }
23438
+ });
23439
+ Prism.languages.insertBefore('ruby', 'string', {
23440
+ 'string-literal': [
23441
+ {
23442
+ pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
23443
+ greedy: true,
23444
+ inside: {
23445
+ interpolation: interpolation,
23446
+ string: /[\s\S]+/
23447
+ }
23448
+ },
23449
+ {
23450
+ pattern:
23451
+ /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
23452
+ greedy: true,
23453
+ inside: {
23454
+ interpolation: interpolation,
23455
+ string: /[\s\S]+/
23456
+ }
23457
+ },
23458
+ {
23459
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23460
+ alias: 'heredoc-string',
23461
+ greedy: true,
23462
+ inside: {
23463
+ delimiter: {
23464
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
23465
+ inside: {
23466
+ symbol: /\b\w+/,
23467
+ punctuation: /^<<[-~]?/
23468
+ }
23469
+ },
23470
+ interpolation: interpolation,
23471
+ string: /[\s\S]+/
23472
+ }
23473
+ },
23474
+ {
23475
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23476
+ alias: 'heredoc-string',
23477
+ greedy: true,
23478
+ inside: {
23479
+ delimiter: {
23480
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
23481
+ inside: {
23482
+ symbol: /\b\w+/,
23483
+ punctuation: /^<<[-~]?'|'$/
23484
+ }
23485
+ },
23486
+ string: /[\s\S]+/
23487
+ }
23488
+ }
23489
+ ],
23490
+ 'command-literal': [
23491
+ {
23492
+ pattern: RegExp(/%x/.source + percentExpression),
23493
+ greedy: true,
23494
+ inside: {
23495
+ interpolation: interpolation,
23496
+ command: {
23497
+ pattern: /[\s\S]+/,
23498
+ alias: 'string'
23499
+ }
23500
+ }
23501
+ },
23502
+ {
23503
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
23504
+ greedy: true,
23505
+ inside: {
23506
+ interpolation: interpolation,
23507
+ command: {
23508
+ pattern: /[\s\S]+/,
23509
+ alias: 'string'
23510
+ }
23511
+ }
23512
+ }
23513
+ ]
23514
+ });
23515
+ delete Prism.languages.ruby.string;
23516
+ Prism.languages.insertBefore('ruby', 'number', {
23517
+ builtin:
23518
+ /\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/,
23519
+ constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
23520
+ });
23521
+ Prism.languages.rb = Prism.languages.ruby;
23522
+ })(Prism);
23523
+ }
23524
+ return ruby_1;
23525
23525
  }
23526
23526
 
23527
- var refractorCsharp = csharp_1;
23528
- var cshtml_1 = cshtml;
23529
- cshtml.displayName = 'cshtml';
23530
- cshtml.aliases = ['razor'];
23531
- function cshtml(Prism) {
23532
- Prism.register(refractorCsharp)
23533
- // Docs:
23534
- // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
23535
- // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
23536
- ;(function (Prism) {
23537
- var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
23538
- .source;
23539
- var stringLike =
23540
- /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
23541
- '|' +
23542
- /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
23543
- /**
23544
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
23545
- *
23546
- * @param {string} pattern
23547
- * @param {number} depthLog2
23548
- * @returns {string}
23549
- */
23550
- function nested(pattern, depthLog2) {
23551
- for (var i = 0; i < depthLog2; i++) {
23552
- pattern = pattern.replace(/<self>/g, function () {
23553
- return '(?:' + pattern + ')'
23554
- });
23555
- }
23556
- return pattern
23557
- .replace(/<self>/g, '[^\\s\\S]')
23558
- .replace(/<str>/g, '(?:' + stringLike + ')')
23559
- .replace(/<comment>/g, '(?:' + commentLike + ')')
23560
- }
23561
- var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
23562
- var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
23563
- var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
23564
- var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
23565
- // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
23566
- // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
23567
- // messes up the bracket and string counting implemented by the above patterns.
23568
- //
23569
- // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
23570
- // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
23571
- // complexity of an HTML expression.
23572
- //
23573
- // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
23574
- // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
23575
- var tagAttrs =
23576
- /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
23577
- .source;
23578
- var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
23579
- var tagRegion =
23580
- /\B@?/.source +
23581
- '(?:' +
23582
- /<([a-zA-Z][\w:]*)/.source +
23583
- tagAttrs +
23584
- /\s*>/.source +
23585
- '(?:' +
23586
- (/[^<]/.source +
23587
- '|' + // all tags that are not the start tag
23588
- // eslint-disable-next-line regexp/strict
23589
- /<\/?(?!\1\b)/.source +
23590
- tagContent +
23591
- '|' + // nested start tag
23592
- nested(
23593
- // eslint-disable-next-line regexp/strict
23594
- /<\1/.source +
23595
- tagAttrs +
23596
- /\s*>/.source +
23597
- '(?:' +
23598
- (/[^<]/.source +
23599
- '|' + // all tags that are not the start tag
23600
- // eslint-disable-next-line regexp/strict
23601
- /<\/?(?!\1\b)/.source +
23602
- tagContent +
23603
- '|' +
23604
- '<self>') +
23605
- ')*' + // eslint-disable-next-line regexp/strict
23606
- /<\/\1\s*>/.source,
23607
- 2
23608
- )) +
23609
- ')*' + // eslint-disable-next-line regexp/strict
23610
- /<\/\1\s*>/.source +
23611
- '|' +
23612
- /</.source +
23613
- tagContent +
23614
- ')'; // Now for the actual language definition(s):
23615
- //
23616
- // Razor as a language has 2 parts:
23617
- // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
23618
- // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
23619
- //
23620
- // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
23621
- // other. However, only CSHTML will be exported via `Prism.languages`.
23622
- Prism.languages.cshtml = Prism.languages.extend('markup', {});
23623
- var csharpWithHtml = Prism.languages.insertBefore(
23624
- 'csharp',
23625
- 'string',
23626
- {
23627
- html: {
23628
- pattern: RegExp(tagRegion),
23629
- greedy: true,
23630
- inside: Prism.languages.cshtml
23631
- }
23632
- },
23633
- {
23634
- csharp: Prism.languages.extend('csharp', {})
23635
- }
23636
- );
23637
- var cs = {
23638
- pattern: /\S[\s\S]*/,
23639
- alias: 'language-csharp',
23640
- inside: csharpWithHtml
23641
- };
23642
- Prism.languages.insertBefore('cshtml', 'prolog', {
23643
- 'razor-comment': {
23644
- pattern: /@\*[\s\S]*?\*@/,
23645
- greedy: true,
23646
- alias: 'comment'
23647
- },
23648
- block: {
23649
- pattern: RegExp(
23650
- /(^|[^@])@/.source +
23651
- '(?:' +
23652
- [
23653
- // @{ ... }
23654
- curly, // @code{ ... }
23655
- /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
23656
- /(?:for|foreach|lock|switch|using|while)\s*/.source +
23657
- round +
23658
- /\s*/.source +
23659
- curly, // @do { ... } while (...);
23660
- /do\s*/.source +
23661
- curly +
23662
- /\s*while\s*/.source +
23663
- round +
23664
- /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
23665
- /try\s*/.source +
23666
- curly +
23667
- /\s*catch\s*/.source +
23668
- round +
23669
- /\s*/.source +
23670
- curly +
23671
- /\s*finally\s*/.source +
23672
- curly, // @if (...) {...} else if (...) {...} else {...}
23673
- /if\s*/.source +
23674
- round +
23675
- /\s*/.source +
23676
- curly +
23677
- '(?:' +
23678
- /\s*else/.source +
23679
- '(?:' +
23680
- /\s+if\s*/.source +
23681
- round +
23682
- ')?' +
23683
- /\s*/.source +
23684
- curly +
23685
- ')*'
23686
- ].join('|') +
23687
- ')'
23688
- ),
23689
- lookbehind: true,
23690
- greedy: true,
23691
- inside: {
23692
- keyword: /^@\w*/,
23693
- csharp: cs
23694
- }
23695
- },
23696
- directive: {
23697
- pattern:
23698
- /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
23699
- lookbehind: true,
23700
- greedy: true,
23701
- inside: {
23702
- keyword: /^@\w+/,
23703
- csharp: cs
23704
- }
23705
- },
23706
- value: {
23707
- pattern: RegExp(
23708
- /(^|[^@])@/.source +
23709
- /(?:await\b\s*)?/.source +
23710
- '(?:' +
23711
- /\w+\b/.source +
23712
- '|' +
23713
- round +
23714
- ')' +
23715
- '(?:' +
23716
- /[?!]?\.\w+\b/.source +
23717
- '|' +
23718
- round +
23719
- '|' +
23720
- square +
23721
- '|' +
23722
- angle +
23723
- round +
23724
- ')*'
23725
- ),
23726
- lookbehind: true,
23727
- greedy: true,
23728
- alias: 'variable',
23729
- inside: {
23730
- keyword: /^@/,
23731
- csharp: cs
23732
- }
23733
- },
23734
- 'delegate-operator': {
23735
- pattern: /(^|[^@])@(?=<)/,
23736
- lookbehind: true,
23737
- alias: 'operator'
23738
- }
23739
- });
23740
- Prism.languages.razor = Prism.languages.cshtml;
23741
- })(Prism);
23527
+ var crystal_1;
23528
+ var hasRequiredCrystal;
23529
+
23530
+ function requireCrystal () {
23531
+ if (hasRequiredCrystal) return crystal_1;
23532
+ hasRequiredCrystal = 1;
23533
+ var refractorRuby = requireRuby();
23534
+ crystal_1 = crystal;
23535
+ crystal.displayName = 'crystal';
23536
+ crystal.aliases = [];
23537
+ function crystal(Prism) {
23538
+ Prism.register(refractorRuby)
23539
+ ;(function (Prism) {
23540
+ Prism.languages.crystal = Prism.languages.extend('ruby', {
23541
+ keyword: [
23542
+ /\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/,
23543
+ {
23544
+ pattern: /(\.\s*)(?:is_a|responds_to)\?/,
23545
+ lookbehind: true
23546
+ }
23547
+ ],
23548
+ number:
23549
+ /\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/,
23550
+ operator: [/->/, Prism.languages.ruby.operator],
23551
+ punctuation: /[(){}[\].,;\\]/
23552
+ });
23553
+ Prism.languages.insertBefore('crystal', 'string-literal', {
23554
+ attribute: {
23555
+ pattern: /@\[.*?\]/,
23556
+ inside: {
23557
+ delimiter: {
23558
+ pattern: /^@\[|\]$/,
23559
+ alias: 'punctuation'
23560
+ },
23561
+ attribute: {
23562
+ pattern: /^(\s*)\w+/,
23563
+ lookbehind: true,
23564
+ alias: 'class-name'
23565
+ },
23566
+ args: {
23567
+ pattern: /\S(?:[\s\S]*\S)?/,
23568
+ inside: Prism.languages.crystal
23569
+ }
23570
+ }
23571
+ },
23572
+ expansion: {
23573
+ pattern: /\{(?:\{.*?\}|%.*?%)\}/,
23574
+ inside: {
23575
+ content: {
23576
+ pattern: /^(\{.)[\s\S]+(?=.\}$)/,
23577
+ lookbehind: true,
23578
+ inside: Prism.languages.crystal
23579
+ },
23580
+ delimiter: {
23581
+ pattern: /^\{[\{%]|[\}%]\}$/,
23582
+ alias: 'operator'
23583
+ }
23584
+ }
23585
+ },
23586
+ char: {
23587
+ pattern:
23588
+ /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
23589
+ greedy: true
23590
+ }
23591
+ });
23592
+ })(Prism);
23593
+ }
23594
+ return crystal_1;
23595
+ }
23596
+
23597
+ var cshtml_1;
23598
+ var hasRequiredCshtml;
23599
+
23600
+ function requireCshtml () {
23601
+ if (hasRequiredCshtml) return cshtml_1;
23602
+ hasRequiredCshtml = 1;
23603
+ var refractorCsharp = requireCsharp();
23604
+ cshtml_1 = cshtml;
23605
+ cshtml.displayName = 'cshtml';
23606
+ cshtml.aliases = ['razor'];
23607
+ function cshtml(Prism) {
23608
+ Prism.register(refractorCsharp)
23609
+ // Docs:
23610
+ // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
23611
+ // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
23612
+ ;(function (Prism) {
23613
+ var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
23614
+ .source;
23615
+ var stringLike =
23616
+ /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
23617
+ '|' +
23618
+ /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
23619
+ /**
23620
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
23621
+ *
23622
+ * @param {string} pattern
23623
+ * @param {number} depthLog2
23624
+ * @returns {string}
23625
+ */
23626
+ function nested(pattern, depthLog2) {
23627
+ for (var i = 0; i < depthLog2; i++) {
23628
+ pattern = pattern.replace(/<self>/g, function () {
23629
+ return '(?:' + pattern + ')'
23630
+ });
23631
+ }
23632
+ return pattern
23633
+ .replace(/<self>/g, '[^\\s\\S]')
23634
+ .replace(/<str>/g, '(?:' + stringLike + ')')
23635
+ .replace(/<comment>/g, '(?:' + commentLike + ')')
23636
+ }
23637
+ var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
23638
+ var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
23639
+ var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
23640
+ var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
23641
+ // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
23642
+ // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
23643
+ // messes up the bracket and string counting implemented by the above patterns.
23644
+ //
23645
+ // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
23646
+ // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
23647
+ // complexity of an HTML expression.
23648
+ //
23649
+ // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
23650
+ // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
23651
+ var tagAttrs =
23652
+ /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
23653
+ .source;
23654
+ var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
23655
+ var tagRegion =
23656
+ /\B@?/.source +
23657
+ '(?:' +
23658
+ /<([a-zA-Z][\w:]*)/.source +
23659
+ tagAttrs +
23660
+ /\s*>/.source +
23661
+ '(?:' +
23662
+ (/[^<]/.source +
23663
+ '|' + // all tags that are not the start tag
23664
+ // eslint-disable-next-line regexp/strict
23665
+ /<\/?(?!\1\b)/.source +
23666
+ tagContent +
23667
+ '|' + // nested start tag
23668
+ nested(
23669
+ // eslint-disable-next-line regexp/strict
23670
+ /<\1/.source +
23671
+ tagAttrs +
23672
+ /\s*>/.source +
23673
+ '(?:' +
23674
+ (/[^<]/.source +
23675
+ '|' + // all tags that are not the start tag
23676
+ // eslint-disable-next-line regexp/strict
23677
+ /<\/?(?!\1\b)/.source +
23678
+ tagContent +
23679
+ '|' +
23680
+ '<self>') +
23681
+ ')*' + // eslint-disable-next-line regexp/strict
23682
+ /<\/\1\s*>/.source,
23683
+ 2
23684
+ )) +
23685
+ ')*' + // eslint-disable-next-line regexp/strict
23686
+ /<\/\1\s*>/.source +
23687
+ '|' +
23688
+ /</.source +
23689
+ tagContent +
23690
+ ')'; // Now for the actual language definition(s):
23691
+ //
23692
+ // Razor as a language has 2 parts:
23693
+ // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
23694
+ // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
23695
+ //
23696
+ // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
23697
+ // other. However, only CSHTML will be exported via `Prism.languages`.
23698
+ Prism.languages.cshtml = Prism.languages.extend('markup', {});
23699
+ var csharpWithHtml = Prism.languages.insertBefore(
23700
+ 'csharp',
23701
+ 'string',
23702
+ {
23703
+ html: {
23704
+ pattern: RegExp(tagRegion),
23705
+ greedy: true,
23706
+ inside: Prism.languages.cshtml
23707
+ }
23708
+ },
23709
+ {
23710
+ csharp: Prism.languages.extend('csharp', {})
23711
+ }
23712
+ );
23713
+ var cs = {
23714
+ pattern: /\S[\s\S]*/,
23715
+ alias: 'language-csharp',
23716
+ inside: csharpWithHtml
23717
+ };
23718
+ Prism.languages.insertBefore('cshtml', 'prolog', {
23719
+ 'razor-comment': {
23720
+ pattern: /@\*[\s\S]*?\*@/,
23721
+ greedy: true,
23722
+ alias: 'comment'
23723
+ },
23724
+ block: {
23725
+ pattern: RegExp(
23726
+ /(^|[^@])@/.source +
23727
+ '(?:' +
23728
+ [
23729
+ // @{ ... }
23730
+ curly, // @code{ ... }
23731
+ /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
23732
+ /(?:for|foreach|lock|switch|using|while)\s*/.source +
23733
+ round +
23734
+ /\s*/.source +
23735
+ curly, // @do { ... } while (...);
23736
+ /do\s*/.source +
23737
+ curly +
23738
+ /\s*while\s*/.source +
23739
+ round +
23740
+ /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
23741
+ /try\s*/.source +
23742
+ curly +
23743
+ /\s*catch\s*/.source +
23744
+ round +
23745
+ /\s*/.source +
23746
+ curly +
23747
+ /\s*finally\s*/.source +
23748
+ curly, // @if (...) {...} else if (...) {...} else {...}
23749
+ /if\s*/.source +
23750
+ round +
23751
+ /\s*/.source +
23752
+ curly +
23753
+ '(?:' +
23754
+ /\s*else/.source +
23755
+ '(?:' +
23756
+ /\s+if\s*/.source +
23757
+ round +
23758
+ ')?' +
23759
+ /\s*/.source +
23760
+ curly +
23761
+ ')*'
23762
+ ].join('|') +
23763
+ ')'
23764
+ ),
23765
+ lookbehind: true,
23766
+ greedy: true,
23767
+ inside: {
23768
+ keyword: /^@\w*/,
23769
+ csharp: cs
23770
+ }
23771
+ },
23772
+ directive: {
23773
+ pattern:
23774
+ /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
23775
+ lookbehind: true,
23776
+ greedy: true,
23777
+ inside: {
23778
+ keyword: /^@\w+/,
23779
+ csharp: cs
23780
+ }
23781
+ },
23782
+ value: {
23783
+ pattern: RegExp(
23784
+ /(^|[^@])@/.source +
23785
+ /(?:await\b\s*)?/.source +
23786
+ '(?:' +
23787
+ /\w+\b/.source +
23788
+ '|' +
23789
+ round +
23790
+ ')' +
23791
+ '(?:' +
23792
+ /[?!]?\.\w+\b/.source +
23793
+ '|' +
23794
+ round +
23795
+ '|' +
23796
+ square +
23797
+ '|' +
23798
+ angle +
23799
+ round +
23800
+ ')*'
23801
+ ),
23802
+ lookbehind: true,
23803
+ greedy: true,
23804
+ alias: 'variable',
23805
+ inside: {
23806
+ keyword: /^@/,
23807
+ csharp: cs
23808
+ }
23809
+ },
23810
+ 'delegate-operator': {
23811
+ pattern: /(^|[^@])@(?=<)/,
23812
+ lookbehind: true,
23813
+ alias: 'operator'
23814
+ }
23815
+ });
23816
+ Prism.languages.razor = Prism.languages.cshtml;
23817
+ })(Prism);
23818
+ }
23819
+ return cshtml_1;
23742
23820
  }
23743
23821
 
23744
- var csp_1 = csp;
23745
- csp.displayName = 'csp';
23746
- csp.aliases = [];
23747
- function csp(Prism) {
23822
+ var csp_1;
23823
+ var hasRequiredCsp;
23824
+
23825
+ function requireCsp () {
23826
+ if (hasRequiredCsp) return csp_1;
23827
+ hasRequiredCsp = 1;
23828
+
23829
+ csp_1 = csp;
23830
+ csp.displayName = 'csp';
23831
+ csp.aliases = [];
23832
+ function csp(Prism) {
23748
23833
  (function (Prism) {
23749
- /**
23750
- * @param {string} source
23751
- * @returns {RegExp}
23752
- */
23753
- function value(source) {
23754
- return RegExp(
23755
- /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
23756
- 'i'
23757
- )
23758
- }
23759
- Prism.languages.csp = {
23760
- directive: {
23761
- pattern:
23762
- /(^|[\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,
23763
- lookbehind: true,
23764
- alias: 'property'
23765
- },
23766
- scheme: {
23767
- pattern: value(/[a-z][a-z0-9.+-]*:/.source),
23768
- lookbehind: true
23769
- },
23770
- none: {
23771
- pattern: value(/'none'/.source),
23772
- lookbehind: true,
23773
- alias: 'keyword'
23774
- },
23775
- nonce: {
23776
- pattern: value(/'nonce-[-+/\w=]+'/.source),
23777
- lookbehind: true,
23778
- alias: 'number'
23779
- },
23780
- hash: {
23781
- pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
23782
- lookbehind: true,
23783
- alias: 'number'
23784
- },
23785
- host: {
23786
- pattern: value(
23787
- /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
23788
- '|' +
23789
- /\*[^\s;,']*/.source +
23790
- '|' +
23791
- /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
23792
- ),
23793
- lookbehind: true,
23794
- alias: 'url',
23795
- inside: {
23796
- important: /\*/
23797
- }
23798
- },
23799
- keyword: [
23800
- {
23801
- pattern: value(/'unsafe-[a-z-]+'/.source),
23802
- lookbehind: true,
23803
- alias: 'unsafe'
23804
- },
23805
- {
23806
- pattern: value(/'[a-z-]+'/.source),
23807
- lookbehind: true,
23808
- alias: 'safe'
23809
- }
23810
- ],
23811
- punctuation: /;/
23812
- };
23813
- })(Prism);
23834
+ /**
23835
+ * @param {string} source
23836
+ * @returns {RegExp}
23837
+ */
23838
+ function value(source) {
23839
+ return RegExp(
23840
+ /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
23841
+ 'i'
23842
+ )
23843
+ }
23844
+ Prism.languages.csp = {
23845
+ directive: {
23846
+ pattern:
23847
+ /(^|[\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,
23848
+ lookbehind: true,
23849
+ alias: 'property'
23850
+ },
23851
+ scheme: {
23852
+ pattern: value(/[a-z][a-z0-9.+-]*:/.source),
23853
+ lookbehind: true
23854
+ },
23855
+ none: {
23856
+ pattern: value(/'none'/.source),
23857
+ lookbehind: true,
23858
+ alias: 'keyword'
23859
+ },
23860
+ nonce: {
23861
+ pattern: value(/'nonce-[-+/\w=]+'/.source),
23862
+ lookbehind: true,
23863
+ alias: 'number'
23864
+ },
23865
+ hash: {
23866
+ pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
23867
+ lookbehind: true,
23868
+ alias: 'number'
23869
+ },
23870
+ host: {
23871
+ pattern: value(
23872
+ /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
23873
+ '|' +
23874
+ /\*[^\s;,']*/.source +
23875
+ '|' +
23876
+ /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
23877
+ ),
23878
+ lookbehind: true,
23879
+ alias: 'url',
23880
+ inside: {
23881
+ important: /\*/
23882
+ }
23883
+ },
23884
+ keyword: [
23885
+ {
23886
+ pattern: value(/'unsafe-[a-z-]+'/.source),
23887
+ lookbehind: true,
23888
+ alias: 'unsafe'
23889
+ },
23890
+ {
23891
+ pattern: value(/'[a-z-]+'/.source),
23892
+ lookbehind: true,
23893
+ alias: 'safe'
23894
+ }
23895
+ ],
23896
+ punctuation: /;/
23897
+ };
23898
+ })(Prism);
23899
+ }
23900
+ return csp_1;
23814
23901
  }
23815
23902
 
23816
- var cssExtras_1 = cssExtras;
23817
- cssExtras.displayName = 'cssExtras';
23818
- cssExtras.aliases = [];
23819
- function cssExtras(Prism) {
23903
+ var cssExtras_1;
23904
+ var hasRequiredCssExtras;
23905
+
23906
+ function requireCssExtras () {
23907
+ if (hasRequiredCssExtras) return cssExtras_1;
23908
+ hasRequiredCssExtras = 1;
23909
+
23910
+ cssExtras_1 = cssExtras;
23911
+ cssExtras.displayName = 'cssExtras';
23912
+ cssExtras.aliases = [];
23913
+ function cssExtras(Prism) {
23820
23914
  (function (Prism) {
23821
- var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
23822
- var selectorInside;
23823
- Prism.languages.css.selector = {
23824
- pattern: Prism.languages.css.selector.pattern,
23825
- lookbehind: true,
23826
- inside: (selectorInside = {
23827
- 'pseudo-element':
23828
- /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
23829
- 'pseudo-class': /:[-\w]+/,
23830
- class: /\.[-\w]+/,
23831
- id: /#[-\w]+/,
23832
- attribute: {
23833
- pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
23834
- greedy: true,
23835
- inside: {
23836
- punctuation: /^\[|\]$/,
23837
- 'case-sensitivity': {
23838
- pattern: /(\s)[si]$/i,
23839
- lookbehind: true,
23840
- alias: 'keyword'
23841
- },
23842
- namespace: {
23843
- pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
23844
- lookbehind: true,
23845
- inside: {
23846
- punctuation: /\|$/
23847
- }
23848
- },
23849
- 'attr-name': {
23850
- pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
23851
- lookbehind: true
23852
- },
23853
- 'attr-value': [
23854
- string,
23855
- {
23856
- pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
23857
- lookbehind: true
23858
- }
23859
- ],
23860
- operator: /[|~*^$]?=/
23861
- }
23862
- },
23863
- 'n-th': [
23864
- {
23865
- pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
23866
- lookbehind: true,
23867
- inside: {
23868
- number: /[\dn]+/,
23869
- operator: /[+-]/
23870
- }
23871
- },
23872
- {
23873
- pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
23874
- lookbehind: true
23875
- }
23876
- ],
23877
- combinator: />|\+|~|\|\|/,
23878
- // the `tag` token has been existed and removed.
23879
- // because we can't find a perfect tokenize to match it.
23880
- // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
23881
- punctuation: /[(),]/
23882
- })
23883
- };
23884
- Prism.languages.css['atrule'].inside['selector-function-argument'].inside =
23885
- selectorInside;
23886
- Prism.languages.insertBefore('css', 'property', {
23887
- variable: {
23888
- pattern:
23889
- /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
23890
- lookbehind: true
23891
- }
23892
- });
23893
- var unit = {
23894
- pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
23895
- lookbehind: true
23896
- }; // 123 -123 .123 -.123 12.3 -12.3
23897
- var number = {
23898
- pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
23899
- lookbehind: true
23900
- };
23901
- Prism.languages.insertBefore('css', 'function', {
23902
- operator: {
23903
- pattern: /(\s)[+\-*\/](?=\s)/,
23904
- lookbehind: true
23905
- },
23906
- // CAREFUL!
23907
- // Previewers and Inline color use hexcode and color.
23908
- hexcode: {
23909
- pattern: /\B#[\da-f]{3,8}\b/i,
23910
- alias: 'color'
23911
- },
23912
- color: [
23913
- {
23914
- pattern:
23915
- /(^|[^\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,
23916
- lookbehind: true
23917
- },
23918
- {
23919
- pattern:
23920
- /\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,
23921
- inside: {
23922
- unit: unit,
23923
- number: number,
23924
- function: /[\w-]+(?=\()/,
23925
- punctuation: /[(),]/
23926
- }
23927
- }
23928
- ],
23929
- // it's important that there is no boundary assertion after the hex digits
23930
- entity: /\\[\da-f]{1,8}/i,
23931
- unit: unit,
23932
- number: number
23933
- });
23934
- })(Prism);
23915
+ var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
23916
+ var selectorInside;
23917
+ Prism.languages.css.selector = {
23918
+ pattern: Prism.languages.css.selector.pattern,
23919
+ lookbehind: true,
23920
+ inside: (selectorInside = {
23921
+ 'pseudo-element':
23922
+ /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
23923
+ 'pseudo-class': /:[-\w]+/,
23924
+ class: /\.[-\w]+/,
23925
+ id: /#[-\w]+/,
23926
+ attribute: {
23927
+ pattern: RegExp('\\[(?:[^[\\]"\']|' + string.source + ')*\\]'),
23928
+ greedy: true,
23929
+ inside: {
23930
+ punctuation: /^\[|\]$/,
23931
+ 'case-sensitivity': {
23932
+ pattern: /(\s)[si]$/i,
23933
+ lookbehind: true,
23934
+ alias: 'keyword'
23935
+ },
23936
+ namespace: {
23937
+ pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,
23938
+ lookbehind: true,
23939
+ inside: {
23940
+ punctuation: /\|$/
23941
+ }
23942
+ },
23943
+ 'attr-name': {
23944
+ pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,
23945
+ lookbehind: true
23946
+ },
23947
+ 'attr-value': [
23948
+ string,
23949
+ {
23950
+ pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,
23951
+ lookbehind: true
23952
+ }
23953
+ ],
23954
+ operator: /[|~*^$]?=/
23955
+ }
23956
+ },
23957
+ 'n-th': [
23958
+ {
23959
+ pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,
23960
+ lookbehind: true,
23961
+ inside: {
23962
+ number: /[\dn]+/,
23963
+ operator: /[+-]/
23964
+ }
23965
+ },
23966
+ {
23967
+ pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i,
23968
+ lookbehind: true
23969
+ }
23970
+ ],
23971
+ combinator: />|\+|~|\|\|/,
23972
+ // the `tag` token has been existed and removed.
23973
+ // because we can't find a perfect tokenize to match it.
23974
+ // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.
23975
+ punctuation: /[(),]/
23976
+ })
23977
+ };
23978
+ Prism.languages.css['atrule'].inside['selector-function-argument'].inside =
23979
+ selectorInside;
23980
+ Prism.languages.insertBefore('css', 'property', {
23981
+ variable: {
23982
+ pattern:
23983
+ /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,
23984
+ lookbehind: true
23985
+ }
23986
+ });
23987
+ var unit = {
23988
+ pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/,
23989
+ lookbehind: true
23990
+ }; // 123 -123 .123 -.123 12.3 -12.3
23991
+ var number = {
23992
+ pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,
23993
+ lookbehind: true
23994
+ };
23995
+ Prism.languages.insertBefore('css', 'function', {
23996
+ operator: {
23997
+ pattern: /(\s)[+\-*\/](?=\s)/,
23998
+ lookbehind: true
23999
+ },
24000
+ // CAREFUL!
24001
+ // Previewers and Inline color use hexcode and color.
24002
+ hexcode: {
24003
+ pattern: /\B#[\da-f]{3,8}\b/i,
24004
+ alias: 'color'
24005
+ },
24006
+ color: [
24007
+ {
24008
+ pattern:
24009
+ /(^|[^\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,
24010
+ lookbehind: true
24011
+ },
24012
+ {
24013
+ pattern:
24014
+ /\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,
24015
+ inside: {
24016
+ unit: unit,
24017
+ number: number,
24018
+ function: /[\w-]+(?=\()/,
24019
+ punctuation: /[(),]/
24020
+ }
24021
+ }
24022
+ ],
24023
+ // it's important that there is no boundary assertion after the hex digits
24024
+ entity: /\\[\da-f]{1,8}/i,
24025
+ unit: unit,
24026
+ number: number
24027
+ });
24028
+ })(Prism);
24029
+ }
24030
+ return cssExtras_1;
23935
24031
  }
23936
24032
 
23937
- var csv_1 = csv;
23938
- csv.displayName = 'csv';
23939
- csv.aliases = [];
23940
- function csv(Prism) {
23941
- // https://tools.ietf.org/html/rfc4180
23942
- Prism.languages.csv = {
23943
- value: /[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,
23944
- punctuation: /,/
23945
- };
24033
+ var csv_1;
24034
+ var hasRequiredCsv;
24035
+
24036
+ function requireCsv () {
24037
+ if (hasRequiredCsv) return csv_1;
24038
+ hasRequiredCsv = 1;
24039
+
24040
+ csv_1 = csv;
24041
+ csv.displayName = 'csv';
24042
+ csv.aliases = [];
24043
+ function csv(Prism) {
24044
+ // https://tools.ietf.org/html/rfc4180
24045
+ Prism.languages.csv = {
24046
+ value: /[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,
24047
+ punctuation: /,/
24048
+ };
24049
+ }
24050
+ return csv_1;
23946
24051
  }
23947
24052
 
23948
- var cypher_1 = cypher;
23949
- cypher.displayName = 'cypher';
23950
- cypher.aliases = [];
23951
- function cypher(Prism) {
23952
- Prism.languages.cypher = {
23953
- // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
23954
- comment: /\/\/.*/,
23955
- string: {
23956
- pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
23957
- greedy: true
23958
- },
23959
- 'class-name': {
23960
- pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
23961
- lookbehind: true,
23962
- greedy: true
23963
- },
23964
- relationship: {
23965
- pattern:
23966
- /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
23967
- lookbehind: true,
23968
- greedy: true,
23969
- alias: 'property'
23970
- },
23971
- identifier: {
23972
- pattern: /`(?:[^`\\\r\n])*`/,
23973
- greedy: true
23974
- },
23975
- variable: /\$\w+/,
23976
- // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
23977
- keyword:
23978
- /\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,
23979
- function: /\b\w+\b(?=\s*\()/,
23980
- boolean: /\b(?:false|null|true)\b/i,
23981
- number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
23982
- // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
23983
- operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
23984
- punctuation: /[()[\]{},;.]/
23985
- };
24053
+ var cypher_1;
24054
+ var hasRequiredCypher;
24055
+
24056
+ function requireCypher () {
24057
+ if (hasRequiredCypher) return cypher_1;
24058
+ hasRequiredCypher = 1;
24059
+
24060
+ cypher_1 = cypher;
24061
+ cypher.displayName = 'cypher';
24062
+ cypher.aliases = [];
24063
+ function cypher(Prism) {
24064
+ Prism.languages.cypher = {
24065
+ // https://neo4j.com/docs/cypher-manual/current/syntax/comments/
24066
+ comment: /\/\/.*/,
24067
+ string: {
24068
+ pattern: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,
24069
+ greedy: true
24070
+ },
24071
+ 'class-name': {
24072
+ pattern: /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,
24073
+ lookbehind: true,
24074
+ greedy: true
24075
+ },
24076
+ relationship: {
24077
+ pattern:
24078
+ /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,
24079
+ lookbehind: true,
24080
+ greedy: true,
24081
+ alias: 'property'
24082
+ },
24083
+ identifier: {
24084
+ pattern: /`(?:[^`\\\r\n])*`/,
24085
+ greedy: true
24086
+ },
24087
+ variable: /\$\w+/,
24088
+ // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/
24089
+ keyword:
24090
+ /\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,
24091
+ function: /\b\w+\b(?=\s*\()/,
24092
+ boolean: /\b(?:false|null|true)\b/i,
24093
+ number: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,
24094
+ // https://neo4j.com/docs/cypher-manual/current/syntax/operators/
24095
+ operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,
24096
+ punctuation: /[()[\]{},;.]/
24097
+ };
24098
+ }
24099
+ return cypher_1;
23986
24100
  }
23987
24101
 
23988
- var d_1 = d;
23989
- d.displayName = 'd';
23990
- d.aliases = [];
23991
- function d(Prism) {
23992
- Prism.languages.d = Prism.languages.extend('clike', {
23993
- comment: [
23994
- {
23995
- // Shebang
23996
- pattern: /^\s*#!.+/,
23997
- greedy: true
23998
- },
23999
- {
24000
- pattern: RegExp(
24001
- /(^|[^\\])/.source +
24002
- '(?:' +
24003
- [
24004
- // /+ comment +/
24005
- // Allow one level of nesting
24006
- /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, // // comment
24007
- /\/\/.*/.source, // /* comment */
24008
- /\/\*[\s\S]*?\*\//.source
24009
- ].join('|') +
24010
- ')'
24011
- ),
24012
- lookbehind: true,
24013
- greedy: true
24014
- }
24015
- ],
24016
- string: [
24017
- {
24018
- pattern: RegExp(
24019
- [
24020
- // r"", x""
24021
- /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, // q"[]", q"()", q"<>", q"{}"
24022
- /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, // q"IDENT
24023
- // ...
24024
- // IDENT"
24025
- /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, // q"//", q"||", etc.
24026
- // eslint-disable-next-line regexp/strict
24027
- /\bq"(.)[\s\S]*?\2"/.source, // eslint-disable-next-line regexp/strict
24028
- /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
24029
- ].join('|'),
24030
- 'm'
24031
- ),
24032
- greedy: true
24033
- },
24034
- {
24035
- pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
24036
- greedy: true,
24037
- alias: 'token-string'
24038
- }
24039
- ],
24040
- // In order: $, keywords and special tokens, globally defined symbols
24041
- keyword:
24042
- /\$|\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/,
24043
- number: [
24044
- // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
24045
- // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
24046
- /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
24047
- {
24048
- pattern:
24049
- /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
24050
- lookbehind: true
24051
- }
24052
- ],
24053
- operator:
24054
- /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
24055
- });
24056
- Prism.languages.insertBefore('d', 'string', {
24057
- // Characters
24058
- // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
24059
- char: /'(?:\\(?:\W|\w+)|[^\\])'/
24060
- });
24061
- Prism.languages.insertBefore('d', 'keyword', {
24062
- property: /\B@\w*/
24063
- });
24064
- Prism.languages.insertBefore('d', 'function', {
24065
- register: {
24066
- // Iasm registers
24067
- pattern:
24068
- /\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)/,
24069
- alias: 'variable'
24070
- }
24071
- });
24102
+ var d_1;
24103
+ var hasRequiredD;
24104
+
24105
+ function requireD () {
24106
+ if (hasRequiredD) return d_1;
24107
+ hasRequiredD = 1;
24108
+
24109
+ d_1 = d;
24110
+ d.displayName = 'd';
24111
+ d.aliases = [];
24112
+ function d(Prism) {
24113
+ Prism.languages.d = Prism.languages.extend('clike', {
24114
+ comment: [
24115
+ {
24116
+ // Shebang
24117
+ pattern: /^\s*#!.+/,
24118
+ greedy: true
24119
+ },
24120
+ {
24121
+ pattern: RegExp(
24122
+ /(^|[^\\])/.source +
24123
+ '(?:' +
24124
+ [
24125
+ // /+ comment +/
24126
+ // Allow one level of nesting
24127
+ /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, // // comment
24128
+ /\/\/.*/.source, // /* comment */
24129
+ /\/\*[\s\S]*?\*\//.source
24130
+ ].join('|') +
24131
+ ')'
24132
+ ),
24133
+ lookbehind: true,
24134
+ greedy: true
24135
+ }
24136
+ ],
24137
+ string: [
24138
+ {
24139
+ pattern: RegExp(
24140
+ [
24141
+ // r"", x""
24142
+ /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, // q"[]", q"()", q"<>", q"{}"
24143
+ /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, // q"IDENT
24144
+ // ...
24145
+ // IDENT"
24146
+ /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, // q"//", q"||", etc.
24147
+ // eslint-disable-next-line regexp/strict
24148
+ /\bq"(.)[\s\S]*?\2"/.source, // eslint-disable-next-line regexp/strict
24149
+ /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source
24150
+ ].join('|'),
24151
+ 'm'
24152
+ ),
24153
+ greedy: true
24154
+ },
24155
+ {
24156
+ pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/,
24157
+ greedy: true,
24158
+ alias: 'token-string'
24159
+ }
24160
+ ],
24161
+ // In order: $, keywords and special tokens, globally defined symbols
24162
+ keyword:
24163
+ /\$|\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/,
24164
+ number: [
24165
+ // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
24166
+ // Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
24167
+ /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,
24168
+ {
24169
+ pattern:
24170
+ /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,
24171
+ lookbehind: true
24172
+ }
24173
+ ],
24174
+ operator:
24175
+ /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
24176
+ });
24177
+ Prism.languages.insertBefore('d', 'string', {
24178
+ // Characters
24179
+ // 'a', '\\', '\n', '\xFF', '\377', '\uFFFF', '\U0010FFFF', '\quot'
24180
+ char: /'(?:\\(?:\W|\w+)|[^\\])'/
24181
+ });
24182
+ Prism.languages.insertBefore('d', 'keyword', {
24183
+ property: /\B@\w*/
24184
+ });
24185
+ Prism.languages.insertBefore('d', 'function', {
24186
+ register: {
24187
+ // Iasm registers
24188
+ pattern:
24189
+ /\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)/,
24190
+ alias: 'variable'
24191
+ }
24192
+ });
24193
+ }
24194
+ return d_1;
24072
24195
  }
24073
24196
 
24074
24197
  var dart_1;
@@ -25241,7 +25364,7 @@ var hasRequiredErb;
25241
25364
  function requireErb () {
25242
25365
  if (hasRequiredErb) return erb_1;
25243
25366
  hasRequiredErb = 1;
25244
- var refractorRuby = ruby_1;
25367
+ var refractorRuby = requireRuby();
25245
25368
  var refractorMarkupTemplating = requireMarkupTemplating();
25246
25369
  erb_1 = erb;
25247
25370
  erb.displayName = 'erb';
@@ -27723,7 +27846,7 @@ var hasRequiredHaml;
27723
27846
  function requireHaml () {
27724
27847
  if (hasRequiredHaml) return haml_1;
27725
27848
  hasRequiredHaml = 1;
27726
- var refractorRuby = ruby_1;
27849
+ var refractorRuby = requireRuby();
27727
27850
  haml_1 = haml;
27728
27851
  haml.displayName = 'haml';
27729
27852
  haml.aliases = [];
@@ -40159,7 +40282,7 @@ function requireT4Cs () {
40159
40282
  if (hasRequiredT4Cs) return t4Cs_1;
40160
40283
  hasRequiredT4Cs = 1;
40161
40284
  var refractorT4Templating = requireT4Templating();
40162
- var refractorCsharp = csharp_1;
40285
+ var refractorCsharp = requireCsharp();
40163
40286
  t4Cs_1 = t4Cs;
40164
40287
  t4Cs.displayName = 't4Cs';
40165
40288
  t4Cs.aliases = [];
@@ -42936,19 +43059,19 @@ refractor.register(chaiscript_1);
42936
43059
  refractor.register(cil_1);
42937
43060
  refractor.register(clojure_1);
42938
43061
  refractor.register(cmake_1);
42939
- refractor.register(cobol_1);
42940
- refractor.register(coffeescript_1);
42941
- refractor.register(concurnas_1);
42942
- refractor.register(coq_1);
42943
- refractor.register(cpp_1);
42944
- refractor.register(crystal_1);
42945
- refractor.register(csharp_1);
42946
- refractor.register(cshtml_1);
42947
- refractor.register(csp_1);
42948
- refractor.register(cssExtras_1);
42949
- refractor.register(csv_1);
42950
- refractor.register(cypher_1);
42951
- refractor.register(d_1);
43062
+ refractor.register(requireCobol());
43063
+ refractor.register(requireCoffeescript());
43064
+ refractor.register(requireConcurnas());
43065
+ refractor.register(requireCoq());
43066
+ refractor.register(requireCpp());
43067
+ refractor.register(requireCrystal());
43068
+ refractor.register(requireCsharp());
43069
+ refractor.register(requireCshtml());
43070
+ refractor.register(requireCsp());
43071
+ refractor.register(requireCssExtras());
43072
+ refractor.register(requireCsv());
43073
+ refractor.register(requireCypher());
43074
+ refractor.register(requireD());
42952
43075
  refractor.register(requireDart());
42953
43076
  refractor.register(requireDataweave());
42954
43077
  refractor.register(requireDax());
@@ -43107,7 +43230,7 @@ refractor.register(requireRest());
43107
43230
  refractor.register(requireRip());
43108
43231
  refractor.register(requireRoboconf());
43109
43232
  refractor.register(requireRobotframework());
43110
- refractor.register(ruby_1);
43233
+ refractor.register(requireRuby());
43111
43234
  refractor.register(requireRust());
43112
43235
  refractor.register(requireSas());
43113
43236
  refractor.register(requireSass());
@@ -46696,8 +46819,8 @@ HierarchyBrowser.defaultProps = {
46696
46819
  title: 'Browser'
46697
46820
  };
46698
46821
 
46699
- var css$F = ".BaseModal_module_root__7a4ddeae {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: stretch;\n top: 50%;\n left: 50%;\n right: auto;\n bottom: auto;\n transform: translate(-50%, -50%);\n max-height: 100%;\n height: 43.75rem;\n width: 62.5rem;\n position: fixed;\n background: #ffffff;\n box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.13);\n border-radius: 8px;\n outline: none;\n}\n.BaseModal_module_root__7a4ddeae .BaseModal_module_body__7a4ddeae {\n overflow-y: scroll;\n padding: 0 15px;\n}\n.BaseModal_module_root__7a4ddeae .BaseModal_module_header__7a4ddeae,\n.BaseModal_module_root__7a4ddeae .BaseModal_module_footer__7a4ddeae {\n padding: 1rem;\n}\n.BaseModal_module_root__7a4ddeae .BaseModal_module_header__7a4ddeae {\n font-weight: 500;\n font-size: 1.375rem;\n border-bottom: 1px solid var(--grey5);\n}\n.BaseModal_module_root__7a4ddeae .BaseModal_module_footer__7a4ddeae {\n margin-top: auto;\n background: var(--grey5);\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n gap: 0.625rem;\n}\n.BaseModal_module_root__7a4ddeae button.BaseModal_module_close__7a4ddeae {\n position: absolute;\n right: 1rem;\n top: 1rem;\n padding: 0.25rem;\n height: auto;\n background: var(--grey6);\n}\n.BaseModal_module_root__7a4ddeae button.BaseModal_module_close__7a4ddeae .BaseModal_module_icon__7a4ddeae {\n width: 1.5rem;\n height: 1.5rem;\n fill: var(--black);\n}";
46700
- var modules_f23ae002 = {"root":"BaseModal_module_root__7a4ddeae","body":"BaseModal_module_body__7a4ddeae","header":"BaseModal_module_header__7a4ddeae","footer":"BaseModal_module_footer__7a4ddeae","close":"BaseModal_module_close__7a4ddeae","icon":"BaseModal_module_icon__7a4ddeae"};
46822
+ var css$F = ".BaseModal_module_root__22dbeb47 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: stretch;\n top: 50%;\n left: 50%;\n right: auto;\n bottom: auto;\n transform: translate(-50%, -50%);\n max-height: 100%;\n height: 43.75rem;\n width: 62.5rem;\n position: fixed;\n background: #ffffff;\n box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.13);\n border-radius: 8px;\n outline: none;\n}\n.BaseModal_module_root__22dbeb47 .BaseModal_module_body__22dbeb47 {\n overflow-y: scroll;\n padding: 1rem 2rem 1rem 2rem;\n}\n.BaseModal_module_root__22dbeb47 .BaseModal_module_header__22dbeb47,\n.BaseModal_module_root__22dbeb47 .BaseModal_module_footer__22dbeb47 {\n padding: 1rem;\n}\n.BaseModal_module_root__22dbeb47 .BaseModal_module_header__22dbeb47 {\n font-weight: 500;\n font-size: 1.375rem;\n border-bottom: 1px solid var(--grey4);\n}\n.BaseModal_module_root__22dbeb47 .BaseModal_module_footer__22dbeb47 {\n margin-top: auto;\n background: var(--grey6);\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n gap: 0.625rem;\n}\n.BaseModal_module_root__22dbeb47 button.BaseModal_module_close__22dbeb47 {\n position: absolute;\n right: 1rem;\n top: 1rem;\n padding: 0.25rem;\n height: auto;\n background: var(--grey6);\n}\n.BaseModal_module_root__22dbeb47 button.BaseModal_module_close__22dbeb47 .BaseModal_module_icon__22dbeb47 {\n width: 1.5rem;\n height: 1.5rem;\n fill: var(--black);\n}";
46823
+ var modules_f23ae002 = {"root":"BaseModal_module_root__22dbeb47","body":"BaseModal_module_body__22dbeb47","header":"BaseModal_module_header__22dbeb47","footer":"BaseModal_module_footer__22dbeb47","close":"BaseModal_module_close__22dbeb47","icon":"BaseModal_module_icon__22dbeb47"};
46701
46824
  n(css$F,{});
46702
46825
 
46703
46826
  var BaseModal = function BaseModal(props) {
@@ -47646,13 +47769,16 @@ var TableBody = function TableBody(props) {
47646
47769
  var key = datum === null || datum === void 0 ? void 0 : datum.uuid;
47647
47770
  var setActiveId = function setActiveId() {
47648
47771
  var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
47772
+ var multiSelect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
47649
47773
  if (reset) {
47650
47774
  listRef.current[_index].removeAttribute('data-active');
47651
47775
  } else {
47652
- var _listRef$current;
47653
- (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.forEach(function (elem) {
47654
- elem.removeAttribute('data-active');
47655
- });
47776
+ if (!multiSelect) {
47777
+ var _listRef$current;
47778
+ (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.forEach(function (elem) {
47779
+ elem.removeAttribute('data-active');
47780
+ });
47781
+ }
47656
47782
  listRef.current[_index].setAttribute('data-active', true);
47657
47783
  }
47658
47784
  };