@banyan_cloud/roots 1.0.96 → 1.0.97

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/esm/index.js CHANGED
@@ -20507,126 +20507,134 @@ function c(Prism) {
20507
20507
  delete Prism.languages.c['boolean'];
20508
20508
  }
20509
20509
 
20510
- var refractorC$1 = c_1;
20511
- var cpp_1 = cpp;
20512
- cpp.displayName = 'cpp';
20513
- cpp.aliases = [];
20514
- function cpp(Prism) {
20515
- Prism.register(refractorC$1)
20516
- ;(function (Prism) {
20517
- var keyword =
20518
- /\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/;
20519
- var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
20520
- /<keyword>/g,
20521
- function () {
20522
- return keyword.source
20523
- }
20524
- );
20525
- Prism.languages.cpp = Prism.languages.extend('c', {
20526
- 'class-name': [
20527
- {
20528
- pattern: RegExp(
20529
- /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
20530
- /<keyword>/g,
20531
- function () {
20532
- return keyword.source
20533
- }
20534
- )
20535
- ),
20536
- lookbehind: true
20537
- }, // This is intended to capture the class name of method implementations like:
20538
- // void foo::bar() const {}
20539
- // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
20540
- // it starts with an uppercase letter. This approximation should give decent results.
20541
- /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, // This will capture the class name before destructors like:
20542
- // Foo::~Foo() {}
20543
- /\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
20544
- // parameters, so it can't be a namespace (until C++ adds generic namespaces).
20545
- /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
20546
- ],
20547
- keyword: keyword,
20548
- number: {
20549
- pattern:
20550
- /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
20551
- greedy: true
20552
- },
20553
- operator:
20554
- />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
20555
- boolean: /\b(?:false|true)\b/
20556
- });
20557
- Prism.languages.insertBefore('cpp', 'string', {
20558
- module: {
20559
- // https://en.cppreference.com/w/cpp/language/modules
20560
- pattern: RegExp(
20561
- /(\b(?:import|module)\s+)/.source +
20562
- '(?:' + // header-name
20563
- /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source +
20564
- '|' + // module name or partition or both
20565
- /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
20566
- /<mod-name>/g,
20567
- function () {
20568
- return modName
20569
- }
20570
- ) +
20571
- ')'
20572
- ),
20573
- lookbehind: true,
20574
- greedy: true,
20575
- inside: {
20576
- string: /^[<"][\s\S]+/,
20577
- operator: /:/,
20578
- punctuation: /\./
20579
- }
20580
- },
20581
- 'raw-string': {
20582
- pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
20583
- alias: 'string',
20584
- greedy: true
20585
- }
20586
- });
20587
- Prism.languages.insertBefore('cpp', 'keyword', {
20588
- 'generic-function': {
20589
- pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
20590
- inside: {
20591
- function: /^\w+/,
20592
- generic: {
20593
- pattern: /<[\s\S]+/,
20594
- alias: 'class-name',
20595
- inside: Prism.languages.cpp
20596
- }
20597
- }
20598
- }
20599
- });
20600
- Prism.languages.insertBefore('cpp', 'operator', {
20601
- 'double-colon': {
20602
- pattern: /::/,
20603
- alias: 'punctuation'
20604
- }
20605
- });
20606
- Prism.languages.insertBefore('cpp', 'class-name', {
20607
- // the base clause is an optional list of parent classes
20608
- // https://en.cppreference.com/w/cpp/language/class
20609
- 'base-clause': {
20610
- pattern:
20611
- /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
20612
- lookbehind: true,
20613
- greedy: true,
20614
- inside: Prism.languages.extend('cpp', {})
20615
- }
20616
- });
20617
- Prism.languages.insertBefore(
20618
- 'inside',
20619
- 'double-colon',
20620
- {
20621
- // All untokenized words that are not namespaces should be class names
20622
- 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i
20623
- },
20624
- Prism.languages.cpp['base-clause']
20625
- );
20626
- })(Prism);
20510
+ var cpp_1;
20511
+ var hasRequiredCpp;
20512
+
20513
+ function requireCpp () {
20514
+ if (hasRequiredCpp) return cpp_1;
20515
+ hasRequiredCpp = 1;
20516
+ var refractorC = c_1;
20517
+ cpp_1 = cpp;
20518
+ cpp.displayName = 'cpp';
20519
+ cpp.aliases = [];
20520
+ function cpp(Prism) {
20521
+ Prism.register(refractorC)
20522
+ ;(function (Prism) {
20523
+ var keyword =
20524
+ /\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/;
20525
+ var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
20526
+ /<keyword>/g,
20527
+ function () {
20528
+ return keyword.source
20529
+ }
20530
+ );
20531
+ Prism.languages.cpp = Prism.languages.extend('c', {
20532
+ 'class-name': [
20533
+ {
20534
+ pattern: RegExp(
20535
+ /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
20536
+ /<keyword>/g,
20537
+ function () {
20538
+ return keyword.source
20539
+ }
20540
+ )
20541
+ ),
20542
+ lookbehind: true
20543
+ }, // This is intended to capture the class name of method implementations like:
20544
+ // void foo::bar() const {}
20545
+ // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
20546
+ // it starts with an uppercase letter. This approximation should give decent results.
20547
+ /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, // This will capture the class name before destructors like:
20548
+ // Foo::~Foo() {}
20549
+ /\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
20550
+ // parameters, so it can't be a namespace (until C++ adds generic namespaces).
20551
+ /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
20552
+ ],
20553
+ keyword: keyword,
20554
+ number: {
20555
+ pattern:
20556
+ /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
20557
+ greedy: true
20558
+ },
20559
+ operator:
20560
+ />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
20561
+ boolean: /\b(?:false|true)\b/
20562
+ });
20563
+ Prism.languages.insertBefore('cpp', 'string', {
20564
+ module: {
20565
+ // https://en.cppreference.com/w/cpp/language/modules
20566
+ pattern: RegExp(
20567
+ /(\b(?:import|module)\s+)/.source +
20568
+ '(?:' + // header-name
20569
+ /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source +
20570
+ '|' + // module name or partition or both
20571
+ /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
20572
+ /<mod-name>/g,
20573
+ function () {
20574
+ return modName
20575
+ }
20576
+ ) +
20577
+ ')'
20578
+ ),
20579
+ lookbehind: true,
20580
+ greedy: true,
20581
+ inside: {
20582
+ string: /^[<"][\s\S]+/,
20583
+ operator: /:/,
20584
+ punctuation: /\./
20585
+ }
20586
+ },
20587
+ 'raw-string': {
20588
+ pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
20589
+ alias: 'string',
20590
+ greedy: true
20591
+ }
20592
+ });
20593
+ Prism.languages.insertBefore('cpp', 'keyword', {
20594
+ 'generic-function': {
20595
+ pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
20596
+ inside: {
20597
+ function: /^\w+/,
20598
+ generic: {
20599
+ pattern: /<[\s\S]+/,
20600
+ alias: 'class-name',
20601
+ inside: Prism.languages.cpp
20602
+ }
20603
+ }
20604
+ }
20605
+ });
20606
+ Prism.languages.insertBefore('cpp', 'operator', {
20607
+ 'double-colon': {
20608
+ pattern: /::/,
20609
+ alias: 'punctuation'
20610
+ }
20611
+ });
20612
+ Prism.languages.insertBefore('cpp', 'class-name', {
20613
+ // the base clause is an optional list of parent classes
20614
+ // https://en.cppreference.com/w/cpp/language/class
20615
+ 'base-clause': {
20616
+ pattern:
20617
+ /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
20618
+ lookbehind: true,
20619
+ greedy: true,
20620
+ inside: Prism.languages.extend('cpp', {})
20621
+ }
20622
+ });
20623
+ Prism.languages.insertBefore(
20624
+ 'inside',
20625
+ 'double-colon',
20626
+ {
20627
+ // All untokenized words that are not namespaces should be class names
20628
+ 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i
20629
+ },
20630
+ Prism.languages.cpp['base-clause']
20631
+ );
20632
+ })(Prism);
20633
+ }
20634
+ return cpp_1;
20627
20635
  }
20628
20636
 
20629
- var refractorCpp$1 = cpp_1;
20637
+ var refractorCpp$1 = requireCpp();
20630
20638
  var arduino_1 = arduino;
20631
20639
  arduino.displayName = 'arduino';
20632
20640
  arduino.aliases = ['ino'];
@@ -20970,475 +20978,484 @@ function asmatmel(Prism) {
20970
20978
  };
20971
20979
  }
20972
20980
 
20973
- var csharp_1 = csharp;
20974
- csharp.displayName = 'csharp';
20975
- csharp.aliases = ['dotnet', 'cs'];
20976
- function csharp(Prism) {
20981
+ var csharp_1;
20982
+ var hasRequiredCsharp;
20983
+
20984
+ function requireCsharp () {
20985
+ if (hasRequiredCsharp) return csharp_1;
20986
+ hasRequiredCsharp = 1;
20987
+
20988
+ csharp_1 = csharp;
20989
+ csharp.displayName = 'csharp';
20990
+ csharp.aliases = ['dotnet', 'cs'];
20991
+ function csharp(Prism) {
20977
20992
  (function (Prism) {
20978
- /**
20979
- * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
20980
- *
20981
- * Note: This is a simple text based replacement. Be careful when using backreferences!
20982
- *
20983
- * @param {string} pattern the given pattern.
20984
- * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
20985
- * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
20986
- * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
20987
- */
20988
- function replace(pattern, replacements) {
20989
- return pattern.replace(/<<(\d+)>>/g, function (m, index) {
20990
- return '(?:' + replacements[+index] + ')'
20991
- })
20992
- }
20993
- /**
20994
- * @param {string} pattern
20995
- * @param {string[]} replacements
20996
- * @param {string} [flags]
20997
- * @returns {RegExp}
20998
- */
20999
- function re(pattern, replacements, flags) {
21000
- return RegExp(replace(pattern, replacements), flags || '')
21001
- }
21002
- /**
21003
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
21004
- *
21005
- * @param {string} pattern
21006
- * @param {number} depthLog2
21007
- * @returns {string}
21008
- */
21009
- function nested(pattern, depthLog2) {
21010
- for (var i = 0; i < depthLog2; i++) {
21011
- pattern = pattern.replace(/<<self>>/g, function () {
21012
- return '(?:' + pattern + ')'
21013
- });
21014
- }
21015
- return pattern.replace(/<<self>>/g, '[^\\s\\S]')
21016
- } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
21017
- var keywordKinds = {
21018
- // keywords which represent a return or variable type
21019
- type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
21020
- // keywords which are used to declare a type
21021
- typeDeclaration: 'class enum interface record struct',
21022
- // contextual keywords
21023
- // ("var" and "dynamic" are missing because they are used like types)
21024
- contextual:
21025
- '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*{)',
21026
- // all other keywords
21027
- other:
21028
- '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'
21029
- }; // keywords
21030
- function keywordsToPattern(words) {
21031
- return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
21032
- }
21033
- var typeDeclarationKeywords = keywordsToPattern(
21034
- keywordKinds.typeDeclaration
21035
- );
21036
- var keywords = RegExp(
21037
- keywordsToPattern(
21038
- keywordKinds.type +
21039
- ' ' +
21040
- keywordKinds.typeDeclaration +
21041
- ' ' +
21042
- keywordKinds.contextual +
21043
- ' ' +
21044
- keywordKinds.other
21045
- )
21046
- );
21047
- var nonTypeKeywords = keywordsToPattern(
21048
- keywordKinds.typeDeclaration +
21049
- ' ' +
21050
- keywordKinds.contextual +
21051
- ' ' +
21052
- keywordKinds.other
21053
- );
21054
- var nonContextualKeywords = keywordsToPattern(
21055
- keywordKinds.type +
21056
- ' ' +
21057
- keywordKinds.typeDeclaration +
21058
- ' ' +
21059
- keywordKinds.other
21060
- ); // types
21061
- var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
21062
- var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
21063
- var name = /@?\b[A-Za-z_]\w*\b/.source;
21064
- var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
21065
- var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
21066
- nonTypeKeywords,
21067
- genericName
21068
- ]);
21069
- var array = /\[\s*(?:,\s*)*\]/.source;
21070
- var typeExpressionWithoutTuple = replace(
21071
- /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
21072
- [identifier, array]
21073
- );
21074
- var tupleElement = replace(
21075
- /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
21076
- [generic, nestedRound, array]
21077
- );
21078
- var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
21079
- var typeExpression = replace(
21080
- /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
21081
- [tuple, identifier, array]
21082
- );
21083
- var typeInside = {
21084
- keyword: keywords,
21085
- punctuation: /[<>()?,.:[\]]/
21086
- }; // strings & characters
21087
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
21088
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
21089
- var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
21090
- var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
21091
- var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
21092
- Prism.languages.csharp = Prism.languages.extend('clike', {
21093
- string: [
21094
- {
21095
- pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
21096
- lookbehind: true,
21097
- greedy: true
21098
- },
21099
- {
21100
- pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
21101
- lookbehind: true,
21102
- greedy: true
21103
- }
21104
- ],
21105
- 'class-name': [
21106
- {
21107
- // Using static
21108
- // using static System.Math;
21109
- pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
21110
- identifier
21111
- ]),
21112
- lookbehind: true,
21113
- inside: typeInside
21114
- },
21115
- {
21116
- // Using alias (type)
21117
- // using Project = PC.MyCompany.Project;
21118
- pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
21119
- name,
21120
- typeExpression
21121
- ]),
21122
- lookbehind: true,
21123
- inside: typeInside
21124
- },
21125
- {
21126
- // Using alias (alias)
21127
- // using Project = PC.MyCompany.Project;
21128
- pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
21129
- lookbehind: true
21130
- },
21131
- {
21132
- // Type declarations
21133
- // class Foo<A, B>
21134
- // interface Foo<out A, B>
21135
- pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
21136
- typeDeclarationKeywords,
21137
- genericName
21138
- ]),
21139
- lookbehind: true,
21140
- inside: typeInside
21141
- },
21142
- {
21143
- // Single catch exception declaration
21144
- // catch(Foo)
21145
- // (things like catch(Foo e) is covered by variable declaration)
21146
- pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
21147
- lookbehind: true,
21148
- inside: typeInside
21149
- },
21150
- {
21151
- // Name of the type parameter of generic constraints
21152
- // where Foo : class
21153
- pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
21154
- lookbehind: true
21155
- },
21156
- {
21157
- // Casts and checks via as and is.
21158
- // as Foo<A>, is Bar<B>
21159
- // (things like if(a is Foo b) is covered by variable declaration)
21160
- pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
21161
- typeExpressionWithoutTuple
21162
- ]),
21163
- lookbehind: true,
21164
- inside: typeInside
21165
- },
21166
- {
21167
- // Variable, field and parameter declaration
21168
- // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
21169
- pattern: re(
21170
- /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
21171
- .source,
21172
- [typeExpression, nonContextualKeywords, name]
21173
- ),
21174
- inside: typeInside
21175
- }
21176
- ],
21177
- keyword: keywords,
21178
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
21179
- number:
21180
- /(?:\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,
21181
- operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
21182
- punctuation: /\?\.?|::|[{}[\];(),.:]/
21183
- });
21184
- Prism.languages.insertBefore('csharp', 'number', {
21185
- range: {
21186
- pattern: /\.\./,
21187
- alias: 'operator'
21188
- }
21189
- });
21190
- Prism.languages.insertBefore('csharp', 'punctuation', {
21191
- 'named-parameter': {
21192
- pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
21193
- lookbehind: true,
21194
- alias: 'punctuation'
21195
- }
21196
- });
21197
- Prism.languages.insertBefore('csharp', 'class-name', {
21198
- namespace: {
21199
- // namespace Foo.Bar {}
21200
- // using Foo.Bar;
21201
- pattern: re(
21202
- /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
21203
- [name]
21204
- ),
21205
- lookbehind: true,
21206
- inside: {
21207
- punctuation: /\./
21208
- }
21209
- },
21210
- 'type-expression': {
21211
- // default(Foo), typeof(Foo<Bar>), sizeof(int)
21212
- pattern: re(
21213
- /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
21214
- .source,
21215
- [nestedRound]
21216
- ),
21217
- lookbehind: true,
21218
- alias: 'class-name',
21219
- inside: typeInside
21220
- },
21221
- 'return-type': {
21222
- // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
21223
- // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
21224
- // int Foo => 0; int Foo { get; set } = 0;
21225
- pattern: re(
21226
- /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
21227
- [typeExpression, identifier]
21228
- ),
21229
- inside: typeInside,
21230
- alias: 'class-name'
21231
- },
21232
- 'constructor-invocation': {
21233
- // new List<Foo<Bar[]>> { }
21234
- pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
21235
- lookbehind: true,
21236
- inside: typeInside,
21237
- alias: 'class-name'
21238
- },
21239
- /*'explicit-implementation': {
21240
- // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
21241
- pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
21242
- inside: classNameInside,
21243
- alias: 'class-name'
21244
- },*/
21245
- 'generic-method': {
21246
- // foo<Bar>()
21247
- pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
21248
- inside: {
21249
- function: re(/^<<0>>/.source, [name]),
21250
- generic: {
21251
- pattern: RegExp(generic),
21252
- alias: 'class-name',
21253
- inside: typeInside
21254
- }
21255
- }
21256
- },
21257
- 'type-list': {
21258
- // The list of types inherited or of generic constraints
21259
- // class Foo<F> : Bar, IList<FooBar>
21260
- // where F : Bar, IList<int>
21261
- pattern: re(
21262
- /\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|[{;]|=>|$))/
21263
- .source,
21264
- [
21265
- typeDeclarationKeywords,
21266
- genericName,
21267
- name,
21268
- typeExpression,
21269
- keywords.source,
21270
- nestedRound,
21271
- /\bnew\s*\(\s*\)/.source
21272
- ]
21273
- ),
21274
- lookbehind: true,
21275
- inside: {
21276
- 'record-arguments': {
21277
- pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
21278
- genericName,
21279
- nestedRound
21280
- ]),
21281
- lookbehind: true,
21282
- greedy: true,
21283
- inside: Prism.languages.csharp
21284
- },
21285
- keyword: keywords,
21286
- 'class-name': {
21287
- pattern: RegExp(typeExpression),
21288
- greedy: true,
21289
- inside: typeInside
21290
- },
21291
- punctuation: /[,()]/
21292
- }
21293
- },
21294
- preprocessor: {
21295
- pattern: /(^[\t ]*)#.*/m,
21296
- lookbehind: true,
21297
- alias: 'property',
21298
- inside: {
21299
- // highlight preprocessor directives as keywords
21300
- directive: {
21301
- pattern:
21302
- /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
21303
- lookbehind: true,
21304
- alias: 'keyword'
21305
- }
21306
- }
21307
- }
21308
- }); // attributes
21309
- var regularStringOrCharacter = regularString + '|' + character;
21310
- var regularStringCharacterOrComment = replace(
21311
- /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
21312
- [regularStringOrCharacter]
21313
- );
21314
- var roundExpression = nested(
21315
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21316
- regularStringCharacterOrComment
21317
- ]),
21318
- 2
21319
- ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
21320
- var attrTarget =
21321
- /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
21322
- .source;
21323
- var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
21324
- identifier,
21325
- roundExpression
21326
- ]);
21327
- Prism.languages.insertBefore('csharp', 'class-name', {
21328
- attribute: {
21329
- // Attributes
21330
- // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
21331
- pattern: re(
21332
- /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
21333
- .source,
21334
- [attrTarget, attr]
21335
- ),
21336
- lookbehind: true,
21337
- greedy: true,
21338
- inside: {
21339
- target: {
21340
- pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
21341
- alias: 'keyword'
21342
- },
21343
- 'attribute-arguments': {
21344
- pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
21345
- inside: Prism.languages.csharp
21346
- },
21347
- 'class-name': {
21348
- pattern: RegExp(identifier),
21349
- inside: {
21350
- punctuation: /\./
21351
- }
21352
- },
21353
- punctuation: /[:,]/
21354
- }
21355
- }
21356
- }); // string interpolation
21357
- var formatString = /:[^}\r\n]+/.source; // multi line
21358
- var mInterpolationRound = nested(
21359
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21360
- regularStringCharacterOrComment
21361
- ]),
21362
- 2
21363
- );
21364
- var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21365
- mInterpolationRound,
21366
- formatString
21367
- ]); // single line
21368
- var sInterpolationRound = nested(
21369
- replace(
21370
- /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
21371
- .source,
21372
- [regularStringOrCharacter]
21373
- ),
21374
- 2
21375
- );
21376
- var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21377
- sInterpolationRound,
21378
- formatString
21379
- ]);
21380
- function createInterpolationInside(interpolation, interpolationRound) {
21381
- return {
21382
- interpolation: {
21383
- pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
21384
- lookbehind: true,
21385
- inside: {
21386
- 'format-string': {
21387
- pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
21388
- interpolationRound,
21389
- formatString
21390
- ]),
21391
- lookbehind: true,
21392
- inside: {
21393
- punctuation: /^:/
21394
- }
21395
- },
21396
- punctuation: /^\{|\}$/,
21397
- expression: {
21398
- pattern: /[\s\S]+/,
21399
- alias: 'language-csharp',
21400
- inside: Prism.languages.csharp
21401
- }
21402
- }
21403
- },
21404
- string: /[\s\S]+/
21405
- }
21406
- }
21407
- Prism.languages.insertBefore('csharp', 'string', {
21408
- 'interpolation-string': [
21409
- {
21410
- pattern: re(
21411
- /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
21412
- [mInterpolation]
21413
- ),
21414
- lookbehind: true,
21415
- greedy: true,
21416
- inside: createInterpolationInside(mInterpolation, mInterpolationRound)
21417
- },
21418
- {
21419
- pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
21420
- sInterpolation
21421
- ]),
21422
- lookbehind: true,
21423
- greedy: true,
21424
- inside: createInterpolationInside(sInterpolation, sInterpolationRound)
21425
- }
21426
- ],
21427
- char: {
21428
- pattern: RegExp(character),
21429
- greedy: true
21430
- }
21431
- });
21432
- Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
21433
- })(Prism);
20993
+ /**
20994
+ * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
20995
+ *
20996
+ * Note: This is a simple text based replacement. Be careful when using backreferences!
20997
+ *
20998
+ * @param {string} pattern the given pattern.
20999
+ * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
21000
+ * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
21001
+ * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
21002
+ */
21003
+ function replace(pattern, replacements) {
21004
+ return pattern.replace(/<<(\d+)>>/g, function (m, index) {
21005
+ return '(?:' + replacements[+index] + ')'
21006
+ })
21007
+ }
21008
+ /**
21009
+ * @param {string} pattern
21010
+ * @param {string[]} replacements
21011
+ * @param {string} [flags]
21012
+ * @returns {RegExp}
21013
+ */
21014
+ function re(pattern, replacements, flags) {
21015
+ return RegExp(replace(pattern, replacements), flags || '')
21016
+ }
21017
+ /**
21018
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
21019
+ *
21020
+ * @param {string} pattern
21021
+ * @param {number} depthLog2
21022
+ * @returns {string}
21023
+ */
21024
+ function nested(pattern, depthLog2) {
21025
+ for (var i = 0; i < depthLog2; i++) {
21026
+ pattern = pattern.replace(/<<self>>/g, function () {
21027
+ return '(?:' + pattern + ')'
21028
+ });
21029
+ }
21030
+ return pattern.replace(/<<self>>/g, '[^\\s\\S]')
21031
+ } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
21032
+ var keywordKinds = {
21033
+ // keywords which represent a return or variable type
21034
+ type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
21035
+ // keywords which are used to declare a type
21036
+ typeDeclaration: 'class enum interface record struct',
21037
+ // contextual keywords
21038
+ // ("var" and "dynamic" are missing because they are used like types)
21039
+ contextual:
21040
+ '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*{)',
21041
+ // all other keywords
21042
+ other:
21043
+ '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'
21044
+ }; // keywords
21045
+ function keywordsToPattern(words) {
21046
+ return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
21047
+ }
21048
+ var typeDeclarationKeywords = keywordsToPattern(
21049
+ keywordKinds.typeDeclaration
21050
+ );
21051
+ var keywords = RegExp(
21052
+ keywordsToPattern(
21053
+ keywordKinds.type +
21054
+ ' ' +
21055
+ keywordKinds.typeDeclaration +
21056
+ ' ' +
21057
+ keywordKinds.contextual +
21058
+ ' ' +
21059
+ keywordKinds.other
21060
+ )
21061
+ );
21062
+ var nonTypeKeywords = keywordsToPattern(
21063
+ keywordKinds.typeDeclaration +
21064
+ ' ' +
21065
+ keywordKinds.contextual +
21066
+ ' ' +
21067
+ keywordKinds.other
21068
+ );
21069
+ var nonContextualKeywords = keywordsToPattern(
21070
+ keywordKinds.type +
21071
+ ' ' +
21072
+ keywordKinds.typeDeclaration +
21073
+ ' ' +
21074
+ keywordKinds.other
21075
+ ); // types
21076
+ var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
21077
+ var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
21078
+ var name = /@?\b[A-Za-z_]\w*\b/.source;
21079
+ var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
21080
+ var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
21081
+ nonTypeKeywords,
21082
+ genericName
21083
+ ]);
21084
+ var array = /\[\s*(?:,\s*)*\]/.source;
21085
+ var typeExpressionWithoutTuple = replace(
21086
+ /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
21087
+ [identifier, array]
21088
+ );
21089
+ var tupleElement = replace(
21090
+ /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
21091
+ [generic, nestedRound, array]
21092
+ );
21093
+ var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
21094
+ var typeExpression = replace(
21095
+ /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
21096
+ [tuple, identifier, array]
21097
+ );
21098
+ var typeInside = {
21099
+ keyword: keywords,
21100
+ punctuation: /[<>()?,.:[\]]/
21101
+ }; // strings & characters
21102
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
21103
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
21104
+ var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
21105
+ var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
21106
+ var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
21107
+ Prism.languages.csharp = Prism.languages.extend('clike', {
21108
+ string: [
21109
+ {
21110
+ pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
21111
+ lookbehind: true,
21112
+ greedy: true
21113
+ },
21114
+ {
21115
+ pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
21116
+ lookbehind: true,
21117
+ greedy: true
21118
+ }
21119
+ ],
21120
+ 'class-name': [
21121
+ {
21122
+ // Using static
21123
+ // using static System.Math;
21124
+ pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
21125
+ identifier
21126
+ ]),
21127
+ lookbehind: true,
21128
+ inside: typeInside
21129
+ },
21130
+ {
21131
+ // Using alias (type)
21132
+ // using Project = PC.MyCompany.Project;
21133
+ pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
21134
+ name,
21135
+ typeExpression
21136
+ ]),
21137
+ lookbehind: true,
21138
+ inside: typeInside
21139
+ },
21140
+ {
21141
+ // Using alias (alias)
21142
+ // using Project = PC.MyCompany.Project;
21143
+ pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
21144
+ lookbehind: true
21145
+ },
21146
+ {
21147
+ // Type declarations
21148
+ // class Foo<A, B>
21149
+ // interface Foo<out A, B>
21150
+ pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
21151
+ typeDeclarationKeywords,
21152
+ genericName
21153
+ ]),
21154
+ lookbehind: true,
21155
+ inside: typeInside
21156
+ },
21157
+ {
21158
+ // Single catch exception declaration
21159
+ // catch(Foo)
21160
+ // (things like catch(Foo e) is covered by variable declaration)
21161
+ pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
21162
+ lookbehind: true,
21163
+ inside: typeInside
21164
+ },
21165
+ {
21166
+ // Name of the type parameter of generic constraints
21167
+ // where Foo : class
21168
+ pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
21169
+ lookbehind: true
21170
+ },
21171
+ {
21172
+ // Casts and checks via as and is.
21173
+ // as Foo<A>, is Bar<B>
21174
+ // (things like if(a is Foo b) is covered by variable declaration)
21175
+ pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
21176
+ typeExpressionWithoutTuple
21177
+ ]),
21178
+ lookbehind: true,
21179
+ inside: typeInside
21180
+ },
21181
+ {
21182
+ // Variable, field and parameter declaration
21183
+ // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
21184
+ pattern: re(
21185
+ /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
21186
+ .source,
21187
+ [typeExpression, nonContextualKeywords, name]
21188
+ ),
21189
+ inside: typeInside
21190
+ }
21191
+ ],
21192
+ keyword: keywords,
21193
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
21194
+ number:
21195
+ /(?:\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,
21196
+ operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
21197
+ punctuation: /\?\.?|::|[{}[\];(),.:]/
21198
+ });
21199
+ Prism.languages.insertBefore('csharp', 'number', {
21200
+ range: {
21201
+ pattern: /\.\./,
21202
+ alias: 'operator'
21203
+ }
21204
+ });
21205
+ Prism.languages.insertBefore('csharp', 'punctuation', {
21206
+ 'named-parameter': {
21207
+ pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
21208
+ lookbehind: true,
21209
+ alias: 'punctuation'
21210
+ }
21211
+ });
21212
+ Prism.languages.insertBefore('csharp', 'class-name', {
21213
+ namespace: {
21214
+ // namespace Foo.Bar {}
21215
+ // using Foo.Bar;
21216
+ pattern: re(
21217
+ /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
21218
+ [name]
21219
+ ),
21220
+ lookbehind: true,
21221
+ inside: {
21222
+ punctuation: /\./
21223
+ }
21224
+ },
21225
+ 'type-expression': {
21226
+ // default(Foo), typeof(Foo<Bar>), sizeof(int)
21227
+ pattern: re(
21228
+ /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
21229
+ .source,
21230
+ [nestedRound]
21231
+ ),
21232
+ lookbehind: true,
21233
+ alias: 'class-name',
21234
+ inside: typeInside
21235
+ },
21236
+ 'return-type': {
21237
+ // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
21238
+ // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
21239
+ // int Foo => 0; int Foo { get; set } = 0;
21240
+ pattern: re(
21241
+ /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
21242
+ [typeExpression, identifier]
21243
+ ),
21244
+ inside: typeInside,
21245
+ alias: 'class-name'
21246
+ },
21247
+ 'constructor-invocation': {
21248
+ // new List<Foo<Bar[]>> { }
21249
+ pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
21250
+ lookbehind: true,
21251
+ inside: typeInside,
21252
+ alias: 'class-name'
21253
+ },
21254
+ /*'explicit-implementation': {
21255
+ // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
21256
+ pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
21257
+ inside: classNameInside,
21258
+ alias: 'class-name'
21259
+ },*/
21260
+ 'generic-method': {
21261
+ // foo<Bar>()
21262
+ pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
21263
+ inside: {
21264
+ function: re(/^<<0>>/.source, [name]),
21265
+ generic: {
21266
+ pattern: RegExp(generic),
21267
+ alias: 'class-name',
21268
+ inside: typeInside
21269
+ }
21270
+ }
21271
+ },
21272
+ 'type-list': {
21273
+ // The list of types inherited or of generic constraints
21274
+ // class Foo<F> : Bar, IList<FooBar>
21275
+ // where F : Bar, IList<int>
21276
+ pattern: re(
21277
+ /\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|[{;]|=>|$))/
21278
+ .source,
21279
+ [
21280
+ typeDeclarationKeywords,
21281
+ genericName,
21282
+ name,
21283
+ typeExpression,
21284
+ keywords.source,
21285
+ nestedRound,
21286
+ /\bnew\s*\(\s*\)/.source
21287
+ ]
21288
+ ),
21289
+ lookbehind: true,
21290
+ inside: {
21291
+ 'record-arguments': {
21292
+ pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
21293
+ genericName,
21294
+ nestedRound
21295
+ ]),
21296
+ lookbehind: true,
21297
+ greedy: true,
21298
+ inside: Prism.languages.csharp
21299
+ },
21300
+ keyword: keywords,
21301
+ 'class-name': {
21302
+ pattern: RegExp(typeExpression),
21303
+ greedy: true,
21304
+ inside: typeInside
21305
+ },
21306
+ punctuation: /[,()]/
21307
+ }
21308
+ },
21309
+ preprocessor: {
21310
+ pattern: /(^[\t ]*)#.*/m,
21311
+ lookbehind: true,
21312
+ alias: 'property',
21313
+ inside: {
21314
+ // highlight preprocessor directives as keywords
21315
+ directive: {
21316
+ pattern:
21317
+ /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
21318
+ lookbehind: true,
21319
+ alias: 'keyword'
21320
+ }
21321
+ }
21322
+ }
21323
+ }); // attributes
21324
+ var regularStringOrCharacter = regularString + '|' + character;
21325
+ var regularStringCharacterOrComment = replace(
21326
+ /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
21327
+ [regularStringOrCharacter]
21328
+ );
21329
+ var roundExpression = nested(
21330
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21331
+ regularStringCharacterOrComment
21332
+ ]),
21333
+ 2
21334
+ ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
21335
+ var attrTarget =
21336
+ /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
21337
+ .source;
21338
+ var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
21339
+ identifier,
21340
+ roundExpression
21341
+ ]);
21342
+ Prism.languages.insertBefore('csharp', 'class-name', {
21343
+ attribute: {
21344
+ // Attributes
21345
+ // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
21346
+ pattern: re(
21347
+ /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
21348
+ .source,
21349
+ [attrTarget, attr]
21350
+ ),
21351
+ lookbehind: true,
21352
+ greedy: true,
21353
+ inside: {
21354
+ target: {
21355
+ pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
21356
+ alias: 'keyword'
21357
+ },
21358
+ 'attribute-arguments': {
21359
+ pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
21360
+ inside: Prism.languages.csharp
21361
+ },
21362
+ 'class-name': {
21363
+ pattern: RegExp(identifier),
21364
+ inside: {
21365
+ punctuation: /\./
21366
+ }
21367
+ },
21368
+ punctuation: /[:,]/
21369
+ }
21370
+ }
21371
+ }); // string interpolation
21372
+ var formatString = /:[^}\r\n]+/.source; // multi line
21373
+ var mInterpolationRound = nested(
21374
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
21375
+ regularStringCharacterOrComment
21376
+ ]),
21377
+ 2
21378
+ );
21379
+ var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21380
+ mInterpolationRound,
21381
+ formatString
21382
+ ]); // single line
21383
+ var sInterpolationRound = nested(
21384
+ replace(
21385
+ /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
21386
+ .source,
21387
+ [regularStringOrCharacter]
21388
+ ),
21389
+ 2
21390
+ );
21391
+ var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
21392
+ sInterpolationRound,
21393
+ formatString
21394
+ ]);
21395
+ function createInterpolationInside(interpolation, interpolationRound) {
21396
+ return {
21397
+ interpolation: {
21398
+ pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
21399
+ lookbehind: true,
21400
+ inside: {
21401
+ 'format-string': {
21402
+ pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
21403
+ interpolationRound,
21404
+ formatString
21405
+ ]),
21406
+ lookbehind: true,
21407
+ inside: {
21408
+ punctuation: /^:/
21409
+ }
21410
+ },
21411
+ punctuation: /^\{|\}$/,
21412
+ expression: {
21413
+ pattern: /[\s\S]+/,
21414
+ alias: 'language-csharp',
21415
+ inside: Prism.languages.csharp
21416
+ }
21417
+ }
21418
+ },
21419
+ string: /[\s\S]+/
21420
+ }
21421
+ }
21422
+ Prism.languages.insertBefore('csharp', 'string', {
21423
+ 'interpolation-string': [
21424
+ {
21425
+ pattern: re(
21426
+ /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
21427
+ [mInterpolation]
21428
+ ),
21429
+ lookbehind: true,
21430
+ greedy: true,
21431
+ inside: createInterpolationInside(mInterpolation, mInterpolationRound)
21432
+ },
21433
+ {
21434
+ pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
21435
+ sInterpolation
21436
+ ]),
21437
+ lookbehind: true,
21438
+ greedy: true,
21439
+ inside: createInterpolationInside(sInterpolation, sInterpolationRound)
21440
+ }
21441
+ ],
21442
+ char: {
21443
+ pattern: RegExp(character),
21444
+ greedy: true
21445
+ }
21446
+ });
21447
+ Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
21448
+ })(Prism);
21449
+ }
21450
+ return csharp_1;
21434
21451
  }
21435
21452
 
21436
- var refractorCsharp$1 = csharp_1;
21453
+ var refractorCsharp = requireCsharp();
21437
21454
  var aspnet_1 = aspnet;
21438
21455
  aspnet.displayName = 'aspnet';
21439
21456
  aspnet.aliases = [];
21440
21457
  function aspnet(Prism) {
21441
- Prism.register(refractorCsharp$1);
21458
+ Prism.register(refractorCsharp);
21442
21459
  Prism.languages.aspnet = Prism.languages.extend('markup', {
21443
21460
  'page-directive': {
21444
21461
  pattern: /<%\s*@.*%>/,
@@ -22627,7 +22644,7 @@ function cfscript(Prism) {
22627
22644
  Prism.languages.cfc = Prism.languages['cfscript'];
22628
22645
  }
22629
22646
 
22630
- var refractorCpp = cpp_1;
22647
+ var refractorCpp = requireCpp();
22631
22648
  var chaiscript_1 = chaiscript;
22632
22649
  chaiscript.displayName = 'chaiscript';
22633
22650
  chaiscript.aliases = [];
@@ -22800,830 +22817,900 @@ function cmake(Prism) {
22800
22817
  };
22801
22818
  }
22802
22819
 
22803
- var cobol_1 = cobol;
22804
- cobol.displayName = 'cobol';
22805
- cobol.aliases = [];
22806
- function cobol(Prism) {
22807
- Prism.languages.cobol = {
22808
- comment: {
22809
- pattern: /\*>.*|(^[ \t]*)\*.*/m,
22810
- lookbehind: true,
22811
- greedy: true
22812
- },
22813
- string: {
22814
- pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
22815
- greedy: true
22816
- },
22817
- level: {
22818
- pattern: /(^[ \t]*)\d+\b/m,
22819
- lookbehind: true,
22820
- greedy: true,
22821
- alias: 'number'
22822
- },
22823
- 'class-name': {
22824
- // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
22825
- pattern:
22826
- /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
22827
- lookbehind: true,
22828
- inside: {
22829
- number: {
22830
- pattern: /(\()\d+/,
22831
- lookbehind: true
22832
- },
22833
- punctuation: /[()]/
22834
- }
22835
- },
22836
- keyword: {
22837
- pattern:
22838
- /(^|[^\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,
22839
- lookbehind: true
22840
- },
22841
- boolean: {
22842
- pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
22843
- lookbehind: true
22844
- },
22845
- number: {
22846
- pattern:
22847
- /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
22848
- lookbehind: true
22849
- },
22850
- operator: [
22851
- /<>|[<>]=?|[=+*/&]/,
22852
- {
22853
- pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
22854
- lookbehind: true
22855
- }
22856
- ],
22857
- punctuation: /[.:,()]/
22858
- };
22820
+ var cobol_1;
22821
+ var hasRequiredCobol;
22822
+
22823
+ function requireCobol () {
22824
+ if (hasRequiredCobol) return cobol_1;
22825
+ hasRequiredCobol = 1;
22826
+
22827
+ cobol_1 = cobol;
22828
+ cobol.displayName = 'cobol';
22829
+ cobol.aliases = [];
22830
+ function cobol(Prism) {
22831
+ Prism.languages.cobol = {
22832
+ comment: {
22833
+ pattern: /\*>.*|(^[ \t]*)\*.*/m,
22834
+ lookbehind: true,
22835
+ greedy: true
22836
+ },
22837
+ string: {
22838
+ pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
22839
+ greedy: true
22840
+ },
22841
+ level: {
22842
+ pattern: /(^[ \t]*)\d+\b/m,
22843
+ lookbehind: true,
22844
+ greedy: true,
22845
+ alias: 'number'
22846
+ },
22847
+ 'class-name': {
22848
+ // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
22849
+ pattern:
22850
+ /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
22851
+ lookbehind: true,
22852
+ inside: {
22853
+ number: {
22854
+ pattern: /(\()\d+/,
22855
+ lookbehind: true
22856
+ },
22857
+ punctuation: /[()]/
22858
+ }
22859
+ },
22860
+ keyword: {
22861
+ pattern:
22862
+ /(^|[^\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,
22863
+ lookbehind: true
22864
+ },
22865
+ boolean: {
22866
+ pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
22867
+ lookbehind: true
22868
+ },
22869
+ number: {
22870
+ pattern:
22871
+ /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
22872
+ lookbehind: true
22873
+ },
22874
+ operator: [
22875
+ /<>|[<>]=?|[=+*/&]/,
22876
+ {
22877
+ pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
22878
+ lookbehind: true
22879
+ }
22880
+ ],
22881
+ punctuation: /[.:,()]/
22882
+ };
22883
+ }
22884
+ return cobol_1;
22859
22885
  }
22860
22886
 
22861
- var coffeescript_1 = coffeescript;
22862
- coffeescript.displayName = 'coffeescript';
22863
- coffeescript.aliases = ['coffee'];
22864
- function coffeescript(Prism) {
22887
+ var coffeescript_1;
22888
+ var hasRequiredCoffeescript;
22889
+
22890
+ function requireCoffeescript () {
22891
+ if (hasRequiredCoffeescript) return coffeescript_1;
22892
+ hasRequiredCoffeescript = 1;
22893
+
22894
+ coffeescript_1 = coffeescript;
22895
+ coffeescript.displayName = 'coffeescript';
22896
+ coffeescript.aliases = ['coffee'];
22897
+ function coffeescript(Prism) {
22865
22898
  (function (Prism) {
22866
- // Ignore comments starting with { to privilege string interpolation highlighting
22867
- var comment = /#(?!\{).+/;
22868
- var interpolation = {
22869
- pattern: /#\{[^}]+\}/,
22870
- alias: 'variable'
22871
- };
22872
- Prism.languages.coffeescript = Prism.languages.extend('javascript', {
22873
- comment: comment,
22874
- string: [
22875
- // Strings are multiline
22876
- {
22877
- pattern: /'(?:\\[\s\S]|[^\\'])*'/,
22878
- greedy: true
22879
- },
22880
- {
22881
- // Strings are multiline
22882
- pattern: /"(?:\\[\s\S]|[^\\"])*"/,
22883
- greedy: true,
22884
- inside: {
22885
- interpolation: interpolation
22886
- }
22887
- }
22888
- ],
22889
- keyword:
22890
- /\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/,
22891
- 'class-member': {
22892
- pattern: /@(?!\d)\w+/,
22893
- alias: 'variable'
22894
- }
22895
- });
22896
- Prism.languages.insertBefore('coffeescript', 'comment', {
22897
- 'multiline-comment': {
22898
- pattern: /###[\s\S]+?###/,
22899
- alias: 'comment'
22900
- },
22901
- // Block regexp can contain comments and interpolation
22902
- 'block-regex': {
22903
- pattern: /\/{3}[\s\S]*?\/{3}/,
22904
- alias: 'regex',
22905
- inside: {
22906
- comment: comment,
22907
- interpolation: interpolation
22908
- }
22909
- }
22910
- });
22911
- Prism.languages.insertBefore('coffeescript', 'string', {
22912
- 'inline-javascript': {
22913
- pattern: /`(?:\\[\s\S]|[^\\`])*`/,
22914
- inside: {
22915
- delimiter: {
22916
- pattern: /^`|`$/,
22917
- alias: 'punctuation'
22918
- },
22919
- script: {
22920
- pattern: /[\s\S]+/,
22921
- alias: 'language-javascript',
22922
- inside: Prism.languages.javascript
22923
- }
22924
- }
22925
- },
22926
- // Block strings
22927
- 'multiline-string': [
22928
- {
22929
- pattern: /'''[\s\S]*?'''/,
22930
- greedy: true,
22931
- alias: 'string'
22932
- },
22933
- {
22934
- pattern: /"""[\s\S]*?"""/,
22935
- greedy: true,
22936
- alias: 'string',
22937
- inside: {
22938
- interpolation: interpolation
22939
- }
22940
- }
22941
- ]
22942
- });
22943
- Prism.languages.insertBefore('coffeescript', 'keyword', {
22944
- // Object property
22945
- property: /(?!\d)\w+(?=\s*:(?!:))/
22946
- });
22947
- delete Prism.languages.coffeescript['template-string'];
22948
- Prism.languages.coffee = Prism.languages.coffeescript;
22949
- })(Prism);
22899
+ // Ignore comments starting with { to privilege string interpolation highlighting
22900
+ var comment = /#(?!\{).+/;
22901
+ var interpolation = {
22902
+ pattern: /#\{[^}]+\}/,
22903
+ alias: 'variable'
22904
+ };
22905
+ Prism.languages.coffeescript = Prism.languages.extend('javascript', {
22906
+ comment: comment,
22907
+ string: [
22908
+ // Strings are multiline
22909
+ {
22910
+ pattern: /'(?:\\[\s\S]|[^\\'])*'/,
22911
+ greedy: true
22912
+ },
22913
+ {
22914
+ // Strings are multiline
22915
+ pattern: /"(?:\\[\s\S]|[^\\"])*"/,
22916
+ greedy: true,
22917
+ inside: {
22918
+ interpolation: interpolation
22919
+ }
22920
+ }
22921
+ ],
22922
+ keyword:
22923
+ /\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/,
22924
+ 'class-member': {
22925
+ pattern: /@(?!\d)\w+/,
22926
+ alias: 'variable'
22927
+ }
22928
+ });
22929
+ Prism.languages.insertBefore('coffeescript', 'comment', {
22930
+ 'multiline-comment': {
22931
+ pattern: /###[\s\S]+?###/,
22932
+ alias: 'comment'
22933
+ },
22934
+ // Block regexp can contain comments and interpolation
22935
+ 'block-regex': {
22936
+ pattern: /\/{3}[\s\S]*?\/{3}/,
22937
+ alias: 'regex',
22938
+ inside: {
22939
+ comment: comment,
22940
+ interpolation: interpolation
22941
+ }
22942
+ }
22943
+ });
22944
+ Prism.languages.insertBefore('coffeescript', 'string', {
22945
+ 'inline-javascript': {
22946
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
22947
+ inside: {
22948
+ delimiter: {
22949
+ pattern: /^`|`$/,
22950
+ alias: 'punctuation'
22951
+ },
22952
+ script: {
22953
+ pattern: /[\s\S]+/,
22954
+ alias: 'language-javascript',
22955
+ inside: Prism.languages.javascript
22956
+ }
22957
+ }
22958
+ },
22959
+ // Block strings
22960
+ 'multiline-string': [
22961
+ {
22962
+ pattern: /'''[\s\S]*?'''/,
22963
+ greedy: true,
22964
+ alias: 'string'
22965
+ },
22966
+ {
22967
+ pattern: /"""[\s\S]*?"""/,
22968
+ greedy: true,
22969
+ alias: 'string',
22970
+ inside: {
22971
+ interpolation: interpolation
22972
+ }
22973
+ }
22974
+ ]
22975
+ });
22976
+ Prism.languages.insertBefore('coffeescript', 'keyword', {
22977
+ // Object property
22978
+ property: /(?!\d)\w+(?=\s*:(?!:))/
22979
+ });
22980
+ delete Prism.languages.coffeescript['template-string'];
22981
+ Prism.languages.coffee = Prism.languages.coffeescript;
22982
+ })(Prism);
22983
+ }
22984
+ return coffeescript_1;
22950
22985
  }
22951
22986
 
22952
- var concurnas_1 = concurnas;
22953
- concurnas.displayName = 'concurnas';
22954
- concurnas.aliases = ['conc'];
22955
- function concurnas(Prism) {
22956
- Prism.languages.concurnas = {
22957
- comment: {
22958
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
22959
- lookbehind: true,
22960
- greedy: true
22961
- },
22962
- langext: {
22963
- pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
22964
- greedy: true,
22965
- inside: {
22966
- 'class-name': /^\w+/,
22967
- string: {
22968
- pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
22969
- lookbehind: true
22970
- },
22971
- punctuation: /\|\|/
22972
- }
22973
- },
22974
- function: {
22975
- pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
22976
- lookbehind: true
22977
- },
22978
- keyword:
22979
- /\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/,
22980
- boolean: /\b(?:false|true)\b/,
22981
- number:
22982
- /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
22983
- punctuation: /[{}[\];(),.:]/,
22984
- operator:
22985
- /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
22986
- annotation: {
22987
- pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
22988
- alias: 'builtin'
22989
- }
22990
- };
22991
- Prism.languages.insertBefore('concurnas', 'langext', {
22992
- 'regex-literal': {
22993
- pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
22994
- greedy: true,
22995
- inside: {
22996
- interpolation: {
22997
- pattern:
22998
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
22999
- lookbehind: true,
23000
- inside: Prism.languages.concurnas
23001
- },
23002
- regex: /[\s\S]+/
23003
- }
23004
- },
23005
- 'string-literal': {
23006
- pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23007
- greedy: true,
23008
- inside: {
23009
- interpolation: {
23010
- pattern:
23011
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23012
- lookbehind: true,
23013
- inside: Prism.languages.concurnas
23014
- },
23015
- string: /[\s\S]+/
23016
- }
23017
- }
23018
- });
23019
- Prism.languages.conc = Prism.languages.concurnas;
22987
+ var concurnas_1;
22988
+ var hasRequiredConcurnas;
22989
+
22990
+ function requireConcurnas () {
22991
+ if (hasRequiredConcurnas) return concurnas_1;
22992
+ hasRequiredConcurnas = 1;
22993
+
22994
+ concurnas_1 = concurnas;
22995
+ concurnas.displayName = 'concurnas';
22996
+ concurnas.aliases = ['conc'];
22997
+ function concurnas(Prism) {
22998
+ Prism.languages.concurnas = {
22999
+ comment: {
23000
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
23001
+ lookbehind: true,
23002
+ greedy: true
23003
+ },
23004
+ langext: {
23005
+ pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
23006
+ greedy: true,
23007
+ inside: {
23008
+ 'class-name': /^\w+/,
23009
+ string: {
23010
+ pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
23011
+ lookbehind: true
23012
+ },
23013
+ punctuation: /\|\|/
23014
+ }
23015
+ },
23016
+ function: {
23017
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
23018
+ lookbehind: true
23019
+ },
23020
+ keyword:
23021
+ /\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/,
23022
+ boolean: /\b(?:false|true)\b/,
23023
+ number:
23024
+ /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
23025
+ punctuation: /[{}[\];(),.:]/,
23026
+ operator:
23027
+ /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
23028
+ annotation: {
23029
+ pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
23030
+ alias: 'builtin'
23031
+ }
23032
+ };
23033
+ Prism.languages.insertBefore('concurnas', 'langext', {
23034
+ 'regex-literal': {
23035
+ pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23036
+ greedy: true,
23037
+ inside: {
23038
+ interpolation: {
23039
+ pattern:
23040
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23041
+ lookbehind: true,
23042
+ inside: Prism.languages.concurnas
23043
+ },
23044
+ regex: /[\s\S]+/
23045
+ }
23046
+ },
23047
+ 'string-literal': {
23048
+ pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
23049
+ greedy: true,
23050
+ inside: {
23051
+ interpolation: {
23052
+ pattern:
23053
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
23054
+ lookbehind: true,
23055
+ inside: Prism.languages.concurnas
23056
+ },
23057
+ string: /[\s\S]+/
23058
+ }
23059
+ }
23060
+ });
23061
+ Prism.languages.conc = Prism.languages.concurnas;
23062
+ }
23063
+ return concurnas_1;
23020
23064
  }
23021
23065
 
23022
- var coq_1 = coq;
23023
- coq.displayName = 'coq';
23024
- coq.aliases = [];
23025
- function coq(Prism) {
23066
+ var coq_1;
23067
+ var hasRequiredCoq;
23068
+
23069
+ function requireCoq () {
23070
+ if (hasRequiredCoq) return coq_1;
23071
+ hasRequiredCoq = 1;
23072
+
23073
+ coq_1 = coq;
23074
+ coq.displayName = 'coq';
23075
+ coq.aliases = [];
23076
+ function coq(Prism) {
23026
23077
  (function (Prism) {
23027
- // https://github.com/coq/coq
23028
- var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
23029
- for (var i = 0; i < 2; i++) {
23030
- commentSource = commentSource.replace(/<self>/g, function () {
23031
- return commentSource
23032
- });
23033
- }
23034
- commentSource = commentSource.replace(/<self>/g, '[]');
23035
- Prism.languages.coq = {
23036
- comment: RegExp(commentSource),
23037
- string: {
23038
- pattern: /"(?:[^"]|"")*"(?!")/,
23039
- greedy: true
23040
- },
23041
- attribute: [
23042
- {
23043
- pattern: RegExp(
23044
- /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
23045
- /<comment>/g,
23046
- function () {
23047
- return commentSource
23048
- }
23049
- )
23050
- ),
23051
- greedy: true,
23052
- alias: 'attr-name',
23053
- inside: {
23054
- comment: RegExp(commentSource),
23055
- string: {
23056
- pattern: /"(?:[^"]|"")*"(?!")/,
23057
- greedy: true
23058
- },
23059
- operator: /=/,
23060
- punctuation: /^#\[|\]$|[,()]/
23061
- }
23062
- },
23063
- {
23064
- pattern:
23065
- /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
23066
- alias: 'attr-name'
23067
- }
23068
- ],
23069
- keyword:
23070
- /\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/,
23071
- number:
23072
- /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
23073
- punct: {
23074
- pattern: /@\{|\{\||\[=|:>/,
23075
- alias: 'punctuation'
23076
- },
23077
- operator:
23078
- /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
23079
- punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
23080
- };
23081
- })(Prism);
23078
+ // https://github.com/coq/coq
23079
+ var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
23080
+ for (var i = 0; i < 2; i++) {
23081
+ commentSource = commentSource.replace(/<self>/g, function () {
23082
+ return commentSource
23083
+ });
23084
+ }
23085
+ commentSource = commentSource.replace(/<self>/g, '[]');
23086
+ Prism.languages.coq = {
23087
+ comment: RegExp(commentSource),
23088
+ string: {
23089
+ pattern: /"(?:[^"]|"")*"(?!")/,
23090
+ greedy: true
23091
+ },
23092
+ attribute: [
23093
+ {
23094
+ pattern: RegExp(
23095
+ /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
23096
+ /<comment>/g,
23097
+ function () {
23098
+ return commentSource
23099
+ }
23100
+ )
23101
+ ),
23102
+ greedy: true,
23103
+ alias: 'attr-name',
23104
+ inside: {
23105
+ comment: RegExp(commentSource),
23106
+ string: {
23107
+ pattern: /"(?:[^"]|"")*"(?!")/,
23108
+ greedy: true
23109
+ },
23110
+ operator: /=/,
23111
+ punctuation: /^#\[|\]$|[,()]/
23112
+ }
23113
+ },
23114
+ {
23115
+ pattern:
23116
+ /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
23117
+ alias: 'attr-name'
23118
+ }
23119
+ ],
23120
+ keyword:
23121
+ /\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/,
23122
+ number:
23123
+ /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
23124
+ punct: {
23125
+ pattern: /@\{|\{\||\[=|:>/,
23126
+ alias: 'punctuation'
23127
+ },
23128
+ operator:
23129
+ /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
23130
+ punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
23131
+ };
23132
+ })(Prism);
23133
+ }
23134
+ return coq_1;
23082
23135
  }
23083
23136
 
23084
- var ruby_1 = ruby;
23085
- ruby.displayName = 'ruby';
23086
- ruby.aliases = ['rb'];
23087
- function ruby(Prism) {
23137
+ var ruby_1;
23138
+ var hasRequiredRuby;
23139
+
23140
+ function requireRuby () {
23141
+ if (hasRequiredRuby) return ruby_1;
23142
+ hasRequiredRuby = 1;
23143
+
23144
+ ruby_1 = ruby;
23145
+ ruby.displayName = 'ruby';
23146
+ ruby.aliases = ['rb'];
23147
+ function ruby(Prism) {
23088
23148
  (function (Prism) {
23089
- Prism.languages.ruby = Prism.languages.extend('clike', {
23090
- comment: {
23091
- pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
23092
- greedy: true
23093
- },
23094
- 'class-name': {
23095
- pattern:
23096
- /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
23097
- lookbehind: true,
23098
- inside: {
23099
- punctuation: /[.\\]/
23100
- }
23101
- },
23102
- keyword:
23103
- /\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/,
23104
- operator:
23105
- /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
23106
- punctuation: /[(){}[\].,;]/
23107
- });
23108
- Prism.languages.insertBefore('ruby', 'operator', {
23109
- 'double-colon': {
23110
- pattern: /::/,
23111
- alias: 'punctuation'
23112
- }
23113
- });
23114
- var interpolation = {
23115
- pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
23116
- lookbehind: true,
23117
- inside: {
23118
- content: {
23119
- pattern: /^(#\{)[\s\S]+(?=\}$)/,
23120
- lookbehind: true,
23121
- inside: Prism.languages.ruby
23122
- },
23123
- delimiter: {
23124
- pattern: /^#\{|\}$/,
23125
- alias: 'punctuation'
23126
- }
23127
- }
23128
- };
23129
- delete Prism.languages.ruby.function;
23130
- var percentExpression =
23131
- '(?:' +
23132
- [
23133
- /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
23134
- /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
23135
- /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
23136
- /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
23137
- /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
23138
- ].join('|') +
23139
- ')';
23140
- var symbolName =
23141
- /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
23142
- .source;
23143
- Prism.languages.insertBefore('ruby', 'keyword', {
23144
- 'regex-literal': [
23145
- {
23146
- pattern: RegExp(
23147
- /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
23148
- ),
23149
- greedy: true,
23150
- inside: {
23151
- interpolation: interpolation,
23152
- regex: /[\s\S]+/
23153
- }
23154
- },
23155
- {
23156
- pattern:
23157
- /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
23158
- lookbehind: true,
23159
- greedy: true,
23160
- inside: {
23161
- interpolation: interpolation,
23162
- regex: /[\s\S]+/
23163
- }
23164
- }
23165
- ],
23166
- variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
23167
- symbol: [
23168
- {
23169
- pattern: RegExp(/(^|[^:]):/.source + symbolName),
23170
- lookbehind: true,
23171
- greedy: true
23172
- },
23173
- {
23174
- pattern: RegExp(
23175
- /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
23176
- ),
23177
- lookbehind: true,
23178
- greedy: true
23179
- }
23180
- ],
23181
- 'method-definition': {
23182
- pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
23183
- lookbehind: true,
23184
- inside: {
23185
- function: /\b\w+$/,
23186
- keyword: /^self\b/,
23187
- 'class-name': /^\w+/,
23188
- punctuation: /\./
23189
- }
23190
- }
23191
- });
23192
- Prism.languages.insertBefore('ruby', 'string', {
23193
- 'string-literal': [
23194
- {
23195
- pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
23196
- greedy: true,
23197
- inside: {
23198
- interpolation: interpolation,
23199
- string: /[\s\S]+/
23200
- }
23201
- },
23202
- {
23203
- pattern:
23204
- /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
23205
- greedy: true,
23206
- inside: {
23207
- interpolation: interpolation,
23208
- string: /[\s\S]+/
23209
- }
23210
- },
23211
- {
23212
- pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23213
- alias: 'heredoc-string',
23214
- greedy: true,
23215
- inside: {
23216
- delimiter: {
23217
- pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
23218
- inside: {
23219
- symbol: /\b\w+/,
23220
- punctuation: /^<<[-~]?/
23221
- }
23222
- },
23223
- interpolation: interpolation,
23224
- string: /[\s\S]+/
23225
- }
23226
- },
23227
- {
23228
- pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23229
- alias: 'heredoc-string',
23230
- greedy: true,
23231
- inside: {
23232
- delimiter: {
23233
- pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
23234
- inside: {
23235
- symbol: /\b\w+/,
23236
- punctuation: /^<<[-~]?'|'$/
23237
- }
23238
- },
23239
- string: /[\s\S]+/
23240
- }
23241
- }
23242
- ],
23243
- 'command-literal': [
23244
- {
23245
- pattern: RegExp(/%x/.source + percentExpression),
23246
- greedy: true,
23247
- inside: {
23248
- interpolation: interpolation,
23249
- command: {
23250
- pattern: /[\s\S]+/,
23251
- alias: 'string'
23252
- }
23253
- }
23254
- },
23255
- {
23256
- pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
23257
- greedy: true,
23258
- inside: {
23259
- interpolation: interpolation,
23260
- command: {
23261
- pattern: /[\s\S]+/,
23262
- alias: 'string'
23263
- }
23264
- }
23265
- }
23266
- ]
23267
- });
23268
- delete Prism.languages.ruby.string;
23269
- Prism.languages.insertBefore('ruby', 'number', {
23270
- builtin:
23271
- /\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/,
23272
- constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
23273
- });
23274
- Prism.languages.rb = Prism.languages.ruby;
23275
- })(Prism);
23149
+ Prism.languages.ruby = Prism.languages.extend('clike', {
23150
+ comment: {
23151
+ pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
23152
+ greedy: true
23153
+ },
23154
+ 'class-name': {
23155
+ pattern:
23156
+ /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
23157
+ lookbehind: true,
23158
+ inside: {
23159
+ punctuation: /[.\\]/
23160
+ }
23161
+ },
23162
+ keyword:
23163
+ /\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/,
23164
+ operator:
23165
+ /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
23166
+ punctuation: /[(){}[\].,;]/
23167
+ });
23168
+ Prism.languages.insertBefore('ruby', 'operator', {
23169
+ 'double-colon': {
23170
+ pattern: /::/,
23171
+ alias: 'punctuation'
23172
+ }
23173
+ });
23174
+ var interpolation = {
23175
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
23176
+ lookbehind: true,
23177
+ inside: {
23178
+ content: {
23179
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
23180
+ lookbehind: true,
23181
+ inside: Prism.languages.ruby
23182
+ },
23183
+ delimiter: {
23184
+ pattern: /^#\{|\}$/,
23185
+ alias: 'punctuation'
23186
+ }
23187
+ }
23188
+ };
23189
+ delete Prism.languages.ruby.function;
23190
+ var percentExpression =
23191
+ '(?:' +
23192
+ [
23193
+ /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
23194
+ /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
23195
+ /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
23196
+ /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
23197
+ /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
23198
+ ].join('|') +
23199
+ ')';
23200
+ var symbolName =
23201
+ /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
23202
+ .source;
23203
+ Prism.languages.insertBefore('ruby', 'keyword', {
23204
+ 'regex-literal': [
23205
+ {
23206
+ pattern: RegExp(
23207
+ /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
23208
+ ),
23209
+ greedy: true,
23210
+ inside: {
23211
+ interpolation: interpolation,
23212
+ regex: /[\s\S]+/
23213
+ }
23214
+ },
23215
+ {
23216
+ pattern:
23217
+ /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
23218
+ lookbehind: true,
23219
+ greedy: true,
23220
+ inside: {
23221
+ interpolation: interpolation,
23222
+ regex: /[\s\S]+/
23223
+ }
23224
+ }
23225
+ ],
23226
+ variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
23227
+ symbol: [
23228
+ {
23229
+ pattern: RegExp(/(^|[^:]):/.source + symbolName),
23230
+ lookbehind: true,
23231
+ greedy: true
23232
+ },
23233
+ {
23234
+ pattern: RegExp(
23235
+ /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
23236
+ ),
23237
+ lookbehind: true,
23238
+ greedy: true
23239
+ }
23240
+ ],
23241
+ 'method-definition': {
23242
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
23243
+ lookbehind: true,
23244
+ inside: {
23245
+ function: /\b\w+$/,
23246
+ keyword: /^self\b/,
23247
+ 'class-name': /^\w+/,
23248
+ punctuation: /\./
23249
+ }
23250
+ }
23251
+ });
23252
+ Prism.languages.insertBefore('ruby', 'string', {
23253
+ 'string-literal': [
23254
+ {
23255
+ pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
23256
+ greedy: true,
23257
+ inside: {
23258
+ interpolation: interpolation,
23259
+ string: /[\s\S]+/
23260
+ }
23261
+ },
23262
+ {
23263
+ pattern:
23264
+ /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
23265
+ greedy: true,
23266
+ inside: {
23267
+ interpolation: interpolation,
23268
+ string: /[\s\S]+/
23269
+ }
23270
+ },
23271
+ {
23272
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23273
+ alias: 'heredoc-string',
23274
+ greedy: true,
23275
+ inside: {
23276
+ delimiter: {
23277
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
23278
+ inside: {
23279
+ symbol: /\b\w+/,
23280
+ punctuation: /^<<[-~]?/
23281
+ }
23282
+ },
23283
+ interpolation: interpolation,
23284
+ string: /[\s\S]+/
23285
+ }
23286
+ },
23287
+ {
23288
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
23289
+ alias: 'heredoc-string',
23290
+ greedy: true,
23291
+ inside: {
23292
+ delimiter: {
23293
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
23294
+ inside: {
23295
+ symbol: /\b\w+/,
23296
+ punctuation: /^<<[-~]?'|'$/
23297
+ }
23298
+ },
23299
+ string: /[\s\S]+/
23300
+ }
23301
+ }
23302
+ ],
23303
+ 'command-literal': [
23304
+ {
23305
+ pattern: RegExp(/%x/.source + percentExpression),
23306
+ greedy: true,
23307
+ inside: {
23308
+ interpolation: interpolation,
23309
+ command: {
23310
+ pattern: /[\s\S]+/,
23311
+ alias: 'string'
23312
+ }
23313
+ }
23314
+ },
23315
+ {
23316
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
23317
+ greedy: true,
23318
+ inside: {
23319
+ interpolation: interpolation,
23320
+ command: {
23321
+ pattern: /[\s\S]+/,
23322
+ alias: 'string'
23323
+ }
23324
+ }
23325
+ }
23326
+ ]
23327
+ });
23328
+ delete Prism.languages.ruby.string;
23329
+ Prism.languages.insertBefore('ruby', 'number', {
23330
+ builtin:
23331
+ /\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/,
23332
+ constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
23333
+ });
23334
+ Prism.languages.rb = Prism.languages.ruby;
23335
+ })(Prism);
23336
+ }
23337
+ return ruby_1;
23276
23338
  }
23277
23339
 
23278
- var refractorRuby = ruby_1;
23279
- var crystal_1 = crystal;
23280
- crystal.displayName = 'crystal';
23281
- crystal.aliases = [];
23282
- function crystal(Prism) {
23283
- Prism.register(refractorRuby)
23284
- ;(function (Prism) {
23285
- Prism.languages.crystal = Prism.languages.extend('ruby', {
23286
- keyword: [
23287
- /\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/,
23288
- {
23289
- pattern: /(\.\s*)(?:is_a|responds_to)\?/,
23290
- lookbehind: true
23291
- }
23292
- ],
23293
- number:
23294
- /\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/,
23295
- operator: [/->/, Prism.languages.ruby.operator],
23296
- punctuation: /[(){}[\].,;\\]/
23297
- });
23298
- Prism.languages.insertBefore('crystal', 'string-literal', {
23299
- attribute: {
23300
- pattern: /@\[.*?\]/,
23301
- inside: {
23302
- delimiter: {
23303
- pattern: /^@\[|\]$/,
23304
- alias: 'punctuation'
23305
- },
23306
- attribute: {
23307
- pattern: /^(\s*)\w+/,
23308
- lookbehind: true,
23309
- alias: 'class-name'
23310
- },
23311
- args: {
23312
- pattern: /\S(?:[\s\S]*\S)?/,
23313
- inside: Prism.languages.crystal
23314
- }
23315
- }
23316
- },
23317
- expansion: {
23318
- pattern: /\{(?:\{.*?\}|%.*?%)\}/,
23319
- inside: {
23320
- content: {
23321
- pattern: /^(\{.)[\s\S]+(?=.\}$)/,
23322
- lookbehind: true,
23323
- inside: Prism.languages.crystal
23324
- },
23325
- delimiter: {
23326
- pattern: /^\{[\{%]|[\}%]\}$/,
23327
- alias: 'operator'
23328
- }
23329
- }
23330
- },
23331
- char: {
23332
- pattern:
23333
- /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
23334
- greedy: true
23335
- }
23336
- });
23337
- })(Prism);
23338
- }
23340
+ var crystal_1;
23341
+ var hasRequiredCrystal;
23339
23342
 
23340
- var refractorCsharp = csharp_1;
23341
- var cshtml_1 = cshtml;
23342
- cshtml.displayName = 'cshtml';
23343
- cshtml.aliases = ['razor'];
23344
- function cshtml(Prism) {
23345
- Prism.register(refractorCsharp)
23346
- // Docs:
23347
- // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
23348
- // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
23349
- ;(function (Prism) {
23350
- var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
23351
- .source;
23352
- var stringLike =
23353
- /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
23354
- '|' +
23355
- /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
23356
- /**
23357
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
23358
- *
23359
- * @param {string} pattern
23360
- * @param {number} depthLog2
23361
- * @returns {string}
23362
- */
23363
- function nested(pattern, depthLog2) {
23364
- for (var i = 0; i < depthLog2; i++) {
23365
- pattern = pattern.replace(/<self>/g, function () {
23366
- return '(?:' + pattern + ')'
23367
- });
23368
- }
23369
- return pattern
23370
- .replace(/<self>/g, '[^\\s\\S]')
23371
- .replace(/<str>/g, '(?:' + stringLike + ')')
23372
- .replace(/<comment>/g, '(?:' + commentLike + ')')
23373
- }
23374
- var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
23375
- var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
23376
- var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
23377
- var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
23378
- // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
23379
- // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
23380
- // messes up the bracket and string counting implemented by the above patterns.
23381
- //
23382
- // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
23383
- // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
23384
- // complexity of an HTML expression.
23385
- //
23386
- // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
23387
- // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
23388
- var tagAttrs =
23389
- /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
23390
- .source;
23391
- var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
23392
- var tagRegion =
23393
- /\B@?/.source +
23394
- '(?:' +
23395
- /<([a-zA-Z][\w:]*)/.source +
23396
- tagAttrs +
23397
- /\s*>/.source +
23398
- '(?:' +
23399
- (/[^<]/.source +
23400
- '|' + // all tags that are not the start tag
23401
- // eslint-disable-next-line regexp/strict
23402
- /<\/?(?!\1\b)/.source +
23403
- tagContent +
23404
- '|' + // nested start tag
23405
- nested(
23406
- // eslint-disable-next-line regexp/strict
23407
- /<\1/.source +
23408
- tagAttrs +
23409
- /\s*>/.source +
23410
- '(?:' +
23411
- (/[^<]/.source +
23412
- '|' + // all tags that are not the start tag
23413
- // eslint-disable-next-line regexp/strict
23414
- /<\/?(?!\1\b)/.source +
23415
- tagContent +
23416
- '|' +
23417
- '<self>') +
23418
- ')*' + // eslint-disable-next-line regexp/strict
23419
- /<\/\1\s*>/.source,
23420
- 2
23421
- )) +
23422
- ')*' + // eslint-disable-next-line regexp/strict
23423
- /<\/\1\s*>/.source +
23424
- '|' +
23425
- /</.source +
23426
- tagContent +
23427
- ')'; // Now for the actual language definition(s):
23428
- //
23429
- // Razor as a language has 2 parts:
23430
- // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
23431
- // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
23432
- //
23433
- // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
23434
- // other. However, only CSHTML will be exported via `Prism.languages`.
23435
- Prism.languages.cshtml = Prism.languages.extend('markup', {});
23436
- var csharpWithHtml = Prism.languages.insertBefore(
23437
- 'csharp',
23438
- 'string',
23439
- {
23440
- html: {
23441
- pattern: RegExp(tagRegion),
23442
- greedy: true,
23443
- inside: Prism.languages.cshtml
23444
- }
23445
- },
23446
- {
23447
- csharp: Prism.languages.extend('csharp', {})
23448
- }
23449
- );
23450
- var cs = {
23451
- pattern: /\S[\s\S]*/,
23452
- alias: 'language-csharp',
23453
- inside: csharpWithHtml
23454
- };
23455
- Prism.languages.insertBefore('cshtml', 'prolog', {
23456
- 'razor-comment': {
23457
- pattern: /@\*[\s\S]*?\*@/,
23458
- greedy: true,
23459
- alias: 'comment'
23460
- },
23461
- block: {
23462
- pattern: RegExp(
23463
- /(^|[^@])@/.source +
23464
- '(?:' +
23465
- [
23466
- // @{ ... }
23467
- curly, // @code{ ... }
23468
- /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
23469
- /(?:for|foreach|lock|switch|using|while)\s*/.source +
23470
- round +
23471
- /\s*/.source +
23472
- curly, // @do { ... } while (...);
23473
- /do\s*/.source +
23474
- curly +
23475
- /\s*while\s*/.source +
23476
- round +
23477
- /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
23478
- /try\s*/.source +
23479
- curly +
23480
- /\s*catch\s*/.source +
23481
- round +
23482
- /\s*/.source +
23483
- curly +
23484
- /\s*finally\s*/.source +
23485
- curly, // @if (...) {...} else if (...) {...} else {...}
23486
- /if\s*/.source +
23487
- round +
23488
- /\s*/.source +
23489
- curly +
23490
- '(?:' +
23491
- /\s*else/.source +
23492
- '(?:' +
23493
- /\s+if\s*/.source +
23494
- round +
23495
- ')?' +
23496
- /\s*/.source +
23497
- curly +
23498
- ')*'
23499
- ].join('|') +
23500
- ')'
23501
- ),
23502
- lookbehind: true,
23503
- greedy: true,
23504
- inside: {
23505
- keyword: /^@\w*/,
23506
- csharp: cs
23507
- }
23508
- },
23509
- directive: {
23510
- pattern:
23511
- /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
23512
- lookbehind: true,
23513
- greedy: true,
23514
- inside: {
23515
- keyword: /^@\w+/,
23516
- csharp: cs
23517
- }
23518
- },
23519
- value: {
23520
- pattern: RegExp(
23521
- /(^|[^@])@/.source +
23522
- /(?:await\b\s*)?/.source +
23523
- '(?:' +
23524
- /\w+\b/.source +
23525
- '|' +
23526
- round +
23527
- ')' +
23528
- '(?:' +
23529
- /[?!]?\.\w+\b/.source +
23530
- '|' +
23531
- round +
23532
- '|' +
23533
- square +
23534
- '|' +
23535
- angle +
23536
- round +
23537
- ')*'
23538
- ),
23539
- lookbehind: true,
23540
- greedy: true,
23541
- alias: 'variable',
23542
- inside: {
23543
- keyword: /^@/,
23544
- csharp: cs
23545
- }
23546
- },
23547
- 'delegate-operator': {
23548
- pattern: /(^|[^@])@(?=<)/,
23549
- lookbehind: true,
23550
- alias: 'operator'
23551
- }
23552
- });
23553
- Prism.languages.razor = Prism.languages.cshtml;
23554
- })(Prism);
23343
+ function requireCrystal () {
23344
+ if (hasRequiredCrystal) return crystal_1;
23345
+ hasRequiredCrystal = 1;
23346
+ var refractorRuby = requireRuby();
23347
+ crystal_1 = crystal;
23348
+ crystal.displayName = 'crystal';
23349
+ crystal.aliases = [];
23350
+ function crystal(Prism) {
23351
+ Prism.register(refractorRuby)
23352
+ ;(function (Prism) {
23353
+ Prism.languages.crystal = Prism.languages.extend('ruby', {
23354
+ keyword: [
23355
+ /\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/,
23356
+ {
23357
+ pattern: /(\.\s*)(?:is_a|responds_to)\?/,
23358
+ lookbehind: true
23359
+ }
23360
+ ],
23361
+ number:
23362
+ /\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/,
23363
+ operator: [/->/, Prism.languages.ruby.operator],
23364
+ punctuation: /[(){}[\].,;\\]/
23365
+ });
23366
+ Prism.languages.insertBefore('crystal', 'string-literal', {
23367
+ attribute: {
23368
+ pattern: /@\[.*?\]/,
23369
+ inside: {
23370
+ delimiter: {
23371
+ pattern: /^@\[|\]$/,
23372
+ alias: 'punctuation'
23373
+ },
23374
+ attribute: {
23375
+ pattern: /^(\s*)\w+/,
23376
+ lookbehind: true,
23377
+ alias: 'class-name'
23378
+ },
23379
+ args: {
23380
+ pattern: /\S(?:[\s\S]*\S)?/,
23381
+ inside: Prism.languages.crystal
23382
+ }
23383
+ }
23384
+ },
23385
+ expansion: {
23386
+ pattern: /\{(?:\{.*?\}|%.*?%)\}/,
23387
+ inside: {
23388
+ content: {
23389
+ pattern: /^(\{.)[\s\S]+(?=.\}$)/,
23390
+ lookbehind: true,
23391
+ inside: Prism.languages.crystal
23392
+ },
23393
+ delimiter: {
23394
+ pattern: /^\{[\{%]|[\}%]\}$/,
23395
+ alias: 'operator'
23396
+ }
23397
+ }
23398
+ },
23399
+ char: {
23400
+ pattern:
23401
+ /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
23402
+ greedy: true
23403
+ }
23404
+ });
23405
+ })(Prism);
23406
+ }
23407
+ return crystal_1;
23408
+ }
23409
+
23410
+ var cshtml_1;
23411
+ var hasRequiredCshtml;
23412
+
23413
+ function requireCshtml () {
23414
+ if (hasRequiredCshtml) return cshtml_1;
23415
+ hasRequiredCshtml = 1;
23416
+ var refractorCsharp = requireCsharp();
23417
+ cshtml_1 = cshtml;
23418
+ cshtml.displayName = 'cshtml';
23419
+ cshtml.aliases = ['razor'];
23420
+ function cshtml(Prism) {
23421
+ Prism.register(refractorCsharp)
23422
+ // Docs:
23423
+ // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
23424
+ // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0
23425
+ ;(function (Prism) {
23426
+ var commentLike = /\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//
23427
+ .source;
23428
+ var stringLike =
23429
+ /@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source +
23430
+ '|' +
23431
+ /'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;
23432
+ /**
23433
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
23434
+ *
23435
+ * @param {string} pattern
23436
+ * @param {number} depthLog2
23437
+ * @returns {string}
23438
+ */
23439
+ function nested(pattern, depthLog2) {
23440
+ for (var i = 0; i < depthLog2; i++) {
23441
+ pattern = pattern.replace(/<self>/g, function () {
23442
+ return '(?:' + pattern + ')'
23443
+ });
23444
+ }
23445
+ return pattern
23446
+ .replace(/<self>/g, '[^\\s\\S]')
23447
+ .replace(/<str>/g, '(?:' + stringLike + ')')
23448
+ .replace(/<comment>/g, '(?:' + commentLike + ')')
23449
+ }
23450
+ var round = nested(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source, 2);
23451
+ var square = nested(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source, 2);
23452
+ var curly = nested(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source, 2);
23453
+ var angle = nested(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source, 2); // Note about the above bracket patterns:
23454
+ // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and
23455
+ // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which
23456
+ // messes up the bracket and string counting implemented by the above patterns.
23457
+ //
23458
+ // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect
23459
+ // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the
23460
+ // complexity of an HTML expression.
23461
+ //
23462
+ // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also
23463
+ // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.
23464
+ var tagAttrs =
23465
+ /(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/
23466
+ .source;
23467
+ var tagContent = /(?!\d)[^\s>\/=$<%]+/.source + tagAttrs + /\s*\/?>/.source;
23468
+ var tagRegion =
23469
+ /\B@?/.source +
23470
+ '(?:' +
23471
+ /<([a-zA-Z][\w:]*)/.source +
23472
+ tagAttrs +
23473
+ /\s*>/.source +
23474
+ '(?:' +
23475
+ (/[^<]/.source +
23476
+ '|' + // all tags that are not the start tag
23477
+ // eslint-disable-next-line regexp/strict
23478
+ /<\/?(?!\1\b)/.source +
23479
+ tagContent +
23480
+ '|' + // nested start tag
23481
+ nested(
23482
+ // eslint-disable-next-line regexp/strict
23483
+ /<\1/.source +
23484
+ tagAttrs +
23485
+ /\s*>/.source +
23486
+ '(?:' +
23487
+ (/[^<]/.source +
23488
+ '|' + // all tags that are not the start tag
23489
+ // eslint-disable-next-line regexp/strict
23490
+ /<\/?(?!\1\b)/.source +
23491
+ tagContent +
23492
+ '|' +
23493
+ '<self>') +
23494
+ ')*' + // eslint-disable-next-line regexp/strict
23495
+ /<\/\1\s*>/.source,
23496
+ 2
23497
+ )) +
23498
+ ')*' + // eslint-disable-next-line regexp/strict
23499
+ /<\/\1\s*>/.source +
23500
+ '|' +
23501
+ /</.source +
23502
+ tagContent +
23503
+ ')'; // Now for the actual language definition(s):
23504
+ //
23505
+ // Razor as a language has 2 parts:
23506
+ // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.
23507
+ // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.
23508
+ //
23509
+ // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each
23510
+ // other. However, only CSHTML will be exported via `Prism.languages`.
23511
+ Prism.languages.cshtml = Prism.languages.extend('markup', {});
23512
+ var csharpWithHtml = Prism.languages.insertBefore(
23513
+ 'csharp',
23514
+ 'string',
23515
+ {
23516
+ html: {
23517
+ pattern: RegExp(tagRegion),
23518
+ greedy: true,
23519
+ inside: Prism.languages.cshtml
23520
+ }
23521
+ },
23522
+ {
23523
+ csharp: Prism.languages.extend('csharp', {})
23524
+ }
23525
+ );
23526
+ var cs = {
23527
+ pattern: /\S[\s\S]*/,
23528
+ alias: 'language-csharp',
23529
+ inside: csharpWithHtml
23530
+ };
23531
+ Prism.languages.insertBefore('cshtml', 'prolog', {
23532
+ 'razor-comment': {
23533
+ pattern: /@\*[\s\S]*?\*@/,
23534
+ greedy: true,
23535
+ alias: 'comment'
23536
+ },
23537
+ block: {
23538
+ pattern: RegExp(
23539
+ /(^|[^@])@/.source +
23540
+ '(?:' +
23541
+ [
23542
+ // @{ ... }
23543
+ curly, // @code{ ... }
23544
+ /(?:code|functions)\s*/.source + curly, // @for (...) { ... }
23545
+ /(?:for|foreach|lock|switch|using|while)\s*/.source +
23546
+ round +
23547
+ /\s*/.source +
23548
+ curly, // @do { ... } while (...);
23549
+ /do\s*/.source +
23550
+ curly +
23551
+ /\s*while\s*/.source +
23552
+ round +
23553
+ /(?:\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }
23554
+ /try\s*/.source +
23555
+ curly +
23556
+ /\s*catch\s*/.source +
23557
+ round +
23558
+ /\s*/.source +
23559
+ curly +
23560
+ /\s*finally\s*/.source +
23561
+ curly, // @if (...) {...} else if (...) {...} else {...}
23562
+ /if\s*/.source +
23563
+ round +
23564
+ /\s*/.source +
23565
+ curly +
23566
+ '(?:' +
23567
+ /\s*else/.source +
23568
+ '(?:' +
23569
+ /\s+if\s*/.source +
23570
+ round +
23571
+ ')?' +
23572
+ /\s*/.source +
23573
+ curly +
23574
+ ')*'
23575
+ ].join('|') +
23576
+ ')'
23577
+ ),
23578
+ lookbehind: true,
23579
+ greedy: true,
23580
+ inside: {
23581
+ keyword: /^@\w*/,
23582
+ csharp: cs
23583
+ }
23584
+ },
23585
+ directive: {
23586
+ pattern:
23587
+ /^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,
23588
+ lookbehind: true,
23589
+ greedy: true,
23590
+ inside: {
23591
+ keyword: /^@\w+/,
23592
+ csharp: cs
23593
+ }
23594
+ },
23595
+ value: {
23596
+ pattern: RegExp(
23597
+ /(^|[^@])@/.source +
23598
+ /(?:await\b\s*)?/.source +
23599
+ '(?:' +
23600
+ /\w+\b/.source +
23601
+ '|' +
23602
+ round +
23603
+ ')' +
23604
+ '(?:' +
23605
+ /[?!]?\.\w+\b/.source +
23606
+ '|' +
23607
+ round +
23608
+ '|' +
23609
+ square +
23610
+ '|' +
23611
+ angle +
23612
+ round +
23613
+ ')*'
23614
+ ),
23615
+ lookbehind: true,
23616
+ greedy: true,
23617
+ alias: 'variable',
23618
+ inside: {
23619
+ keyword: /^@/,
23620
+ csharp: cs
23621
+ }
23622
+ },
23623
+ 'delegate-operator': {
23624
+ pattern: /(^|[^@])@(?=<)/,
23625
+ lookbehind: true,
23626
+ alias: 'operator'
23627
+ }
23628
+ });
23629
+ Prism.languages.razor = Prism.languages.cshtml;
23630
+ })(Prism);
23631
+ }
23632
+ return cshtml_1;
23555
23633
  }
23556
23634
 
23557
- var csp_1 = csp;
23558
- csp.displayName = 'csp';
23559
- csp.aliases = [];
23560
- function csp(Prism) {
23635
+ var csp_1;
23636
+ var hasRequiredCsp;
23637
+
23638
+ function requireCsp () {
23639
+ if (hasRequiredCsp) return csp_1;
23640
+ hasRequiredCsp = 1;
23641
+
23642
+ csp_1 = csp;
23643
+ csp.displayName = 'csp';
23644
+ csp.aliases = [];
23645
+ function csp(Prism) {
23561
23646
  (function (Prism) {
23562
- /**
23563
- * @param {string} source
23564
- * @returns {RegExp}
23565
- */
23566
- function value(source) {
23567
- return RegExp(
23568
- /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
23569
- 'i'
23570
- )
23571
- }
23572
- Prism.languages.csp = {
23573
- directive: {
23574
- pattern:
23575
- /(^|[\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,
23576
- lookbehind: true,
23577
- alias: 'property'
23578
- },
23579
- scheme: {
23580
- pattern: value(/[a-z][a-z0-9.+-]*:/.source),
23581
- lookbehind: true
23582
- },
23583
- none: {
23584
- pattern: value(/'none'/.source),
23585
- lookbehind: true,
23586
- alias: 'keyword'
23587
- },
23588
- nonce: {
23589
- pattern: value(/'nonce-[-+/\w=]+'/.source),
23590
- lookbehind: true,
23591
- alias: 'number'
23592
- },
23593
- hash: {
23594
- pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
23595
- lookbehind: true,
23596
- alias: 'number'
23597
- },
23598
- host: {
23599
- pattern: value(
23600
- /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
23601
- '|' +
23602
- /\*[^\s;,']*/.source +
23603
- '|' +
23604
- /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
23605
- ),
23606
- lookbehind: true,
23607
- alias: 'url',
23608
- inside: {
23609
- important: /\*/
23610
- }
23611
- },
23612
- keyword: [
23613
- {
23614
- pattern: value(/'unsafe-[a-z-]+'/.source),
23615
- lookbehind: true,
23616
- alias: 'unsafe'
23617
- },
23618
- {
23619
- pattern: value(/'[a-z-]+'/.source),
23620
- lookbehind: true,
23621
- alias: 'safe'
23622
- }
23623
- ],
23624
- punctuation: /;/
23625
- };
23626
- })(Prism);
23647
+ /**
23648
+ * @param {string} source
23649
+ * @returns {RegExp}
23650
+ */
23651
+ function value(source) {
23652
+ return RegExp(
23653
+ /([ \t])/.source + '(?:' + source + ')' + /(?=[\s;]|$)/.source,
23654
+ 'i'
23655
+ )
23656
+ }
23657
+ Prism.languages.csp = {
23658
+ directive: {
23659
+ pattern:
23660
+ /(^|[\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,
23661
+ lookbehind: true,
23662
+ alias: 'property'
23663
+ },
23664
+ scheme: {
23665
+ pattern: value(/[a-z][a-z0-9.+-]*:/.source),
23666
+ lookbehind: true
23667
+ },
23668
+ none: {
23669
+ pattern: value(/'none'/.source),
23670
+ lookbehind: true,
23671
+ alias: 'keyword'
23672
+ },
23673
+ nonce: {
23674
+ pattern: value(/'nonce-[-+/\w=]+'/.source),
23675
+ lookbehind: true,
23676
+ alias: 'number'
23677
+ },
23678
+ hash: {
23679
+ pattern: value(/'sha(?:256|384|512)-[-+/\w=]+'/.source),
23680
+ lookbehind: true,
23681
+ alias: 'number'
23682
+ },
23683
+ host: {
23684
+ pattern: value(
23685
+ /[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source +
23686
+ '|' +
23687
+ /\*[^\s;,']*/.source +
23688
+ '|' +
23689
+ /[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source
23690
+ ),
23691
+ lookbehind: true,
23692
+ alias: 'url',
23693
+ inside: {
23694
+ important: /\*/
23695
+ }
23696
+ },
23697
+ keyword: [
23698
+ {
23699
+ pattern: value(/'unsafe-[a-z-]+'/.source),
23700
+ lookbehind: true,
23701
+ alias: 'unsafe'
23702
+ },
23703
+ {
23704
+ pattern: value(/'[a-z-]+'/.source),
23705
+ lookbehind: true,
23706
+ alias: 'safe'
23707
+ }
23708
+ ],
23709
+ punctuation: /;/
23710
+ };
23711
+ })(Prism);
23712
+ }
23713
+ return csp_1;
23627
23714
  }
23628
23715
 
23629
23716
  var cssExtras_1;
@@ -25090,7 +25177,7 @@ var hasRequiredErb;
25090
25177
  function requireErb () {
25091
25178
  if (hasRequiredErb) return erb_1;
25092
25179
  hasRequiredErb = 1;
25093
- var refractorRuby = ruby_1;
25180
+ var refractorRuby = requireRuby();
25094
25181
  var refractorMarkupTemplating = requireMarkupTemplating();
25095
25182
  erb_1 = erb;
25096
25183
  erb.displayName = 'erb';
@@ -27572,7 +27659,7 @@ var hasRequiredHaml;
27572
27659
  function requireHaml () {
27573
27660
  if (hasRequiredHaml) return haml_1;
27574
27661
  hasRequiredHaml = 1;
27575
- var refractorRuby = ruby_1;
27662
+ var refractorRuby = requireRuby();
27576
27663
  haml_1 = haml;
27577
27664
  haml.displayName = 'haml';
27578
27665
  haml.aliases = [];
@@ -40008,7 +40095,7 @@ function requireT4Cs () {
40008
40095
  if (hasRequiredT4Cs) return t4Cs_1;
40009
40096
  hasRequiredT4Cs = 1;
40010
40097
  var refractorT4Templating = requireT4Templating();
40011
- var refractorCsharp = csharp_1;
40098
+ var refractorCsharp = requireCsharp();
40012
40099
  t4Cs_1 = t4Cs;
40013
40100
  t4Cs.displayName = 't4Cs';
40014
40101
  t4Cs.aliases = [];
@@ -42785,15 +42872,15 @@ refractor.register(chaiscript_1);
42785
42872
  refractor.register(cil_1);
42786
42873
  refractor.register(clojure_1);
42787
42874
  refractor.register(cmake_1);
42788
- refractor.register(cobol_1);
42789
- refractor.register(coffeescript_1);
42790
- refractor.register(concurnas_1);
42791
- refractor.register(coq_1);
42792
- refractor.register(cpp_1);
42793
- refractor.register(crystal_1);
42794
- refractor.register(csharp_1);
42795
- refractor.register(cshtml_1);
42796
- refractor.register(csp_1);
42875
+ refractor.register(requireCobol());
42876
+ refractor.register(requireCoffeescript());
42877
+ refractor.register(requireConcurnas());
42878
+ refractor.register(requireCoq());
42879
+ refractor.register(requireCpp());
42880
+ refractor.register(requireCrystal());
42881
+ refractor.register(requireCsharp());
42882
+ refractor.register(requireCshtml());
42883
+ refractor.register(requireCsp());
42797
42884
  refractor.register(requireCssExtras());
42798
42885
  refractor.register(requireCsv());
42799
42886
  refractor.register(requireCypher());
@@ -42956,7 +43043,7 @@ refractor.register(requireRest());
42956
43043
  refractor.register(requireRip());
42957
43044
  refractor.register(requireRoboconf());
42958
43045
  refractor.register(requireRobotframework());
42959
- refractor.register(ruby_1);
43046
+ refractor.register(requireRuby());
42960
43047
  refractor.register(requireRust());
42961
43048
  refractor.register(requireSas());
42962
43049
  refractor.register(requireSass());
@@ -46303,21 +46390,26 @@ n(css$E,{});
46303
46390
 
46304
46391
  var BaseModal = function BaseModal(props) {
46305
46392
  var className = props.className,
46393
+ popperClassName = props.popperClassName,
46306
46394
  renderHeader = props.renderHeader,
46307
46395
  children = props.children,
46308
46396
  renderFooter = props.renderFooter,
46309
46397
  toggle = props.toggle,
46310
- open = props.open;
46398
+ open = props.open,
46399
+ noDismiss = props.noDismiss;
46311
46400
  var _useFloating = useFloating({
46312
46401
  open: open,
46313
46402
  onOpenChange: toggle
46314
46403
  }),
46315
46404
  floating = _useFloating.floating,
46316
46405
  context = _useFloating.context;
46317
- var _useInteractions = useInteractions([useDismiss(context)]),
46406
+ var _useInteractions = useInteractions([useDismiss(context, {
46407
+ enabled: !noDismiss
46408
+ })]),
46318
46409
  getFloatingProps = _useInteractions.getFloatingProps;
46319
46410
  return /*#__PURE__*/jsx(Popper, {
46320
46411
  open: open,
46412
+ className: popperClassName,
46321
46413
  transparent: false,
46322
46414
  wrapperId: "base-modal-popper",
46323
46415
  children: open && /*#__PURE__*/jsx(FloatingFocusManager, {
@@ -46358,15 +46450,19 @@ var BaseModal = function BaseModal(props) {
46358
46450
  };
46359
46451
  BaseModal.propTypes = {
46360
46452
  className: propTypes$1.exports.string,
46453
+ popperClassName: propTypes$1.exports.string,
46361
46454
  renderHeader: propTypes$1.exports.element,
46362
46455
  renderFooter: propTypes$1.exports.element,
46363
- toggle: propTypes$1.exports.func
46456
+ toggle: propTypes$1.exports.func,
46457
+ noDismiss: propTypes$1.exports.bool
46364
46458
  };
46365
46459
  BaseModal.defaultProps = {
46366
46460
  className: '',
46461
+ popperClassName: '',
46367
46462
  renderHeader: null,
46368
46463
  renderFooter: null,
46369
- toggle: function toggle() {}
46464
+ toggle: function toggle() {},
46465
+ noDismiss: false
46370
46466
  };
46371
46467
 
46372
46468
  var css$D = ".Dialog_module_root__2974a020 {\n padding: 0.25rem 0px;\n max-height: 14rem;\n background: #ffffff;\n border-radius: 0.25rem;\n}\n.Dialog_module_root__2974a020.Dialog_module_sm__2974a020 {\n width: 21.25rem;\n}\n.Dialog_module_root__2974a020.Dialog_module_md__2974a020 {\n width: 35rem;\n}\n.Dialog_module_root__2974a020 .Dialog_module_header__2974a020 {\n font-weight: 600;\n font-size: 0.875rem;\n color: var(--black);\n}\n.Dialog_module_root__2974a020 .Dialog_module_footer__2974a020 {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n gap: 1rem;\n}\n.Dialog_module_root__2974a020 .Dialog_module_footer__2974a020 .Dialog_module_cancel__2974a020[data-elem=base-cell] {\n display: flex;\n color: var(--grey1);\n border-radius: 0.25rem;\n border: 1px solid var(--grey4);\n}\n.Dialog_module_root__2974a020 .Dialog_module_description__2974a020 {\n padding: 0.5rem 0px;\n font-size: 0.75rem;\n}";
@@ -109637,10 +109733,12 @@ var BaseAreaChart = function BaseAreaChart(props) {
109637
109733
  xSplitLineShow = props.xSplitLineShow,
109638
109734
  xAxisLineShow = props.xAxisLineShow,
109639
109735
  xAxisTickShow = props.xAxisTickShow,
109736
+ xAxisLabel = props.xAxisLabel,
109640
109737
  yAxisLabelShow = props.yAxisLabelShow,
109641
109738
  ySplitLineShow = props.ySplitLineShow,
109642
109739
  yAxisLineShow = props.yAxisLineShow,
109643
109740
  yAxisTickShow = props.yAxisTickShow,
109741
+ yAxisLabel = props.yAxisLabel,
109644
109742
  axisLabelColor = props.axisLabelColor,
109645
109743
  axisSplitColor = props.axisSplitColor,
109646
109744
  splitType = props.splitType,
@@ -109748,10 +109846,10 @@ var BaseAreaChart = function BaseAreaChart(props) {
109748
109846
  }),
109749
109847
  xAxis: [{
109750
109848
  type: 'category',
109751
- axisLabel: {
109849
+ axisLabel: _objectSpread2({
109752
109850
  show: xAxisLabelShow,
109753
109851
  color: axisLabelColor !== '' ? axisLabelColor : theme === 'dark' ? '#a2a4a5' : COLORS.grey
109754
- },
109852
+ }, xAxisLabel),
109755
109853
  splitLine: {
109756
109854
  show: xSplitLineShow,
109757
109855
  lineStyle: {
@@ -109776,10 +109874,10 @@ var BaseAreaChart = function BaseAreaChart(props) {
109776
109874
  }],
109777
109875
  yAxis: [{
109778
109876
  type: 'value',
109779
- axisLabel: {
109877
+ axisLabel: _objectSpread2({
109780
109878
  show: yAxisLabelShow,
109781
109879
  color: axisLabelColor !== '' ? axisLabelColor : theme === 'dark' ? '#a2a4a5' : COLORS.grey
109782
- },
109880
+ }, yAxisLabel),
109783
109881
  splitLine: {
109784
109882
  show: ySplitLineShow,
109785
109883
  lineStyle: {
@@ -109821,6 +109919,7 @@ BaseAreaChart.propTypes = {
109821
109919
  xSplitLineShow: propTypes$1.exports.bool,
109822
109920
  xAxisLineShow: propTypes$1.exports.bool,
109823
109921
  xAxisTickShow: propTypes$1.exports.bool,
109922
+ xAxisLabel: propTypes$1.exports.object,
109824
109923
  axisLabelColor: propTypes$1.exports.string,
109825
109924
  axisSplitColor: propTypes$1.exports.string,
109826
109925
  splitType: propTypes$1.exports.string,
@@ -109830,6 +109929,7 @@ BaseAreaChart.propTypes = {
109830
109929
  ySplitLineShow: propTypes$1.exports.bool,
109831
109930
  yAxisLineShow: propTypes$1.exports.bool,
109832
109931
  yAxisTickShow: propTypes$1.exports.bool,
109932
+ yAxisLabel: propTypes$1.exports.object,
109833
109933
  cursor: propTypes$1.exports.string,
109834
109934
  seriesOption: propTypes$1.exports.arrayOf(propTypes$1.exports.object),
109835
109935
  lineStyleWidth: propTypes$1.exports.number,
@@ -109860,6 +109960,7 @@ BaseAreaChart.defaultProps = {
109860
109960
  xSplitLineShow: false,
109861
109961
  xAxisLineShow: false,
109862
109962
  xAxisTickShow: false,
109963
+ xAxisLabel: {},
109863
109964
  axisLabelColor: '',
109864
109965
  axisSplitColor: '',
109865
109966
  splitType: 'solid',
@@ -109868,6 +109969,7 @@ BaseAreaChart.defaultProps = {
109868
109969
  ySplitLineShow: false,
109869
109970
  yAxisLineShow: false,
109870
109971
  yAxisTickShow: false,
109972
+ yAxisLabel: {},
109871
109973
  cursor: 'default',
109872
109974
  seriesOption: [],
109873
109975
  lineStyleWidth: 4,