114 lines
2.3 KiB
Java
114 lines
2.3 KiB
Java
|
(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+][^$]*)|=(?:[\S+][^$]*)|@[-#]*(?:\w+.)[\w+.]+)?)*)?\$/,
|
||
|
inside: {
|
||
|
'variable': {
|
||
|
pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,
|
||
|
inside: {
|
||
|
'punctuation': {
|
||
|
pattern: /[,.|]/
|
||
|
},
|
||
|
'operator': {
|
||
|
pattern: /#+|[-+*~=^@]/
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'punctuation': {
|
||
|
pattern: /\$\w:|[$:?.,|]/
|
||
|
}
|
||
|
},
|
||
|
alias: 'function'
|
||
|
},
|
||
|
'function-block': {
|
||
|
pattern: /\$XF:{[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-#]*(?:\w+.)[\w+.]+)?)*)?}: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));
|