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

152 lines
4.0 KiB
JavaScript

(self.webpackChunkmermaid_live_editor =
self.webpackChunkmermaid_live_editor || []).push([
[8084],
{
98084: (e, o, n) => {
'use strict';
n.r(o), n.d(o, { conf: () => t, language: () => s });
var t = {
comments: { lineComment: '//', blockComment: ['(*', '*)'] },
brackets: [
['{', '}'],
['[', ']'],
['(', ')'],
['<', '>'],
],
autoClosingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '<', close: '>' },
{ open: "'", close: "'" },
],
surroundingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '<', close: '>' },
{ open: "'", close: "'" },
],
},
s = {
defaultToken: '',
tokenPostfix: '.pascaligo',
ignoreCase: !0,
brackets: [
{ open: '{', close: '}', token: 'delimiter.curly' },
{ open: '[', close: ']', token: 'delimiter.square' },
{ open: '(', close: ')', token: 'delimiter.parenthesis' },
{ open: '<', close: '>', token: 'delimiter.angle' },
],
keywords: [
'begin',
'block',
'case',
'const',
'else',
'end',
'fail',
'for',
'from',
'function',
'if',
'is',
'nil',
'of',
'remove',
'return',
'skip',
'then',
'type',
'var',
'while',
'with',
'option',
'None',
'transaction',
],
typeKeywords: [
'bool',
'int',
'list',
'map',
'nat',
'record',
'string',
'unit',
'address',
'map',
'mtz',
'xtz',
],
operators: [
'=',
'>',
'<',
'<=',
'>=',
'<>',
':',
':=',
'and',
'mod',
'or',
'+',
'-',
'*',
'/',
'@',
'&',
'^',
'%',
],
symbols: /[=><:@\^&|+\-*\/\^%]+/,
tokenizer: {
root: [
[
/[a-zA-Z_][\w]*/,
{
cases: {
'@keywords': { token: 'keyword.$0' },
'@default': 'identifier',
},
},
],
{ include: '@whitespace' },
[/[{}()\[\]]/, '@brackets'],
[/[<>](?!@symbols)/, '@brackets'],
[
/@symbols/,
{ cases: { '@operators': 'delimiter', '@default': '' } },
],
[/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'],
[/\$[0-9a-fA-F]{1,16}/, 'number.hex'],
[/\d+/, 'number'],
[/[;,.]/, 'delimiter'],
[/'([^'\\]|\\.)*$/, 'string.invalid'],
[/'/, 'string', '@string'],
[/'[^\\']'/, 'string'],
[/'/, 'string.invalid'],
[/\#\d+/, 'string'],
],
comment: [
[/[^\(\*]+/, 'comment'],
[/\*\)/, 'comment', '@pop'],
[/\(\*/, 'comment'],
],
string: [
[/[^\\']+/, 'string'],
[/\\./, 'string.escape.invalid'],
[/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }],
],
whitespace: [
[/[ \t\r\n]+/, 'white'],
[/\(\*/, 'comment', '@comment'],
[/\/\/.*$/, 'comment'],
],
},
};
},
},
]);