PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.5
Code Block Pro – Beautiful Syntax Highlighting v1.27.5
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / nginx.tmLanguage.json

nginx.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.27.5, at build/shiki/languages/nginx.tmLanguage.json

2,123 lines 51.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "fileTypes": [
3 "conf.erb",
4 "conf",
5 "ngx",
6 "nginx.conf",
7 "mime.types",
8 "fastcgi_params",
9 "scgi_params",
10 "uwsgi_params"
11 ],
12 "foldingStartMarker": "\\{\\s*$",
13 "foldingStopMarker": "^\\s*\\}",
14 "keyEquivalent": "^~N",
15 "name": "nginx",
16 "patterns": [
17 {
18 "name": "comment.line.number-sign",
19 "match": "\\#.*"
20 },
21 {
22 "name": "meta.context.lua.nginx",
23 "begin": "\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\\s*\\{",
24 "end": "\\}",
25 "beginCaptures": {
26 "1": {
27 "name": "storage.type.directive.context.nginx"
28 }
29 },
30 "contentName": "meta.embedded.block.lua",
31 "patterns": [
32 {
33 "include": "source.lua"
34 }
35 ]
36 },
37 {
38 "name": "meta.context.lua.nginx",
39 "begin": "\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\\s*'",
40 "end": "'",
41 "beginCaptures": {
42 "1": {
43 "name": "storage.type.directive.context.nginx"
44 }
45 },
46 "contentName": "meta.embedded.block.lua",
47 "patterns": [
48 {
49 "include": "source.lua"
50 }
51 ]
52 },
53 {
54 "name": "meta.context.events.nginx",
55 "begin": "\\b(events) +\\{",
56 "end": "\\}",
57 "beginCaptures": {
58 "1": {
59 "name": "storage.type.directive.context.nginx"
60 }
61 },
62 "patterns": [
63 {
64 "include": "$self"
65 }
66 ]
67 },
68 {
69 "name": "meta.context.http.nginx",
70 "begin": "\\b(http) +\\{",
71 "end": "\\}",
72 "beginCaptures": {
73 "1": {
74 "name": "storage.type.directive.context.nginx"
75 }
76 },
77 "patterns": [
78 {
79 "include": "$self"
80 }
81 ]
82 },
83 {
84 "name": "meta.context.mail.nginx",
85 "begin": "\\b(mail) +\\{",
86 "end": "\\}",
87 "beginCaptures": {
88 "1": {
89 "name": "storage.type.directive.context.nginx"
90 }
91 },
92 "patterns": [
93 {
94 "include": "$self"
95 }
96 ]
97 },
98 {
99 "name": "meta.context.stream.nginx",
100 "begin": "\\b(stream) +\\{",
101 "end": "\\}",
102 "beginCaptures": {
103 "1": {
104 "name": "storage.type.directive.context.nginx"
105 }
106 },
107 "patterns": [
108 {
109 "include": "$self"
110 }
111 ]
112 },
113 {
114 "name": "meta.context.server.nginx",
115 "begin": "\\b(server) +\\{",
116 "end": "\\}",
117 "beginCaptures": {
118 "1": {
119 "name": "storage.type.directive.context.nginx"
120 }
121 },
122 "patterns": [
123 {
124 "include": "$self"
125 }
126 ]
127 },
128 {
129 "name": "meta.context.location.nginx",
130 "begin": "\\b(location) +([\\^]?~[\\*]?|=) +(.*?)\\{",
131 "end": "\\}",
132 "beginCaptures": {
133 "1": {
134 "name": "storage.type.directive.context.nginx"
135 },
136 "2": {
137 "name": "keyword.operator.nginx"
138 },
139 "3": {
140 "name": "string.regexp.nginx"
141 }
142 },
143 "patterns": [
144 {
145 "include": "$self"
146 }
147 ]
148 },
149 {
150 "name": "meta.context.location.nginx",
151 "begin": "\\b(location) +(.*?)\\{",
152 "end": "\\}",
153 "beginCaptures": {
154 "1": {
155 "name": "storage.type.directive.context.nginx"
156 },
157 "2": {
158 "name": "entity.name.context.location.nginx"
159 }
160 },
161 "patterns": [
162 {
163 "include": "$self"
164 }
165 ]
166 },
167 {
168 "name": "meta.context.limit_except.nginx",
169 "begin": "\\b(limit_except) +\\{",
170 "end": "\\}",
171 "beginCaptures": {
172 "1": {
173 "name": "storage.type.directive.context.nginx"
174 }
175 },
176 "patterns": [
177 {
178 "include": "$self"
179 }
180 ]
181 },
182 {
183 "name": "meta.context.if.nginx",
184 "begin": "\\b(if) +\\(",
185 "end": "\\)",
186 "beginCaptures": {
187 "1": {
188 "name": "keyword.control.nginx"
189 }
190 },
191 "patterns": [
192 {
193 "include": "#if_condition"
194 }
195 ]
196 },
197 {
198 "name": "meta.context.upstream.nginx",
199 "begin": "\\b(upstream) +(.*?)\\{",
200 "end": "\\}",
201 "beginCaptures": {
202 "1": {
203 "name": "storage.type.directive.context.nginx"
204 },
205 "2": {
206 "name": "entity.name.context.location.nginx"
207 }
208 },
209 "patterns": [
210 {
211 "include": "$self"
212 }
213 ]
214 },
215 {
216 "name": "meta.context.types.nginx",
217 "begin": "\\b(types) +\\{",
218 "end": "\\}",
219 "beginCaptures": {
220 "1": {
221 "name": "storage.type.directive.context.nginx"
222 }
223 },
224 "patterns": [
225 {
226 "include": "$self"
227 }
228 ]
229 },
230 {
231 "name": "meta.context.map.nginx",
232 "begin": "\\b(map) +(\\$)([A-Za-z0-9\\_]+) +(\\$)([A-Za-z0-9\\_]+) *\\{",
233 "end": "\\}",
234 "beginCaptures": {
235 "1": {
236 "name": "storage.type.directive.context.nginx"
237 },
238 "2": {
239 "name": "punctuation.definition.variable.nginx"
240 },
241 "3": {
242 "name": "variable.parameter.nginx"
243 },
244 "4": {
245 "name": "punctuation.definition.variable.nginx"
246 },
247 "5": {
248 "name": "variable.other.nginx"
249 }
250 },
251 "patterns": [
252 {
253 "include": "#values"
254 },
255 {
256 "name": "punctuation.terminator.nginx",
257 "match": ";"
258 },
259 {
260 "name": "comment.line.number-sign",
261 "match": "\\#.*"
262 }
263 ]
264 },
265 {
266 "name": "meta.block.nginx",
267 "begin": "\\{",
268 "end": "\\}",
269 "patterns": [
270 {
271 "include": "$self"
272 }
273 ]
274 },
275 {
276 "begin": "\\b(return)\\b",
277 "end": ";",
278 "beginCaptures": {
279 "1": {
280 "name": "keyword.control.nginx"
281 }
282 },
283 "patterns": [
284 {
285 "include": "#values"
286 }
287 ]
288 },
289 {
290 "begin": "\\b(rewrite)\\s+",
291 "end": "(last|break|redirect|permanent)?(;)",
292 "beginCaptures": {
293 "1": {
294 "name": "keyword.directive.nginx"
295 }
296 },
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 "end": ";",
314 "beginCaptures": {
315 "1": {
316 "name": "keyword.directive.nginx"
317 }
318 },
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 "end": "(;|$)",
333 "beginCaptures": {
334 "1": {
335 "name": "keyword.directive.nginx"
336 }
337 },
338 "endCaptures": {
339 "1": {
340 "name": "punctuation.terminator.nginx"
341 }
342 }
343 },
344 {
345 "begin": "([\"'\\s]|^)(accept_)(mutex|mutex_delay)([\"'\\s]|$)",
346 "end": ";",
347 "beginCaptures": {
348 "1": {
349 "name": "keyword.directive.nginx"
350 },
351 "2": {
352 "name": "keyword.directive.nginx"
353 },
354 "3": {
355 "name": "keyword.directive.nginx"
356 },
357 "4": {
358 "name": "keyword.directive.nginx"
359 }
360 },
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 "end": ";",
375 "beginCaptures": {
376 "1": {
377 "name": "keyword.directive.nginx"
378 },
379 "2": {
380 "name": "keyword.directive.nginx"
381 },
382 "3": {
383 "name": "keyword.directive.nginx"
384 },
385 "4": {
386 "name": "keyword.directive.nginx"
387 }
388 },
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 "end": ";",
403 "beginCaptures": {
404 "1": {
405 "name": "keyword.directive.nginx"
406 },
407 "2": {
408 "name": "keyword.directive.nginx"
409 },
410 "3": {
411 "name": "keyword.directive.nginx"
412 },
413 "4": {
414 "name": "keyword.directive.nginx"
415 }
416 },
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 "end": ";",
431 "beginCaptures": {
432 "1": {
433 "name": "keyword.directive.nginx"
434 },
435 "2": {
436 "name": "keyword.directive.nginx"
437 },
438 "3": {
439 "name": "keyword.directive.nginx"
440 },
441 "4": {
442 "name": "keyword.directive.nginx"
443 }
444 },
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 "end": ";",
459 "beginCaptures": {
460 "1": {
461 "name": "keyword.directive.nginx"
462 },
463 "2": {
464 "name": "keyword.directive.nginx"
465 },
466 "3": {
467 "name": "keyword.directive.nginx"
468 },
469 "4": {
470 "name": "keyword.directive.nginx"
471 }
472 },
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 "end": ";",
487 "beginCaptures": {
488 "1": {
489 "name": "keyword.directive.nginx"
490 },
491 "2": {
492 "name": "keyword.directive.nginx"
493 },
494 "3": {
495 "name": "keyword.directive.nginx"
496 },
497 "4": {
498 "name": "keyword.directive.nginx"
499 }
500 },
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 "end": ";",
515 "beginCaptures": {
516 "1": {
517 "name": "keyword.directive.nginx"
518 },
519 "2": {
520 "name": "keyword.directive.nginx"
521 },
522 "3": {
523 "name": "keyword.directive.nginx"
524 },
525 "4": {
526 "name": "keyword.directive.nginx"
527 }
528 },
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 "end": ";",
543 "beginCaptures": {
544 "1": {
545 "name": "keyword.directive.nginx"
546 },
547 "2": {
548 "name": "keyword.directive.nginx"
549 },
550 "3": {
551 "name": "keyword.directive.nginx"
552 },
553 "4": {
554 "name": "keyword.directive.nginx"
555 }
556 },
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 "end": ";",
571 "beginCaptures": {
572 "1": {
573 "name": "keyword.directive.nginx"
574 },
575 "2": {
576 "name": "keyword.directive.nginx"
577 },
578 "3": {
579 "name": "keyword.directive.nginx"
580 },
581 "4": {
582 "name": "keyword.directive.nginx"
583 }
584 },
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 "end": ";",
599 "beginCaptures": {
600 "1": {
601 "name": "keyword.directive.nginx"
602 },
603 "2": {
604 "name": "keyword.directive.nginx"
605 },
606 "3": {
607 "name": "keyword.directive.nginx"
608 },
609 "4": {
610 "name": "keyword.directive.nginx"
611 }
612 },
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 "end": ";",
627 "beginCaptures": {
628 "1": {
629 "name": "keyword.directive.nginx"
630 },
631 "2": {
632 "name": "keyword.directive.nginx"
633 },
634 "3": {
635 "name": "keyword.directive.nginx"
636 },
637 "4": {
638 "name": "keyword.directive.nginx"
639 }
640 },
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 "end": ";",
655 "beginCaptures": {
656 "1": {
657 "name": "keyword.directive.nginx"
658 },
659 "2": {
660 "name": "keyword.directive.nginx"
661 },
662 "3": {
663 "name": "keyword.directive.nginx"
664 },
665 "4": {
666 "name": "keyword.directive.nginx"
667 }
668 },
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 "end": ";",
683 "beginCaptures": {
684 "1": {
685 "name": "keyword.directive.nginx"
686 },
687 "2": {
688 "name": "keyword.directive.nginx"
689 },
690 "3": {
691 "name": "keyword.directive.nginx"
692 },
693 "4": {
694 "name": "keyword.directive.nginx"
695 }
696 },
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 "end": ";",
711 "beginCaptures": {
712 "1": {
713 "name": "keyword.directive.nginx"
714 },
715 "2": {
716 "name": "keyword.directive.nginx"
717 },
718 "3": {
719 "name": "keyword.directive.nginx"
720 },
721 "4": {
722 "name": "keyword.directive.nginx"
723 }
724 },
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 "end": ";",
739 "beginCaptures": {
740 "1": {
741 "name": "keyword.directive.nginx"
742 },
743 "2": {
744 "name": "keyword.directive.nginx"
745 },
746 "3": {
747 "name": "keyword.directive.nginx"
748 },
749 "4": {
750 "name": "keyword.directive.nginx"
751 }
752 },
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 "end": ";",
767 "beginCaptures": {
768 "1": {
769 "name": "keyword.directive.nginx"
770 },
771 "2": {
772 "name": "keyword.directive.nginx"
773 },
774 "3": {
775 "name": "keyword.directive.nginx"
776 },
777 "4": {
778 "name": "keyword.directive.nginx"
779 }
780 },
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 "end": ";",
795 "beginCaptures": {
796 "1": {
797 "name": "keyword.directive.nginx"
798 },
799 "2": {
800 "name": "keyword.directive.nginx"
801 },
802 "3": {
803 "name": "keyword.directive.nginx"
804 },
805 "4": {
806 "name": "keyword.directive.nginx"
807 }
808 },
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 "end": ";",
823 "beginCaptures": {
824 "1": {
825 "name": "keyword.directive.nginx"
826 },
827 "2": {
828 "name": "keyword.directive.nginx"
829 },
830 "3": {
831 "name": "keyword.directive.nginx"
832 },
833 "4": {
834 "name": "keyword.directive.nginx"
835 }
836 },
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 "end": ";",
851 "beginCaptures": {
852 "1": {
853 "name": "keyword.directive.nginx"
854 },
855 "2": {
856 "name": "keyword.directive.nginx"
857 },
858 "3": {
859 "name": "keyword.directive.nginx"
860 },
861 "4": {
862 "name": "keyword.directive.nginx"
863 }
864 },
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 "end": ";",
879 "beginCaptures": {
880 "1": {
881 "name": "keyword.directive.nginx"
882 },
883 "2": {
884 "name": "keyword.directive.nginx"
885 },
886 "3": {
887 "name": "keyword.directive.nginx"
888 },
889 "4": {
890 "name": "keyword.directive.nginx"
891 }
892 },
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 "end": ";",
907 "beginCaptures": {
908 "1": {
909 "name": "keyword.directive.nginx"
910 },
911 "2": {
912 "name": "keyword.directive.nginx"
913 },
914 "3": {
915 "name": "keyword.directive.nginx"
916 },
917 "4": {
918 "name": "keyword.directive.nginx"
919 }
920 },
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 "end": ";",
935 "beginCaptures": {
936 "1": {
937 "name": "keyword.directive.nginx"
938 },
939 "2": {
940 "name": "keyword.directive.nginx"
941 },
942 "3": {
943 "name": "keyword.directive.nginx"
944 },
945 "4": {
946 "name": "keyword.directive.nginx"
947 }
948 },
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 "end": ";",
963 "beginCaptures": {
964 "1": {
965 "name": "keyword.directive.nginx"
966 },
967 "2": {
968 "name": "keyword.directive.nginx"
969 },
970 "3": {
971 "name": "keyword.directive.nginx"
972 },
973 "4": {
974 "name": "keyword.directive.nginx"
975 }
976 },
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 "end": ";",
991 "beginCaptures": {
992 "1": {
993 "name": "keyword.directive.nginx"
994 },
995 "2": {
996 "name": "keyword.directive.nginx"
997 },
998 "3": {
999 "name": "keyword.directive.nginx"
1000 },
1001 "4": {
1002 "name": "keyword.directive.nginx"
1003 }
1004 },
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 "end": ";",
1019 "beginCaptures": {
1020 "1": {
1021 "name": "keyword.directive.nginx"
1022 },
1023 "2": {
1024 "name": "keyword.directive.nginx"
1025 },
1026 "3": {
1027 "name": "keyword.directive.nginx"
1028 },
1029 "4": {
1030 "name": "keyword.directive.nginx"
1031 }
1032 },
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 "end": ";",
1047 "beginCaptures": {
1048 "1": {
1049 "name": "keyword.directive.nginx"
1050 },
1051 "2": {
1052 "name": "keyword.directive.nginx"
1053 },
1054 "3": {
1055 "name": "keyword.directive.nginx"
1056 },
1057 "4": {
1058 "name": "keyword.directive.nginx"
1059 }
1060 },
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 "end": ";",
1075 "beginCaptures": {
1076 "1": {
1077 "name": "keyword.directive.nginx"
1078 },
1079 "2": {
1080 "name": "keyword.directive.nginx"
1081 },
1082 "3": {
1083 "name": "keyword.directive.nginx"
1084 },
1085 "4": {
1086 "name": "keyword.directive.nginx"
1087 }
1088 },
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 "end": ";",
1103 "beginCaptures": {
1104 "1": {
1105 "name": "keyword.directive.nginx"
1106 },
1107 "2": {
1108 "name": "keyword.directive.nginx"
1109 },
1110 "3": {
1111 "name": "keyword.directive.nginx"
1112 },
1113 "4": {
1114 "name": "keyword.directive.nginx"
1115 }
1116 },
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 "end": ";",
1131 "beginCaptures": {
1132 "1": {
1133 "name": "keyword.directive.nginx"
1134 },
1135 "2": {
1136 "name": "keyword.directive.nginx"
1137 },
1138 "3": {
1139 "name": "keyword.directive.nginx"
1140 },
1141 "4": {
1142 "name": "keyword.directive.nginx"
1143 }
1144 },
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 "end": ";",
1159 "beginCaptures": {
1160 "1": {
1161 "name": "keyword.directive.nginx"
1162 },
1163 "2": {
1164 "name": "keyword.directive.nginx"
1165 },
1166 "3": {
1167 "name": "keyword.directive.nginx"
1168 },
1169 "4": {
1170 "name": "keyword.directive.nginx"
1171 }
1172 },
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 "end": ";",
1187 "beginCaptures": {
1188 "1": {
1189 "name": "keyword.directive.nginx"
1190 },
1191 "2": {
1192 "name": "keyword.directive.nginx"
1193 },
1194 "3": {
1195 "name": "keyword.directive.nginx"
1196 },
1197 "4": {
1198 "name": "keyword.directive.nginx"
1199 }
1200 },
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 "end": ";",
1215 "beginCaptures": {
1216 "1": {
1217 "name": "keyword.directive.nginx"
1218 },
1219 "2": {
1220 "name": "keyword.directive.nginx"
1221 },
1222 "3": {
1223 "name": "keyword.directive.nginx"
1224 },
1225 "4": {
1226 "name": "keyword.directive.nginx"
1227 }
1228 },
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 "end": ";",
1243 "beginCaptures": {
1244 "1": {
1245 "name": "keyword.directive.nginx"
1246 },
1247 "2": {
1248 "name": "keyword.directive.nginx"
1249 },
1250 "3": {
1251 "name": "keyword.directive.nginx"
1252 },
1253 "4": {
1254 "name": "keyword.directive.nginx"
1255 }
1256 },
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 "end": ";",
1271 "beginCaptures": {
1272 "1": {
1273 "name": "keyword.directive.nginx"
1274 },
1275 "2": {
1276 "name": "keyword.directive.nginx"
1277 },
1278 "3": {
1279 "name": "keyword.directive.nginx"
1280 },
1281 "4": {
1282 "name": "keyword.directive.nginx"
1283 }
1284 },
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 "end": ";",
1299 "beginCaptures": {
1300 "1": {
1301 "name": "keyword.directive.nginx"
1302 },
1303 "2": {
1304 "name": "keyword.directive.nginx"
1305 },
1306 "3": {
1307 "name": "keyword.directive.nginx"
1308 },
1309 "4": {
1310 "name": "keyword.directive.nginx"
1311 }
1312 },
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 "end": ";",
1327 "beginCaptures": {
1328 "1": {
1329 "name": "keyword.directive.nginx"
1330 },
1331 "2": {
1332 "name": "keyword.directive.nginx"
1333 },
1334 "3": {
1335 "name": "keyword.directive.nginx"
1336 },
1337 "4": {
1338 "name": "keyword.directive.nginx"
1339 }
1340 },
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 "end": ";",
1355 "beginCaptures": {
1356 "1": {
1357 "name": "keyword.directive.nginx"
1358 },
1359 "2": {
1360 "name": "keyword.directive.nginx"
1361 },
1362 "3": {
1363 "name": "keyword.directive.nginx"
1364 },
1365 "4": {
1366 "name": "keyword.directive.nginx"
1367 }
1368 },
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 "end": ";",
1383 "beginCaptures": {
1384 "1": {
1385 "name": "keyword.directive.nginx"
1386 },
1387 "2": {
1388 "name": "keyword.directive.nginx"
1389 },
1390 "3": {
1391 "name": "keyword.directive.nginx"
1392 },
1393 "4": {
1394 "name": "keyword.directive.nginx"
1395 }
1396 },
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 "end": ";",
1411 "beginCaptures": {
1412 "1": {
1413 "name": "keyword.directive.nginx"
1414 },
1415 "2": {
1416 "name": "keyword.directive.nginx"
1417 },
1418 "3": {
1419 "name": "keyword.directive.nginx"
1420 },
1421 "4": {
1422 "name": "keyword.directive.nginx"
1423 }
1424 },
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 "end": ";",
1439 "beginCaptures": {
1440 "1": {
1441 "name": "keyword.directive.nginx"
1442 },
1443 "2": {
1444 "name": "keyword.directive.nginx"
1445 },
1446 "3": {
1447 "name": "keyword.directive.nginx"
1448 },
1449 "4": {
1450 "name": "keyword.directive.nginx"
1451 }
1452 },
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 "end": ";",
1467 "beginCaptures": {
1468 "1": {
1469 "name": "keyword.directive.nginx"
1470 },
1471 "2": {
1472 "name": "keyword.directive.nginx"
1473 },
1474 "3": {
1475 "name": "keyword.directive.nginx"
1476 },
1477 "4": {
1478 "name": "keyword.directive.nginx"
1479 }
1480 },
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 "end": ";",
1495 "beginCaptures": {
1496 "1": {
1497 "name": "keyword.directive.nginx"
1498 },
1499 "2": {
1500 "name": "keyword.directive.nginx"
1501 },
1502 "3": {
1503 "name": "keyword.directive.nginx"
1504 },
1505 "4": {
1506 "name": "keyword.directive.nginx"
1507 }
1508 },
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 "end": ";",
1523 "beginCaptures": {
1524 "1": {
1525 "name": "keyword.directive.nginx"
1526 },
1527 "2": {
1528 "name": "keyword.directive.nginx"
1529 },
1530 "3": {
1531 "name": "keyword.directive.nginx"
1532 },
1533 "4": {
1534 "name": "keyword.directive.nginx"
1535 }
1536 },
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 "end": ";",
1551 "beginCaptures": {
1552 "1": {
1553 "name": "keyword.directive.nginx"
1554 },
1555 "2": {
1556 "name": "keyword.directive.nginx"
1557 },
1558 "3": {
1559 "name": "keyword.directive.nginx"
1560 },
1561 "4": {
1562 "name": "keyword.directive.nginx"
1563 }
1564 },
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 "end": ";",
1579 "beginCaptures": {
1580 "1": {
1581 "name": "keyword.directive.nginx"
1582 },
1583 "2": {
1584 "name": "keyword.directive.nginx"
1585 },
1586 "3": {
1587 "name": "keyword.directive.nginx"
1588 },
1589 "4": {
1590 "name": "keyword.directive.nginx"
1591 }
1592 },
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 "end": ";",
1607 "beginCaptures": {
1608 "1": {
1609 "name": "keyword.directive.nginx"
1610 },
1611 "2": {
1612 "name": "keyword.directive.nginx"
1613 },
1614 "3": {
1615 "name": "keyword.directive.nginx"
1616 },
1617 "4": {
1618 "name": "keyword.directive.nginx"
1619 }
1620 },
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 "end": ";",
1635 "beginCaptures": {
1636 "1": {
1637 "name": "keyword.directive.nginx"
1638 },
1639 "2": {
1640 "name": "keyword.directive.nginx"
1641 },
1642 "3": {
1643 "name": "keyword.directive.nginx"
1644 },
1645 "4": {
1646 "name": "keyword.directive.nginx"
1647 }
1648 },
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 "end": ";",
1663 "beginCaptures": {
1664 "1": {
1665 "name": "keyword.directive.nginx"
1666 },
1667 "2": {
1668 "name": "keyword.directive.nginx"
1669 },
1670 "3": {
1671 "name": "keyword.directive.nginx"
1672 },
1673 "4": {
1674 "name": "keyword.directive.nginx"
1675 }
1676 },
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 "end": ";",
1691 "beginCaptures": {
1692 "1": {
1693 "name": "keyword.directive.nginx"
1694 },
1695 "2": {
1696 "name": "keyword.directive.nginx"
1697 },
1698 "3": {
1699 "name": "keyword.directive.nginx"
1700 },
1701 "4": {
1702 "name": "keyword.directive.nginx"
1703 }
1704 },
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 "end": ";",
1719 "beginCaptures": {
1720 "1": {
1721 "name": "keyword.directive.nginx"
1722 },
1723 "2": {
1724 "name": "keyword.directive.nginx"
1725 },
1726 "3": {
1727 "name": "keyword.directive.nginx"
1728 },
1729 "4": {
1730 "name": "keyword.directive.nginx"
1731 }
1732 },
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 "end": ";",
1747 "beginCaptures": {
1748 "1": {
1749 "name": "keyword.directive.nginx"
1750 },
1751 "2": {
1752 "name": "keyword.directive.nginx"
1753 },
1754 "3": {
1755 "name": "keyword.directive.nginx"
1756 },
1757 "4": {
1758 "name": "keyword.directive.nginx"
1759 }
1760 },
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 "end": ";",
1775 "beginCaptures": {
1776 "1": {
1777 "name": "keyword.directive.nginx"
1778 },
1779 "2": {
1780 "name": "keyword.directive.nginx"
1781 },
1782 "3": {
1783 "name": "keyword.directive.nginx"
1784 },
1785 "4": {
1786 "name": "keyword.directive.nginx"
1787 }
1788 },
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 "end": ";",
1803 "beginCaptures": {
1804 "1": {
1805 "name": "keyword.directive.nginx"
1806 },
1807 "2": {
1808 "name": "keyword.directive.nginx"
1809 },
1810 "3": {
1811 "name": "keyword.directive.nginx"
1812 },
1813 "4": {
1814 "name": "keyword.directive.nginx"
1815 }
1816 },
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 "end": ";",
1831 "beginCaptures": {
1832 "1": {
1833 "name": "keyword.directive.nginx"
1834 },
1835 "2": {
1836 "name": "keyword.directive.nginx"
1837 },
1838 "3": {
1839 "name": "keyword.directive.nginx"
1840 },
1841 "4": {
1842 "name": "keyword.directive.nginx"
1843 }
1844 },
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 "end": ";",
1859 "beginCaptures": {
1860 "1": {
1861 "name": "keyword.directive.nginx"
1862 },
1863 "2": {
1864 "name": "keyword.directive.nginx"
1865 },
1866 "3": {
1867 "name": "keyword.directive.nginx"
1868 },
1869 "4": {
1870 "name": "keyword.directive.nginx"
1871 }
1872 },
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 "end": ";",
1887 "beginCaptures": {
1888 "1": {
1889 "name": "keyword.directive.nginx"
1890 },
1891 "2": {
1892 "name": "keyword.directive.nginx"
1893 },
1894 "3": {
1895 "name": "keyword.directive.nginx"
1896 },
1897 "4": {
1898 "name": "keyword.directive.nginx"
1899 }
1900 },
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 "end": ";",
1915 "beginCaptures": {
1916 "1": {
1917 "name": "keyword.directive.nginx"
1918 },
1919 "2": {
1920 "name": "keyword.directive.nginx"
1921 },
1922 "3": {
1923 "name": "keyword.directive.nginx"
1924 }
1925 },
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 "end": "(;|$)",
1940 "beginCaptures": {
1941 "1": {
1942 "name": "keyword.directive.unknown.nginx"
1943 }
1944 },
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 "end": "(;)",
1959 "beginCaptures": {
1960 "1": {
1961 "name": "constant.other.mediatype.nginx"
1962 }
1963 },
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 "name": "keyword.operator.nginx",
1984 "match": "\\!?\\~\\*?\\s"
1985 },
1986 {
1987 "name": "keyword.operator.nginx",
1988 "match": "\\!?\\-[fdex]\\s"
1989 },
1990 {
1991 "name": "keyword.operator.nginx",
1992 "match": "\\!?=[^=]"
1993 },
1994 {
1995 "include": "#regexp_and_string"
1996 }
1997 ]
1998 },
1999 "server_parameters": {
2000 "patterns": [
2001 {
2002 "match": "(?:^|\\s)(weight|max_conn|max_fails|fail_timeout|slow_start)(=)([0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?:\\s|;|$)",
2003 "captures": {
2004 "1": {
2005 "name": "variable.parameter.nginx"
2006 },
2007 "2": {
2008 "name": "keyword.operator.nginx"
2009 },
2010 "3": {
2011 "name": "constant.numeric.nginx"
2012 }
2013 }
2014 },
2015 {
2016 "include": "#values"
2017 }
2018 ]
2019 },
2020 "variables": {
2021 "patterns": [
2022 {
2023 "match": "(\\$)([A-Za-z0-9\\_]+)\\b",
2024 "captures": {
2025 "1": {
2026 "name": "punctuation.definition.variable.nginx"
2027 },
2028 "2": {
2029 "name": "variable.other.nginx"
2030 }
2031 }
2032 },
2033 {
2034 "match": "(\\$\\{)([A-Za-z0-9\\_]+)(\\})",
2035 "captures": {
2036 "1": {
2037 "name": "punctuation.definition.variable.nginx"
2038 },
2039 "2": {
2040 "name": "variable.other.nginx"
2041 },
2042 "3": {
2043 "name": "punctuation.definition.variable.nginx"
2044 }
2045 }
2046 }
2047 ]
2048 },
2049 "regexp_and_string": {
2050 "patterns": [
2051 {
2052 "name": "string.regexp.nginx",
2053 "match": "\\^.*?\\$"
2054 },
2055 {
2056 "name": "string.quoted.double.nginx",
2057 "begin": "\"",
2058 "end": "\"",
2059 "patterns": [
2060 {
2061 "name": "constant.character.escape.nginx",
2062 "match": "\\\\[\"'nt\\\\]"
2063 },
2064 {
2065 "include": "#variables"
2066 }
2067 ]
2068 },
2069 {
2070 "name": "string.quoted.single.nginx",
2071 "begin": "'",
2072 "end": "'",
2073 "patterns": [
2074 {
2075 "name": "constant.character.escape.nginx",
2076 "match": "\\\\[\"'nt\\\\]"
2077 },
2078 {
2079 "include": "#variables"
2080 }
2081 ]
2082 }
2083 ]
2084 },
2085 "values": {
2086 "patterns": [
2087 {
2088 "include": "#variables"
2089 },
2090 {
2091 "name": "comment.line.number-sign",
2092 "match": "\\#.*"
2093 },
2094 {
2095 "match": "[\\t ](=?[0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?=[\\t ;])",
2096 "captures": {
2097 "1": {
2098 "name": "constant.numeric.nginx"
2099 }
2100 }
2101 },
2102 {
2103 "name": "constant.language.nginx",
2104 "match": "[\\t ](on|off|true|false)(?=[\\t ;])"
2105 },
2106 {
2107 "name": "constant.language.nginx",
2108 "match": "[\\t ](kqueue|rtsig|epoll|\\/dev\\/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t ;])"
2109 },
2110 {
2111 "name": "keyword.operator.nginx",
2112 "match": "\\\\.*\\ |\\~\\*|\\~|\\!\\~\\*|\\!\\~"
2113 },
2114 {
2115 "include": "#regexp_and_string"
2116 }
2117 ]
2118 }
2119 },
2120 "scopeName": "source.nginx",
2121 "uuid": "0C04066A-12D2-43CA-8238-00A12CE4C12D"
2122 }
2123