1 | (function (Prism) {
|
2 |
|
3 | var variable = /\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;
|
4 |
|
5 | Prism.languages.nginx = {
|
6 | 'comment': {
|
7 | pattern: /(^|[\s{};])#.*/,
|
8 | lookbehind: true,
|
9 | greedy: true
|
10 | },
|
11 | 'directive': {
|
12 | pattern: /(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,
|
13 | lookbehind: true,
|
14 | greedy: true,
|
15 | inside: {
|
16 | 'string': {
|
17 | pattern: /((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,
|
18 | lookbehind: true,
|
19 | greedy: true,
|
20 | inside: {
|
21 | 'escape': {
|
22 | pattern: /\\["'\\nrt]/,
|
23 | alias: 'entity'
|
24 | },
|
25 | 'variable': variable
|
26 | }
|
27 | },
|
28 | 'comment': {
|
29 | pattern: /(\s)#.*/,
|
30 | lookbehind: true,
|
31 | greedy: true
|
32 | },
|
33 | 'keyword': {
|
34 | pattern: /^\S+/,
|
35 | greedy: true
|
36 | },
|
37 |
|
38 |
|
39 |
|
40 | 'boolean': {
|
41 | pattern: /(\s)(?:off|on)(?!\S)/,
|
42 | lookbehind: true
|
43 | },
|
44 | 'number': {
|
45 | pattern: /(\s)\d+[a-z]*(?!\S)/i,
|
46 | lookbehind: true
|
47 | },
|
48 | 'variable': variable
|
49 | }
|
50 | },
|
51 | 'punctuation': /[{};]/
|
52 | };
|
53 |
|
54 | }(Prism));
|