summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-xeora.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-xeora.js
parentab355897a12b7bda1089a44de326d41455a0f7a3 (diff)
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-xeora.js')
-rw-r--r--public/prism/prism-xeora.js121
1 files changed, 121 insertions, 0 deletions
diff --git a/public/prism/prism-xeora.js b/public/prism/prism-xeora.js
new file mode 100644
index 0000000..2022e09
--- /dev/null
+++ b/public/prism/prism-xeora.js
@@ -0,0 +1,121 @@
+(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);