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

290 lines
8.8 KiB
JavaScript

(self.webpackChunkmermaid_live_editor =
self.webpackChunkmermaid_live_editor || []).push([
[2571],
{
2571: (e, t, n) => {
'use strict';
n.r(t), n.d(t, { conf: () => o, language: () => d });
var i = n(89587),
r = [
'area',
'base',
'br',
'col',
'embed',
'hr',
'img',
'input',
'keygen',
'link',
'menuitem',
'meta',
'param',
'source',
'track',
'wbr',
],
o = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: { blockComment: ['\x3c!--', '--\x3e'] },
brackets: [
['\x3c!--', '--\x3e'],
['<', '>'],
['{', '}'],
['(', ')'],
],
autoClosingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
],
surroundingPairs: [
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '<', close: '>' },
],
onEnterRules: [
{
beforeText: new RegExp(
'<(?!(?:' +
r.join('|') +
'))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$',
'i'
),
afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
action: { indentAction: i.Mj.IndentAction.IndentOutdent },
},
{
beforeText: new RegExp(
'<(?!(?:' +
r.join('|') +
'))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$',
'i'
),
action: { indentAction: i.Mj.IndentAction.Indent },
},
],
folding: {
markers: {
start: new RegExp('^\\s*\x3c!--\\s*#region\\b.*--\x3e'),
end: new RegExp('^\\s*\x3c!--\\s*#endregion\\b.*--\x3e'),
},
},
},
d = {
defaultToken: '',
tokenPostfix: '.html',
ignoreCase: !0,
tokenizer: {
root: [
[/<!DOCTYPE/, 'metatag', '@doctype'],
[/<!--/, 'comment', '@comment'],
[
/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,
['delimiter', 'tag', '', 'delimiter'],
],
[/(<)(script)/, ['delimiter', { token: 'tag', next: '@script' }]],
[/(<)(style)/, ['delimiter', { token: 'tag', next: '@style' }]],
[
/(<)((?:[\w\-]+:)?[\w\-]+)/,
['delimiter', { token: 'tag', next: '@otherTag' }],
],
[
/(<\/)((?:[\w\-]+:)?[\w\-]+)/,
['delimiter', { token: 'tag', next: '@otherTag' }],
],
[/</, 'delimiter'],
[/[^<]+/],
],
doctype: [
[/[^>]+/, 'metatag.content'],
[/>/, 'metatag', '@pop'],
],
comment: [
[/-->/, 'comment', '@pop'],
[/[^-]+/, 'comment.content'],
[/./, 'comment.content'],
],
otherTag: [
[/\/?>/, 'delimiter', '@pop'],
[/"([^"]*)"/, 'attribute.value'],
[/'([^']*)'/, 'attribute.value'],
[/[\w\-]+/, 'attribute.name'],
[/=/, 'delimiter'],
[/[ \t\r\n]+/],
],
script: [
[/type/, 'attribute.name', '@scriptAfterType'],
[/"([^"]*)"/, 'attribute.value'],
[/'([^']*)'/, 'attribute.value'],
[/[\w\-]+/, 'attribute.name'],
[/=/, 'delimiter'],
[
/>/,
{
token: 'delimiter',
next: '@scriptEmbedded',
nextEmbedded: 'text/javascript',
},
],
[/[ \t\r\n]+/],
[
/(<\/)(script\s*)(>)/,
['delimiter', 'tag', { token: 'delimiter', next: '@pop' }],
],
],
scriptAfterType: [
[/=/, 'delimiter', '@scriptAfterTypeEquals'],
[
/>/,
{
token: 'delimiter',
next: '@scriptEmbedded',
nextEmbedded: 'text/javascript',
},
],
[/[ \t\r\n]+/],
[/<\/script\s*>/, { token: '@rematch', next: '@pop' }],
],
scriptAfterTypeEquals: [
[
/"([^"]*)"/,
{
token: 'attribute.value',
switchTo: '@scriptWithCustomType.$1',
},
],
[
/'([^']*)'/,
{
token: 'attribute.value',
switchTo: '@scriptWithCustomType.$1',
},
],
[
/>/,
{
token: 'delimiter',
next: '@scriptEmbedded',
nextEmbedded: 'text/javascript',
},
],
[/[ \t\r\n]+/],
[/<\/script\s*>/, { token: '@rematch', next: '@pop' }],
],
scriptWithCustomType: [
[
/>/,
{
token: 'delimiter',
next: '@scriptEmbedded.$S2',
nextEmbedded: '$S2',
},
],
[/"([^"]*)"/, 'attribute.value'],
[/'([^']*)'/, 'attribute.value'],
[/[\w\-]+/, 'attribute.name'],
[/=/, 'delimiter'],
[/[ \t\r\n]+/],
[/<\/script\s*>/, { token: '@rematch', next: '@pop' }],
],
scriptEmbedded: [
[
/<\/script/,
{ token: '@rematch', next: '@pop', nextEmbedded: '@pop' },
],
[/[^<]+/, ''],
],
style: [
[/type/, 'attribute.name', '@styleAfterType'],
[/"([^"]*)"/, 'attribute.value'],
[/'([^']*)'/, 'attribute.value'],
[/[\w\-]+/, 'attribute.name'],
[/=/, 'delimiter'],
[
/>/,
{
token: 'delimiter',
next: '@styleEmbedded',
nextEmbedded: 'text/css',
},
],
[/[ \t\r\n]+/],
[
/(<\/)(style\s*)(>)/,
['delimiter', 'tag', { token: 'delimiter', next: '@pop' }],
],
],
styleAfterType: [
[/=/, 'delimiter', '@styleAfterTypeEquals'],
[
/>/,
{
token: 'delimiter',
next: '@styleEmbedded',
nextEmbedded: 'text/css',
},
],
[/[ \t\r\n]+/],
[/<\/style\s*>/, { token: '@rematch', next: '@pop' }],
],
styleAfterTypeEquals: [
[
/"([^"]*)"/,
{
token: 'attribute.value',
switchTo: '@styleWithCustomType.$1',
},
],
[
/'([^']*)'/,
{
token: 'attribute.value',
switchTo: '@styleWithCustomType.$1',
},
],
[
/>/,
{
token: 'delimiter',
next: '@styleEmbedded',
nextEmbedded: 'text/css',
},
],
[/[ \t\r\n]+/],
[/<\/style\s*>/, { token: '@rematch', next: '@pop' }],
],
styleWithCustomType: [
[
/>/,
{
token: 'delimiter',
next: '@styleEmbedded.$S2',
nextEmbedded: '$S2',
},
],
[/"([^"]*)"/, 'attribute.value'],
[/'([^']*)'/, 'attribute.value'],
[/[\w\-]+/, 'attribute.name'],
[/=/, 'delimiter'],
[/[ \t\r\n]+/],
[/<\/style\s*>/, { token: '@rematch', next: '@pop' }],
],
styleEmbedded: [
[
/<\/style/,
{ token: '@rematch', next: '@pop', nextEmbedded: '@pop' },
],
[/[^<]+/, ''],
],
},
};
},
},
]);