summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-wolfram.js
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2021-12-30 19:47:21 +0100
committerArmand Philippot <git@armandphilippot.com>2021-12-30 19:47:21 +0100
commita98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 (patch)
tree542810ab5aef99150db228bb54fd58303dcb31c7 /public/prism/prism-wolfram.js
parentab355897a12b7bda1089a44de326d41455a0f7a3 (diff)
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-wolfram.js')
-rw-r--r--public/prism/prism-wolfram.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/public/prism/prism-wolfram.js b/public/prism/prism-wolfram.js
new file mode 100644
index 0000000..4b895fd
--- /dev/null
+++ b/public/prism/prism-wolfram.js
@@ -0,0 +1,32 @@
+Prism.languages.wolfram = {
+ // Allow one level of nesting - note: regex taken from applescipt
+ comment: /\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,
+ string: {
+ pattern: /"(?:\\.|[^"\\\r\n])*"/,
+ greedy: true,
+ },
+ keyword:
+ /\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,
+ context: {
+ pattern: /\b\w+`+\w*/,
+ alias: 'class-name',
+ },
+ blank: {
+ pattern: /\b\w+_\b/,
+ alias: 'regex',
+ },
+ 'global-variable': {
+ pattern: /\$\w+/,
+ alias: 'variable',
+ },
+ boolean: /\b(?:False|True)\b/,
+ number:
+ /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,
+ operator:
+ /\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
+ punctuation: /[{}[\];(),.:]/,
+};
+
+Prism.languages.mathematica = Prism.languages.wolfram;
+Prism.languages.wl = Prism.languages.wolfram;
+Prism.languages.nb = Prism.languages.wolfram;