(function (Prism) {
Prism.languages.xeora = Prism.languages.extend('markup', {
constant: {
pattern: /\$(?:DomainContents|PageRenderDuration)\$/,
inside: {
punctuation: {
pattern: /\$/,
},
},
},
variable: {
pattern: /\$@?(?:#+|[-+*~=^])?[\w.]+\$/,
inside: {
punctuation: {
pattern: /[$.]/,
},
operator: {
pattern: /#+|[-+*~=^@]/,
},
},
},
'function-inline': {
pattern:
/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,
inside: {
variable: {
pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,
inside: {
punctuation: {
pattern: /[,.|]/,
},
operator: {
pattern: /#+|[-+*~=^@]/,
},
},
},
punctuation: {
pattern: /\$\w:|[$:?.,|]/,
},
},
alias: 'function',
},
'function-block': {
pattern:
/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,
inside: {
punctuation: {
pattern: /[$:{}?.,|]/,
},
},
alias: 'function',
},
'directive-inline': {
pattern: /\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,
inside: {
punctuation: {
pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
inside: {
tag: {
pattern: /#\d/,
},
},
},
},
alias: 'function',
},
'directive-block-open': {
pattern:
/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,
inside: {
punctuation: {
pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
inside: {
tag: {
pattern: /#\d/,
},
},
},
attribute: {
pattern: /![A-Z]+$/,
inside: {
punctuation: {
pattern: /!/,
},
},
alias: 'keyword',
},
},
alias: 'function',
},
'directive-block-separator': {
pattern: /\}:[-\w.]+:\{/,
inside: {
punctuation: {
pattern: /[:{}]/,
},
},
alias: 'function',
},
'directive-block-close': {
pattern: /\}:[-\w.]+\$/,
inside: {
punctuation: {
pattern: /[:{}$]/,
},
},
alias: 'function',
},
});
Prism.languages.insertBefore(
'inside',
'punctuation',
{
variable: Prism.languages.xeora['function-inline'].inside['variable'],
},
Prism.languages.xeora['function-block']
);
Prism.languages.xeoracube = Prism.languages.xeora;
})(Prism);
lic/prism/prism-sml.min.js?h=v1.1.0&id=9004b22d7fb53f9dc98e65e4f450589b5d78cbd5'>prism-sml.min.js
blob: 16ab61268db42466331ba2bae8b7a88e718b6a52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
!(function (e) {
var n =
/\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;
(e.languages.sml = {
comment:
/\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,
string: { pattern: /#?"(?:[^"\\]|\\.)*"/, greedy: !0 },
'class-name': [
{
pattern: RegExp(
'((?:^|[^:]):\\s*)<TERMINAL>(?:\\s*(?:(?:\\*|->)\\s*<TERMINAL>|,\\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\\s+<LONG-ID>)))*'
.replace(/<NOT-LAST>/g, function () {
return '\\s*(?:[*,]|->)';
})
.replace(/<TERMINAL>/g, function () {
return "(?:'[\\w']*|<LONG-ID>|\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+<LONG-ID>)*";
})
.replace(/<LONG-ID>/g, function () {
return "(?!<KEYWORD>)[a-z\\d_][\\w'.]*";
})
.replace(/<KEYWORD>/g, function () {
return n.source;
}),
'i'
),
lookbehind: !0,
greedy: !0,
inside: null,
},
{
pattern:
/((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,
lookbehind: !0,
},
],
function: { pattern: /((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i, lookbehind: !0 },
keyword: n,
variable: { pattern: /(^|[^\w'])'[\w']*/, lookbehind: !0 },
number: /~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,
word: { pattern: /\b0w(?:\d+|x[\da-f]+)\b/i, alias: 'constant' },
boolean: /\b(?:false|true)\b/i,
operator: /\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,
punctuation: /[(){}\[\].:,;]/,
}),
(e.languages.sml['class-name'][0].inside = e.languages.sml),
(e.languages.smlnj = e.languages.sml);
})(Prism);
|