source: node_modules/refractor/lang/xeora.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 3.3 KB
RevLine 
[d24f17c]1'use strict'
2
3module.exports = xeora
4xeora.displayName = 'xeora'
5xeora.aliases = ['xeoracube']
6function 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}
Note: See TracBrowser for help on using the repository browser.