[d24f17c] | 1 | 'use strict'
|
---|
| 2 |
|
---|
| 3 | module.exports = xeora
|
---|
| 4 | xeora.displayName = 'xeora'
|
---|
| 5 | xeora.aliases = ['xeoracube']
|
---|
| 6 | function xeora(Prism) {
|
---|
| 7 | ;(function (Prism) {
|
---|
| 8 | Prism.languages.xeora = Prism.languages.extend('markup', {
|
---|
| 9 | constant: {
|
---|
| 10 | pattern: /\$(?:DomainContents|PageRenderDuration)\$/,
|
---|
| 11 | inside: {
|
---|
| 12 | punctuation: {
|
---|
| 13 | pattern: /\$/
|
---|
| 14 | }
|
---|
| 15 | }
|
---|
| 16 | },
|
---|
| 17 | variable: {
|
---|
| 18 | pattern: /\$@?(?:#+|[-+*~=^])?[\w.]+\$/,
|
---|
| 19 | inside: {
|
---|
| 20 | punctuation: {
|
---|
| 21 | pattern: /[$.]/
|
---|
| 22 | },
|
---|
| 23 | operator: {
|
---|
| 24 | pattern: /#+|[-+*~=^@]/
|
---|
| 25 | }
|
---|
| 26 | }
|
---|
| 27 | },
|
---|
| 28 | 'function-inline': {
|
---|
| 29 | pattern:
|
---|
| 30 | /\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,
|
---|
| 31 | inside: {
|
---|
| 32 | variable: {
|
---|
| 33 | pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,
|
---|
| 34 | inside: {
|
---|
| 35 | punctuation: {
|
---|
| 36 | pattern: /[,.|]/
|
---|
| 37 | },
|
---|
| 38 | operator: {
|
---|
| 39 | pattern: /#+|[-+*~=^@]/
|
---|
| 40 | }
|
---|
| 41 | }
|
---|
| 42 | },
|
---|
| 43 | punctuation: {
|
---|
| 44 | pattern: /\$\w:|[$:?.,|]/
|
---|
| 45 | }
|
---|
| 46 | },
|
---|
| 47 | alias: 'function'
|
---|
| 48 | },
|
---|
| 49 | 'function-block': {
|
---|
| 50 | pattern:
|
---|
| 51 | /\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,
|
---|
| 52 | inside: {
|
---|
| 53 | punctuation: {
|
---|
| 54 | pattern: /[$:{}?.,|]/
|
---|
| 55 | }
|
---|
| 56 | },
|
---|
| 57 | alias: 'function'
|
---|
| 58 | },
|
---|
| 59 | 'directive-inline': {
|
---|
| 60 | pattern: /\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,
|
---|
| 61 | inside: {
|
---|
| 62 | punctuation: {
|
---|
| 63 | pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
|
---|
| 64 | inside: {
|
---|
| 65 | tag: {
|
---|
| 66 | pattern: /#\d/
|
---|
| 67 | }
|
---|
| 68 | }
|
---|
| 69 | }
|
---|
| 70 | },
|
---|
| 71 | alias: 'function'
|
---|
| 72 | },
|
---|
| 73 | 'directive-block-open': {
|
---|
| 74 | pattern:
|
---|
| 75 | /\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,
|
---|
| 76 | inside: {
|
---|
| 77 | punctuation: {
|
---|
| 78 | pattern: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,
|
---|
| 79 | inside: {
|
---|
| 80 | tag: {
|
---|
| 81 | pattern: /#\d/
|
---|
| 82 | }
|
---|
| 83 | }
|
---|
| 84 | },
|
---|
| 85 | attribute: {
|
---|
| 86 | pattern: /![A-Z]+$/,
|
---|
| 87 | inside: {
|
---|
| 88 | punctuation: {
|
---|
| 89 | pattern: /!/
|
---|
| 90 | }
|
---|
| 91 | },
|
---|
| 92 | alias: 'keyword'
|
---|
| 93 | }
|
---|
| 94 | },
|
---|
| 95 | alias: 'function'
|
---|
| 96 | },
|
---|
| 97 | 'directive-block-separator': {
|
---|
| 98 | pattern: /\}:[-\w.]+:\{/,
|
---|
| 99 | inside: {
|
---|
| 100 | punctuation: {
|
---|
| 101 | pattern: /[:{}]/
|
---|
| 102 | }
|
---|
| 103 | },
|
---|
| 104 | alias: 'function'
|
---|
| 105 | },
|
---|
| 106 | 'directive-block-close': {
|
---|
| 107 | pattern: /\}:[-\w.]+\$/,
|
---|
| 108 | inside: {
|
---|
| 109 | punctuation: {
|
---|
| 110 | pattern: /[:{}$]/
|
---|
| 111 | }
|
---|
| 112 | },
|
---|
| 113 | alias: 'function'
|
---|
| 114 | }
|
---|
| 115 | })
|
---|
| 116 | Prism.languages.insertBefore(
|
---|
| 117 | 'inside',
|
---|
| 118 | 'punctuation',
|
---|
| 119 | {
|
---|
| 120 | variable: Prism.languages.xeora['function-inline'].inside['variable']
|
---|
| 121 | },
|
---|
| 122 | Prism.languages.xeora['function-block']
|
---|
| 123 | )
|
---|
| 124 | Prism.languages.xeoracube = Prism.languages.xeora
|
---|
| 125 | })(Prism)
|
---|
| 126 | }
|
---|