UNPKG

1.1 kBJavaScriptView Raw
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 // other patterns
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));