Files
mermaid-live-editor/docs/4912.4912.js
T
2021-05-04 12:24:20 +00:00

168 lines
4.8 KiB
JavaScript

(self.webpackChunkmermaid_live_editor =
self.webpackChunkmermaid_live_editor || []).push([
[4912],
{
64912: (e, t, i) => {
'use strict';
i.r(t), i.d(t, { conf: () => o, language: () => n });
var o = {
comments: { lineComment: 'COMMENT' },
brackets: [['(', ')']],
autoClosingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"' },
{ open: ':', close: '.' },
],
surroundingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '`', close: '`' },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: ':', close: '.' },
],
folding: {
markers: {
start: new RegExp('^\\s*(::\\s*|COMMENT\\s+)#region'),
end: new RegExp('^\\s*(::\\s*|COMMENT\\s+)#endregion'),
},
},
},
n = {
tokenPostfix: '.lexon',
ignoreCase: !0,
keywords: [
'lexon',
'lex',
'clause',
'terms',
'contracts',
'may',
'pay',
'pays',
'appoints',
'into',
'to',
],
typeKeywords: [
'amount',
'person',
'key',
'time',
'date',
'asset',
'text',
],
operators: [
'less',
'greater',
'equal',
'le',
'gt',
'or',
'and',
'add',
'added',
'subtract',
'subtracted',
'multiply',
'multiplied',
'times',
'divide',
'divided',
'is',
'be',
'certified',
],
symbols: /[=><!~?:&|+\-*\/\^%]+/,
tokenizer: {
root: [
[/^(\s*)(comment:?(?:\s.*|))$/, ['', 'comment']],
[
/"/,
{
token: 'identifier.quote',
bracket: '@open',
next: '@quoted_identifier',
},
],
[
'LEX$',
{
token: 'keyword',
bracket: '@open',
next: '@identifier_until_period',
},
],
[
'LEXON',
{ token: 'keyword', bracket: '@open', next: '@semver' },
],
[
':',
{
token: 'delimiter',
bracket: '@open',
next: '@identifier_until_period',
},
],
[
/[a-z_$][\w$]*/,
{
cases: {
'@operators': 'operator',
'@typeKeywords': 'keyword.type',
'@keywords': 'keyword',
'@default': 'identifier',
},
},
],
{ include: '@whitespace' },
[/[{}()\[\]]/, '@brackets'],
[/[<>](?!@symbols)/, '@brackets'],
[/@symbols/, 'delimiter'],
[/\d*\.\d*\.\d*/, 'number.semver'],
[/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'],
[/0[xX][0-9a-fA-F]+/, 'number.hex'],
[/\d+/, 'number'],
[/[;,.]/, 'delimiter'],
],
quoted_identifier: [
[/[^\\"]+/, 'identifier'],
[
/"/,
{ token: 'identifier.quote', bracket: '@close', next: '@pop' },
],
],
space_identifier_until_period: [
[':', 'delimiter'],
[' ', { token: 'white', next: '@identifier_rest' }],
],
identifier_until_period: [
{ include: '@whitespace' },
[':', { token: 'delimiter', next: '@identifier_rest' }],
[/[^\\.]+/, 'identifier'],
[/\./, { token: 'delimiter', bracket: '@close', next: '@pop' }],
],
identifier_rest: [
[/[^\\.]+/, 'identifier'],
[/\./, { token: 'delimiter', bracket: '@close', next: '@pop' }],
],
semver: [
{ include: '@whitespace' },
[':', 'delimiter'],
[
/\d*\.\d*\.\d*/,
{ token: 'number.semver', bracket: '@close', next: '@pop' },
],
],
whitespace: [[/[ \t\r\n]+/, 'white']],
},
};
},
},
]);