tm-grammars 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +6565 -0
  3. package/README.md +211 -0
  4. package/grammars/abap.json +380 -0
  5. package/grammars/actionscript-3.json +951 -0
  6. package/grammars/ada.json +3874 -0
  7. package/grammars/apache.json +562 -0
  8. package/grammars/apex.json +3203 -0
  9. package/grammars/apl.json +1479 -0
  10. package/grammars/applescript.json +1406 -0
  11. package/grammars/ara.json +428 -0
  12. package/grammars/asm.json +1741 -0
  13. package/grammars/astro.json +776 -0
  14. package/grammars/awk.json +388 -0
  15. package/grammars/ballerina.json +3768 -0
  16. package/grammars/bat.json +783 -0
  17. package/grammars/beancount.json +831 -0
  18. package/grammars/berry.json +172 -0
  19. package/grammars/bibtex.json +315 -0
  20. package/grammars/bicep.json +239 -0
  21. package/grammars/blade.json +3870 -0
  22. package/grammars/c.json +3552 -0
  23. package/grammars/cadence.json +738 -0
  24. package/grammars/clarity.json +877 -0
  25. package/grammars/clojure.json +426 -0
  26. package/grammars/cmake.json +143 -0
  27. package/grammars/cobol.json +1124 -0
  28. package/grammars/codeql.json +1540 -0
  29. package/grammars/coffee.json +1311 -0
  30. package/grammars/cpp-macro.json +9498 -0
  31. package/grammars/cpp.json +16635 -0
  32. package/grammars/crystal.json +1866 -0
  33. package/grammars/csharp.json +5722 -0
  34. package/grammars/css.json +1860 -0
  35. package/grammars/csv.json +46 -0
  36. package/grammars/cue.json +1128 -0
  37. package/grammars/cypher.json +353 -0
  38. package/grammars/d.json +3185 -0
  39. package/grammars/dart.json +522 -0
  40. package/grammars/dax.json +185 -0
  41. package/grammars/diff.json +155 -0
  42. package/grammars/docker.json +97 -0
  43. package/grammars/dream-maker.json +640 -0
  44. package/grammars/elixir.json +1014 -0
  45. package/grammars/elm.json +751 -0
  46. package/grammars/erb.json +156 -0
  47. package/grammars/erlang.json +1757 -0
  48. package/grammars/fish.json +189 -0
  49. package/grammars/fsharp.json +1831 -0
  50. package/grammars/gdresource.json +290 -0
  51. package/grammars/gdscript.json +969 -0
  52. package/grammars/gdshader.json +405 -0
  53. package/grammars/gherkin.json +133 -0
  54. package/grammars/git-commit.json +85 -0
  55. package/grammars/git-rebase.json +56 -0
  56. package/grammars/glimmer-js.json +98 -0
  57. package/grammars/glimmer-ts.json +98 -0
  58. package/grammars/glsl.json +57 -0
  59. package/grammars/gnuplot.json +892 -0
  60. package/grammars/go.json +1012 -0
  61. package/grammars/graphql.json +1295 -0
  62. package/grammars/groovy.json +1378 -0
  63. package/grammars/hack.json +2650 -0
  64. package/grammars/haml.json +598 -0
  65. package/grammars/handlebars.json +848 -0
  66. package/grammars/haskell.json +2431 -0
  67. package/grammars/hcl.json +787 -0
  68. package/grammars/hjson.json +821 -0
  69. package/grammars/hlsl.json +212 -0
  70. package/grammars/html.json +93 -0
  71. package/grammars/imba.json +2696 -0
  72. package/grammars/ini.json +108 -0
  73. package/grammars/java.json +1885 -0
  74. package/grammars/javascript.json +5984 -0
  75. package/grammars/jinja-html.json +16 -0
  76. package/grammars/jinja.json +345 -0
  77. package/grammars/jison.json +715 -0
  78. package/grammars/jsdoc.json +21 -0
  79. package/grammars/json.json +208 -0
  80. package/grammars/json5.json +244 -0
  81. package/grammars/jsonc.json +208 -0
  82. package/grammars/jsonl.json +208 -0
  83. package/grammars/jsonnet.json +211 -0
  84. package/grammars/jssm.json +159 -0
  85. package/grammars/jsx.json +5984 -0
  86. package/grammars/julia.json +1061 -0
  87. package/grammars/kotlin.json +580 -0
  88. package/grammars/kusto.json +687 -0
  89. package/grammars/latex.json +2395 -0
  90. package/grammars/less.json +5012 -0
  91. package/grammars/liquid.json +990 -0
  92. package/grammars/lisp.json +121 -0
  93. package/grammars/logo.json +55 -0
  94. package/grammars/lua.json +956 -0
  95. package/grammars/make.json +629 -0
  96. package/grammars/markdown.json +3066 -0
  97. package/grammars/marko.json +1344 -0
  98. package/grammars/matlab.json +1131 -0
  99. package/grammars/mdc.json +571 -0
  100. package/grammars/mdx.json +5629 -0
  101. package/grammars/mermaid.json +1382 -0
  102. package/grammars/mojo.json +4153 -0
  103. package/grammars/narrat.json +227 -0
  104. package/grammars/nextflow.json +298 -0
  105. package/grammars/nginx.json +2121 -0
  106. package/grammars/nim.json +1522 -0
  107. package/grammars/nix.json +1200 -0
  108. package/grammars/nushell.json +1047 -0
  109. package/grammars/objective-c.json +3750 -0
  110. package/grammars/objective-cpp.json +7242 -0
  111. package/grammars/ocaml.json +2967 -0
  112. package/grammars/pascal.json +154 -0
  113. package/grammars/perl.json +2971 -0
  114. package/grammars/php.json +4024 -0
  115. package/grammars/plsql.json +241 -0
  116. package/grammars/postcss.json +377 -0
  117. package/grammars/powerquery.json +349 -0
  118. package/grammars/powershell.json +1024 -0
  119. package/grammars/prisma.json +443 -0
  120. package/grammars/prolog.json +298 -0
  121. package/grammars/proto.json +507 -0
  122. package/grammars/pug.json +1033 -0
  123. package/grammars/puppet.json +777 -0
  124. package/grammars/purescript.json +871 -0
  125. package/grammars/python.json +4208 -0
  126. package/grammars/r.json +637 -0
  127. package/grammars/raku.json +310 -0
  128. package/grammars/razor.json +1813 -0
  129. package/grammars/reg.json +136 -0
  130. package/grammars/rel.json +200 -0
  131. package/grammars/riscv.json +298 -0
  132. package/grammars/rst.json +734 -0
  133. package/grammars/ruby.json +2769 -0
  134. package/grammars/rust.json +1171 -0
  135. package/grammars/sas.json +302 -0
  136. package/grammars/sass.json +618 -0
  137. package/grammars/scala.json +1313 -0
  138. package/grammars/scheme.json +384 -0
  139. package/grammars/scss.json +1874 -0
  140. package/grammars/shaderlab.json +199 -0
  141. package/grammars/shellscript.json +2025 -0
  142. package/grammars/shellsession.json +33 -0
  143. package/grammars/smalltalk.json +235 -0
  144. package/grammars/solidity.json +1210 -0
  145. package/grammars/sparql.json +45 -0
  146. package/grammars/splunk.json +91 -0
  147. package/grammars/sql.json +631 -0
  148. package/grammars/ssh-config.json +88 -0
  149. package/grammars/stata.json +3050 -0
  150. package/grammars/stylus.json +1208 -0
  151. package/grammars/svelte.json +1171 -0
  152. package/grammars/swift.json +4203 -0
  153. package/grammars/system-verilog.json +1063 -0
  154. package/grammars/tasl.json +292 -0
  155. package/grammars/tcl.json +291 -0
  156. package/grammars/tex.json +281 -0
  157. package/grammars/toml.json +431 -0
  158. package/grammars/tsx.json +5984 -0
  159. package/grammars/turtle.json +261 -0
  160. package/grammars/twig.json +1394 -0
  161. package/grammars/typescript.json +5735 -0
  162. package/grammars/v.json +1001 -0
  163. package/grammars/vb.json +232 -0
  164. package/grammars/verilog.json +305 -0
  165. package/grammars/vhdl.json +1484 -0
  166. package/grammars/viml.json +445 -0
  167. package/grammars/vue-html.json +559 -0
  168. package/grammars/vue.json +1237 -0
  169. package/grammars/vyper.json +5415 -0
  170. package/grammars/wasm.json +831 -0
  171. package/grammars/wenyan.json +129 -0
  172. package/grammars/wgsl.json +391 -0
  173. package/grammars/wolfram.json +2370 -0
  174. package/grammars/xml.json +382 -0
  175. package/grammars/xsl.json +89 -0
  176. package/grammars/yaml.json +616 -0
  177. package/grammars/zenscript.json +257 -0
  178. package/grammars/zig.json +312 -0
  179. package/index.d.ts +18 -0
  180. package/index.js +2165 -0
  181. package/package.json +46 -0
@@ -0,0 +1,2121 @@
1
+ {
2
+ "displayName": "Nginx",
3
+ "fileTypes": [
4
+ "conf.erb",
5
+ "conf",
6
+ "ngx",
7
+ "nginx.conf",
8
+ "mime.types",
9
+ "fastcgi_params",
10
+ "scgi_params",
11
+ "uwsgi_params"
12
+ ],
13
+ "foldingStartMarker": "\\{\\s*$",
14
+ "foldingStopMarker": "^\\s*\\}",
15
+ "name": "nginx",
16
+ "patterns": [
17
+ {
18
+ "match": "\\#.*",
19
+ "name": "comment.line.number-sign"
20
+ },
21
+ {
22
+ "begin": "\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\\s*\\{",
23
+ "beginCaptures": {
24
+ "1": {
25
+ "name": "storage.type.directive.context.nginx"
26
+ }
27
+ },
28
+ "contentName": "meta.embedded.block.lua",
29
+ "end": "\\}",
30
+ "name": "meta.context.lua.nginx",
31
+ "patterns": [
32
+ {
33
+ "include": "source.lua"
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "begin": "\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\\s*'",
39
+ "beginCaptures": {
40
+ "1": {
41
+ "name": "storage.type.directive.context.nginx"
42
+ }
43
+ },
44
+ "contentName": "meta.embedded.block.lua",
45
+ "end": "'",
46
+ "name": "meta.context.lua.nginx",
47
+ "patterns": [
48
+ {
49
+ "include": "source.lua"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "begin": "\\b(events) +\\{",
55
+ "beginCaptures": {
56
+ "1": {
57
+ "name": "storage.type.directive.context.nginx"
58
+ }
59
+ },
60
+ "end": "\\}",
61
+ "name": "meta.context.events.nginx",
62
+ "patterns": [
63
+ {
64
+ "include": "$self"
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "begin": "\\b(http) +\\{",
70
+ "beginCaptures": {
71
+ "1": {
72
+ "name": "storage.type.directive.context.nginx"
73
+ }
74
+ },
75
+ "end": "\\}",
76
+ "name": "meta.context.http.nginx",
77
+ "patterns": [
78
+ {
79
+ "include": "$self"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "begin": "\\b(mail) +\\{",
85
+ "beginCaptures": {
86
+ "1": {
87
+ "name": "storage.type.directive.context.nginx"
88
+ }
89
+ },
90
+ "end": "\\}",
91
+ "name": "meta.context.mail.nginx",
92
+ "patterns": [
93
+ {
94
+ "include": "$self"
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ "begin": "\\b(stream) +\\{",
100
+ "beginCaptures": {
101
+ "1": {
102
+ "name": "storage.type.directive.context.nginx"
103
+ }
104
+ },
105
+ "end": "\\}",
106
+ "name": "meta.context.stream.nginx",
107
+ "patterns": [
108
+ {
109
+ "include": "$self"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "begin": "\\b(server) +\\{",
115
+ "beginCaptures": {
116
+ "1": {
117
+ "name": "storage.type.directive.context.nginx"
118
+ }
119
+ },
120
+ "end": "\\}",
121
+ "name": "meta.context.server.nginx",
122
+ "patterns": [
123
+ {
124
+ "include": "$self"
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "begin": "\\b(location) +([\\^]?~[\\*]?|=) +(.*?)\\{",
130
+ "beginCaptures": {
131
+ "1": {
132
+ "name": "storage.type.directive.context.nginx"
133
+ },
134
+ "2": {
135
+ "name": "keyword.operator.nginx"
136
+ },
137
+ "3": {
138
+ "name": "string.regexp.nginx"
139
+ }
140
+ },
141
+ "end": "\\}",
142
+ "name": "meta.context.location.nginx",
143
+ "patterns": [
144
+ {
145
+ "include": "$self"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "begin": "\\b(location) +(.*?)\\{",
151
+ "beginCaptures": {
152
+ "1": {
153
+ "name": "storage.type.directive.context.nginx"
154
+ },
155
+ "2": {
156
+ "name": "entity.name.context.location.nginx"
157
+ }
158
+ },
159
+ "end": "\\}",
160
+ "name": "meta.context.location.nginx",
161
+ "patterns": [
162
+ {
163
+ "include": "$self"
164
+ }
165
+ ]
166
+ },
167
+ {
168
+ "begin": "\\b(limit_except) +\\{",
169
+ "beginCaptures": {
170
+ "1": {
171
+ "name": "storage.type.directive.context.nginx"
172
+ }
173
+ },
174
+ "end": "\\}",
175
+ "name": "meta.context.limit_except.nginx",
176
+ "patterns": [
177
+ {
178
+ "include": "$self"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "begin": "\\b(if) +\\(",
184
+ "beginCaptures": {
185
+ "1": {
186
+ "name": "keyword.control.nginx"
187
+ }
188
+ },
189
+ "end": "\\)",
190
+ "name": "meta.context.if.nginx",
191
+ "patterns": [
192
+ {
193
+ "include": "#if_condition"
194
+ }
195
+ ]
196
+ },
197
+ {
198
+ "begin": "\\b(upstream) +(.*?)\\{",
199
+ "beginCaptures": {
200
+ "1": {
201
+ "name": "storage.type.directive.context.nginx"
202
+ },
203
+ "2": {
204
+ "name": "entity.name.context.location.nginx"
205
+ }
206
+ },
207
+ "end": "\\}",
208
+ "name": "meta.context.upstream.nginx",
209
+ "patterns": [
210
+ {
211
+ "include": "$self"
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "begin": "\\b(types) +\\{",
217
+ "beginCaptures": {
218
+ "1": {
219
+ "name": "storage.type.directive.context.nginx"
220
+ }
221
+ },
222
+ "end": "\\}",
223
+ "name": "meta.context.types.nginx",
224
+ "patterns": [
225
+ {
226
+ "include": "$self"
227
+ }
228
+ ]
229
+ },
230
+ {
231
+ "begin": "\\b(map) +(\\$)([A-Za-z0-9\\_]+) +(\\$)([A-Za-z0-9\\_]+) *\\{",
232
+ "beginCaptures": {
233
+ "1": {
234
+ "name": "storage.type.directive.context.nginx"
235
+ },
236
+ "2": {
237
+ "name": "punctuation.definition.variable.nginx"
238
+ },
239
+ "3": {
240
+ "name": "variable.parameter.nginx"
241
+ },
242
+ "4": {
243
+ "name": "punctuation.definition.variable.nginx"
244
+ },
245
+ "5": {
246
+ "name": "variable.other.nginx"
247
+ }
248
+ },
249
+ "end": "\\}",
250
+ "name": "meta.context.map.nginx",
251
+ "patterns": [
252
+ {
253
+ "include": "#values"
254
+ },
255
+ {
256
+ "match": ";",
257
+ "name": "punctuation.terminator.nginx"
258
+ },
259
+ {
260
+ "match": "\\#.*",
261
+ "name": "comment.line.number-sign"
262
+ }
263
+ ]
264
+ },
265
+ {
266
+ "begin": "\\{",
267
+ "end": "\\}",
268
+ "name": "meta.block.nginx",
269
+ "patterns": [
270
+ {
271
+ "include": "$self"
272
+ }
273
+ ]
274
+ },
275
+ {
276
+ "begin": "\\b(return)\\b",
277
+ "beginCaptures": {
278
+ "1": {
279
+ "name": "keyword.control.nginx"
280
+ }
281
+ },
282
+ "end": ";",
283
+ "patterns": [
284
+ {
285
+ "include": "#values"
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "begin": "\\b(rewrite)\\s+",
291
+ "beginCaptures": {
292
+ "1": {
293
+ "name": "keyword.directive.nginx"
294
+ }
295
+ },
296
+ "end": "(last|break|redirect|permanent)?(;)",
297
+ "endCaptures": {
298
+ "1": {
299
+ "name": "keyword.other.nginx"
300
+ },
301
+ "2": {
302
+ "name": "punctuation.terminator.nginx"
303
+ }
304
+ },
305
+ "patterns": [
306
+ {
307
+ "include": "#values"
308
+ }
309
+ ]
310
+ },
311
+ {
312
+ "begin": "\\b(server)\\s+",
313
+ "beginCaptures": {
314
+ "1": {
315
+ "name": "keyword.directive.nginx"
316
+ }
317
+ },
318
+ "end": ";",
319
+ "endCaptures": {
320
+ "1": {
321
+ "name": "punctuation.terminator.nginx"
322
+ }
323
+ },
324
+ "patterns": [
325
+ {
326
+ "include": "#server_parameters"
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "begin": "\\b(internal|empty_gif|f4f|flv|hls|mp4|break|status|stub_status|ip_hash|ntlm|least_conn|upstream_conf|least_conn|zone_sync)\\b",
332
+ "beginCaptures": {
333
+ "1": {
334
+ "name": "keyword.directive.nginx"
335
+ }
336
+ },
337
+ "end": "(;|$)",
338
+ "endCaptures": {
339
+ "1": {
340
+ "name": "punctuation.terminator.nginx"
341
+ }
342
+ }
343
+ },
344
+ {
345
+ "begin": "([\"'\\s]|^)(accept_)(mutex|mutex_delay)([\"'\\s]|$)",
346
+ "beginCaptures": {
347
+ "1": {
348
+ "name": "keyword.directive.nginx"
349
+ },
350
+ "2": {
351
+ "name": "keyword.directive.nginx"
352
+ },
353
+ "3": {
354
+ "name": "keyword.directive.nginx"
355
+ },
356
+ "4": {
357
+ "name": "keyword.directive.nginx"
358
+ }
359
+ },
360
+ "end": ";",
361
+ "endCaptures": {
362
+ "0": {
363
+ "name": "punctuation.terminator.nginx"
364
+ }
365
+ },
366
+ "patterns": [
367
+ {
368
+ "include": "#values"
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "begin": "([\"'\\s]|^)(debug_)(connection|points)([\"'\\s]|$)",
374
+ "beginCaptures": {
375
+ "1": {
376
+ "name": "keyword.directive.nginx"
377
+ },
378
+ "2": {
379
+ "name": "keyword.directive.nginx"
380
+ },
381
+ "3": {
382
+ "name": "keyword.directive.nginx"
383
+ },
384
+ "4": {
385
+ "name": "keyword.directive.nginx"
386
+ }
387
+ },
388
+ "end": ";",
389
+ "endCaptures": {
390
+ "0": {
391
+ "name": "punctuation.terminator.nginx"
392
+ }
393
+ },
394
+ "patterns": [
395
+ {
396
+ "include": "#values"
397
+ }
398
+ ]
399
+ },
400
+ {
401
+ "begin": "([\"'\\s]|^)(error_)(log|page)([\"'\\s]|$)",
402
+ "beginCaptures": {
403
+ "1": {
404
+ "name": "keyword.directive.nginx"
405
+ },
406
+ "2": {
407
+ "name": "keyword.directive.nginx"
408
+ },
409
+ "3": {
410
+ "name": "keyword.directive.nginx"
411
+ },
412
+ "4": {
413
+ "name": "keyword.directive.nginx"
414
+ }
415
+ },
416
+ "end": ";",
417
+ "endCaptures": {
418
+ "0": {
419
+ "name": "punctuation.terminator.nginx"
420
+ }
421
+ },
422
+ "patterns": [
423
+ {
424
+ "include": "#values"
425
+ }
426
+ ]
427
+ },
428
+ {
429
+ "begin": "([\"'\\s]|^)(ssl_)(engine|buffer_size|certificate|certificate_key|ciphers|client_certificate|conf_command|crl|dhparam|early_data|ecdh_curve|ocsp|ocsp_cache|ocsp_responder|password_file|prefer_server_ciphers|protocols|reject_handshake|session_cache|session_ticket_key|session_tickets|session_timeout|stapling|stapling_file|stapling_responder|stapling_verify|trusted_certificate|verify_client|verify_depth|alpn|handshake_timeout|preread)([\"'\\s]|$)",
430
+ "beginCaptures": {
431
+ "1": {
432
+ "name": "keyword.directive.nginx"
433
+ },
434
+ "2": {
435
+ "name": "keyword.directive.nginx"
436
+ },
437
+ "3": {
438
+ "name": "keyword.directive.nginx"
439
+ },
440
+ "4": {
441
+ "name": "keyword.directive.nginx"
442
+ }
443
+ },
444
+ "end": ";",
445
+ "endCaptures": {
446
+ "0": {
447
+ "name": "punctuation.terminator.nginx"
448
+ }
449
+ },
450
+ "patterns": [
451
+ {
452
+ "include": "#values"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "begin": "([\"'\\s]|^)(worker_)(aio_requests|connections|cpu_affinity|priority|processes|rlimit_core|rlimit_nofile|shutdown_timeout)([\"'\\s]|$)",
458
+ "beginCaptures": {
459
+ "1": {
460
+ "name": "keyword.directive.nginx"
461
+ },
462
+ "2": {
463
+ "name": "keyword.directive.nginx"
464
+ },
465
+ "3": {
466
+ "name": "keyword.directive.nginx"
467
+ },
468
+ "4": {
469
+ "name": "keyword.directive.nginx"
470
+ }
471
+ },
472
+ "end": ";",
473
+ "endCaptures": {
474
+ "0": {
475
+ "name": "punctuation.terminator.nginx"
476
+ }
477
+ },
478
+ "patterns": [
479
+ {
480
+ "include": "#values"
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ "begin": "([\"'\\s]|^)(auth_)(delay|basic|basic_user_file|jwt|jwt_claim_set|jwt_header_set|jwt_key_file|jwt_key_request|jwt_leeway|jwt_type|jwt_require|request|request_set|http|http_header|http_pass_client_cert|http_timeout)([\"'\\s]|$)",
486
+ "beginCaptures": {
487
+ "1": {
488
+ "name": "keyword.directive.nginx"
489
+ },
490
+ "2": {
491
+ "name": "keyword.directive.nginx"
492
+ },
493
+ "3": {
494
+ "name": "keyword.directive.nginx"
495
+ },
496
+ "4": {
497
+ "name": "keyword.directive.nginx"
498
+ }
499
+ },
500
+ "end": ";",
501
+ "endCaptures": {
502
+ "0": {
503
+ "name": "punctuation.terminator.nginx"
504
+ }
505
+ },
506
+ "patterns": [
507
+ {
508
+ "include": "#values"
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ "begin": "([\"'\\s]|^)(client_)(body_buffer_size|body_in_file_only|body_in_single_buffer|body_temp_path|body_timeout|header_buffer_size|header_timeout|max_body_size)([\"'\\s]|$)",
514
+ "beginCaptures": {
515
+ "1": {
516
+ "name": "keyword.directive.nginx"
517
+ },
518
+ "2": {
519
+ "name": "keyword.directive.nginx"
520
+ },
521
+ "3": {
522
+ "name": "keyword.directive.nginx"
523
+ },
524
+ "4": {
525
+ "name": "keyword.directive.nginx"
526
+ }
527
+ },
528
+ "end": ";",
529
+ "endCaptures": {
530
+ "0": {
531
+ "name": "punctuation.terminator.nginx"
532
+ }
533
+ },
534
+ "patterns": [
535
+ {
536
+ "include": "#values"
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "begin": "([\"'\\s]|^)(keepalive_)(disable|requests|time|timeout)([\"'\\s]|$)",
542
+ "beginCaptures": {
543
+ "1": {
544
+ "name": "keyword.directive.nginx"
545
+ },
546
+ "2": {
547
+ "name": "keyword.directive.nginx"
548
+ },
549
+ "3": {
550
+ "name": "keyword.directive.nginx"
551
+ },
552
+ "4": {
553
+ "name": "keyword.directive.nginx"
554
+ }
555
+ },
556
+ "end": ";",
557
+ "endCaptures": {
558
+ "0": {
559
+ "name": "punctuation.terminator.nginx"
560
+ }
561
+ },
562
+ "patterns": [
563
+ {
564
+ "include": "#values"
565
+ }
566
+ ]
567
+ },
568
+ {
569
+ "begin": "([\"'\\s]|^)(limit_)(rate|rate_after|conn|conn_dry_run|conn_log_level|conn_status|conn_zone|zone|req|req_dry_run|req_log_level|req_status|req_zone)([\"'\\s]|$)",
570
+ "beginCaptures": {
571
+ "1": {
572
+ "name": "keyword.directive.nginx"
573
+ },
574
+ "2": {
575
+ "name": "keyword.directive.nginx"
576
+ },
577
+ "3": {
578
+ "name": "keyword.directive.nginx"
579
+ },
580
+ "4": {
581
+ "name": "keyword.directive.nginx"
582
+ }
583
+ },
584
+ "end": ";",
585
+ "endCaptures": {
586
+ "0": {
587
+ "name": "punctuation.terminator.nginx"
588
+ }
589
+ },
590
+ "patterns": [
591
+ {
592
+ "include": "#values"
593
+ }
594
+ ]
595
+ },
596
+ {
597
+ "begin": "([\"'\\s]|^)(lingering_)(close|time|timeout)([\"'\\s]|$)",
598
+ "beginCaptures": {
599
+ "1": {
600
+ "name": "keyword.directive.nginx"
601
+ },
602
+ "2": {
603
+ "name": "keyword.directive.nginx"
604
+ },
605
+ "3": {
606
+ "name": "keyword.directive.nginx"
607
+ },
608
+ "4": {
609
+ "name": "keyword.directive.nginx"
610
+ }
611
+ },
612
+ "end": ";",
613
+ "endCaptures": {
614
+ "0": {
615
+ "name": "punctuation.terminator.nginx"
616
+ }
617
+ },
618
+ "patterns": [
619
+ {
620
+ "include": "#values"
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "begin": "([\"'\\s]|^)(log_)(not_found|subrequest|format)([\"'\\s]|$)",
626
+ "beginCaptures": {
627
+ "1": {
628
+ "name": "keyword.directive.nginx"
629
+ },
630
+ "2": {
631
+ "name": "keyword.directive.nginx"
632
+ },
633
+ "3": {
634
+ "name": "keyword.directive.nginx"
635
+ },
636
+ "4": {
637
+ "name": "keyword.directive.nginx"
638
+ }
639
+ },
640
+ "end": ";",
641
+ "endCaptures": {
642
+ "0": {
643
+ "name": "punctuation.terminator.nginx"
644
+ }
645
+ },
646
+ "patterns": [
647
+ {
648
+ "include": "#values"
649
+ }
650
+ ]
651
+ },
652
+ {
653
+ "begin": "([\"'\\s]|^)(max_)(ranges|errors)([\"'\\s]|$)",
654
+ "beginCaptures": {
655
+ "1": {
656
+ "name": "keyword.directive.nginx"
657
+ },
658
+ "2": {
659
+ "name": "keyword.directive.nginx"
660
+ },
661
+ "3": {
662
+ "name": "keyword.directive.nginx"
663
+ },
664
+ "4": {
665
+ "name": "keyword.directive.nginx"
666
+ }
667
+ },
668
+ "end": ";",
669
+ "endCaptures": {
670
+ "0": {
671
+ "name": "punctuation.terminator.nginx"
672
+ }
673
+ },
674
+ "patterns": [
675
+ {
676
+ "include": "#values"
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ "begin": "([\"'\\s]|^)(msie_)(padding|refresh)([\"'\\s]|$)",
682
+ "beginCaptures": {
683
+ "1": {
684
+ "name": "keyword.directive.nginx"
685
+ },
686
+ "2": {
687
+ "name": "keyword.directive.nginx"
688
+ },
689
+ "3": {
690
+ "name": "keyword.directive.nginx"
691
+ },
692
+ "4": {
693
+ "name": "keyword.directive.nginx"
694
+ }
695
+ },
696
+ "end": ";",
697
+ "endCaptures": {
698
+ "0": {
699
+ "name": "punctuation.terminator.nginx"
700
+ }
701
+ },
702
+ "patterns": [
703
+ {
704
+ "include": "#values"
705
+ }
706
+ ]
707
+ },
708
+ {
709
+ "begin": "([\"'\\s]|^)(open_)(file_cache|file_cache_errors|file_cache_min_uses|file_cache_valid|log_file_cache)([\"'\\s]|$)",
710
+ "beginCaptures": {
711
+ "1": {
712
+ "name": "keyword.directive.nginx"
713
+ },
714
+ "2": {
715
+ "name": "keyword.directive.nginx"
716
+ },
717
+ "3": {
718
+ "name": "keyword.directive.nginx"
719
+ },
720
+ "4": {
721
+ "name": "keyword.directive.nginx"
722
+ }
723
+ },
724
+ "end": ";",
725
+ "endCaptures": {
726
+ "0": {
727
+ "name": "punctuation.terminator.nginx"
728
+ }
729
+ },
730
+ "patterns": [
731
+ {
732
+ "include": "#values"
733
+ }
734
+ ]
735
+ },
736
+ {
737
+ "begin": "([\"'\\s]|^)(send_)(lowat|timeout)([\"'\\s]|$)",
738
+ "beginCaptures": {
739
+ "1": {
740
+ "name": "keyword.directive.nginx"
741
+ },
742
+ "2": {
743
+ "name": "keyword.directive.nginx"
744
+ },
745
+ "3": {
746
+ "name": "keyword.directive.nginx"
747
+ },
748
+ "4": {
749
+ "name": "keyword.directive.nginx"
750
+ }
751
+ },
752
+ "end": ";",
753
+ "endCaptures": {
754
+ "0": {
755
+ "name": "punctuation.terminator.nginx"
756
+ }
757
+ },
758
+ "patterns": [
759
+ {
760
+ "include": "#values"
761
+ }
762
+ ]
763
+ },
764
+ {
765
+ "begin": "([\"'\\s]|^)(server_)(name|name_in_redirect|names_hash_bucket_size|names_hash_max_size|tokens)([\"'\\s]|$)",
766
+ "beginCaptures": {
767
+ "1": {
768
+ "name": "keyword.directive.nginx"
769
+ },
770
+ "2": {
771
+ "name": "keyword.directive.nginx"
772
+ },
773
+ "3": {
774
+ "name": "keyword.directive.nginx"
775
+ },
776
+ "4": {
777
+ "name": "keyword.directive.nginx"
778
+ }
779
+ },
780
+ "end": ";",
781
+ "endCaptures": {
782
+ "0": {
783
+ "name": "punctuation.terminator.nginx"
784
+ }
785
+ },
786
+ "patterns": [
787
+ {
788
+ "include": "#values"
789
+ }
790
+ ]
791
+ },
792
+ {
793
+ "begin": "([\"'\\s]|^)(tcp_)(nodelay|nopush)([\"'\\s]|$)",
794
+ "beginCaptures": {
795
+ "1": {
796
+ "name": "keyword.directive.nginx"
797
+ },
798
+ "2": {
799
+ "name": "keyword.directive.nginx"
800
+ },
801
+ "3": {
802
+ "name": "keyword.directive.nginx"
803
+ },
804
+ "4": {
805
+ "name": "keyword.directive.nginx"
806
+ }
807
+ },
808
+ "end": ";",
809
+ "endCaptures": {
810
+ "0": {
811
+ "name": "punctuation.terminator.nginx"
812
+ }
813
+ },
814
+ "patterns": [
815
+ {
816
+ "include": "#values"
817
+ }
818
+ ]
819
+ },
820
+ {
821
+ "begin": "([\"'\\s]|^)(types_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",
822
+ "beginCaptures": {
823
+ "1": {
824
+ "name": "keyword.directive.nginx"
825
+ },
826
+ "2": {
827
+ "name": "keyword.directive.nginx"
828
+ },
829
+ "3": {
830
+ "name": "keyword.directive.nginx"
831
+ },
832
+ "4": {
833
+ "name": "keyword.directive.nginx"
834
+ }
835
+ },
836
+ "end": ";",
837
+ "endCaptures": {
838
+ "0": {
839
+ "name": "punctuation.terminator.nginx"
840
+ }
841
+ },
842
+ "patterns": [
843
+ {
844
+ "include": "#values"
845
+ }
846
+ ]
847
+ },
848
+ {
849
+ "begin": "([\"'\\s]|^)(variables_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",
850
+ "beginCaptures": {
851
+ "1": {
852
+ "name": "keyword.directive.nginx"
853
+ },
854
+ "2": {
855
+ "name": "keyword.directive.nginx"
856
+ },
857
+ "3": {
858
+ "name": "keyword.directive.nginx"
859
+ },
860
+ "4": {
861
+ "name": "keyword.directive.nginx"
862
+ }
863
+ },
864
+ "end": ";",
865
+ "endCaptures": {
866
+ "0": {
867
+ "name": "punctuation.terminator.nginx"
868
+ }
869
+ },
870
+ "patterns": [
871
+ {
872
+ "include": "#values"
873
+ }
874
+ ]
875
+ },
876
+ {
877
+ "begin": "([\"'\\s]|^)(add_)(before_body|after_body|header|trailer)([\"'\\s]|$)",
878
+ "beginCaptures": {
879
+ "1": {
880
+ "name": "keyword.directive.nginx"
881
+ },
882
+ "2": {
883
+ "name": "keyword.directive.nginx"
884
+ },
885
+ "3": {
886
+ "name": "keyword.directive.nginx"
887
+ },
888
+ "4": {
889
+ "name": "keyword.directive.nginx"
890
+ }
891
+ },
892
+ "end": ";",
893
+ "endCaptures": {
894
+ "0": {
895
+ "name": "punctuation.terminator.nginx"
896
+ }
897
+ },
898
+ "patterns": [
899
+ {
900
+ "include": "#values"
901
+ }
902
+ ]
903
+ },
904
+ {
905
+ "begin": "([\"'\\s]|^)(status_)(zone|format)([\"'\\s]|$)",
906
+ "beginCaptures": {
907
+ "1": {
908
+ "name": "keyword.directive.nginx"
909
+ },
910
+ "2": {
911
+ "name": "keyword.directive.nginx"
912
+ },
913
+ "3": {
914
+ "name": "keyword.directive.nginx"
915
+ },
916
+ "4": {
917
+ "name": "keyword.directive.nginx"
918
+ }
919
+ },
920
+ "end": ";",
921
+ "endCaptures": {
922
+ "0": {
923
+ "name": "punctuation.terminator.nginx"
924
+ }
925
+ },
926
+ "patterns": [
927
+ {
928
+ "include": "#values"
929
+ }
930
+ ]
931
+ },
932
+ {
933
+ "begin": "([\"'\\s]|^)(autoindex_)(exact_size|format|localtime)([\"'\\s]|$)",
934
+ "beginCaptures": {
935
+ "1": {
936
+ "name": "keyword.directive.nginx"
937
+ },
938
+ "2": {
939
+ "name": "keyword.directive.nginx"
940
+ },
941
+ "3": {
942
+ "name": "keyword.directive.nginx"
943
+ },
944
+ "4": {
945
+ "name": "keyword.directive.nginx"
946
+ }
947
+ },
948
+ "end": ";",
949
+ "endCaptures": {
950
+ "0": {
951
+ "name": "punctuation.terminator.nginx"
952
+ }
953
+ },
954
+ "patterns": [
955
+ {
956
+ "include": "#values"
957
+ }
958
+ ]
959
+ },
960
+ {
961
+ "begin": "([\"'\\s]|^)(ancient_)(browser|browser_value)([\"'\\s]|$)",
962
+ "beginCaptures": {
963
+ "1": {
964
+ "name": "keyword.directive.nginx"
965
+ },
966
+ "2": {
967
+ "name": "keyword.directive.nginx"
968
+ },
969
+ "3": {
970
+ "name": "keyword.directive.nginx"
971
+ },
972
+ "4": {
973
+ "name": "keyword.directive.nginx"
974
+ }
975
+ },
976
+ "end": ";",
977
+ "endCaptures": {
978
+ "0": {
979
+ "name": "punctuation.terminator.nginx"
980
+ }
981
+ },
982
+ "patterns": [
983
+ {
984
+ "include": "#values"
985
+ }
986
+ ]
987
+ },
988
+ {
989
+ "begin": "([\"'\\s]|^)(modern_)(browser|browser_value)([\"'\\s]|$)",
990
+ "beginCaptures": {
991
+ "1": {
992
+ "name": "keyword.directive.nginx"
993
+ },
994
+ "2": {
995
+ "name": "keyword.directive.nginx"
996
+ },
997
+ "3": {
998
+ "name": "keyword.directive.nginx"
999
+ },
1000
+ "4": {
1001
+ "name": "keyword.directive.nginx"
1002
+ }
1003
+ },
1004
+ "end": ";",
1005
+ "endCaptures": {
1006
+ "0": {
1007
+ "name": "punctuation.terminator.nginx"
1008
+ }
1009
+ },
1010
+ "patterns": [
1011
+ {
1012
+ "include": "#values"
1013
+ }
1014
+ ]
1015
+ },
1016
+ {
1017
+ "begin": "([\"'\\s]|^)(charset_)(map|types)([\"'\\s]|$)",
1018
+ "beginCaptures": {
1019
+ "1": {
1020
+ "name": "keyword.directive.nginx"
1021
+ },
1022
+ "2": {
1023
+ "name": "keyword.directive.nginx"
1024
+ },
1025
+ "3": {
1026
+ "name": "keyword.directive.nginx"
1027
+ },
1028
+ "4": {
1029
+ "name": "keyword.directive.nginx"
1030
+ }
1031
+ },
1032
+ "end": ";",
1033
+ "endCaptures": {
1034
+ "0": {
1035
+ "name": "punctuation.terminator.nginx"
1036
+ }
1037
+ },
1038
+ "patterns": [
1039
+ {
1040
+ "include": "#values"
1041
+ }
1042
+ ]
1043
+ },
1044
+ {
1045
+ "begin": "([\"'\\s]|^)(dav_)(access|methods)([\"'\\s]|$)",
1046
+ "beginCaptures": {
1047
+ "1": {
1048
+ "name": "keyword.directive.nginx"
1049
+ },
1050
+ "2": {
1051
+ "name": "keyword.directive.nginx"
1052
+ },
1053
+ "3": {
1054
+ "name": "keyword.directive.nginx"
1055
+ },
1056
+ "4": {
1057
+ "name": "keyword.directive.nginx"
1058
+ }
1059
+ },
1060
+ "end": ";",
1061
+ "endCaptures": {
1062
+ "0": {
1063
+ "name": "punctuation.terminator.nginx"
1064
+ }
1065
+ },
1066
+ "patterns": [
1067
+ {
1068
+ "include": "#values"
1069
+ }
1070
+ ]
1071
+ },
1072
+ {
1073
+ "begin": "([\"'\\s]|^)(fastcgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|catch_stderr|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|index|intercept_errors|keep_conn|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_lowat|send_timeout|socket_keepalive|split_path_info|store|store_access|temp_file_write_size|temp_path)([\"'\\s]|$)",
1074
+ "beginCaptures": {
1075
+ "1": {
1076
+ "name": "keyword.directive.nginx"
1077
+ },
1078
+ "2": {
1079
+ "name": "keyword.directive.nginx"
1080
+ },
1081
+ "3": {
1082
+ "name": "keyword.directive.nginx"
1083
+ },
1084
+ "4": {
1085
+ "name": "keyword.directive.nginx"
1086
+ }
1087
+ },
1088
+ "end": ";",
1089
+ "endCaptures": {
1090
+ "0": {
1091
+ "name": "punctuation.terminator.nginx"
1092
+ }
1093
+ },
1094
+ "patterns": [
1095
+ {
1096
+ "include": "#values"
1097
+ }
1098
+ ]
1099
+ },
1100
+ {
1101
+ "begin": "([\"'\\s]|^)(geoip_)(country|city|org|proxy|proxy_recursive)([\"'\\s]|$)",
1102
+ "beginCaptures": {
1103
+ "1": {
1104
+ "name": "keyword.directive.nginx"
1105
+ },
1106
+ "2": {
1107
+ "name": "keyword.directive.nginx"
1108
+ },
1109
+ "3": {
1110
+ "name": "keyword.directive.nginx"
1111
+ },
1112
+ "4": {
1113
+ "name": "keyword.directive.nginx"
1114
+ }
1115
+ },
1116
+ "end": ";",
1117
+ "endCaptures": {
1118
+ "0": {
1119
+ "name": "punctuation.terminator.nginx"
1120
+ }
1121
+ },
1122
+ "patterns": [
1123
+ {
1124
+ "include": "#values"
1125
+ }
1126
+ ]
1127
+ },
1128
+ {
1129
+ "begin": "([\"'\\s]|^)(grpc_)(bind|buffer_size|connect_timeout|hide_header|ignore_headers|intercept_errors|next_upstream|next_upstream_timeout|next_upstream_tries|pass|pass_header|read_timeout|send_timeout|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth)([\"'\\s]|$)",
1130
+ "beginCaptures": {
1131
+ "1": {
1132
+ "name": "keyword.directive.nginx"
1133
+ },
1134
+ "2": {
1135
+ "name": "keyword.directive.nginx"
1136
+ },
1137
+ "3": {
1138
+ "name": "keyword.directive.nginx"
1139
+ },
1140
+ "4": {
1141
+ "name": "keyword.directive.nginx"
1142
+ }
1143
+ },
1144
+ "end": ";",
1145
+ "endCaptures": {
1146
+ "0": {
1147
+ "name": "punctuation.terminator.nginx"
1148
+ }
1149
+ },
1150
+ "patterns": [
1151
+ {
1152
+ "include": "#values"
1153
+ }
1154
+ ]
1155
+ },
1156
+ {
1157
+ "begin": "([\"'\\s]|^)(gzip_)(buffers|comp_level|disable|http_version|min_length|proxied|types|vary|static)([\"'\\s]|$)",
1158
+ "beginCaptures": {
1159
+ "1": {
1160
+ "name": "keyword.directive.nginx"
1161
+ },
1162
+ "2": {
1163
+ "name": "keyword.directive.nginx"
1164
+ },
1165
+ "3": {
1166
+ "name": "keyword.directive.nginx"
1167
+ },
1168
+ "4": {
1169
+ "name": "keyword.directive.nginx"
1170
+ }
1171
+ },
1172
+ "end": ";",
1173
+ "endCaptures": {
1174
+ "0": {
1175
+ "name": "punctuation.terminator.nginx"
1176
+ }
1177
+ },
1178
+ "patterns": [
1179
+ {
1180
+ "include": "#values"
1181
+ }
1182
+ ]
1183
+ },
1184
+ {
1185
+ "begin": "([\"'\\s]|^)(hls_)(buffers|forward_args|fragment|mp4_buffer_size|mp4_max_buffer_size)([\"'\\s]|$)",
1186
+ "beginCaptures": {
1187
+ "1": {
1188
+ "name": "keyword.directive.nginx"
1189
+ },
1190
+ "2": {
1191
+ "name": "keyword.directive.nginx"
1192
+ },
1193
+ "3": {
1194
+ "name": "keyword.directive.nginx"
1195
+ },
1196
+ "4": {
1197
+ "name": "keyword.directive.nginx"
1198
+ }
1199
+ },
1200
+ "end": ";",
1201
+ "endCaptures": {
1202
+ "0": {
1203
+ "name": "punctuation.terminator.nginx"
1204
+ }
1205
+ },
1206
+ "patterns": [
1207
+ {
1208
+ "include": "#values"
1209
+ }
1210
+ ]
1211
+ },
1212
+ {
1213
+ "begin": "([\"'\\s]|^)(image_)(filter|filter_buffer|filter_interlace|filter_jpeg_quality|filter_sharpen|filter_transparency|filter_webp_quality)([\"'\\s]|$)",
1214
+ "beginCaptures": {
1215
+ "1": {
1216
+ "name": "keyword.directive.nginx"
1217
+ },
1218
+ "2": {
1219
+ "name": "keyword.directive.nginx"
1220
+ },
1221
+ "3": {
1222
+ "name": "keyword.directive.nginx"
1223
+ },
1224
+ "4": {
1225
+ "name": "keyword.directive.nginx"
1226
+ }
1227
+ },
1228
+ "end": ";",
1229
+ "endCaptures": {
1230
+ "0": {
1231
+ "name": "punctuation.terminator.nginx"
1232
+ }
1233
+ },
1234
+ "patterns": [
1235
+ {
1236
+ "include": "#values"
1237
+ }
1238
+ ]
1239
+ },
1240
+ {
1241
+ "begin": "([\"'\\s]|^)(map_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",
1242
+ "beginCaptures": {
1243
+ "1": {
1244
+ "name": "keyword.directive.nginx"
1245
+ },
1246
+ "2": {
1247
+ "name": "keyword.directive.nginx"
1248
+ },
1249
+ "3": {
1250
+ "name": "keyword.directive.nginx"
1251
+ },
1252
+ "4": {
1253
+ "name": "keyword.directive.nginx"
1254
+ }
1255
+ },
1256
+ "end": ";",
1257
+ "endCaptures": {
1258
+ "0": {
1259
+ "name": "punctuation.terminator.nginx"
1260
+ }
1261
+ },
1262
+ "patterns": [
1263
+ {
1264
+ "include": "#values"
1265
+ }
1266
+ ]
1267
+ },
1268
+ {
1269
+ "begin": "([\"'\\s]|^)(memcached_)(bind|buffer_size|connect_timeout|force_ranges|gzip_flag|next_upstream|next_upstream_timeout|next_upstream_tries|pass|read_timeout|send_timeout|socket_keepalive)([\"'\\s]|$)",
1270
+ "beginCaptures": {
1271
+ "1": {
1272
+ "name": "keyword.directive.nginx"
1273
+ },
1274
+ "2": {
1275
+ "name": "keyword.directive.nginx"
1276
+ },
1277
+ "3": {
1278
+ "name": "keyword.directive.nginx"
1279
+ },
1280
+ "4": {
1281
+ "name": "keyword.directive.nginx"
1282
+ }
1283
+ },
1284
+ "end": ";",
1285
+ "endCaptures": {
1286
+ "0": {
1287
+ "name": "punctuation.terminator.nginx"
1288
+ }
1289
+ },
1290
+ "patterns": [
1291
+ {
1292
+ "include": "#values"
1293
+ }
1294
+ ]
1295
+ },
1296
+ {
1297
+ "begin": "([\"'\\s]|^)(mp4_)(buffer_size|max_buffer_size|limit_rate|limit_rate_after)([\"'\\s]|$)",
1298
+ "beginCaptures": {
1299
+ "1": {
1300
+ "name": "keyword.directive.nginx"
1301
+ },
1302
+ "2": {
1303
+ "name": "keyword.directive.nginx"
1304
+ },
1305
+ "3": {
1306
+ "name": "keyword.directive.nginx"
1307
+ },
1308
+ "4": {
1309
+ "name": "keyword.directive.nginx"
1310
+ }
1311
+ },
1312
+ "end": ";",
1313
+ "endCaptures": {
1314
+ "0": {
1315
+ "name": "punctuation.terminator.nginx"
1316
+ }
1317
+ },
1318
+ "patterns": [
1319
+ {
1320
+ "include": "#values"
1321
+ }
1322
+ ]
1323
+ },
1324
+ {
1325
+ "begin": "([\"'\\s]|^)(perl_)(modules|require|set)([\"'\\s]|$)",
1326
+ "beginCaptures": {
1327
+ "1": {
1328
+ "name": "keyword.directive.nginx"
1329
+ },
1330
+ "2": {
1331
+ "name": "keyword.directive.nginx"
1332
+ },
1333
+ "3": {
1334
+ "name": "keyword.directive.nginx"
1335
+ },
1336
+ "4": {
1337
+ "name": "keyword.directive.nginx"
1338
+ }
1339
+ },
1340
+ "end": ";",
1341
+ "endCaptures": {
1342
+ "0": {
1343
+ "name": "punctuation.terminator.nginx"
1344
+ }
1345
+ },
1346
+ "patterns": [
1347
+ {
1348
+ "include": "#values"
1349
+ }
1350
+ ]
1351
+ },
1352
+ {
1353
+ "begin": "([\"'\\s]|^)(proxy_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_convert_head|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|cookie_domain|cookie_flags|cookie_path|force_ranges|headers_hash_bucket_size|headers_hash_max_size|hide_header|http_version|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|method|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|redirect|request_buffering|send_lowat|send_timeout|set_body|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path|buffer|pass_error_message|protocol|smtp_auth|timeout|protocol_timeout|download_rate|half_close|requests|responses|session_drop|ssl|upload_rate)([\"'\\s]|$)",
1354
+ "beginCaptures": {
1355
+ "1": {
1356
+ "name": "keyword.directive.nginx"
1357
+ },
1358
+ "2": {
1359
+ "name": "keyword.directive.nginx"
1360
+ },
1361
+ "3": {
1362
+ "name": "keyword.directive.nginx"
1363
+ },
1364
+ "4": {
1365
+ "name": "keyword.directive.nginx"
1366
+ }
1367
+ },
1368
+ "end": ";",
1369
+ "endCaptures": {
1370
+ "0": {
1371
+ "name": "punctuation.terminator.nginx"
1372
+ }
1373
+ },
1374
+ "patterns": [
1375
+ {
1376
+ "include": "#values"
1377
+ }
1378
+ ]
1379
+ },
1380
+ {
1381
+ "begin": "([\"'\\s]|^)(real_)(ip_header|ip_recursive)([\"'\\s]|$)",
1382
+ "beginCaptures": {
1383
+ "1": {
1384
+ "name": "keyword.directive.nginx"
1385
+ },
1386
+ "2": {
1387
+ "name": "keyword.directive.nginx"
1388
+ },
1389
+ "3": {
1390
+ "name": "keyword.directive.nginx"
1391
+ },
1392
+ "4": {
1393
+ "name": "keyword.directive.nginx"
1394
+ }
1395
+ },
1396
+ "end": ";",
1397
+ "endCaptures": {
1398
+ "0": {
1399
+ "name": "punctuation.terminator.nginx"
1400
+ }
1401
+ },
1402
+ "patterns": [
1403
+ {
1404
+ "include": "#values"
1405
+ }
1406
+ ]
1407
+ },
1408
+ {
1409
+ "begin": "([\"'\\s]|^)(referer_)(hash_bucket_size|hash_max_size)([\"'\\s]|$)",
1410
+ "beginCaptures": {
1411
+ "1": {
1412
+ "name": "keyword.directive.nginx"
1413
+ },
1414
+ "2": {
1415
+ "name": "keyword.directive.nginx"
1416
+ },
1417
+ "3": {
1418
+ "name": "keyword.directive.nginx"
1419
+ },
1420
+ "4": {
1421
+ "name": "keyword.directive.nginx"
1422
+ }
1423
+ },
1424
+ "end": ";",
1425
+ "endCaptures": {
1426
+ "0": {
1427
+ "name": "punctuation.terminator.nginx"
1428
+ }
1429
+ },
1430
+ "patterns": [
1431
+ {
1432
+ "include": "#values"
1433
+ }
1434
+ ]
1435
+ },
1436
+ {
1437
+ "begin": "([\"'\\s]|^)(scgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|store|store_access|temp_file_write_size|temp_path)([\"'\\s]|$)",
1438
+ "beginCaptures": {
1439
+ "1": {
1440
+ "name": "keyword.directive.nginx"
1441
+ },
1442
+ "2": {
1443
+ "name": "keyword.directive.nginx"
1444
+ },
1445
+ "3": {
1446
+ "name": "keyword.directive.nginx"
1447
+ },
1448
+ "4": {
1449
+ "name": "keyword.directive.nginx"
1450
+ }
1451
+ },
1452
+ "end": ";",
1453
+ "endCaptures": {
1454
+ "0": {
1455
+ "name": "punctuation.terminator.nginx"
1456
+ }
1457
+ },
1458
+ "patterns": [
1459
+ {
1460
+ "include": "#values"
1461
+ }
1462
+ ]
1463
+ },
1464
+ {
1465
+ "begin": "([\"'\\s]|^)(secure_)(link|link_md5|link_secret)([\"'\\s]|$)",
1466
+ "beginCaptures": {
1467
+ "1": {
1468
+ "name": "keyword.directive.nginx"
1469
+ },
1470
+ "2": {
1471
+ "name": "keyword.directive.nginx"
1472
+ },
1473
+ "3": {
1474
+ "name": "keyword.directive.nginx"
1475
+ },
1476
+ "4": {
1477
+ "name": "keyword.directive.nginx"
1478
+ }
1479
+ },
1480
+ "end": ";",
1481
+ "endCaptures": {
1482
+ "0": {
1483
+ "name": "punctuation.terminator.nginx"
1484
+ }
1485
+ },
1486
+ "patterns": [
1487
+ {
1488
+ "include": "#values"
1489
+ }
1490
+ ]
1491
+ },
1492
+ {
1493
+ "begin": "([\"'\\s]|^)(session_)(log|log_format|log_zone)([\"'\\s]|$)",
1494
+ "beginCaptures": {
1495
+ "1": {
1496
+ "name": "keyword.directive.nginx"
1497
+ },
1498
+ "2": {
1499
+ "name": "keyword.directive.nginx"
1500
+ },
1501
+ "3": {
1502
+ "name": "keyword.directive.nginx"
1503
+ },
1504
+ "4": {
1505
+ "name": "keyword.directive.nginx"
1506
+ }
1507
+ },
1508
+ "end": ";",
1509
+ "endCaptures": {
1510
+ "0": {
1511
+ "name": "punctuation.terminator.nginx"
1512
+ }
1513
+ },
1514
+ "patterns": [
1515
+ {
1516
+ "include": "#values"
1517
+ }
1518
+ ]
1519
+ },
1520
+ {
1521
+ "begin": "([\"'\\s]|^)(spdy_)(chunk_size|headers_comp)([\"'\\s]|$)",
1522
+ "beginCaptures": {
1523
+ "1": {
1524
+ "name": "keyword.directive.nginx"
1525
+ },
1526
+ "2": {
1527
+ "name": "keyword.directive.nginx"
1528
+ },
1529
+ "3": {
1530
+ "name": "keyword.directive.nginx"
1531
+ },
1532
+ "4": {
1533
+ "name": "keyword.directive.nginx"
1534
+ }
1535
+ },
1536
+ "end": ";",
1537
+ "endCaptures": {
1538
+ "0": {
1539
+ "name": "punctuation.terminator.nginx"
1540
+ }
1541
+ },
1542
+ "patterns": [
1543
+ {
1544
+ "include": "#values"
1545
+ }
1546
+ ]
1547
+ },
1548
+ {
1549
+ "begin": "([\"'\\s]|^)(ssi_)(last_modified|min_file_chunk|silent_errors|types|value_length)([\"'\\s]|$)",
1550
+ "beginCaptures": {
1551
+ "1": {
1552
+ "name": "keyword.directive.nginx"
1553
+ },
1554
+ "2": {
1555
+ "name": "keyword.directive.nginx"
1556
+ },
1557
+ "3": {
1558
+ "name": "keyword.directive.nginx"
1559
+ },
1560
+ "4": {
1561
+ "name": "keyword.directive.nginx"
1562
+ }
1563
+ },
1564
+ "end": ";",
1565
+ "endCaptures": {
1566
+ "0": {
1567
+ "name": "punctuation.terminator.nginx"
1568
+ }
1569
+ },
1570
+ "patterns": [
1571
+ {
1572
+ "include": "#values"
1573
+ }
1574
+ ]
1575
+ },
1576
+ {
1577
+ "begin": "([\"'\\s]|^)(sub_)(filter|filter_last_modified|filter_once|filter_types)([\"'\\s]|$)",
1578
+ "beginCaptures": {
1579
+ "1": {
1580
+ "name": "keyword.directive.nginx"
1581
+ },
1582
+ "2": {
1583
+ "name": "keyword.directive.nginx"
1584
+ },
1585
+ "3": {
1586
+ "name": "keyword.directive.nginx"
1587
+ },
1588
+ "4": {
1589
+ "name": "keyword.directive.nginx"
1590
+ }
1591
+ },
1592
+ "end": ";",
1593
+ "endCaptures": {
1594
+ "0": {
1595
+ "name": "punctuation.terminator.nginx"
1596
+ }
1597
+ },
1598
+ "patterns": [
1599
+ {
1600
+ "include": "#values"
1601
+ }
1602
+ ]
1603
+ },
1604
+ {
1605
+ "begin": "([\"'\\s]|^)(health_)(check|check_timeout)([\"'\\s]|$)",
1606
+ "beginCaptures": {
1607
+ "1": {
1608
+ "name": "keyword.directive.nginx"
1609
+ },
1610
+ "2": {
1611
+ "name": "keyword.directive.nginx"
1612
+ },
1613
+ "3": {
1614
+ "name": "keyword.directive.nginx"
1615
+ },
1616
+ "4": {
1617
+ "name": "keyword.directive.nginx"
1618
+ }
1619
+ },
1620
+ "end": ";",
1621
+ "endCaptures": {
1622
+ "0": {
1623
+ "name": "punctuation.terminator.nginx"
1624
+ }
1625
+ },
1626
+ "patterns": [
1627
+ {
1628
+ "include": "#values"
1629
+ }
1630
+ ]
1631
+ },
1632
+ {
1633
+ "begin": "([\"'\\s]|^)(userid_)(domain|expires|flags|mark|name|p3p|path|service)([\"'\\s]|$)",
1634
+ "beginCaptures": {
1635
+ "1": {
1636
+ "name": "keyword.directive.nginx"
1637
+ },
1638
+ "2": {
1639
+ "name": "keyword.directive.nginx"
1640
+ },
1641
+ "3": {
1642
+ "name": "keyword.directive.nginx"
1643
+ },
1644
+ "4": {
1645
+ "name": "keyword.directive.nginx"
1646
+ }
1647
+ },
1648
+ "end": ";",
1649
+ "endCaptures": {
1650
+ "0": {
1651
+ "name": "punctuation.terminator.nginx"
1652
+ }
1653
+ },
1654
+ "patterns": [
1655
+ {
1656
+ "include": "#values"
1657
+ }
1658
+ ]
1659
+ },
1660
+ {
1661
+ "begin": "([\"'\\s]|^)(uwsgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|modifier1|modifier2|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path)([\"'\\s]|$)",
1662
+ "beginCaptures": {
1663
+ "1": {
1664
+ "name": "keyword.directive.nginx"
1665
+ },
1666
+ "2": {
1667
+ "name": "keyword.directive.nginx"
1668
+ },
1669
+ "3": {
1670
+ "name": "keyword.directive.nginx"
1671
+ },
1672
+ "4": {
1673
+ "name": "keyword.directive.nginx"
1674
+ }
1675
+ },
1676
+ "end": ";",
1677
+ "endCaptures": {
1678
+ "0": {
1679
+ "name": "punctuation.terminator.nginx"
1680
+ }
1681
+ },
1682
+ "patterns": [
1683
+ {
1684
+ "include": "#values"
1685
+ }
1686
+ ]
1687
+ },
1688
+ {
1689
+ "begin": "([\"'\\s]|^)(http2_)(body_preread_size|chunk_size|idle_timeout|max_concurrent_pushes|max_concurrent_streams|max_field_size|max_header_size|max_requests|push|push_preload|recv_buffer_size|recv_timeout)([\"'\\s]|$)",
1690
+ "beginCaptures": {
1691
+ "1": {
1692
+ "name": "keyword.directive.nginx"
1693
+ },
1694
+ "2": {
1695
+ "name": "keyword.directive.nginx"
1696
+ },
1697
+ "3": {
1698
+ "name": "keyword.directive.nginx"
1699
+ },
1700
+ "4": {
1701
+ "name": "keyword.directive.nginx"
1702
+ }
1703
+ },
1704
+ "end": ";",
1705
+ "endCaptures": {
1706
+ "0": {
1707
+ "name": "punctuation.terminator.nginx"
1708
+ }
1709
+ },
1710
+ "patterns": [
1711
+ {
1712
+ "include": "#values"
1713
+ }
1714
+ ]
1715
+ },
1716
+ {
1717
+ "begin": "([\"'\\s]|^)(xslt_)(last_modified|param|string_param|stylesheet|types)([\"'\\s]|$)",
1718
+ "beginCaptures": {
1719
+ "1": {
1720
+ "name": "keyword.directive.nginx"
1721
+ },
1722
+ "2": {
1723
+ "name": "keyword.directive.nginx"
1724
+ },
1725
+ "3": {
1726
+ "name": "keyword.directive.nginx"
1727
+ },
1728
+ "4": {
1729
+ "name": "keyword.directive.nginx"
1730
+ }
1731
+ },
1732
+ "end": ";",
1733
+ "endCaptures": {
1734
+ "0": {
1735
+ "name": "punctuation.terminator.nginx"
1736
+ }
1737
+ },
1738
+ "patterns": [
1739
+ {
1740
+ "include": "#values"
1741
+ }
1742
+ ]
1743
+ },
1744
+ {
1745
+ "begin": "([\"'\\s]|^)(imap_)(auth|capabilities|client_buffer)([\"'\\s]|$)",
1746
+ "beginCaptures": {
1747
+ "1": {
1748
+ "name": "keyword.directive.nginx"
1749
+ },
1750
+ "2": {
1751
+ "name": "keyword.directive.nginx"
1752
+ },
1753
+ "3": {
1754
+ "name": "keyword.directive.nginx"
1755
+ },
1756
+ "4": {
1757
+ "name": "keyword.directive.nginx"
1758
+ }
1759
+ },
1760
+ "end": ";",
1761
+ "endCaptures": {
1762
+ "0": {
1763
+ "name": "punctuation.terminator.nginx"
1764
+ }
1765
+ },
1766
+ "patterns": [
1767
+ {
1768
+ "include": "#values"
1769
+ }
1770
+ ]
1771
+ },
1772
+ {
1773
+ "begin": "([\"'\\s]|^)(pop3_)(auth|capabilities)([\"'\\s]|$)",
1774
+ "beginCaptures": {
1775
+ "1": {
1776
+ "name": "keyword.directive.nginx"
1777
+ },
1778
+ "2": {
1779
+ "name": "keyword.directive.nginx"
1780
+ },
1781
+ "3": {
1782
+ "name": "keyword.directive.nginx"
1783
+ },
1784
+ "4": {
1785
+ "name": "keyword.directive.nginx"
1786
+ }
1787
+ },
1788
+ "end": ";",
1789
+ "endCaptures": {
1790
+ "0": {
1791
+ "name": "punctuation.terminator.nginx"
1792
+ }
1793
+ },
1794
+ "patterns": [
1795
+ {
1796
+ "include": "#values"
1797
+ }
1798
+ ]
1799
+ },
1800
+ {
1801
+ "begin": "([\"'\\s]|^)(smtp_)(auth|capabilities|client_buffer|greeting_delay)([\"'\\s]|$)",
1802
+ "beginCaptures": {
1803
+ "1": {
1804
+ "name": "keyword.directive.nginx"
1805
+ },
1806
+ "2": {
1807
+ "name": "keyword.directive.nginx"
1808
+ },
1809
+ "3": {
1810
+ "name": "keyword.directive.nginx"
1811
+ },
1812
+ "4": {
1813
+ "name": "keyword.directive.nginx"
1814
+ }
1815
+ },
1816
+ "end": ";",
1817
+ "endCaptures": {
1818
+ "0": {
1819
+ "name": "punctuation.terminator.nginx"
1820
+ }
1821
+ },
1822
+ "patterns": [
1823
+ {
1824
+ "include": "#values"
1825
+ }
1826
+ ]
1827
+ },
1828
+ {
1829
+ "begin": "([\"'\\s]|^)(preread_)(buffer_size|timeout)([\"'\\s]|$)",
1830
+ "beginCaptures": {
1831
+ "1": {
1832
+ "name": "keyword.directive.nginx"
1833
+ },
1834
+ "2": {
1835
+ "name": "keyword.directive.nginx"
1836
+ },
1837
+ "3": {
1838
+ "name": "keyword.directive.nginx"
1839
+ },
1840
+ "4": {
1841
+ "name": "keyword.directive.nginx"
1842
+ }
1843
+ },
1844
+ "end": ";",
1845
+ "endCaptures": {
1846
+ "0": {
1847
+ "name": "punctuation.terminator.nginx"
1848
+ }
1849
+ },
1850
+ "patterns": [
1851
+ {
1852
+ "include": "#values"
1853
+ }
1854
+ ]
1855
+ },
1856
+ {
1857
+ "begin": "([\"'\\s]|^)(zone_)(sync_buffers|sync_connect_retry_interval|sync_connect_timeout|sync_interval|sync_recv_buffer_size|sync_server|sync_ssl|sync_ssl_certificate|sync_ssl_certificate_key|sync_ssl_ciphers|sync_ssl_conf_command|sync_ssl_crl|sync_ssl_name|sync_ssl_password_file|sync_ssl_protocols|sync_ssl_server_name|sync_ssl_trusted_certificate|sync_ssl_verify|sync_ssl_verify_depth|sync_timeout)([\"'\\s]|$)",
1858
+ "beginCaptures": {
1859
+ "1": {
1860
+ "name": "keyword.directive.nginx"
1861
+ },
1862
+ "2": {
1863
+ "name": "keyword.directive.nginx"
1864
+ },
1865
+ "3": {
1866
+ "name": "keyword.directive.nginx"
1867
+ },
1868
+ "4": {
1869
+ "name": "keyword.directive.nginx"
1870
+ }
1871
+ },
1872
+ "end": ";",
1873
+ "endCaptures": {
1874
+ "0": {
1875
+ "name": "punctuation.terminator.nginx"
1876
+ }
1877
+ },
1878
+ "patterns": [
1879
+ {
1880
+ "include": "#values"
1881
+ }
1882
+ ]
1883
+ },
1884
+ {
1885
+ "begin": "([\"'\\s]|^)(js_)(body_filter|content|fetch_ciphers|fetch_protocols|fetch_trusted_certificate|fetch_verify_depth|header_filter|import|include|path|set|var|access|filter|preread)([\"'\\s]|$)",
1886
+ "beginCaptures": {
1887
+ "1": {
1888
+ "name": "keyword.directive.nginx"
1889
+ },
1890
+ "2": {
1891
+ "name": "keyword.directive.nginx"
1892
+ },
1893
+ "3": {
1894
+ "name": "keyword.directive.nginx"
1895
+ },
1896
+ "4": {
1897
+ "name": "keyword.directive.nginx"
1898
+ }
1899
+ },
1900
+ "end": ";",
1901
+ "endCaptures": {
1902
+ "0": {
1903
+ "name": "punctuation.terminator.nginx"
1904
+ }
1905
+ },
1906
+ "patterns": [
1907
+ {
1908
+ "include": "#values"
1909
+ }
1910
+ ]
1911
+ },
1912
+ {
1913
+ "begin": "([\"'\\s]|^)(daemon|env|include|pid|use|user|aio|alias|directio|etag|listen|resolver|root|satisfy|sendfile|allow|deny|api|autoindex|charset|geo|gunzip|gzip|expires|index|keyval|mirror|perl|set|slice|ssi|ssl|zone|state|hash|keepalive|queue|random|sticky|match|userid|protocol|timeout|xclient|starttls|load_module|lock_file|master_process|multi_accept|pcre_jit|thread_pool|timer_resolution|working_directory|absolute_redirect|aio_write|chunked_transfer_encoding|connection_pool_size|default_type|directio_alignment|disable_symlinks|if_modified_since|ignore_invalid_headers|large_client_header_buffers|merge_slashes|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver_timeout|sendfile_max_chunk|subrequest_output_buffer_size|try_files|underscores_in_headers|addition_types|override_charset|source_charset|create_full_put_path|min_delete_depth|f4f_buffer_size|gunzip_buffers|keyval_zone|access_log|mirror_request_body|random_index|set_real_ip_from|valid_referers|rewrite_log|uninitialized_variable_warn|split_clients|least_time|sticky_cookie_insert|xml_entities|google_perftools_profiles)([\"'\\s]|$)",
1914
+ "beginCaptures": {
1915
+ "1": {
1916
+ "name": "keyword.directive.nginx"
1917
+ },
1918
+ "2": {
1919
+ "name": "keyword.directive.nginx"
1920
+ },
1921
+ "3": {
1922
+ "name": "keyword.directive.nginx"
1923
+ }
1924
+ },
1925
+ "end": ";",
1926
+ "endCaptures": {
1927
+ "0": {
1928
+ "name": "punctuation.terminator.nginx"
1929
+ }
1930
+ },
1931
+ "patterns": [
1932
+ {
1933
+ "include": "#values"
1934
+ }
1935
+ ]
1936
+ },
1937
+ {
1938
+ "begin": "\\b([a-zA-Z0-9\\_]+)\\s+",
1939
+ "beginCaptures": {
1940
+ "1": {
1941
+ "name": "keyword.directive.unknown.nginx"
1942
+ }
1943
+ },
1944
+ "end": "(;|$)",
1945
+ "endCaptures": {
1946
+ "1": {
1947
+ "name": "punctuation.terminator.nginx"
1948
+ }
1949
+ },
1950
+ "patterns": [
1951
+ {
1952
+ "include": "#values"
1953
+ }
1954
+ ]
1955
+ },
1956
+ {
1957
+ "begin": "\\b([a-z]+\\/[A-Za-z0-9\\-\\.\\+]+)\\b",
1958
+ "beginCaptures": {
1959
+ "1": {
1960
+ "name": "constant.other.mediatype.nginx"
1961
+ }
1962
+ },
1963
+ "end": "(;)",
1964
+ "endCaptures": {
1965
+ "1": {
1966
+ "name": "punctuation.terminator.nginx"
1967
+ }
1968
+ },
1969
+ "patterns": [
1970
+ {
1971
+ "include": "#values"
1972
+ }
1973
+ ]
1974
+ }
1975
+ ],
1976
+ "repository": {
1977
+ "if_condition": {
1978
+ "patterns": [
1979
+ {
1980
+ "include": "#variables"
1981
+ },
1982
+ {
1983
+ "match": "\\!?\\~\\*?\\s",
1984
+ "name": "keyword.operator.nginx"
1985
+ },
1986
+ {
1987
+ "match": "\\!?\\-[fdex]\\s",
1988
+ "name": "keyword.operator.nginx"
1989
+ },
1990
+ {
1991
+ "match": "\\!?=[^=]",
1992
+ "name": "keyword.operator.nginx"
1993
+ },
1994
+ {
1995
+ "include": "#regexp_and_string"
1996
+ }
1997
+ ]
1998
+ },
1999
+ "regexp_and_string": {
2000
+ "patterns": [
2001
+ {
2002
+ "match": "\\^.*?\\$",
2003
+ "name": "string.regexp.nginx"
2004
+ },
2005
+ {
2006
+ "begin": "\"",
2007
+ "end": "\"",
2008
+ "name": "string.quoted.double.nginx",
2009
+ "patterns": [
2010
+ {
2011
+ "match": "\\\\[\"'nt\\\\]",
2012
+ "name": "constant.character.escape.nginx"
2013
+ },
2014
+ {
2015
+ "include": "#variables"
2016
+ }
2017
+ ]
2018
+ },
2019
+ {
2020
+ "begin": "'",
2021
+ "end": "'",
2022
+ "name": "string.quoted.single.nginx",
2023
+ "patterns": [
2024
+ {
2025
+ "match": "\\\\[\"'nt\\\\]",
2026
+ "name": "constant.character.escape.nginx"
2027
+ },
2028
+ {
2029
+ "include": "#variables"
2030
+ }
2031
+ ]
2032
+ }
2033
+ ]
2034
+ },
2035
+ "server_parameters": {
2036
+ "patterns": [
2037
+ {
2038
+ "captures": {
2039
+ "1": {
2040
+ "name": "variable.parameter.nginx"
2041
+ },
2042
+ "2": {
2043
+ "name": "keyword.operator.nginx"
2044
+ },
2045
+ "3": {
2046
+ "name": "constant.numeric.nginx"
2047
+ }
2048
+ },
2049
+ "match": "(?:^|\\s)(weight|max_conn|max_fails|fail_timeout|slow_start)(=)([0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?:\\s|;|$)"
2050
+ },
2051
+ {
2052
+ "include": "#values"
2053
+ }
2054
+ ]
2055
+ },
2056
+ "values": {
2057
+ "patterns": [
2058
+ {
2059
+ "include": "#variables"
2060
+ },
2061
+ {
2062
+ "match": "\\#.*",
2063
+ "name": "comment.line.number-sign"
2064
+ },
2065
+ {
2066
+ "captures": {
2067
+ "1": {
2068
+ "name": "constant.numeric.nginx"
2069
+ }
2070
+ },
2071
+ "match": "[\\t ](=?[0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?=[\\t ;])"
2072
+ },
2073
+ {
2074
+ "match": "[\\t ](on|off|true|false)(?=[\\t ;])",
2075
+ "name": "constant.language.nginx"
2076
+ },
2077
+ {
2078
+ "match": "[\\t ](kqueue|rtsig|epoll|\\/dev\\/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t ;])",
2079
+ "name": "constant.language.nginx"
2080
+ },
2081
+ {
2082
+ "match": "\\\\.*\\ |\\~\\*|\\~|\\!\\~\\*|\\!\\~",
2083
+ "name": "keyword.operator.nginx"
2084
+ },
2085
+ {
2086
+ "include": "#regexp_and_string"
2087
+ }
2088
+ ]
2089
+ },
2090
+ "variables": {
2091
+ "patterns": [
2092
+ {
2093
+ "captures": {
2094
+ "1": {
2095
+ "name": "punctuation.definition.variable.nginx"
2096
+ },
2097
+ "2": {
2098
+ "name": "variable.other.nginx"
2099
+ }
2100
+ },
2101
+ "match": "(\\$)([A-Za-z0-9\\_]+)\\b"
2102
+ },
2103
+ {
2104
+ "captures": {
2105
+ "1": {
2106
+ "name": "punctuation.definition.variable.nginx"
2107
+ },
2108
+ "2": {
2109
+ "name": "variable.other.nginx"
2110
+ },
2111
+ "3": {
2112
+ "name": "punctuation.definition.variable.nginx"
2113
+ }
2114
+ },
2115
+ "match": "(\\$\\{)([A-Za-z0-9\\_]+)(\\})"
2116
+ }
2117
+ ]
2118
+ }
2119
+ },
2120
+ "scopeName": "source.nginx"
2121
+ }