@banyan_cloud/roots 1.0.59 → 1.0.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -1794,7 +1794,7 @@ var css$V = ".Chip_module_root__0aa07630[data-elem=base-cell] {\n position: rel
1794
1794
  var modules_31aa5fd7 = {"root":"Chip_module_root__0aa07630","sm":"Chip_module_sm__0aa07630","md":"Chip_module_md__0aa07630","status":"Chip_module_status__0aa07630","success":"Chip_module_success__0aa07630","info":"Chip_module_info__0aa07630","danger":"Chip_module_danger__0aa07630","warning":"Chip_module_warning__0aa07630","default":"Chip_module_default__0aa07630","input":"Chip_module_input__0aa07630"};
1795
1795
  n(css$V,{});
1796
1796
 
1797
- var Chip = function Chip(props) {
1797
+ var Chip = /*#__PURE__*/React.forwardRef(function Chip(props, ref) {
1798
1798
  var className = props.className,
1799
1799
  type = props.type,
1800
1800
  LeftComponent = props.leftComponent,
@@ -1808,6 +1808,7 @@ var Chip = function Chip(props) {
1808
1808
  variant = props.variant,
1809
1809
  color = props.color;
1810
1810
  return /*#__PURE__*/jsxRuntime.jsx(BaseButton, {
1811
+ ref: ref,
1811
1812
  type: type,
1812
1813
  component1: LeftComponent && /*#__PURE__*/jsxRuntime.jsx(LeftComponent, {}),
1813
1814
  title: title,
@@ -1820,7 +1821,7 @@ var Chip = function Chip(props) {
1820
1821
  variant: 'contained',
1821
1822
  className: classes(modules_31aa5fd7.root, modules_31aa5fd7["radius-".concat(radius)], modules_31aa5fd7[variant], modules_31aa5fd7[color], modules_31aa5fd7[size], className)
1822
1823
  });
1823
- };
1824
+ });
1824
1825
  Chip.propTypes = _objectSpread2(_objectSpread2({}, BaseButton.propTypes), {}, {
1825
1826
  size: propTypes$1.exports.oneOf(['sm', 'md']),
1826
1827
  variant: propTypes$1.exports.oneOf(['status', 'input']),
@@ -16731,34 +16732,43 @@ function ada(Prism) {
16731
16732
  };
16732
16733
  }
16733
16734
 
16734
- var agda_1 = agda;
16735
- agda.displayName = 'agda';
16736
- agda.aliases = [];
16737
- function agda(Prism) {
16735
+ var agda_1;
16736
+ var hasRequiredAgda;
16737
+
16738
+ function requireAgda () {
16739
+ if (hasRequiredAgda) return agda_1;
16740
+ hasRequiredAgda = 1;
16741
+
16742
+ agda_1 = agda;
16743
+ agda.displayName = 'agda';
16744
+ agda.aliases = [];
16745
+ function agda(Prism) {
16738
16746
  (function (Prism) {
16739
- Prism.languages.agda = {
16740
- comment: /\{-[\s\S]*?(?:-\}|$)|--.*/,
16741
- string: {
16742
- pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
16743
- greedy: true
16744
- },
16745
- punctuation: /[(){}⦃⦄.;@]/,
16746
- 'class-name': {
16747
- pattern: /((?:data|record) +)\S+/,
16748
- lookbehind: true
16749
- },
16750
- function: {
16751
- pattern: /(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,
16752
- lookbehind: true
16753
- },
16754
- operator: {
16755
- pattern: /(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,
16756
- lookbehind: true
16757
- },
16758
- keyword:
16759
- /\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/
16760
- };
16761
- })(Prism);
16747
+ Prism.languages.agda = {
16748
+ comment: /\{-[\s\S]*?(?:-\}|$)|--.*/,
16749
+ string: {
16750
+ pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,
16751
+ greedy: true
16752
+ },
16753
+ punctuation: /[(){}⦃⦄.;@]/,
16754
+ 'class-name': {
16755
+ pattern: /((?:data|record) +)\S+/,
16756
+ lookbehind: true
16757
+ },
16758
+ function: {
16759
+ pattern: /(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,
16760
+ lookbehind: true
16761
+ },
16762
+ operator: {
16763
+ pattern: /(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,
16764
+ lookbehind: true
16765
+ },
16766
+ keyword:
16767
+ /\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/
16768
+ };
16769
+ })(Prism);
16770
+ }
16771
+ return agda_1;
16762
16772
  }
16763
16773
 
16764
16774
  var al_1 = al;
@@ -17252,126 +17262,134 @@ function c(Prism) {
17252
17262
  delete Prism.languages.c['boolean'];
17253
17263
  }
17254
17264
 
17255
- var refractorC$1 = c_1;
17256
- var cpp_1 = cpp;
17257
- cpp.displayName = 'cpp';
17258
- cpp.aliases = [];
17259
- function cpp(Prism) {
17260
- Prism.register(refractorC$1)
17261
- ;(function (Prism) {
17262
- var keyword =
17263
- /\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/;
17264
- var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
17265
- /<keyword>/g,
17266
- function () {
17267
- return keyword.source
17268
- }
17269
- );
17270
- Prism.languages.cpp = Prism.languages.extend('c', {
17271
- 'class-name': [
17272
- {
17273
- pattern: RegExp(
17274
- /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
17275
- /<keyword>/g,
17276
- function () {
17277
- return keyword.source
17278
- }
17279
- )
17280
- ),
17281
- lookbehind: true
17282
- }, // This is intended to capture the class name of method implementations like:
17283
- // void foo::bar() const {}
17284
- // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
17285
- // it starts with an uppercase letter. This approximation should give decent results.
17286
- /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, // This will capture the class name before destructors like:
17287
- // Foo::~Foo() {}
17288
- /\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
17289
- // parameters, so it can't be a namespace (until C++ adds generic namespaces).
17290
- /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
17291
- ],
17292
- keyword: keyword,
17293
- number: {
17294
- pattern:
17295
- /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
17296
- greedy: true
17297
- },
17298
- operator:
17299
- />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
17300
- boolean: /\b(?:false|true)\b/
17301
- });
17302
- Prism.languages.insertBefore('cpp', 'string', {
17303
- module: {
17304
- // https://en.cppreference.com/w/cpp/language/modules
17305
- pattern: RegExp(
17306
- /(\b(?:import|module)\s+)/.source +
17307
- '(?:' + // header-name
17308
- /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source +
17309
- '|' + // module name or partition or both
17310
- /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
17311
- /<mod-name>/g,
17312
- function () {
17313
- return modName
17314
- }
17315
- ) +
17316
- ')'
17317
- ),
17318
- lookbehind: true,
17319
- greedy: true,
17320
- inside: {
17321
- string: /^[<"][\s\S]+/,
17322
- operator: /:/,
17323
- punctuation: /\./
17324
- }
17325
- },
17326
- 'raw-string': {
17327
- pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
17328
- alias: 'string',
17329
- greedy: true
17330
- }
17331
- });
17332
- Prism.languages.insertBefore('cpp', 'keyword', {
17333
- 'generic-function': {
17334
- pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
17335
- inside: {
17336
- function: /^\w+/,
17337
- generic: {
17338
- pattern: /<[\s\S]+/,
17339
- alias: 'class-name',
17340
- inside: Prism.languages.cpp
17341
- }
17342
- }
17343
- }
17344
- });
17345
- Prism.languages.insertBefore('cpp', 'operator', {
17346
- 'double-colon': {
17347
- pattern: /::/,
17348
- alias: 'punctuation'
17349
- }
17350
- });
17351
- Prism.languages.insertBefore('cpp', 'class-name', {
17352
- // the base clause is an optional list of parent classes
17353
- // https://en.cppreference.com/w/cpp/language/class
17354
- 'base-clause': {
17355
- pattern:
17356
- /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
17357
- lookbehind: true,
17358
- greedy: true,
17359
- inside: Prism.languages.extend('cpp', {})
17360
- }
17361
- });
17362
- Prism.languages.insertBefore(
17363
- 'inside',
17364
- 'double-colon',
17365
- {
17366
- // All untokenized words that are not namespaces should be class names
17367
- 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i
17368
- },
17369
- Prism.languages.cpp['base-clause']
17370
- );
17371
- })(Prism);
17265
+ var cpp_1;
17266
+ var hasRequiredCpp;
17267
+
17268
+ function requireCpp () {
17269
+ if (hasRequiredCpp) return cpp_1;
17270
+ hasRequiredCpp = 1;
17271
+ var refractorC = c_1;
17272
+ cpp_1 = cpp;
17273
+ cpp.displayName = 'cpp';
17274
+ cpp.aliases = [];
17275
+ function cpp(Prism) {
17276
+ Prism.register(refractorC)
17277
+ ;(function (Prism) {
17278
+ var keyword =
17279
+ /\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/;
17280
+ var modName = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(
17281
+ /<keyword>/g,
17282
+ function () {
17283
+ return keyword.source
17284
+ }
17285
+ );
17286
+ Prism.languages.cpp = Prism.languages.extend('c', {
17287
+ 'class-name': [
17288
+ {
17289
+ pattern: RegExp(
17290
+ /(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(
17291
+ /<keyword>/g,
17292
+ function () {
17293
+ return keyword.source
17294
+ }
17295
+ )
17296
+ ),
17297
+ lookbehind: true
17298
+ }, // This is intended to capture the class name of method implementations like:
17299
+ // void foo::bar() const {}
17300
+ // However! The `foo` in the above example could also be a namespace, so we only capture the class name if
17301
+ // it starts with an uppercase letter. This approximation should give decent results.
17302
+ /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, // This will capture the class name before destructors like:
17303
+ // Foo::~Foo() {}
17304
+ /\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
17305
+ // parameters, so it can't be a namespace (until C++ adds generic namespaces).
17306
+ /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/
17307
+ ],
17308
+ keyword: keyword,
17309
+ number: {
17310
+ pattern:
17311
+ /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,
17312
+ greedy: true
17313
+ },
17314
+ operator:
17315
+ />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,
17316
+ boolean: /\b(?:false|true)\b/
17317
+ });
17318
+ Prism.languages.insertBefore('cpp', 'string', {
17319
+ module: {
17320
+ // https://en.cppreference.com/w/cpp/language/modules
17321
+ pattern: RegExp(
17322
+ /(\b(?:import|module)\s+)/.source +
17323
+ '(?:' + // header-name
17324
+ /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source +
17325
+ '|' + // module name or partition or both
17326
+ /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(
17327
+ /<mod-name>/g,
17328
+ function () {
17329
+ return modName
17330
+ }
17331
+ ) +
17332
+ ')'
17333
+ ),
17334
+ lookbehind: true,
17335
+ greedy: true,
17336
+ inside: {
17337
+ string: /^[<"][\s\S]+/,
17338
+ operator: /:/,
17339
+ punctuation: /\./
17340
+ }
17341
+ },
17342
+ 'raw-string': {
17343
+ pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,
17344
+ alias: 'string',
17345
+ greedy: true
17346
+ }
17347
+ });
17348
+ Prism.languages.insertBefore('cpp', 'keyword', {
17349
+ 'generic-function': {
17350
+ pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,
17351
+ inside: {
17352
+ function: /^\w+/,
17353
+ generic: {
17354
+ pattern: /<[\s\S]+/,
17355
+ alias: 'class-name',
17356
+ inside: Prism.languages.cpp
17357
+ }
17358
+ }
17359
+ }
17360
+ });
17361
+ Prism.languages.insertBefore('cpp', 'operator', {
17362
+ 'double-colon': {
17363
+ pattern: /::/,
17364
+ alias: 'punctuation'
17365
+ }
17366
+ });
17367
+ Prism.languages.insertBefore('cpp', 'class-name', {
17368
+ // the base clause is an optional list of parent classes
17369
+ // https://en.cppreference.com/w/cpp/language/class
17370
+ 'base-clause': {
17371
+ pattern:
17372
+ /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,
17373
+ lookbehind: true,
17374
+ greedy: true,
17375
+ inside: Prism.languages.extend('cpp', {})
17376
+ }
17377
+ });
17378
+ Prism.languages.insertBefore(
17379
+ 'inside',
17380
+ 'double-colon',
17381
+ {
17382
+ // All untokenized words that are not namespaces should be class names
17383
+ 'class-name': /\b[a-z_]\w*\b(?!\s*::)/i
17384
+ },
17385
+ Prism.languages.cpp['base-clause']
17386
+ );
17387
+ })(Prism);
17388
+ }
17389
+ return cpp_1;
17372
17390
  }
17373
17391
 
17374
- var refractorCpp$1 = cpp_1;
17392
+ var refractorCpp$1 = requireCpp();
17375
17393
  var arduino_1 = arduino;
17376
17394
  arduino.displayName = 'arduino';
17377
17395
  arduino.aliases = ['ino'];
@@ -17715,470 +17733,479 @@ function asmatmel(Prism) {
17715
17733
  };
17716
17734
  }
17717
17735
 
17718
- var csharp_1 = csharp;
17719
- csharp.displayName = 'csharp';
17720
- csharp.aliases = ['dotnet', 'cs'];
17721
- function csharp(Prism) {
17736
+ var csharp_1;
17737
+ var hasRequiredCsharp;
17738
+
17739
+ function requireCsharp () {
17740
+ if (hasRequiredCsharp) return csharp_1;
17741
+ hasRequiredCsharp = 1;
17742
+
17743
+ csharp_1 = csharp;
17744
+ csharp.displayName = 'csharp';
17745
+ csharp.aliases = ['dotnet', 'cs'];
17746
+ function csharp(Prism) {
17722
17747
  (function (Prism) {
17723
- /**
17724
- * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
17725
- *
17726
- * Note: This is a simple text based replacement. Be careful when using backreferences!
17727
- *
17728
- * @param {string} pattern the given pattern.
17729
- * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
17730
- * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
17731
- * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
17732
- */
17733
- function replace(pattern, replacements) {
17734
- return pattern.replace(/<<(\d+)>>/g, function (m, index) {
17735
- return '(?:' + replacements[+index] + ')'
17736
- })
17737
- }
17738
- /**
17739
- * @param {string} pattern
17740
- * @param {string[]} replacements
17741
- * @param {string} [flags]
17742
- * @returns {RegExp}
17743
- */
17744
- function re(pattern, replacements, flags) {
17745
- return RegExp(replace(pattern, replacements), flags || '')
17746
- }
17747
- /**
17748
- * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
17749
- *
17750
- * @param {string} pattern
17751
- * @param {number} depthLog2
17752
- * @returns {string}
17753
- */
17754
- function nested(pattern, depthLog2) {
17755
- for (var i = 0; i < depthLog2; i++) {
17756
- pattern = pattern.replace(/<<self>>/g, function () {
17757
- return '(?:' + pattern + ')'
17758
- });
17759
- }
17760
- return pattern.replace(/<<self>>/g, '[^\\s\\S]')
17761
- } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
17762
- var keywordKinds = {
17763
- // keywords which represent a return or variable type
17764
- type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
17765
- // keywords which are used to declare a type
17766
- typeDeclaration: 'class enum interface record struct',
17767
- // contextual keywords
17768
- // ("var" and "dynamic" are missing because they are used like types)
17769
- contextual:
17770
- '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*{)',
17771
- // all other keywords
17772
- other:
17773
- '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'
17774
- }; // keywords
17775
- function keywordsToPattern(words) {
17776
- return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
17777
- }
17778
- var typeDeclarationKeywords = keywordsToPattern(
17779
- keywordKinds.typeDeclaration
17780
- );
17781
- var keywords = RegExp(
17782
- keywordsToPattern(
17783
- keywordKinds.type +
17784
- ' ' +
17785
- keywordKinds.typeDeclaration +
17786
- ' ' +
17787
- keywordKinds.contextual +
17788
- ' ' +
17789
- keywordKinds.other
17790
- )
17791
- );
17792
- var nonTypeKeywords = keywordsToPattern(
17793
- keywordKinds.typeDeclaration +
17794
- ' ' +
17795
- keywordKinds.contextual +
17796
- ' ' +
17797
- keywordKinds.other
17798
- );
17799
- var nonContextualKeywords = keywordsToPattern(
17800
- keywordKinds.type +
17801
- ' ' +
17802
- keywordKinds.typeDeclaration +
17803
- ' ' +
17804
- keywordKinds.other
17805
- ); // types
17806
- var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
17807
- var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
17808
- var name = /@?\b[A-Za-z_]\w*\b/.source;
17809
- var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
17810
- var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
17811
- nonTypeKeywords,
17812
- genericName
17813
- ]);
17814
- var array = /\[\s*(?:,\s*)*\]/.source;
17815
- var typeExpressionWithoutTuple = replace(
17816
- /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
17817
- [identifier, array]
17818
- );
17819
- var tupleElement = replace(
17820
- /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
17821
- [generic, nestedRound, array]
17822
- );
17823
- var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
17824
- var typeExpression = replace(
17825
- /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
17826
- [tuple, identifier, array]
17827
- );
17828
- var typeInside = {
17829
- keyword: keywords,
17830
- punctuation: /[<>()?,.:[\]]/
17831
- }; // strings & characters
17832
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
17833
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
17834
- var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
17835
- var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
17836
- var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
17837
- Prism.languages.csharp = Prism.languages.extend('clike', {
17838
- string: [
17839
- {
17840
- pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
17841
- lookbehind: true,
17842
- greedy: true
17843
- },
17844
- {
17845
- pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
17846
- lookbehind: true,
17847
- greedy: true
17848
- }
17849
- ],
17850
- 'class-name': [
17851
- {
17852
- // Using static
17853
- // using static System.Math;
17854
- pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
17855
- identifier
17856
- ]),
17857
- lookbehind: true,
17858
- inside: typeInside
17859
- },
17860
- {
17861
- // Using alias (type)
17862
- // using Project = PC.MyCompany.Project;
17863
- pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
17864
- name,
17865
- typeExpression
17866
- ]),
17867
- lookbehind: true,
17868
- inside: typeInside
17869
- },
17870
- {
17871
- // Using alias (alias)
17872
- // using Project = PC.MyCompany.Project;
17873
- pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
17874
- lookbehind: true
17875
- },
17876
- {
17877
- // Type declarations
17878
- // class Foo<A, B>
17879
- // interface Foo<out A, B>
17880
- pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
17881
- typeDeclarationKeywords,
17882
- genericName
17883
- ]),
17884
- lookbehind: true,
17885
- inside: typeInside
17886
- },
17887
- {
17888
- // Single catch exception declaration
17889
- // catch(Foo)
17890
- // (things like catch(Foo e) is covered by variable declaration)
17891
- pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
17892
- lookbehind: true,
17893
- inside: typeInside
17894
- },
17895
- {
17896
- // Name of the type parameter of generic constraints
17897
- // where Foo : class
17898
- pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
17899
- lookbehind: true
17900
- },
17901
- {
17902
- // Casts and checks via as and is.
17903
- // as Foo<A>, is Bar<B>
17904
- // (things like if(a is Foo b) is covered by variable declaration)
17905
- pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
17906
- typeExpressionWithoutTuple
17907
- ]),
17908
- lookbehind: true,
17909
- inside: typeInside
17910
- },
17911
- {
17912
- // Variable, field and parameter declaration
17913
- // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
17914
- pattern: re(
17915
- /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
17916
- .source,
17917
- [typeExpression, nonContextualKeywords, name]
17918
- ),
17919
- inside: typeInside
17920
- }
17921
- ],
17922
- keyword: keywords,
17923
- // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
17924
- number:
17925
- /(?:\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,
17926
- operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
17927
- punctuation: /\?\.?|::|[{}[\];(),.:]/
17928
- });
17929
- Prism.languages.insertBefore('csharp', 'number', {
17930
- range: {
17931
- pattern: /\.\./,
17932
- alias: 'operator'
17933
- }
17934
- });
17935
- Prism.languages.insertBefore('csharp', 'punctuation', {
17936
- 'named-parameter': {
17937
- pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
17938
- lookbehind: true,
17939
- alias: 'punctuation'
17940
- }
17941
- });
17942
- Prism.languages.insertBefore('csharp', 'class-name', {
17943
- namespace: {
17944
- // namespace Foo.Bar {}
17945
- // using Foo.Bar;
17946
- pattern: re(
17947
- /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
17948
- [name]
17949
- ),
17950
- lookbehind: true,
17951
- inside: {
17952
- punctuation: /\./
17953
- }
17954
- },
17955
- 'type-expression': {
17956
- // default(Foo), typeof(Foo<Bar>), sizeof(int)
17957
- pattern: re(
17958
- /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
17959
- .source,
17960
- [nestedRound]
17961
- ),
17962
- lookbehind: true,
17963
- alias: 'class-name',
17964
- inside: typeInside
17965
- },
17966
- 'return-type': {
17967
- // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
17968
- // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
17969
- // int Foo => 0; int Foo { get; set } = 0;
17970
- pattern: re(
17971
- /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
17972
- [typeExpression, identifier]
17973
- ),
17974
- inside: typeInside,
17975
- alias: 'class-name'
17976
- },
17977
- 'constructor-invocation': {
17978
- // new List<Foo<Bar[]>> { }
17979
- pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
17980
- lookbehind: true,
17981
- inside: typeInside,
17982
- alias: 'class-name'
17983
- },
17984
- /*'explicit-implementation': {
17985
- // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
17986
- pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
17987
- inside: classNameInside,
17988
- alias: 'class-name'
17989
- },*/
17990
- 'generic-method': {
17991
- // foo<Bar>()
17992
- pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
17993
- inside: {
17994
- function: re(/^<<0>>/.source, [name]),
17995
- generic: {
17996
- pattern: RegExp(generic),
17997
- alias: 'class-name',
17998
- inside: typeInside
17999
- }
18000
- }
18001
- },
18002
- 'type-list': {
18003
- // The list of types inherited or of generic constraints
18004
- // class Foo<F> : Bar, IList<FooBar>
18005
- // where F : Bar, IList<int>
18006
- pattern: re(
18007
- /\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|[{;]|=>|$))/
18008
- .source,
18009
- [
18010
- typeDeclarationKeywords,
18011
- genericName,
18012
- name,
18013
- typeExpression,
18014
- keywords.source,
18015
- nestedRound,
18016
- /\bnew\s*\(\s*\)/.source
18017
- ]
18018
- ),
18019
- lookbehind: true,
18020
- inside: {
18021
- 'record-arguments': {
18022
- pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
18023
- genericName,
18024
- nestedRound
18025
- ]),
18026
- lookbehind: true,
18027
- greedy: true,
18028
- inside: Prism.languages.csharp
18029
- },
18030
- keyword: keywords,
18031
- 'class-name': {
18032
- pattern: RegExp(typeExpression),
18033
- greedy: true,
18034
- inside: typeInside
18035
- },
18036
- punctuation: /[,()]/
18037
- }
18038
- },
18039
- preprocessor: {
18040
- pattern: /(^[\t ]*)#.*/m,
18041
- lookbehind: true,
18042
- alias: 'property',
18043
- inside: {
18044
- // highlight preprocessor directives as keywords
18045
- directive: {
18046
- pattern:
18047
- /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
18048
- lookbehind: true,
18049
- alias: 'keyword'
18050
- }
18051
- }
18052
- }
18053
- }); // attributes
18054
- var regularStringOrCharacter = regularString + '|' + character;
18055
- var regularStringCharacterOrComment = replace(
18056
- /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
18057
- [regularStringOrCharacter]
18058
- );
18059
- var roundExpression = nested(
18060
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
18061
- regularStringCharacterOrComment
18062
- ]),
18063
- 2
18064
- ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
18065
- var attrTarget =
18066
- /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
18067
- .source;
18068
- var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
18069
- identifier,
18070
- roundExpression
18071
- ]);
18072
- Prism.languages.insertBefore('csharp', 'class-name', {
18073
- attribute: {
18074
- // Attributes
18075
- // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
18076
- pattern: re(
18077
- /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
18078
- .source,
18079
- [attrTarget, attr]
18080
- ),
18081
- lookbehind: true,
18082
- greedy: true,
18083
- inside: {
18084
- target: {
18085
- pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
18086
- alias: 'keyword'
18087
- },
18088
- 'attribute-arguments': {
18089
- pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
18090
- inside: Prism.languages.csharp
18091
- },
18092
- 'class-name': {
18093
- pattern: RegExp(identifier),
18094
- inside: {
18095
- punctuation: /\./
18096
- }
18097
- },
18098
- punctuation: /[:,]/
18099
- }
18100
- }
18101
- }); // string interpolation
18102
- var formatString = /:[^}\r\n]+/.source; // multi line
18103
- var mInterpolationRound = nested(
18104
- replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
18105
- regularStringCharacterOrComment
18106
- ]),
18107
- 2
18108
- );
18109
- var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
18110
- mInterpolationRound,
18111
- formatString
18112
- ]); // single line
18113
- var sInterpolationRound = nested(
18114
- replace(
18115
- /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
18116
- .source,
18117
- [regularStringOrCharacter]
18118
- ),
18119
- 2
18120
- );
18121
- var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
18122
- sInterpolationRound,
18123
- formatString
18124
- ]);
18125
- function createInterpolationInside(interpolation, interpolationRound) {
18126
- return {
18127
- interpolation: {
18128
- pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
18129
- lookbehind: true,
18130
- inside: {
18131
- 'format-string': {
18132
- pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
18133
- interpolationRound,
18134
- formatString
18135
- ]),
18136
- lookbehind: true,
18137
- inside: {
18138
- punctuation: /^:/
18139
- }
18140
- },
18141
- punctuation: /^\{|\}$/,
18142
- expression: {
18143
- pattern: /[\s\S]+/,
18144
- alias: 'language-csharp',
18145
- inside: Prism.languages.csharp
18146
- }
18147
- }
18148
- },
18149
- string: /[\s\S]+/
18150
- }
18151
- }
18152
- Prism.languages.insertBefore('csharp', 'string', {
18153
- 'interpolation-string': [
18154
- {
18155
- pattern: re(
18156
- /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
18157
- [mInterpolation]
18158
- ),
18159
- lookbehind: true,
18160
- greedy: true,
18161
- inside: createInterpolationInside(mInterpolation, mInterpolationRound)
18162
- },
18163
- {
18164
- pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
18165
- sInterpolation
18166
- ]),
18167
- lookbehind: true,
18168
- greedy: true,
18169
- inside: createInterpolationInside(sInterpolation, sInterpolationRound)
18170
- }
18171
- ],
18172
- char: {
18173
- pattern: RegExp(character),
18174
- greedy: true
18175
- }
18176
- });
18177
- Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
18178
- })(Prism);
17748
+ /**
17749
+ * Replaces all placeholders "<<n>>" of given pattern with the n-th replacement (zero based).
17750
+ *
17751
+ * Note: This is a simple text based replacement. Be careful when using backreferences!
17752
+ *
17753
+ * @param {string} pattern the given pattern.
17754
+ * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.
17755
+ * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.
17756
+ * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source
17757
+ */
17758
+ function replace(pattern, replacements) {
17759
+ return pattern.replace(/<<(\d+)>>/g, function (m, index) {
17760
+ return '(?:' + replacements[+index] + ')'
17761
+ })
17762
+ }
17763
+ /**
17764
+ * @param {string} pattern
17765
+ * @param {string[]} replacements
17766
+ * @param {string} [flags]
17767
+ * @returns {RegExp}
17768
+ */
17769
+ function re(pattern, replacements, flags) {
17770
+ return RegExp(replace(pattern, replacements), flags || '')
17771
+ }
17772
+ /**
17773
+ * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.
17774
+ *
17775
+ * @param {string} pattern
17776
+ * @param {number} depthLog2
17777
+ * @returns {string}
17778
+ */
17779
+ function nested(pattern, depthLog2) {
17780
+ for (var i = 0; i < depthLog2; i++) {
17781
+ pattern = pattern.replace(/<<self>>/g, function () {
17782
+ return '(?:' + pattern + ')'
17783
+ });
17784
+ }
17785
+ return pattern.replace(/<<self>>/g, '[^\\s\\S]')
17786
+ } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
17787
+ var keywordKinds = {
17788
+ // keywords which represent a return or variable type
17789
+ type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',
17790
+ // keywords which are used to declare a type
17791
+ typeDeclaration: 'class enum interface record struct',
17792
+ // contextual keywords
17793
+ // ("var" and "dynamic" are missing because they are used like types)
17794
+ contextual:
17795
+ '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*{)',
17796
+ // all other keywords
17797
+ other:
17798
+ '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'
17799
+ }; // keywords
17800
+ function keywordsToPattern(words) {
17801
+ return '\\b(?:' + words.trim().replace(/ /g, '|') + ')\\b'
17802
+ }
17803
+ var typeDeclarationKeywords = keywordsToPattern(
17804
+ keywordKinds.typeDeclaration
17805
+ );
17806
+ var keywords = RegExp(
17807
+ keywordsToPattern(
17808
+ keywordKinds.type +
17809
+ ' ' +
17810
+ keywordKinds.typeDeclaration +
17811
+ ' ' +
17812
+ keywordKinds.contextual +
17813
+ ' ' +
17814
+ keywordKinds.other
17815
+ )
17816
+ );
17817
+ var nonTypeKeywords = keywordsToPattern(
17818
+ keywordKinds.typeDeclaration +
17819
+ ' ' +
17820
+ keywordKinds.contextual +
17821
+ ' ' +
17822
+ keywordKinds.other
17823
+ );
17824
+ var nonContextualKeywords = keywordsToPattern(
17825
+ keywordKinds.type +
17826
+ ' ' +
17827
+ keywordKinds.typeDeclaration +
17828
+ ' ' +
17829
+ keywordKinds.other
17830
+ ); // types
17831
+ var generic = nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source, 2); // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.
17832
+ var nestedRound = nested(/\((?:[^()]|<<self>>)*\)/.source, 2);
17833
+ var name = /@?\b[A-Za-z_]\w*\b/.source;
17834
+ var genericName = replace(/<<0>>(?:\s*<<1>>)?/.source, [name, generic]);
17835
+ var identifier = replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [
17836
+ nonTypeKeywords,
17837
+ genericName
17838
+ ]);
17839
+ var array = /\[\s*(?:,\s*)*\]/.source;
17840
+ var typeExpressionWithoutTuple = replace(
17841
+ /<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,
17842
+ [identifier, array]
17843
+ );
17844
+ var tupleElement = replace(
17845
+ /[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,
17846
+ [generic, nestedRound, array]
17847
+ );
17848
+ var tuple = replace(/\(<<0>>+(?:,<<0>>+)+\)/.source, [tupleElement]);
17849
+ var typeExpression = replace(
17850
+ /(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,
17851
+ [tuple, identifier, array]
17852
+ );
17853
+ var typeInside = {
17854
+ keyword: keywords,
17855
+ punctuation: /[<>()?,.:[\]]/
17856
+ }; // strings & characters
17857
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals
17858
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals
17859
+ var character = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source; // simplified pattern
17860
+ var regularString = /"(?:\\.|[^\\"\r\n])*"/.source;
17861
+ var verbatimString = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;
17862
+ Prism.languages.csharp = Prism.languages.extend('clike', {
17863
+ string: [
17864
+ {
17865
+ pattern: re(/(^|[^$\\])<<0>>/.source, [verbatimString]),
17866
+ lookbehind: true,
17867
+ greedy: true
17868
+ },
17869
+ {
17870
+ pattern: re(/(^|[^@$\\])<<0>>/.source, [regularString]),
17871
+ lookbehind: true,
17872
+ greedy: true
17873
+ }
17874
+ ],
17875
+ 'class-name': [
17876
+ {
17877
+ // Using static
17878
+ // using static System.Math;
17879
+ pattern: re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [
17880
+ identifier
17881
+ ]),
17882
+ lookbehind: true,
17883
+ inside: typeInside
17884
+ },
17885
+ {
17886
+ // Using alias (type)
17887
+ // using Project = PC.MyCompany.Project;
17888
+ pattern: re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [
17889
+ name,
17890
+ typeExpression
17891
+ ]),
17892
+ lookbehind: true,
17893
+ inside: typeInside
17894
+ },
17895
+ {
17896
+ // Using alias (alias)
17897
+ // using Project = PC.MyCompany.Project;
17898
+ pattern: re(/(\busing\s+)<<0>>(?=\s*=)/.source, [name]),
17899
+ lookbehind: true
17900
+ },
17901
+ {
17902
+ // Type declarations
17903
+ // class Foo<A, B>
17904
+ // interface Foo<out A, B>
17905
+ pattern: re(/(\b<<0>>\s+)<<1>>/.source, [
17906
+ typeDeclarationKeywords,
17907
+ genericName
17908
+ ]),
17909
+ lookbehind: true,
17910
+ inside: typeInside
17911
+ },
17912
+ {
17913
+ // Single catch exception declaration
17914
+ // catch(Foo)
17915
+ // (things like catch(Foo e) is covered by variable declaration)
17916
+ pattern: re(/(\bcatch\s*\(\s*)<<0>>/.source, [identifier]),
17917
+ lookbehind: true,
17918
+ inside: typeInside
17919
+ },
17920
+ {
17921
+ // Name of the type parameter of generic constraints
17922
+ // where Foo : class
17923
+ pattern: re(/(\bwhere\s+)<<0>>/.source, [name]),
17924
+ lookbehind: true
17925
+ },
17926
+ {
17927
+ // Casts and checks via as and is.
17928
+ // as Foo<A>, is Bar<B>
17929
+ // (things like if(a is Foo b) is covered by variable declaration)
17930
+ pattern: re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [
17931
+ typeExpressionWithoutTuple
17932
+ ]),
17933
+ lookbehind: true,
17934
+ inside: typeInside
17935
+ },
17936
+ {
17937
+ // Variable, field and parameter declaration
17938
+ // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)
17939
+ pattern: re(
17940
+ /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/
17941
+ .source,
17942
+ [typeExpression, nonContextualKeywords, name]
17943
+ ),
17944
+ inside: typeInside
17945
+ }
17946
+ ],
17947
+ keyword: keywords,
17948
+ // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals
17949
+ number:
17950
+ /(?:\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,
17951
+ operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,
17952
+ punctuation: /\?\.?|::|[{}[\];(),.:]/
17953
+ });
17954
+ Prism.languages.insertBefore('csharp', 'number', {
17955
+ range: {
17956
+ pattern: /\.\./,
17957
+ alias: 'operator'
17958
+ }
17959
+ });
17960
+ Prism.languages.insertBefore('csharp', 'punctuation', {
17961
+ 'named-parameter': {
17962
+ pattern: re(/([(,]\s*)<<0>>(?=\s*:)/.source, [name]),
17963
+ lookbehind: true,
17964
+ alias: 'punctuation'
17965
+ }
17966
+ });
17967
+ Prism.languages.insertBefore('csharp', 'class-name', {
17968
+ namespace: {
17969
+ // namespace Foo.Bar {}
17970
+ // using Foo.Bar;
17971
+ pattern: re(
17972
+ /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,
17973
+ [name]
17974
+ ),
17975
+ lookbehind: true,
17976
+ inside: {
17977
+ punctuation: /\./
17978
+ }
17979
+ },
17980
+ 'type-expression': {
17981
+ // default(Foo), typeof(Foo<Bar>), sizeof(int)
17982
+ pattern: re(
17983
+ /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/
17984
+ .source,
17985
+ [nestedRound]
17986
+ ),
17987
+ lookbehind: true,
17988
+ alias: 'class-name',
17989
+ inside: typeInside
17990
+ },
17991
+ 'return-type': {
17992
+ // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0
17993
+ // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];
17994
+ // int Foo => 0; int Foo { get; set } = 0;
17995
+ pattern: re(
17996
+ /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,
17997
+ [typeExpression, identifier]
17998
+ ),
17999
+ inside: typeInside,
18000
+ alias: 'class-name'
18001
+ },
18002
+ 'constructor-invocation': {
18003
+ // new List<Foo<Bar[]>> { }
18004
+ pattern: re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [typeExpression]),
18005
+ lookbehind: true,
18006
+ inside: typeInside,
18007
+ alias: 'class-name'
18008
+ },
18009
+ /*'explicit-implementation': {
18010
+ // int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();
18011
+ pattern: replace(/\b<<0>>(?=\.<<1>>)/, className, methodOrPropertyDeclaration),
18012
+ inside: classNameInside,
18013
+ alias: 'class-name'
18014
+ },*/
18015
+ 'generic-method': {
18016
+ // foo<Bar>()
18017
+ pattern: re(/<<0>>\s*<<1>>(?=\s*\()/.source, [name, generic]),
18018
+ inside: {
18019
+ function: re(/^<<0>>/.source, [name]),
18020
+ generic: {
18021
+ pattern: RegExp(generic),
18022
+ alias: 'class-name',
18023
+ inside: typeInside
18024
+ }
18025
+ }
18026
+ },
18027
+ 'type-list': {
18028
+ // The list of types inherited or of generic constraints
18029
+ // class Foo<F> : Bar, IList<FooBar>
18030
+ // where F : Bar, IList<int>
18031
+ pattern: re(
18032
+ /\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|[{;]|=>|$))/
18033
+ .source,
18034
+ [
18035
+ typeDeclarationKeywords,
18036
+ genericName,
18037
+ name,
18038
+ typeExpression,
18039
+ keywords.source,
18040
+ nestedRound,
18041
+ /\bnew\s*\(\s*\)/.source
18042
+ ]
18043
+ ),
18044
+ lookbehind: true,
18045
+ inside: {
18046
+ 'record-arguments': {
18047
+ pattern: re(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [
18048
+ genericName,
18049
+ nestedRound
18050
+ ]),
18051
+ lookbehind: true,
18052
+ greedy: true,
18053
+ inside: Prism.languages.csharp
18054
+ },
18055
+ keyword: keywords,
18056
+ 'class-name': {
18057
+ pattern: RegExp(typeExpression),
18058
+ greedy: true,
18059
+ inside: typeInside
18060
+ },
18061
+ punctuation: /[,()]/
18062
+ }
18063
+ },
18064
+ preprocessor: {
18065
+ pattern: /(^[\t ]*)#.*/m,
18066
+ lookbehind: true,
18067
+ alias: 'property',
18068
+ inside: {
18069
+ // highlight preprocessor directives as keywords
18070
+ directive: {
18071
+ pattern:
18072
+ /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,
18073
+ lookbehind: true,
18074
+ alias: 'keyword'
18075
+ }
18076
+ }
18077
+ }
18078
+ }); // attributes
18079
+ var regularStringOrCharacter = regularString + '|' + character;
18080
+ var regularStringCharacterOrComment = replace(
18081
+ /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,
18082
+ [regularStringOrCharacter]
18083
+ );
18084
+ var roundExpression = nested(
18085
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
18086
+ regularStringCharacterOrComment
18087
+ ]),
18088
+ 2
18089
+ ); // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets
18090
+ var attrTarget =
18091
+ /\b(?:assembly|event|field|method|module|param|property|return|type)\b/
18092
+ .source;
18093
+ var attr = replace(/<<0>>(?:\s*\(<<1>>*\))?/.source, [
18094
+ identifier,
18095
+ roundExpression
18096
+ ]);
18097
+ Prism.languages.insertBefore('csharp', 'class-name', {
18098
+ attribute: {
18099
+ // Attributes
18100
+ // [Foo], [Foo(1), Bar(2, Prop = "foo")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]
18101
+ pattern: re(
18102
+ /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/
18103
+ .source,
18104
+ [attrTarget, attr]
18105
+ ),
18106
+ lookbehind: true,
18107
+ greedy: true,
18108
+ inside: {
18109
+ target: {
18110
+ pattern: re(/^<<0>>(?=\s*:)/.source, [attrTarget]),
18111
+ alias: 'keyword'
18112
+ },
18113
+ 'attribute-arguments': {
18114
+ pattern: re(/\(<<0>>*\)/.source, [roundExpression]),
18115
+ inside: Prism.languages.csharp
18116
+ },
18117
+ 'class-name': {
18118
+ pattern: RegExp(identifier),
18119
+ inside: {
18120
+ punctuation: /\./
18121
+ }
18122
+ },
18123
+ punctuation: /[:,]/
18124
+ }
18125
+ }
18126
+ }); // string interpolation
18127
+ var formatString = /:[^}\r\n]+/.source; // multi line
18128
+ var mInterpolationRound = nested(
18129
+ replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source, [
18130
+ regularStringCharacterOrComment
18131
+ ]),
18132
+ 2
18133
+ );
18134
+ var mInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
18135
+ mInterpolationRound,
18136
+ formatString
18137
+ ]); // single line
18138
+ var sInterpolationRound = nested(
18139
+ replace(
18140
+ /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/
18141
+ .source,
18142
+ [regularStringOrCharacter]
18143
+ ),
18144
+ 2
18145
+ );
18146
+ var sInterpolation = replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [
18147
+ sInterpolationRound,
18148
+ formatString
18149
+ ]);
18150
+ function createInterpolationInside(interpolation, interpolationRound) {
18151
+ return {
18152
+ interpolation: {
18153
+ pattern: re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [interpolation]),
18154
+ lookbehind: true,
18155
+ inside: {
18156
+ 'format-string': {
18157
+ pattern: re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [
18158
+ interpolationRound,
18159
+ formatString
18160
+ ]),
18161
+ lookbehind: true,
18162
+ inside: {
18163
+ punctuation: /^:/
18164
+ }
18165
+ },
18166
+ punctuation: /^\{|\}$/,
18167
+ expression: {
18168
+ pattern: /[\s\S]+/,
18169
+ alias: 'language-csharp',
18170
+ inside: Prism.languages.csharp
18171
+ }
18172
+ }
18173
+ },
18174
+ string: /[\s\S]+/
18175
+ }
18176
+ }
18177
+ Prism.languages.insertBefore('csharp', 'string', {
18178
+ 'interpolation-string': [
18179
+ {
18180
+ pattern: re(
18181
+ /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,
18182
+ [mInterpolation]
18183
+ ),
18184
+ lookbehind: true,
18185
+ greedy: true,
18186
+ inside: createInterpolationInside(mInterpolation, mInterpolationRound)
18187
+ },
18188
+ {
18189
+ pattern: re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [
18190
+ sInterpolation
18191
+ ]),
18192
+ lookbehind: true,
18193
+ greedy: true,
18194
+ inside: createInterpolationInside(sInterpolation, sInterpolationRound)
18195
+ }
18196
+ ],
18197
+ char: {
18198
+ pattern: RegExp(character),
18199
+ greedy: true
18200
+ }
18201
+ });
18202
+ Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;
18203
+ })(Prism);
18204
+ }
18205
+ return csharp_1;
18179
18206
  }
18180
18207
 
18181
- var refractorCsharp = csharp_1;
18208
+ var refractorCsharp = requireCsharp();
18182
18209
  var aspnet_1 = aspnet;
18183
18210
  aspnet.displayName = 'aspnet';
18184
18211
  aspnet.aliases = [];
@@ -19372,7 +19399,7 @@ function cfscript(Prism) {
19372
19399
  Prism.languages.cfc = Prism.languages['cfscript'];
19373
19400
  }
19374
19401
 
19375
- var refractorCpp = cpp_1;
19402
+ var refractorCpp = requireCpp();
19376
19403
  var chaiscript_1 = chaiscript;
19377
19404
  chaiscript.displayName = 'chaiscript';
19378
19405
  chaiscript.aliases = [];
@@ -19439,40 +19466,31 @@ function chaiscript(Prism) {
19439
19466
  });
19440
19467
  }
19441
19468
 
19442
- var cil_1;
19443
- var hasRequiredCil;
19444
-
19445
- function requireCil () {
19446
- if (hasRequiredCil) return cil_1;
19447
- hasRequiredCil = 1;
19448
-
19449
- cil_1 = cil;
19450
- cil.displayName = 'cil';
19451
- cil.aliases = [];
19452
- function cil(Prism) {
19453
- Prism.languages.cil = {
19454
- comment: /\/\/.*/,
19455
- string: {
19456
- pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
19457
- greedy: true
19458
- },
19459
- directive: {
19460
- pattern: /(^|\W)\.[a-z]+(?=\s)/,
19461
- lookbehind: true,
19462
- alias: 'class-name'
19463
- },
19464
- // Actually an assembly reference
19465
- variable: /\[[\w\.]+\]/,
19466
- keyword:
19467
- /\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,
19468
- function:
19469
- /\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,
19470
- boolean: /\b(?:false|true)\b/,
19471
- number: /\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,
19472
- punctuation: /[{}[\];(),:=]|IL_[0-9A-Za-z]+/
19473
- };
19474
- }
19475
- return cil_1;
19469
+ var cil_1 = cil;
19470
+ cil.displayName = 'cil';
19471
+ cil.aliases = [];
19472
+ function cil(Prism) {
19473
+ Prism.languages.cil = {
19474
+ comment: /\/\/.*/,
19475
+ string: {
19476
+ pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
19477
+ greedy: true
19478
+ },
19479
+ directive: {
19480
+ pattern: /(^|\W)\.[a-z]+(?=\s)/,
19481
+ lookbehind: true,
19482
+ alias: 'class-name'
19483
+ },
19484
+ // Actually an assembly reference
19485
+ variable: /\[[\w\.]+\]/,
19486
+ keyword:
19487
+ /\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,
19488
+ function:
19489
+ /\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,
19490
+ boolean: /\b(?:false|true)\b/,
19491
+ number: /\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,
19492
+ punctuation: /[{}[\];(),:=]|IL_[0-9A-Za-z]+/
19493
+ };
19476
19494
  }
19477
19495
 
19478
19496
  var clojure_1 = clojure;
@@ -19557,538 +19575,582 @@ function cmake(Prism) {
19557
19575
  var cobol_1 = cobol;
19558
19576
  cobol.displayName = 'cobol';
19559
19577
  cobol.aliases = [];
19560
- function cobol(Prism) {
19561
- Prism.languages.cobol = {
19562
- comment: {
19563
- pattern: /\*>.*|(^[ \t]*)\*.*/m,
19564
- lookbehind: true,
19565
- greedy: true
19566
- },
19567
- string: {
19568
- pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
19569
- greedy: true
19570
- },
19571
- level: {
19572
- pattern: /(^[ \t]*)\d+\b/m,
19573
- lookbehind: true,
19574
- greedy: true,
19575
- alias: 'number'
19576
- },
19577
- 'class-name': {
19578
- // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
19579
- pattern:
19580
- /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
19581
- lookbehind: true,
19582
- inside: {
19583
- number: {
19584
- pattern: /(\()\d+/,
19585
- lookbehind: true
19586
- },
19587
- punctuation: /[()]/
19588
- }
19589
- },
19590
- keyword: {
19591
- pattern:
19592
- /(^|[^\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,
19593
- lookbehind: true
19594
- },
19595
- boolean: {
19596
- pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
19597
- lookbehind: true
19598
- },
19599
- number: {
19600
- pattern:
19601
- /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
19602
- lookbehind: true
19603
- },
19604
- operator: [
19605
- /<>|[<>]=?|[=+*/&]/,
19606
- {
19607
- pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
19608
- lookbehind: true
19609
- }
19610
- ],
19611
- punctuation: /[.:,()]/
19612
- };
19613
- }
19614
-
19615
- var coffeescript_1 = coffeescript;
19616
- coffeescript.displayName = 'coffeescript';
19617
- coffeescript.aliases = ['coffee'];
19618
- function coffeescript(Prism) {
19619
- (function (Prism) {
19620
- // Ignore comments starting with { to privilege string interpolation highlighting
19621
- var comment = /#(?!\{).+/;
19622
- var interpolation = {
19623
- pattern: /#\{[^}]+\}/,
19624
- alias: 'variable'
19625
- };
19626
- Prism.languages.coffeescript = Prism.languages.extend('javascript', {
19627
- comment: comment,
19628
- string: [
19629
- // Strings are multiline
19630
- {
19631
- pattern: /'(?:\\[\s\S]|[^\\'])*'/,
19632
- greedy: true
19633
- },
19634
- {
19635
- // Strings are multiline
19636
- pattern: /"(?:\\[\s\S]|[^\\"])*"/,
19637
- greedy: true,
19638
- inside: {
19639
- interpolation: interpolation
19640
- }
19641
- }
19642
- ],
19643
- keyword:
19644
- /\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/,
19645
- 'class-member': {
19646
- pattern: /@(?!\d)\w+/,
19647
- alias: 'variable'
19648
- }
19649
- });
19650
- Prism.languages.insertBefore('coffeescript', 'comment', {
19651
- 'multiline-comment': {
19652
- pattern: /###[\s\S]+?###/,
19653
- alias: 'comment'
19654
- },
19655
- // Block regexp can contain comments and interpolation
19656
- 'block-regex': {
19657
- pattern: /\/{3}[\s\S]*?\/{3}/,
19658
- alias: 'regex',
19659
- inside: {
19660
- comment: comment,
19661
- interpolation: interpolation
19662
- }
19663
- }
19664
- });
19665
- Prism.languages.insertBefore('coffeescript', 'string', {
19666
- 'inline-javascript': {
19667
- pattern: /`(?:\\[\s\S]|[^\\`])*`/,
19668
- inside: {
19669
- delimiter: {
19670
- pattern: /^`|`$/,
19671
- alias: 'punctuation'
19672
- },
19673
- script: {
19674
- pattern: /[\s\S]+/,
19675
- alias: 'language-javascript',
19676
- inside: Prism.languages.javascript
19677
- }
19678
- }
19679
- },
19680
- // Block strings
19681
- 'multiline-string': [
19682
- {
19683
- pattern: /'''[\s\S]*?'''/,
19684
- greedy: true,
19685
- alias: 'string'
19686
- },
19687
- {
19688
- pattern: /"""[\s\S]*?"""/,
19689
- greedy: true,
19690
- alias: 'string',
19691
- inside: {
19692
- interpolation: interpolation
19693
- }
19694
- }
19695
- ]
19696
- });
19697
- Prism.languages.insertBefore('coffeescript', 'keyword', {
19698
- // Object property
19699
- property: /(?!\d)\w+(?=\s*:(?!:))/
19700
- });
19701
- delete Prism.languages.coffeescript['template-string'];
19702
- Prism.languages.coffee = Prism.languages.coffeescript;
19703
- })(Prism);
19704
- }
19705
-
19706
- var concurnas_1 = concurnas;
19707
- concurnas.displayName = 'concurnas';
19708
- concurnas.aliases = ['conc'];
19709
- function concurnas(Prism) {
19710
- Prism.languages.concurnas = {
19578
+ function cobol(Prism) {
19579
+ Prism.languages.cobol = {
19711
19580
  comment: {
19712
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
19581
+ pattern: /\*>.*|(^[ \t]*)\*.*/m,
19713
19582
  lookbehind: true,
19714
19583
  greedy: true
19715
19584
  },
19716
- langext: {
19717
- pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
19585
+ string: {
19586
+ pattern: /[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,
19587
+ greedy: true
19588
+ },
19589
+ level: {
19590
+ pattern: /(^[ \t]*)\d+\b/m,
19591
+ lookbehind: true,
19718
19592
  greedy: true,
19593
+ alias: 'number'
19594
+ },
19595
+ 'class-name': {
19596
+ // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015
19597
+ pattern:
19598
+ /(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,
19599
+ lookbehind: true,
19719
19600
  inside: {
19720
- 'class-name': /^\w+/,
19721
- string: {
19722
- pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
19601
+ number: {
19602
+ pattern: /(\()\d+/,
19723
19603
  lookbehind: true
19724
19604
  },
19725
- punctuation: /\|\|/
19605
+ punctuation: /[()]/
19726
19606
  }
19727
19607
  },
19728
- function: {
19729
- pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
19608
+ keyword: {
19609
+ pattern:
19610
+ /(^|[^\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,
19730
19611
  lookbehind: true
19731
19612
  },
19732
- keyword:
19733
- /\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/,
19734
- boolean: /\b(?:false|true)\b/,
19735
- number:
19736
- /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
19737
- punctuation: /[{}[\];(),.:]/,
19738
- operator:
19739
- /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
19740
- annotation: {
19741
- pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
19742
- alias: 'builtin'
19743
- }
19744
- };
19745
- Prism.languages.insertBefore('concurnas', 'langext', {
19746
- 'regex-literal': {
19747
- pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
19748
- greedy: true,
19749
- inside: {
19750
- interpolation: {
19751
- pattern:
19752
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
19753
- lookbehind: true,
19754
- inside: Prism.languages.concurnas
19755
- },
19756
- regex: /[\s\S]+/
19757
- }
19613
+ boolean: {
19614
+ pattern: /(^|[^\w-])(?:false|true)(?![\w-])/i,
19615
+ lookbehind: true
19758
19616
  },
19759
- 'string-literal': {
19760
- pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
19761
- greedy: true,
19762
- inside: {
19763
- interpolation: {
19764
- pattern:
19765
- /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
19766
- lookbehind: true,
19767
- inside: Prism.languages.concurnas
19768
- },
19769
- string: /[\s\S]+/
19617
+ number: {
19618
+ pattern:
19619
+ /(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,
19620
+ lookbehind: true
19621
+ },
19622
+ operator: [
19623
+ /<>|[<>]=?|[=+*/&]/,
19624
+ {
19625
+ pattern: /(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,
19626
+ lookbehind: true
19770
19627
  }
19771
- }
19772
- });
19773
- Prism.languages.conc = Prism.languages.concurnas;
19628
+ ],
19629
+ punctuation: /[.:,()]/
19630
+ };
19774
19631
  }
19775
19632
 
19776
- var coq_1 = coq;
19777
- coq.displayName = 'coq';
19778
- coq.aliases = [];
19779
- function coq(Prism) {
19633
+ var coffeescript_1;
19634
+ var hasRequiredCoffeescript;
19635
+
19636
+ function requireCoffeescript () {
19637
+ if (hasRequiredCoffeescript) return coffeescript_1;
19638
+ hasRequiredCoffeescript = 1;
19639
+
19640
+ coffeescript_1 = coffeescript;
19641
+ coffeescript.displayName = 'coffeescript';
19642
+ coffeescript.aliases = ['coffee'];
19643
+ function coffeescript(Prism) {
19780
19644
  (function (Prism) {
19781
- // https://github.com/coq/coq
19782
- var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
19783
- for (var i = 0; i < 2; i++) {
19784
- commentSource = commentSource.replace(/<self>/g, function () {
19785
- return commentSource
19786
- });
19787
- }
19788
- commentSource = commentSource.replace(/<self>/g, '[]');
19789
- Prism.languages.coq = {
19790
- comment: RegExp(commentSource),
19791
- string: {
19792
- pattern: /"(?:[^"]|"")*"(?!")/,
19793
- greedy: true
19794
- },
19795
- attribute: [
19796
- {
19797
- pattern: RegExp(
19798
- /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
19799
- /<comment>/g,
19800
- function () {
19801
- return commentSource
19802
- }
19803
- )
19804
- ),
19805
- greedy: true,
19806
- alias: 'attr-name',
19807
- inside: {
19808
- comment: RegExp(commentSource),
19809
- string: {
19810
- pattern: /"(?:[^"]|"")*"(?!")/,
19811
- greedy: true
19812
- },
19813
- operator: /=/,
19814
- punctuation: /^#\[|\]$|[,()]/
19815
- }
19816
- },
19817
- {
19818
- pattern:
19819
- /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
19820
- alias: 'attr-name'
19821
- }
19822
- ],
19823
- keyword:
19824
- /\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/,
19825
- number:
19826
- /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
19827
- punct: {
19828
- pattern: /@\{|\{\||\[=|:>/,
19829
- alias: 'punctuation'
19830
- },
19831
- operator:
19832
- /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
19833
- punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
19834
- };
19835
- })(Prism);
19645
+ // Ignore comments starting with { to privilege string interpolation highlighting
19646
+ var comment = /#(?!\{).+/;
19647
+ var interpolation = {
19648
+ pattern: /#\{[^}]+\}/,
19649
+ alias: 'variable'
19650
+ };
19651
+ Prism.languages.coffeescript = Prism.languages.extend('javascript', {
19652
+ comment: comment,
19653
+ string: [
19654
+ // Strings are multiline
19655
+ {
19656
+ pattern: /'(?:\\[\s\S]|[^\\'])*'/,
19657
+ greedy: true
19658
+ },
19659
+ {
19660
+ // Strings are multiline
19661
+ pattern: /"(?:\\[\s\S]|[^\\"])*"/,
19662
+ greedy: true,
19663
+ inside: {
19664
+ interpolation: interpolation
19665
+ }
19666
+ }
19667
+ ],
19668
+ keyword:
19669
+ /\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/,
19670
+ 'class-member': {
19671
+ pattern: /@(?!\d)\w+/,
19672
+ alias: 'variable'
19673
+ }
19674
+ });
19675
+ Prism.languages.insertBefore('coffeescript', 'comment', {
19676
+ 'multiline-comment': {
19677
+ pattern: /###[\s\S]+?###/,
19678
+ alias: 'comment'
19679
+ },
19680
+ // Block regexp can contain comments and interpolation
19681
+ 'block-regex': {
19682
+ pattern: /\/{3}[\s\S]*?\/{3}/,
19683
+ alias: 'regex',
19684
+ inside: {
19685
+ comment: comment,
19686
+ interpolation: interpolation
19687
+ }
19688
+ }
19689
+ });
19690
+ Prism.languages.insertBefore('coffeescript', 'string', {
19691
+ 'inline-javascript': {
19692
+ pattern: /`(?:\\[\s\S]|[^\\`])*`/,
19693
+ inside: {
19694
+ delimiter: {
19695
+ pattern: /^`|`$/,
19696
+ alias: 'punctuation'
19697
+ },
19698
+ script: {
19699
+ pattern: /[\s\S]+/,
19700
+ alias: 'language-javascript',
19701
+ inside: Prism.languages.javascript
19702
+ }
19703
+ }
19704
+ },
19705
+ // Block strings
19706
+ 'multiline-string': [
19707
+ {
19708
+ pattern: /'''[\s\S]*?'''/,
19709
+ greedy: true,
19710
+ alias: 'string'
19711
+ },
19712
+ {
19713
+ pattern: /"""[\s\S]*?"""/,
19714
+ greedy: true,
19715
+ alias: 'string',
19716
+ inside: {
19717
+ interpolation: interpolation
19718
+ }
19719
+ }
19720
+ ]
19721
+ });
19722
+ Prism.languages.insertBefore('coffeescript', 'keyword', {
19723
+ // Object property
19724
+ property: /(?!\d)\w+(?=\s*:(?!:))/
19725
+ });
19726
+ delete Prism.languages.coffeescript['template-string'];
19727
+ Prism.languages.coffee = Prism.languages.coffeescript;
19728
+ })(Prism);
19729
+ }
19730
+ return coffeescript_1;
19731
+ }
19732
+
19733
+ var concurnas_1;
19734
+ var hasRequiredConcurnas;
19735
+
19736
+ function requireConcurnas () {
19737
+ if (hasRequiredConcurnas) return concurnas_1;
19738
+ hasRequiredConcurnas = 1;
19739
+
19740
+ concurnas_1 = concurnas;
19741
+ concurnas.displayName = 'concurnas';
19742
+ concurnas.aliases = ['conc'];
19743
+ function concurnas(Prism) {
19744
+ Prism.languages.concurnas = {
19745
+ comment: {
19746
+ pattern: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,
19747
+ lookbehind: true,
19748
+ greedy: true
19749
+ },
19750
+ langext: {
19751
+ pattern: /\b\w+\s*\|\|[\s\S]+?\|\|/,
19752
+ greedy: true,
19753
+ inside: {
19754
+ 'class-name': /^\w+/,
19755
+ string: {
19756
+ pattern: /(^\s*\|\|)[\s\S]+(?=\|\|$)/,
19757
+ lookbehind: true
19758
+ },
19759
+ punctuation: /\|\|/
19760
+ }
19761
+ },
19762
+ function: {
19763
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,
19764
+ lookbehind: true
19765
+ },
19766
+ keyword:
19767
+ /\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/,
19768
+ boolean: /\b(?:false|true)\b/,
19769
+ number:
19770
+ /\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,
19771
+ punctuation: /[{}[\];(),.:]/,
19772
+ operator:
19773
+ /<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,
19774
+ annotation: {
19775
+ pattern: /@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,
19776
+ alias: 'builtin'
19777
+ }
19778
+ };
19779
+ Prism.languages.insertBefore('concurnas', 'langext', {
19780
+ 'regex-literal': {
19781
+ pattern: /\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
19782
+ greedy: true,
19783
+ inside: {
19784
+ interpolation: {
19785
+ pattern:
19786
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
19787
+ lookbehind: true,
19788
+ inside: Prism.languages.concurnas
19789
+ },
19790
+ regex: /[\s\S]+/
19791
+ }
19792
+ },
19793
+ 'string-literal': {
19794
+ pattern: /(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
19795
+ greedy: true,
19796
+ inside: {
19797
+ interpolation: {
19798
+ pattern:
19799
+ /((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
19800
+ lookbehind: true,
19801
+ inside: Prism.languages.concurnas
19802
+ },
19803
+ string: /[\s\S]+/
19804
+ }
19805
+ }
19806
+ });
19807
+ Prism.languages.conc = Prism.languages.concurnas;
19808
+ }
19809
+ return concurnas_1;
19836
19810
  }
19837
19811
 
19838
- var ruby_1 = ruby;
19839
- ruby.displayName = 'ruby';
19840
- ruby.aliases = ['rb'];
19841
- function ruby(Prism) {
19812
+ var coq_1;
19813
+ var hasRequiredCoq;
19814
+
19815
+ function requireCoq () {
19816
+ if (hasRequiredCoq) return coq_1;
19817
+ hasRequiredCoq = 1;
19818
+
19819
+ coq_1 = coq;
19820
+ coq.displayName = 'coq';
19821
+ coq.aliases = [];
19822
+ function coq(Prism) {
19842
19823
  (function (Prism) {
19843
- Prism.languages.ruby = Prism.languages.extend('clike', {
19844
- comment: {
19845
- pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
19846
- greedy: true
19847
- },
19848
- 'class-name': {
19849
- pattern:
19850
- /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
19851
- lookbehind: true,
19852
- inside: {
19853
- punctuation: /[.\\]/
19854
- }
19855
- },
19856
- keyword:
19857
- /\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/,
19858
- operator:
19859
- /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
19860
- punctuation: /[(){}[\].,;]/
19861
- });
19862
- Prism.languages.insertBefore('ruby', 'operator', {
19863
- 'double-colon': {
19864
- pattern: /::/,
19865
- alias: 'punctuation'
19866
- }
19867
- });
19868
- var interpolation = {
19869
- pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
19870
- lookbehind: true,
19871
- inside: {
19872
- content: {
19873
- pattern: /^(#\{)[\s\S]+(?=\}$)/,
19874
- lookbehind: true,
19875
- inside: Prism.languages.ruby
19876
- },
19877
- delimiter: {
19878
- pattern: /^#\{|\}$/,
19879
- alias: 'punctuation'
19880
- }
19881
- }
19882
- };
19883
- delete Prism.languages.ruby.function;
19884
- var percentExpression =
19885
- '(?:' +
19886
- [
19887
- /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
19888
- /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
19889
- /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
19890
- /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
19891
- /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
19892
- ].join('|') +
19893
- ')';
19894
- var symbolName =
19895
- /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
19896
- .source;
19897
- Prism.languages.insertBefore('ruby', 'keyword', {
19898
- 'regex-literal': [
19899
- {
19900
- pattern: RegExp(
19901
- /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
19902
- ),
19903
- greedy: true,
19904
- inside: {
19905
- interpolation: interpolation,
19906
- regex: /[\s\S]+/
19907
- }
19908
- },
19909
- {
19910
- pattern:
19911
- /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
19912
- lookbehind: true,
19913
- greedy: true,
19914
- inside: {
19915
- interpolation: interpolation,
19916
- regex: /[\s\S]+/
19917
- }
19918
- }
19919
- ],
19920
- variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
19921
- symbol: [
19922
- {
19923
- pattern: RegExp(/(^|[^:]):/.source + symbolName),
19924
- lookbehind: true,
19925
- greedy: true
19926
- },
19927
- {
19928
- pattern: RegExp(
19929
- /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
19930
- ),
19931
- lookbehind: true,
19932
- greedy: true
19933
- }
19934
- ],
19935
- 'method-definition': {
19936
- pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
19937
- lookbehind: true,
19938
- inside: {
19939
- function: /\b\w+$/,
19940
- keyword: /^self\b/,
19941
- 'class-name': /^\w+/,
19942
- punctuation: /\./
19943
- }
19944
- }
19945
- });
19946
- Prism.languages.insertBefore('ruby', 'string', {
19947
- 'string-literal': [
19948
- {
19949
- pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
19950
- greedy: true,
19951
- inside: {
19952
- interpolation: interpolation,
19953
- string: /[\s\S]+/
19954
- }
19955
- },
19956
- {
19957
- pattern:
19958
- /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
19959
- greedy: true,
19960
- inside: {
19961
- interpolation: interpolation,
19962
- string: /[\s\S]+/
19963
- }
19964
- },
19965
- {
19966
- pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
19967
- alias: 'heredoc-string',
19968
- greedy: true,
19969
- inside: {
19970
- delimiter: {
19971
- pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
19972
- inside: {
19973
- symbol: /\b\w+/,
19974
- punctuation: /^<<[-~]?/
19975
- }
19976
- },
19977
- interpolation: interpolation,
19978
- string: /[\s\S]+/
19979
- }
19980
- },
19981
- {
19982
- pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
19983
- alias: 'heredoc-string',
19984
- greedy: true,
19985
- inside: {
19986
- delimiter: {
19987
- pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
19988
- inside: {
19989
- symbol: /\b\w+/,
19990
- punctuation: /^<<[-~]?'|'$/
19991
- }
19992
- },
19993
- string: /[\s\S]+/
19994
- }
19995
- }
19996
- ],
19997
- 'command-literal': [
19998
- {
19999
- pattern: RegExp(/%x/.source + percentExpression),
20000
- greedy: true,
20001
- inside: {
20002
- interpolation: interpolation,
20003
- command: {
20004
- pattern: /[\s\S]+/,
20005
- alias: 'string'
20006
- }
20007
- }
20008
- },
20009
- {
20010
- pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
20011
- greedy: true,
20012
- inside: {
20013
- interpolation: interpolation,
20014
- command: {
20015
- pattern: /[\s\S]+/,
20016
- alias: 'string'
20017
- }
20018
- }
20019
- }
20020
- ]
20021
- });
20022
- delete Prism.languages.ruby.string;
20023
- Prism.languages.insertBefore('ruby', 'number', {
20024
- builtin:
20025
- /\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/,
20026
- constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
20027
- });
20028
- Prism.languages.rb = Prism.languages.ruby;
20029
- })(Prism);
19824
+ // https://github.com/coq/coq
19825
+ var commentSource = /\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;
19826
+ for (var i = 0; i < 2; i++) {
19827
+ commentSource = commentSource.replace(/<self>/g, function () {
19828
+ return commentSource
19829
+ });
19830
+ }
19831
+ commentSource = commentSource.replace(/<self>/g, '[]');
19832
+ Prism.languages.coq = {
19833
+ comment: RegExp(commentSource),
19834
+ string: {
19835
+ pattern: /"(?:[^"]|"")*"(?!")/,
19836
+ greedy: true
19837
+ },
19838
+ attribute: [
19839
+ {
19840
+ pattern: RegExp(
19841
+ /#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(
19842
+ /<comment>/g,
19843
+ function () {
19844
+ return commentSource
19845
+ }
19846
+ )
19847
+ ),
19848
+ greedy: true,
19849
+ alias: 'attr-name',
19850
+ inside: {
19851
+ comment: RegExp(commentSource),
19852
+ string: {
19853
+ pattern: /"(?:[^"]|"")*"(?!")/,
19854
+ greedy: true
19855
+ },
19856
+ operator: /=/,
19857
+ punctuation: /^#\[|\]$|[,()]/
19858
+ }
19859
+ },
19860
+ {
19861
+ pattern:
19862
+ /\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,
19863
+ alias: 'attr-name'
19864
+ }
19865
+ ],
19866
+ keyword:
19867
+ /\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/,
19868
+ number:
19869
+ /\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,
19870
+ punct: {
19871
+ pattern: /@\{|\{\||\[=|:>/,
19872
+ alias: 'punctuation'
19873
+ },
19874
+ operator:
19875
+ /\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,
19876
+ punctuation: /\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/
19877
+ };
19878
+ })(Prism);
19879
+ }
19880
+ return coq_1;
20030
19881
  }
20031
19882
 
20032
- var refractorRuby = ruby_1;
20033
- var crystal_1 = crystal;
20034
- crystal.displayName = 'crystal';
20035
- crystal.aliases = [];
20036
- function crystal(Prism) {
20037
- Prism.register(refractorRuby)
20038
- ;(function (Prism) {
20039
- Prism.languages.crystal = Prism.languages.extend('ruby', {
20040
- keyword: [
20041
- /\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/,
20042
- {
20043
- pattern: /(\.\s*)(?:is_a|responds_to)\?/,
20044
- lookbehind: true
20045
- }
20046
- ],
20047
- number:
20048
- /\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/,
20049
- operator: [/->/, Prism.languages.ruby.operator],
20050
- punctuation: /[(){}[\].,;\\]/
20051
- });
20052
- Prism.languages.insertBefore('crystal', 'string-literal', {
20053
- attribute: {
20054
- pattern: /@\[.*?\]/,
20055
- inside: {
20056
- delimiter: {
20057
- pattern: /^@\[|\]$/,
20058
- alias: 'punctuation'
20059
- },
20060
- attribute: {
20061
- pattern: /^(\s*)\w+/,
20062
- lookbehind: true,
20063
- alias: 'class-name'
20064
- },
20065
- args: {
20066
- pattern: /\S(?:[\s\S]*\S)?/,
20067
- inside: Prism.languages.crystal
20068
- }
20069
- }
20070
- },
20071
- expansion: {
20072
- pattern: /\{(?:\{.*?\}|%.*?%)\}/,
20073
- inside: {
20074
- content: {
20075
- pattern: /^(\{.)[\s\S]+(?=.\}$)/,
20076
- lookbehind: true,
20077
- inside: Prism.languages.crystal
20078
- },
20079
- delimiter: {
20080
- pattern: /^\{[\{%]|[\}%]\}$/,
20081
- alias: 'operator'
20082
- }
20083
- }
20084
- },
20085
- char: {
20086
- pattern:
20087
- /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
20088
- greedy: true
20089
- }
20090
- });
20091
- })(Prism);
19883
+ var ruby_1;
19884
+ var hasRequiredRuby;
19885
+
19886
+ function requireRuby () {
19887
+ if (hasRequiredRuby) return ruby_1;
19888
+ hasRequiredRuby = 1;
19889
+
19890
+ ruby_1 = ruby;
19891
+ ruby.displayName = 'ruby';
19892
+ ruby.aliases = ['rb'];
19893
+ function ruby(Prism) {
19894
+ (function (Prism) {
19895
+ Prism.languages.ruby = Prism.languages.extend('clike', {
19896
+ comment: {
19897
+ pattern: /#.*|^=begin\s[\s\S]*?^=end/m,
19898
+ greedy: true
19899
+ },
19900
+ 'class-name': {
19901
+ pattern:
19902
+ /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,
19903
+ lookbehind: true,
19904
+ inside: {
19905
+ punctuation: /[.\\]/
19906
+ }
19907
+ },
19908
+ keyword:
19909
+ /\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/,
19910
+ operator:
19911
+ /\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,
19912
+ punctuation: /[(){}[\].,;]/
19913
+ });
19914
+ Prism.languages.insertBefore('ruby', 'operator', {
19915
+ 'double-colon': {
19916
+ pattern: /::/,
19917
+ alias: 'punctuation'
19918
+ }
19919
+ });
19920
+ var interpolation = {
19921
+ pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,
19922
+ lookbehind: true,
19923
+ inside: {
19924
+ content: {
19925
+ pattern: /^(#\{)[\s\S]+(?=\}$)/,
19926
+ lookbehind: true,
19927
+ inside: Prism.languages.ruby
19928
+ },
19929
+ delimiter: {
19930
+ pattern: /^#\{|\}$/,
19931
+ alias: 'punctuation'
19932
+ }
19933
+ }
19934
+ };
19935
+ delete Prism.languages.ruby.function;
19936
+ var percentExpression =
19937
+ '(?:' +
19938
+ [
19939
+ /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,
19940
+ /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,
19941
+ /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,
19942
+ /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,
19943
+ /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source
19944
+ ].join('|') +
19945
+ ')';
19946
+ var symbolName =
19947
+ /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/
19948
+ .source;
19949
+ Prism.languages.insertBefore('ruby', 'keyword', {
19950
+ 'regex-literal': [
19951
+ {
19952
+ pattern: RegExp(
19953
+ /%r/.source + percentExpression + /[egimnosux]{0,6}/.source
19954
+ ),
19955
+ greedy: true,
19956
+ inside: {
19957
+ interpolation: interpolation,
19958
+ regex: /[\s\S]+/
19959
+ }
19960
+ },
19961
+ {
19962
+ pattern:
19963
+ /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,
19964
+ lookbehind: true,
19965
+ greedy: true,
19966
+ inside: {
19967
+ interpolation: interpolation,
19968
+ regex: /[\s\S]+/
19969
+ }
19970
+ }
19971
+ ],
19972
+ variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,
19973
+ symbol: [
19974
+ {
19975
+ pattern: RegExp(/(^|[^:]):/.source + symbolName),
19976
+ lookbehind: true,
19977
+ greedy: true
19978
+ },
19979
+ {
19980
+ pattern: RegExp(
19981
+ /([\r\n{(,][ \t]*)/.source + symbolName + /(?=:(?!:))/.source
19982
+ ),
19983
+ lookbehind: true,
19984
+ greedy: true
19985
+ }
19986
+ ],
19987
+ 'method-definition': {
19988
+ pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,
19989
+ lookbehind: true,
19990
+ inside: {
19991
+ function: /\b\w+$/,
19992
+ keyword: /^self\b/,
19993
+ 'class-name': /^\w+/,
19994
+ punctuation: /\./
19995
+ }
19996
+ }
19997
+ });
19998
+ Prism.languages.insertBefore('ruby', 'string', {
19999
+ 'string-literal': [
20000
+ {
20001
+ pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),
20002
+ greedy: true,
20003
+ inside: {
20004
+ interpolation: interpolation,
20005
+ string: /[\s\S]+/
20006
+ }
20007
+ },
20008
+ {
20009
+ pattern:
20010
+ /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,
20011
+ greedy: true,
20012
+ inside: {
20013
+ interpolation: interpolation,
20014
+ string: /[\s\S]+/
20015
+ }
20016
+ },
20017
+ {
20018
+ pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
20019
+ alias: 'heredoc-string',
20020
+ greedy: true,
20021
+ inside: {
20022
+ delimiter: {
20023
+ pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,
20024
+ inside: {
20025
+ symbol: /\b\w+/,
20026
+ punctuation: /^<<[-~]?/
20027
+ }
20028
+ },
20029
+ interpolation: interpolation,
20030
+ string: /[\s\S]+/
20031
+ }
20032
+ },
20033
+ {
20034
+ pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,
20035
+ alias: 'heredoc-string',
20036
+ greedy: true,
20037
+ inside: {
20038
+ delimiter: {
20039
+ pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,
20040
+ inside: {
20041
+ symbol: /\b\w+/,
20042
+ punctuation: /^<<[-~]?'|'$/
20043
+ }
20044
+ },
20045
+ string: /[\s\S]+/
20046
+ }
20047
+ }
20048
+ ],
20049
+ 'command-literal': [
20050
+ {
20051
+ pattern: RegExp(/%x/.source + percentExpression),
20052
+ greedy: true,
20053
+ inside: {
20054
+ interpolation: interpolation,
20055
+ command: {
20056
+ pattern: /[\s\S]+/,
20057
+ alias: 'string'
20058
+ }
20059
+ }
20060
+ },
20061
+ {
20062
+ pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,
20063
+ greedy: true,
20064
+ inside: {
20065
+ interpolation: interpolation,
20066
+ command: {
20067
+ pattern: /[\s\S]+/,
20068
+ alias: 'string'
20069
+ }
20070
+ }
20071
+ }
20072
+ ]
20073
+ });
20074
+ delete Prism.languages.ruby.string;
20075
+ Prism.languages.insertBefore('ruby', 'number', {
20076
+ builtin:
20077
+ /\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/,
20078
+ constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/
20079
+ });
20080
+ Prism.languages.rb = Prism.languages.ruby;
20081
+ })(Prism);
20082
+ }
20083
+ return ruby_1;
20084
+ }
20085
+
20086
+ var crystal_1;
20087
+ var hasRequiredCrystal;
20088
+
20089
+ function requireCrystal () {
20090
+ if (hasRequiredCrystal) return crystal_1;
20091
+ hasRequiredCrystal = 1;
20092
+ var refractorRuby = requireRuby();
20093
+ crystal_1 = crystal;
20094
+ crystal.displayName = 'crystal';
20095
+ crystal.aliases = [];
20096
+ function crystal(Prism) {
20097
+ Prism.register(refractorRuby)
20098
+ ;(function (Prism) {
20099
+ Prism.languages.crystal = Prism.languages.extend('ruby', {
20100
+ keyword: [
20101
+ /\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/,
20102
+ {
20103
+ pattern: /(\.\s*)(?:is_a|responds_to)\?/,
20104
+ lookbehind: true
20105
+ }
20106
+ ],
20107
+ number:
20108
+ /\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/,
20109
+ operator: [/->/, Prism.languages.ruby.operator],
20110
+ punctuation: /[(){}[\].,;\\]/
20111
+ });
20112
+ Prism.languages.insertBefore('crystal', 'string-literal', {
20113
+ attribute: {
20114
+ pattern: /@\[.*?\]/,
20115
+ inside: {
20116
+ delimiter: {
20117
+ pattern: /^@\[|\]$/,
20118
+ alias: 'punctuation'
20119
+ },
20120
+ attribute: {
20121
+ pattern: /^(\s*)\w+/,
20122
+ lookbehind: true,
20123
+ alias: 'class-name'
20124
+ },
20125
+ args: {
20126
+ pattern: /\S(?:[\s\S]*\S)?/,
20127
+ inside: Prism.languages.crystal
20128
+ }
20129
+ }
20130
+ },
20131
+ expansion: {
20132
+ pattern: /\{(?:\{.*?\}|%.*?%)\}/,
20133
+ inside: {
20134
+ content: {
20135
+ pattern: /^(\{.)[\s\S]+(?=.\}$)/,
20136
+ lookbehind: true,
20137
+ inside: Prism.languages.crystal
20138
+ },
20139
+ delimiter: {
20140
+ pattern: /^\{[\{%]|[\}%]\}$/,
20141
+ alias: 'operator'
20142
+ }
20143
+ }
20144
+ },
20145
+ char: {
20146
+ pattern:
20147
+ /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,
20148
+ greedy: true
20149
+ }
20150
+ });
20151
+ })(Prism);
20152
+ }
20153
+ return crystal_1;
20092
20154
  }
20093
20155
 
20094
20156
  var cshtml_1;
@@ -20097,7 +20159,7 @@ var hasRequiredCshtml;
20097
20159
  function requireCshtml () {
20098
20160
  if (hasRequiredCshtml) return cshtml_1;
20099
20161
  hasRequiredCshtml = 1;
20100
- var refractorCsharp = csharp_1;
20162
+ var refractorCsharp = requireCsharp();
20101
20163
  cshtml_1 = cshtml;
20102
20164
  cshtml.displayName = 'cshtml';
20103
20165
  cshtml.aliases = ['razor'];
@@ -21861,7 +21923,7 @@ var hasRequiredErb;
21861
21923
  function requireErb () {
21862
21924
  if (hasRequiredErb) return erb_1;
21863
21925
  hasRequiredErb = 1;
21864
- var refractorRuby = ruby_1;
21926
+ var refractorRuby = requireRuby();
21865
21927
  var refractorMarkupTemplating = requireMarkupTemplating();
21866
21928
  erb_1 = erb;
21867
21929
  erb.displayName = 'erb';
@@ -24343,7 +24405,7 @@ var hasRequiredHaml;
24343
24405
  function requireHaml () {
24344
24406
  if (hasRequiredHaml) return haml_1;
24345
24407
  hasRequiredHaml = 1;
24346
- var refractorRuby = ruby_1;
24408
+ var refractorRuby = requireRuby();
24347
24409
  haml_1 = haml;
24348
24410
  haml.displayName = 'haml';
24349
24411
  haml.aliases = [];
@@ -36779,7 +36841,7 @@ function requireT4Cs () {
36779
36841
  if (hasRequiredT4Cs) return t4Cs_1;
36780
36842
  hasRequiredT4Cs = 1;
36781
36843
  var refractorT4Templating = requireT4Templating();
36782
- var refractorCsharp = csharp_1;
36844
+ var refractorCsharp = requireCsharp();
36783
36845
  t4Cs_1 = t4Cs;
36784
36846
  t4Cs.displayName = 't4Cs';
36785
36847
  t4Cs.aliases = [];
@@ -39520,7 +39582,7 @@ refractor.register(abap_1);
39520
39582
  refractor.register(abnf_1);
39521
39583
  refractor.register(actionscript_1);
39522
39584
  refractor.register(ada_1);
39523
- refractor.register(agda_1);
39585
+ refractor.register(requireAgda());
39524
39586
  refractor.register(al_1);
39525
39587
  refractor.register(antlr4_1);
39526
39588
  refractor.register(apacheconf_1);
@@ -39553,16 +39615,16 @@ refractor.register(bsl_1);
39553
39615
  refractor.register(c_1);
39554
39616
  refractor.register(cfscript_1);
39555
39617
  refractor.register(chaiscript_1);
39556
- refractor.register(requireCil());
39618
+ refractor.register(cil_1);
39557
39619
  refractor.register(clojure_1);
39558
39620
  refractor.register(cmake_1);
39559
39621
  refractor.register(cobol_1);
39560
- refractor.register(coffeescript_1);
39561
- refractor.register(concurnas_1);
39562
- refractor.register(coq_1);
39563
- refractor.register(cpp_1);
39564
- refractor.register(crystal_1);
39565
- refractor.register(csharp_1);
39622
+ refractor.register(requireCoffeescript());
39623
+ refractor.register(requireConcurnas());
39624
+ refractor.register(requireCoq());
39625
+ refractor.register(requireCpp());
39626
+ refractor.register(requireCrystal());
39627
+ refractor.register(requireCsharp());
39566
39628
  refractor.register(requireCshtml());
39567
39629
  refractor.register(requireCsp());
39568
39630
  refractor.register(requireCssExtras());
@@ -39727,7 +39789,7 @@ refractor.register(requireRest());
39727
39789
  refractor.register(requireRip());
39728
39790
  refractor.register(requireRoboconf());
39729
39791
  refractor.register(requireRobotframework());
39730
- refractor.register(ruby_1);
39792
+ refractor.register(requireRuby());
39731
39793
  refractor.register(requireRust());
39732
39794
  refractor.register(requireSas());
39733
39795
  refractor.register(requireSass());
@@ -45778,8 +45840,8 @@ Tabs.defaultProps = {
45778
45840
 
45779
45841
  function o(f){return r=>{f.forEach(n=>{typeof n=="function"?n(r):n!=null&&(n.current=r);});}}
45780
45842
 
45781
- var css$8 = ".Tooltip_module_tooltip__1cb07177 {\n text-align: center;\n position: fixed;\n border-radius: 0.25rem;\n min-width: auto;\n max-width: 12rem;\n padding: 0.375rem;\n font-size: 0.875rem;\n font-family: sans-serif;\n line-height: 1;\n}\n.Tooltip_module_tooltip__1cb07177.Tooltip_module_light__1cb07177 {\n color: var(--black);\n background: var(--grey7);\n border-color: var(--black);\n}\n.Tooltip_module_tooltip__1cb07177.Tooltip_module_light__1cb07177 .Tooltip_module_arrow__1cb07177 {\n background: var(--grey7);\n}\n.Tooltip_module_tooltip__1cb07177.Tooltip_module_dark__1cb07177 {\n color: var(--white);\n background: var(--black);\n border-color: var(--white);\n}\n.Tooltip_module_tooltip__1cb07177.Tooltip_module_dark__1cb07177 .Tooltip_module_arrow__1cb07177 {\n background: var(--black);\n}\n.Tooltip_module_tooltip__1cb07177 .Tooltip_module_arrow__1cb07177 {\n position: absolute;\n width: 1rem;\n height: 1rem;\n z-index: -1;\n pointer-events: none;\n transform: rotate(45deg);\n}";
45782
- var modules_e4619b04 = {"tooltip":"Tooltip_module_tooltip__1cb07177","light":"Tooltip_module_light__1cb07177","arrow":"Tooltip_module_arrow__1cb07177","dark":"Tooltip_module_dark__1cb07177"};
45843
+ var css$8 = ".Tooltip_module_tooltip__04fbc763 {\n text-align: center;\n border-radius: 0.25rem;\n min-width: auto;\n max-width: 12rem;\n padding: 0.375rem;\n font-size: 0.875rem;\n font-family: sans-serif;\n line-height: 1;\n}\n.Tooltip_module_tooltip__04fbc763.Tooltip_module_light__04fbc763 {\n color: var(--black);\n background: var(--grey7);\n border-color: var(--black);\n}\n.Tooltip_module_tooltip__04fbc763.Tooltip_module_light__04fbc763 .Tooltip_module_arrow__04fbc763 {\n background: var(--grey7);\n}\n.Tooltip_module_tooltip__04fbc763.Tooltip_module_dark__04fbc763 {\n color: var(--white);\n background: var(--black);\n border-color: var(--white);\n}\n.Tooltip_module_tooltip__04fbc763.Tooltip_module_dark__04fbc763 .Tooltip_module_arrow__04fbc763 {\n background: var(--black);\n}\n.Tooltip_module_tooltip__04fbc763 .Tooltip_module_arrow__04fbc763 {\n position: absolute;\n width: 1rem;\n height: 1rem;\n z-index: -1;\n pointer-events: none;\n transform: rotate(45deg);\n}";
45844
+ var modules_e4619b04 = {"tooltip":"Tooltip_module_tooltip__04fbc763","light":"Tooltip_module_light__04fbc763","arrow":"Tooltip_module_arrow__04fbc763","dark":"Tooltip_module_dark__04fbc763"};
45783
45845
  n(css$8,{});
45784
45846
 
45785
45847
  var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, propRef) {
@@ -45799,7 +45861,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, propRef) {
45799
45861
  var _useFloating = useFloating({
45800
45862
  open: open,
45801
45863
  onOpenChange: setOpen,
45802
- strategy: 'fixed',
45864
+ // strategy: 'fixed',
45803
45865
  placement: position,
45804
45866
  // Make sure the tooltip stays on the screen
45805
45867
  whileElementsMounted: autoUpdate,
@@ -45847,7 +45909,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, propRef) {
45847
45909
  }[side];
45848
45910
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
45849
45911
  children: [clonedChildren, /*#__PURE__*/jsxRuntime.jsx(Popper, {
45850
- open: open,
45912
+ open: open && content != null,
45851
45913
  backdrop: false,
45852
45914
  wrapperId: "tooltip",
45853
45915
  children: /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread2(_objectSpread2({}, getFloatingProps({
@@ -45860,7 +45922,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, propRef) {
45860
45922
  zIndex: 100
45861
45923
  }
45862
45924
  })), {}, {
45863
- children: [content, /*#__PURE__*/jsxRuntime.jsx("div", {
45925
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
45864
45926
  className: modules_e4619b04.arrow,
45865
45927
  ref: arrowEl,
45866
45928
  style: _defineProperty$1({
@@ -45869,7 +45931,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, propRef) {
45869
45931
  right: '',
45870
45932
  bottom: ''
45871
45933
  }, staticSide, '-0.5rem')
45872
- })]
45934
+ }), content]
45873
45935
  }))
45874
45936
  })]
45875
45937
  });
@@ -45882,7 +45944,7 @@ Tooltip.propTypes = {
45882
45944
  };
45883
45945
  Tooltip.defaultProps = {
45884
45946
  variant: 'light',
45885
- content: 'Tooltip Info',
45947
+ content: null,
45886
45948
  position: 'top',
45887
45949
  className: ''
45888
45950
  };