summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-sml.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-sml.min.js')
-rw-r--r--public/prism/prism-sml.min.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/public/prism/prism-sml.min.js b/public/prism/prism-sml.min.js
new file mode 100644
index 0000000..16ab612
--- /dev/null
+++ b/public/prism/prism-sml.min.js
@@ -0,0 +1,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);