Files
2021-05-04 12:24:20 +00:00

213 lines
5.8 KiB
JavaScript

(self.webpackChunkmermaid_live_editor =
self.webpackChunkmermaid_live_editor || []).push([
[6241],
{
96241: (e, n, t) => {
'use strict';
t.r(n), t.d(n, { conf: () => s, language: () => i });
var s = {
comments: { lineComment: '//', blockComment: ['(*', '*)'] },
brackets: [
['{', '}'],
['[', ']'],
['(', ')'],
],
autoClosingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"' },
],
surroundingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
],
folding: {
markers: {
start: new RegExp(
'^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)'
),
end: new RegExp(
'^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)'
),
},
},
},
i = {
defaultToken: '',
tokenPostfix: '.fs',
keywords: [
'abstract',
'and',
'atomic',
'as',
'assert',
'asr',
'base',
'begin',
'break',
'checked',
'component',
'const',
'constraint',
'constructor',
'continue',
'class',
'default',
'delegate',
'do',
'done',
'downcast',
'downto',
'elif',
'else',
'end',
'exception',
'eager',
'event',
'external',
'extern',
'false',
'finally',
'for',
'fun',
'function',
'fixed',
'functor',
'global',
'if',
'in',
'include',
'inherit',
'inline',
'interface',
'internal',
'land',
'lor',
'lsl',
'lsr',
'lxor',
'lazy',
'let',
'match',
'member',
'mod',
'module',
'mutable',
'namespace',
'method',
'mixin',
'new',
'not',
'null',
'of',
'open',
'or',
'object',
'override',
'private',
'parallel',
'process',
'protected',
'pure',
'public',
'rec',
'return',
'static',
'sealed',
'struct',
'sig',
'then',
'to',
'true',
'tailcall',
'trait',
'try',
'type',
'upcast',
'use',
'val',
'void',
'virtual',
'volatile',
'when',
'while',
'with',
'yield',
],
symbols: /[=><!~?:&|+\-*\^%;\.,\/]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
integersuffix: /[uU]?[yslnLI]?/,
floatsuffix: /[fFmM]?/,
tokenizer: {
root: [
[
/[a-zA-Z_]\w*/,
{
cases: {
'@keywords': { token: 'keyword.$0' },
'@default': 'identifier',
},
},
],
{ include: '@whitespace' },
[/\[<.*>\]/, 'annotation'],
[/^#(if|else|endif)/, 'keyword'],
[/[{}()\[\]]/, '@brackets'],
[/[<>](?!@symbols)/, '@brackets'],
[/@symbols/, 'delimiter'],
[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'],
[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'],
[/0x[0-9a-fA-F]+LF/, 'number.float'],
[/0x[0-9a-fA-F]+(@integersuffix)/, 'number.hex'],
[/0b[0-1]+(@integersuffix)/, 'number.bin'],
[/\d+(@integersuffix)/, 'number'],
[/[;,.]/, 'delimiter'],
[/"([^"\\]|\\.)*$/, 'string.invalid'],
[/"""/, 'string', '@string."""'],
[/"/, 'string', '@string."'],
[/\@"/, { token: 'string.quote', next: '@litstring' }],
[/'[^\\']'B?/, 'string'],
[/(')(@escapes)(')/, ['string', 'string.escape', 'string']],
[/'/, 'string.invalid'],
],
whitespace: [
[/[ \t\r\n]+/, ''],
[/\(\*(?!\))/, 'comment', '@comment'],
[/\/\/.*$/, 'comment'],
],
comment: [
[/[^*(]+/, 'comment'],
[/\*\)/, 'comment', '@pop'],
[/\*/, 'comment'],
[/\(\*\)/, 'comment'],
[/\(/, 'comment'],
],
string: [
[/[^\\"]+/, 'string'],
[/@escapes/, 'string.escape'],
[/\\./, 'string.escape.invalid'],
[
/("""|"B?)/,
{
cases: {
'$#==$S2': { token: 'string', next: '@pop' },
'@default': 'string',
},
},
],
],
litstring: [
[/[^"]+/, 'string'],
[/""/, 'string.escape'],
[/"/, { token: 'string.quote', next: '@pop' }],
],
},
};
},
},
]);