@@ -12,28 +12,32 @@ setlocal iskeyword+=/
1212setlocal iskeyword += :
1313
1414syn match ngxVariable ' \$\(\w\+\| {\w\+ }\) '
15- syn match ngxVariableBlock ' \$\(\w\+\| {\w\+ }\) ' contained
1615syn match ngxVariableString ' \$\(\w\+\| {\w\+ }\) ' contained
17- syn region ngxBlock start =+ ^+ end =+ {+ skip =+ \$ {+ contains =ngxComment,ngxDirectiveBlock,ngxVariableBlock,ngxString oneline
18- syn region ngxString start =+ \z (["']\) + end =+ \z 1+ skip =+ \\\\\|\\\z 1+ contains =ngxVariableString
1916syn match ngxComment ' *#.*$'
17+ syn match ngxRewriteURI / \S\+ / contained contains =ngxVariableString nextgroup =ngxURI skipwhite
18+ syn match ngxURI / \S\+ / contained contains =ngxVariableString skipwhite
19+ syn match ngxLocationPath / [^ {]\+ / contained
20+ syn region ngxString start =+ \z (["']\) + end =+ \z 1+ skip =+ \\\\\|\\\z 1+ contains =ngxVariableString
2021
2122syn keyword ngxBoolean on
2223syn keyword ngxBoolean off
2324
24- syn keyword ngxDirectiveBlock http contained
25- syn keyword ngxDirectiveBlock mail contained
26- syn keyword ngxDirectiveBlock events contained
27- syn keyword ngxDirectiveBlock server contained
28- syn keyword ngxDirectiveBlock types contained
29- syn keyword ngxDirectiveBlock location contained
30- syn keyword ngxDirectiveBlock upstream contained
31- syn keyword ngxDirectiveBlock charset_map contained
32- syn keyword ngxDirectiveBlock limit_except contained
33- syn keyword ngxDirectiveBlock if contained
34- syn keyword ngxDirectiveBlock geo contained
35- syn keyword ngxDirectiveBlock map contained
36- syn keyword ngxDirectiveBlock split_clients contained
25+
26+ syn keyword ngxDirectiveBlock http
27+ syn keyword ngxDirectiveBlock mail
28+ syn keyword ngxDirectiveBlock events
29+ syn keyword ngxDirectiveBlock server
30+ syn keyword ngxDirectiveBlock types
31+ syn match ngxLocationOperator / \( =\|\~\*\|\^\~\|\~\) / contained nextgroup =ngxLocationPath,ngxString skipwhite
32+ syn match ngxLocationNamedLoc / @\w\+ /
33+ syn keyword ngxDirectiveBlock location nextgroup =ngxLocationNamedLoc,ngxLocationOperator,ngxLocationPath,ngxString skipwhite
34+ syn keyword ngxDirectiveBlock upstream
35+ syn keyword ngxDirectiveBlock charset_map
36+ syn keyword ngxDirectiveBlock limit_except
37+ syn keyword ngxDirectiveBlock if
38+ syn keyword ngxDirectiveBlock geo
39+ syn keyword ngxDirectiveBlock map
40+ syn keyword ngxDirectiveBlock split_clients
3741
3842syn keyword ngxDirectiveImportant include
3943syn keyword ngxDirectiveImportant root
@@ -50,16 +54,17 @@ syn keyword ngxDirectiveImportant try_files
5054
5155syn keyword ngxDirectiveControl break
5256syn keyword ngxDirectiveControl return
53- syn keyword ngxDirectiveControl rewrite
57+ syn keyword ngxDirectiveControl rewrite nextgroup = ngxRewriteURI skipwhite
5458syn keyword ngxDirectiveControl set
5559
60+ syn keyword ngxRewriteFlag last break redirect permanent
61+
5662syn keyword ngxDirectiveError error_page
5763syn keyword ngxDirectiveError post_action
5864
5965syn keyword ngxDirectiveDeprecated connections
6066syn keyword ngxDirectiveDeprecated imap
6167syn keyword ngxDirectiveDeprecated limit_zone
62- syn keyword ngxDirectiveDeprecated mysql_test
6368syn keyword ngxDirectiveDeprecated open_file_cache_retest
6469syn keyword ngxDirectiveDeprecated optimize_server_names
6570syn keyword ngxDirectiveDeprecated satisfy_any
@@ -131,10 +136,12 @@ syn keyword ngxDirective fastcgi_cache
131136syn keyword ngxDirective fastcgi_cache_bypass
132137syn keyword ngxDirective fastcgi_cache_key
133138syn keyword ngxDirective fastcgi_cache_lock
139+ syn keyword ngxDirective fastcgi_cache_lock_age
134140syn keyword ngxDirective fastcgi_cache_lock_timeout
135141syn keyword ngxDirective fastcgi_cache_methods
136142syn keyword ngxDirective fastcgi_cache_min_uses
137143syn keyword ngxDirective fastcgi_cache_path
144+ syn keyword ngxDirective fastcgi_cache_purge
138145syn keyword ngxDirective fastcgi_cache_revalidate
139146syn keyword ngxDirective fastcgi_cache_use_stale
140147syn keyword ngxDirective fastcgi_cache_valid
@@ -147,6 +154,7 @@ syn keyword ngxDirective fastcgi_ignore_headers
147154syn keyword ngxDirective fastcgi_index
148155syn keyword ngxDirective fastcgi_intercept_errors
149156syn keyword ngxDirective fastcgi_keep_conn
157+ syn keyword ngxDirective fastcgi_limit_rate
150158syn keyword ngxDirective fastcgi_max_temp_file_size
151159syn keyword ngxDirective fastcgi_next_upstream
152160syn keyword ngxDirective fastcgi_next_upstream_timeout
@@ -157,6 +165,7 @@ syn keyword ngxDirective fastcgi_pass_header
157165syn keyword ngxDirective fastcgi_pass_request_body
158166syn keyword ngxDirective fastcgi_pass_request_headers
159167syn keyword ngxDirective fastcgi_read_timeout
168+ syn keyword ngxDirective fastcgi_request_buffering
160169syn keyword ngxDirective fastcgi_send_lowat
161170syn keyword ngxDirective fastcgi_send_timeout
162171syn keyword ngxDirective fastcgi_split_path_info
@@ -187,6 +196,7 @@ syn keyword ngxDirective gzip_types
187196syn keyword ngxDirective gzip_vary
188197syn keyword ngxDirective gzip_window
189198syn keyword ngxDirective hash
199+ syn keyword ngxDirective http2 " Not a real directive
190200syn keyword ngxDirective if_modified_since
191201syn keyword ngxDirective ignore_invalid_headers
192202syn keyword ngxDirective image_filter
@@ -201,6 +211,8 @@ syn keyword ngxDirective imap_client_buffer
201211syn keyword ngxDirective index
202212syn keyword ngxDirective iocp_threads
203213syn keyword ngxDirective ip_hash
214+ syn keyword ngxDirective js_run
215+ syn keyword ngxDirective js_set
204216syn keyword ngxDirective keepalive
205217syn keyword ngxDirective keepalive_disable
206218syn keyword ngxDirective keepalive_requests
@@ -246,9 +258,12 @@ syn keyword ngxDirective modern_browser_value
246258syn keyword ngxDirective mp4
247259syn keyword ngxDirective mp4_buffer_size
248260syn keyword ngxDirective mp4_max_buffer_size
261+ syn keyword ngxDirective mp4_limit_rate
262+ syn keyword ngxDirective mp4_limit_rate_after
249263syn keyword ngxDirective msie_padding
250264syn keyword ngxDirective msie_refresh
251265syn keyword ngxDirective multi_accept
266+ syn keyword ngxDirective mysql_test
252267syn keyword ngxDirective open_file_cache
253268syn keyword ngxDirective open_file_cache_errors
254269syn keyword ngxDirective open_file_cache_events
@@ -269,7 +284,8 @@ syn keyword ngxDirective port_in_redirect
269284syn keyword ngxDirective post_acceptex
270285syn keyword ngxDirective postpone_gzipping
271286syn keyword ngxDirective postpone_output
272- syn keyword ngxDirective protocol
287+ syn keyword ngxDirective protocol nextgroup =ngxMailProtocol skipwhite
288+ syn keyword ngxMailProtocol imap pop3 smtp
273289syn keyword ngxDirective proxy
274290syn keyword ngxDirective proxy_bind
275291syn keyword ngxDirective proxy_buffer
@@ -473,6 +489,7 @@ syn keyword ngxDirective uwsgi_cache
473489syn keyword ngxDirective uwsgi_cache_bypass
474490syn keyword ngxDirective uwsgi_cache_key
475491syn keyword ngxDirective uwsgi_cache_lock
492+ syn keyword ngxDirective uwsgi_cache_lock_age
476493syn keyword ngxDirective uwsgi_cache_lock_timeout
477494syn keyword ngxDirective uwsgi_cache_methods
478495syn keyword ngxDirective uwsgi_cache_min_uses
@@ -494,14 +511,19 @@ syn keyword ngxDirective uwsgi_next_upstream_timeout
494511syn keyword ngxDirective uwsgi_next_upstream_tries
495512syn keyword ngxDirective uwsgi_no_cache
496513syn keyword ngxDirective uwsgi_param
514+ syn keyword ngxDirective uwsgi_pass
497515syn keyword ngxDirective uwsgi_pass_header
498516syn keyword ngxDirective uwsgi_pass_request_body
499517syn keyword ngxDirective uwsgi_pass_request_headers
500518syn keyword ngxDirective uwsgi_read_timeout
519+ syn keyword ngxDirective uwsgi_request_buffering
501520syn keyword ngxDirective uwsgi_send_timeout
521+ syn keyword ngxDirective uwsgi_ssl_certificate
522+ syn keyword ngxDirective uwsgi_ssl_certificate_key
502523syn keyword ngxDirective uwsgi_ssl_ciphers
503524syn keyword ngxDirective uwsgi_ssl_crl
504525syn keyword ngxDirective uwsgi_ssl_name
526+ syn keyword ngxDirective uwsgi_ssl_password_file
505527syn keyword ngxDirective uwsgi_ssl_protocols
506528syn keyword ngxDirective uwsgi_ssl_server_name
507529syn keyword ngxDirective uwsgi_ssl_session_reuse
@@ -553,6 +575,16 @@ syn keyword ngxDirectiveThirdParty accesskey_signature
553575syn keyword ngxDirectiveThirdParty auth_pam
554576syn keyword ngxDirectiveThirdParty auth_pam_service_name
555577
578+ " Brotli Module <https://github.com/google/ngx_brotli>
579+ " Nginx module for Brotli compression
580+ syn keyword ngxDirectiveThirdParty brotli_static
581+ syn keyword ngxDirectiveThirdParty brotli
582+ syn keyword ngxDirectiveThirdParty brotli_types
583+ syn keyword ngxDirectiveThirdParty brotli_buffers
584+ syn keyword ngxDirectiveThirdParty brotli_comp_level
585+ syn keyword ngxDirectiveThirdParty brotli_window
586+ syn keyword ngxDirectiveThirdParty brotli_min_length
587+
556588" Cache Purge Module <http://labs.frickle.com/nginx_ngx_cache_purge/>
557589" Module adding ability to purge content from FastCGI and proxy caches.
558590syn keyword ngxDirectiveThirdParty fastcgi_cache_purge
@@ -606,7 +638,7 @@ syn keyword ngxDirectiveThirdParty echo_subrequest
606638syn keyword ngxDirectiveThirdParty echo_subrequest_async
607639
608640" Events Module <http://docs.dutov.org/nginx_modules_events_en.html>
609- " Provides options for start/stop events.
641+ " Privides options for start/stop events.
610642syn keyword ngxDirectiveThirdParty on_start
611643syn keyword ngxDirectiveThirdParty on_stop
612644
@@ -671,6 +703,70 @@ syn keyword ngxDirectiveThirdParty js_utf8
671703syn keyword ngxDirectiveThirdParty log_request_speed_filter
672704syn keyword ngxDirectiveThirdParty log_request_speed_filter_timeout
673705
706+
707+ " Lua Module <https://github.com/openresty/lua-nginx-module>
708+ " Embed the Power of Lua into NGINX HTTP servers
709+ syn keyword ngxDirectiveThirdParty lua_use_default_type
710+ syn keyword ngxDirectiveThirdParty lua_code_cache
711+ syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries
712+ syn keyword ngxDirectiveThirdParty lua_regex_match_limit
713+ syn keyword ngxDirectiveThirdParty lua_package_path
714+ syn keyword ngxDirectiveThirdParty lua_package_cpath
715+ syn keyword ngxDirectiveThirdParty init_by_lua
716+ syn keyword ngxDirectiveThirdParty init_by_lua_block
717+ syn keyword ngxDirectiveThirdParty init_by_lua_file
718+ syn keyword ngxDirectiveThirdParty init_worker_by_lua
719+ syn keyword ngxDirectiveThirdParty init_worker_by_lua_block
720+ syn keyword ngxDirectiveThirdParty init_worker_by_lua_file
721+ syn keyword ngxDirectiveThirdParty set_by_lua
722+ syn keyword ngxDirectiveThirdParty set_by_lua_block
723+ syn keyword ngxDirectiveThirdParty set_by_lua_file
724+ syn keyword ngxDirectiveThirdParty content_by_lua
725+ syn keyword ngxDirectiveThirdParty content_by_lua_block
726+ syn keyword ngxDirectiveThirdParty content_by_lua_file
727+ syn keyword ngxDirectiveThirdParty rewrite_by_lua
728+ syn keyword ngxDirectiveThirdParty rewrite_by_lua_block
729+ syn keyword ngxDirectiveThirdParty rewrite_by_lua_file
730+ syn keyword ngxDirectiveThirdParty access_by_lua
731+ syn keyword ngxDirectiveThirdParty access_by_lua_block
732+ syn keyword ngxDirectiveThirdParty access_by_lua_file
733+ syn keyword ngxDirectiveThirdParty header_filter_by_lua
734+ syn keyword ngxDirectiveThirdParty header_filter_by_lua_block
735+ syn keyword ngxDirectiveThirdParty header_filter_by_lua_file
736+ syn keyword ngxDirectiveThirdParty body_filter_by_lua
737+ syn keyword ngxDirectiveThirdParty body_filter_by_lua_block
738+ syn keyword ngxDirectiveThirdParty body_filter_by_lua_file
739+ syn keyword ngxDirectiveThirdParty log_by_lua
740+ syn keyword ngxDirectiveThirdParty log_by_lua_block
741+ syn keyword ngxDirectiveThirdParty log_by_lua_file
742+ syn keyword ngxDirectiveThirdParty balancer_by_lua_block
743+ syn keyword ngxDirectiveThirdParty balancer_by_lua_file
744+ syn keyword ngxDirectiveThirdParty lua_need_request_body
745+ syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_block
746+ syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file
747+ syn keyword ngxDirectiveThirdParty lua_shared_dict
748+ syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout
749+ syn keyword ngxDirectiveThirdParty lua_socket_send_timeout
750+ syn keyword ngxDirectiveThirdParty lua_socket_send_lowat
751+ syn keyword ngxDirectiveThirdParty lua_socket_read_timeout
752+ syn keyword ngxDirectiveThirdParty lua_socket_buffer_size
753+ syn keyword ngxDirectiveThirdParty lua_socket_pool_size
754+ syn keyword ngxDirectiveThirdParty lua_socket_keepalive_timeout
755+ syn keyword ngxDirectiveThirdParty lua_socket_log_errors
756+ syn keyword ngxDirectiveThirdParty lua_ssl_ciphers
757+ syn keyword ngxDirectiveThirdParty lua_ssl_crl
758+ syn keyword ngxDirectiveThirdParty lua_ssl_protocols
759+ syn keyword ngxDirectiveThirdParty lua_ssl_trusted_certificate
760+ syn keyword ngxDirectiveThirdParty lua_ssl_verify_depth
761+ syn keyword ngxDirectiveThirdParty lua_http10_buffering
762+ syn keyword ngxDirectiveThirdParty rewrite_by_lua_no_postpone
763+ syn keyword ngxDirectiveThirdParty access_by_lua_no_postpone
764+ syn keyword ngxDirectiveThirdParty lua_transform_underscores_in_response_headers
765+ syn keyword ngxDirectiveThirdParty lua_check_client_abort
766+ syn keyword ngxDirectiveThirdParty lua_max_pending_timers
767+ syn keyword ngxDirectiveThirdParty lua_max_running_timers
768+
769+
674770" Memc Module <http://wiki.nginx.org/NginxHttpMemcModule>
675771" An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands.
676772syn keyword ngxDirectiveThirdParty memc_buffer_size
@@ -821,12 +917,13 @@ syn keyword ngxDirectiveThirdParty xss_output_type
821917
822918hi link ngxComment Comment
823919hi link ngxVariable Identifier
824- hi link ngxVariableBlock Identifier
825920hi link ngxVariableString PreProc
826- hi link ngxBlock Normal
827921hi link ngxString String
922+ hi link ngxLocationPath String
923+ hi link ngxLocationNamedLoc Identifier
828924
829925hi link ngxBoolean Boolean
926+ hi link ngxRewriteFlag Boolean
830927hi link ngxDirectiveBlock Statement
831928hi link ngxDirectiveImportant Type
832929hi link ngxDirectiveControl Keyword
0 commit comments