1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
| module.exports = function(hljs) {
| var VAR = {
| className: 'variable',
| variants: [
| {begin: /\$\d+/},
| {begin: /\$\{/, end: /}/},
| {begin: '[\\$\\@]' + hljs.UNDERSCORE_IDENT_RE}
| ]
| };
| var DEFAULT = {
| endsWithParent: true,
| lexemes: '[a-z/_]+',
| keywords: {
| literal:
| 'on off yes no true false none blocked debug info notice warn error crit ' +
| 'select break last permanent redirect kqueue rtsig epoll poll /dev/poll'
| },
| relevance: 0,
| illegal: '=>',
| contains: [
| hljs.HASH_COMMENT_MODE,
| {
| className: 'string',
| contains: [hljs.BACKSLASH_ESCAPE, VAR],
| variants: [
| {begin: /"/, end: /"/},
| {begin: /'/, end: /'/}
| ]
| },
| // this swallows entire URLs to avoid detecting numbers within
| {
| begin: '([a-z]+):/', end: '\\s', endsWithParent: true, excludeEnd: true,
| contains: [VAR]
| },
| {
| className: 'regexp',
| contains: [hljs.BACKSLASH_ESCAPE, VAR],
| variants: [
| {begin: "\\s\\^", end: "\\s|{|;", returnEnd: true},
| // regexp locations (~, ~*)
| {begin: "~\\*?\\s+", end: "\\s|{|;", returnEnd: true},
| // *.example.com
| {begin: "\\*(\\.[a-z\\-]+)+"},
| // sub.example.*
| {begin: "([a-z\\-]+\\.)+\\*"}
| ]
| },
| // IP
| {
| className: 'number',
| begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b'
| },
| // units
| {
| className: 'number',
| begin: '\\b\\d+[kKmMgGdshdwy]*\\b',
| relevance: 0
| },
| VAR
| ]
| };
|
| return {
| aliases: ['nginxconf'],
| contains: [
| hljs.HASH_COMMENT_MODE,
| {
| begin: hljs.UNDERSCORE_IDENT_RE + '\\s+{', returnBegin: true,
| end: '{',
| contains: [
| {
| className: 'section',
| begin: hljs.UNDERSCORE_IDENT_RE
| }
| ],
| relevance: 0
| },
| {
| begin: hljs.UNDERSCORE_IDENT_RE + '\\s', end: ';|{', returnBegin: true,
| contains: [
| {
| className: 'attribute',
| begin: hljs.UNDERSCORE_IDENT_RE,
| starts: DEFAULT
| }
| ],
| relevance: 0
| }
| ],
| illegal: '[^\\s\\}]'
| };
| };
|
|