<div dir="ltr">This new patch fixed the issues in previous patch.<br><br>Now the string and regexp are recognized well. <br>No keywords will highlight inside these two kind of sections.<br><br>Besides bug fixing, I also add lua, brotli, nginScript support.<br><br>Screenshots:<br><a href="https://www.flickr.com/photos/othree/25212844679/">https://www.flickr.com/photos/othree/25212844679/</a><br><a href="https://www.flickr.com/photos/othree/25580381505/">https://www.flickr.com/photos/othree/25580381505/</a><br><a href="https://www.flickr.com/photos/othree/25461861942/">https://www.flickr.com/photos/othree/25461861942/</a><br><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-07 17:30 GMT+08:00 OOO <span dir="ltr"><<a href="mailto:othree@gmail.com" target="_blank">othree@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"># HG changeset patch<br># User Kao, Wei-Ko(othree) <<a href="mailto:othree@gmail.com" target="_blank">othree@gmail.com</a>><br># Date 1457339778 -28800<br># Mon Mar 07 16:36:18 2016 +0800<br># Node ID e0cfa435fe182f1533ae8c7a4eb5ee398dc83c4e<br># Parent c5f81dcf97a79576138917501c9a6cc6f53ee930<br>Update vim syntax file<br><br>Updates including:<br>* Fix regexp in string might breaks location ngxBlock<br>* Add lua, brotli, nginScript modules<br>* Update uwsgi, fast_cgi, mp4 directives to latest version<br>* Highlight rewrite flags<br><br>diff --git a/contrib/vim/syntax/nginx.vim b/contrib/vim/syntax/nginx.vim<br>--- a/contrib/vim/syntax/nginx.vim<br>+++ b/contrib/vim/syntax/nginx.vim<br>@@ -5,57 +5,63 @@ if exists("b:current_syntax")<br> finish<br> end<br> <br> setlocal iskeyword+=.<br> setlocal iskeyword+=/<br> setlocal iskeyword+=:<br> <br> syn match ngxVariable '\$\(\w\+\|{\w\+}\)'<br>-syn match ngxVariableBlock '\$\(\w\+\|{\w\+}\)' contained<br> syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained<br>-syn region ngxBlock start=+^+ end=+{+ skip=+\${+ contains=ngxComment,ngxDirectiveBlock,ngxVariableBlock,ngxString oneline<br>+syn match ngxComment ' *#.*$'<br>+syn match ngxRewriteURI /\S\+/ contained contains=ngxVariableString nextgroup=ngxURI skipwhite<br>+syn match ngxURI /\S\+/ contained contains=ngxVariableString skipwhite<br>+syn match ngxLocationPath /[^ {]\+/ contained<br> syn region ngxString start=+\z(["']\)+ end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString<br>-syn match ngxComment ' *#.*$'<br> <br> syn keyword ngxBoolean on<br> syn keyword ngxBoolean off<br> <br>-syn keyword ngxDirectiveBlock http contained<br>-syn keyword ngxDirectiveBlock mail contained<br>-syn keyword ngxDirectiveBlock events contained<br>-syn keyword ngxDirectiveBlock server contained<br>-syn keyword ngxDirectiveBlock types contained<br>-syn keyword ngxDirectiveBlock location contained<br>-syn keyword ngxDirectiveBlock upstream contained<br>-syn keyword ngxDirectiveBlock charset_map contained<br>-syn keyword ngxDirectiveBlock limit_except contained<br>-syn keyword ngxDirectiveBlock if contained<br>-syn keyword ngxDirectiveBlock geo contained<br>-syn keyword ngxDirectiveBlock map contained<br>-syn keyword ngxDirectiveBlock split_clients contained<br>+<br>+syn keyword ngxDirectiveBlock http<br>+syn keyword ngxDirectiveBlock mail<br>+syn keyword ngxDirectiveBlock events<br>+syn keyword ngxDirectiveBlock server<br>+syn keyword ngxDirectiveBlock types<br>+syn match ngxLocationOperator /\(=\|\~\*\|\^\~\|\~\)/ contained nextgroup=ngxLocationPath,ngxString skipwhite<br>+syn match ngxLocationNamedLoc /@\w\+/<br>+syn keyword ngxDirectiveBlock location nextgroup=ngxLocationNamedLoc,ngxLocationOperator,ngxLocationPath,ngxString skipwhite<br>+syn keyword ngxDirectiveBlock upstream<br>+syn keyword ngxDirectiveBlock charset_map<br>+syn keyword ngxDirectiveBlock limit_except<br>+syn keyword ngxDirectiveBlock if<br>+syn keyword ngxDirectiveBlock geo<br>+syn keyword ngxDirectiveBlock map<br>+syn keyword ngxDirectiveBlock split_clients<br> <br> syn keyword ngxDirectiveImportant include<br> syn keyword ngxDirectiveImportant root<br> syn keyword ngxDirectiveImportant server<br> syn keyword ngxDirectiveImportant server_name<br> syn keyword ngxDirectiveImportant listen<br> syn keyword ngxDirectiveImportant internal<br> syn keyword ngxDirectiveImportant proxy_pass<br> syn keyword ngxDirectiveImportant memcached_pass<br> syn keyword ngxDirectiveImportant fastcgi_pass<br> syn keyword ngxDirectiveImportant scgi_pass<br> syn keyword ngxDirectiveImportant uwsgi_pass<br> syn keyword ngxDirectiveImportant try_files<br> <br> syn keyword ngxDirectiveControl break<br> syn keyword ngxDirectiveControl return<br>-syn keyword ngxDirectiveControl rewrite<br>+syn keyword ngxDirectiveControl rewrite nextgroup=ngxRewriteURI skipwhite<br> syn keyword ngxDirectiveControl set<br> <br>+syn keyword ngxRewriteFlag last break redirect permanent<br>+<br> syn keyword ngxDirectiveError error_page<br> syn keyword ngxDirectiveError post_action<br> <br> syn keyword ngxDirectiveDeprecated connections<br> syn keyword ngxDirectiveDeprecated imap<br> syn keyword ngxDirectiveDeprecated limit_zone<br> syn keyword ngxDirectiveDeprecated open_file_cache_retest<br> syn keyword ngxDirectiveDeprecated optimize_server_names<br>@@ -123,42 +129,46 @@ syn keyword ngxDirective fastcgi_bind<br> syn keyword ngxDirective fastcgi_buffer_size<br> syn keyword ngxDirective fastcgi_buffering<br> syn keyword ngxDirective fastcgi_buffers<br> syn keyword ngxDirective fastcgi_busy_buffers_size<br> syn keyword ngxDirective fastcgi_cache<br> syn keyword ngxDirective fastcgi_cache_bypass<br> syn keyword ngxDirective fastcgi_cache_key<br> syn keyword ngxDirective fastcgi_cache_lock<br>+syn keyword ngxDirective fastcgi_cache_lock_age<br> syn keyword ngxDirective fastcgi_cache_lock_timeout<br> syn keyword ngxDirective fastcgi_cache_methods<br> syn keyword ngxDirective fastcgi_cache_min_uses<br> syn keyword ngxDirective fastcgi_cache_path<br>+syn keyword ngxDirective fastcgi_cache_purge<br> syn keyword ngxDirective fastcgi_cache_revalidate<br> syn keyword ngxDirective fastcgi_cache_use_stale<br> syn keyword ngxDirective fastcgi_cache_valid<br> syn keyword ngxDirective fastcgi_catch_stderr<br> syn keyword ngxDirective fastcgi_connect_timeout<br> syn keyword ngxDirective fastcgi_force_ranges<br> syn keyword ngxDirective fastcgi_hide_header<br> syn keyword ngxDirective fastcgi_ignore_client_abort<br> syn keyword ngxDirective fastcgi_ignore_headers<br> syn keyword ngxDirective fastcgi_index<br> syn keyword ngxDirective fastcgi_intercept_errors<br> syn keyword ngxDirective fastcgi_keep_conn<br>+syn keyword ngxDirective fastcgi_limit_rate<br> syn keyword ngxDirective fastcgi_max_temp_file_size<br> syn keyword ngxDirective fastcgi_next_upstream<br> syn keyword ngxDirective fastcgi_next_upstream_timeout<br> syn keyword ngxDirective fastcgi_next_upstream_tries<br> syn keyword ngxDirective fastcgi_no_cache<br> syn keyword ngxDirective fastcgi_param<br> syn keyword ngxDirective fastcgi_pass_header<br> syn keyword ngxDirective fastcgi_pass_request_body<br> syn keyword ngxDirective fastcgi_pass_request_headers<br> syn keyword ngxDirective fastcgi_read_timeout<br>+syn keyword ngxDirective fastcgi_request_buffering<br> syn keyword ngxDirective fastcgi_send_lowat<br> syn keyword ngxDirective fastcgi_send_timeout<br> syn keyword ngxDirective fastcgi_split_path_info<br> syn keyword ngxDirective fastcgi_store<br> syn keyword ngxDirective fastcgi_store_access<br> syn keyword ngxDirective fastcgi_temp_file_write_size<br> syn keyword ngxDirective fastcgi_temp_path<br> syn keyword ngxDirective flv<br>@@ -179,30 +189,33 @@ syn keyword ngxDirective gzip_http_versi<br> syn keyword ngxDirective gzip_min_length<br> syn keyword ngxDirective gzip_no_buffer<br> syn keyword ngxDirective gzip_proxied<br> syn keyword ngxDirective gzip_static<br> syn keyword ngxDirective gzip_types<br> syn keyword ngxDirective gzip_vary<br> syn keyword ngxDirective gzip_window<br> syn keyword ngxDirective hash<br>+syn keyword ngxDirective http2 " Not a real directive<br> syn keyword ngxDirective if_modified_since<br> syn keyword ngxDirective ignore_invalid_headers<br> syn keyword ngxDirective image_filter<br> syn keyword ngxDirective image_filter_buffer<br> syn keyword ngxDirective image_filter_interlace<br> syn keyword ngxDirective image_filter_jpeg_quality<br> syn keyword ngxDirective image_filter_sharpen<br> syn keyword ngxDirective image_filter_transparency<br> syn keyword ngxDirective imap_auth<br> syn keyword ngxDirective imap_capabilities<br> syn keyword ngxDirective imap_client_buffer<br> syn keyword ngxDirective index<br> syn keyword ngxDirective iocp_threads<br> syn keyword ngxDirective ip_hash<br>+syn keyword ngxDirective js_run<br>+syn keyword ngxDirective js_set<br> syn keyword ngxDirective keepalive<br> syn keyword ngxDirective keepalive_disable<br> syn keyword ngxDirective keepalive_requests<br> syn keyword ngxDirective keepalive_timeout<br> syn keyword ngxDirective kqueue_changes<br> syn keyword ngxDirective kqueue_events<br> syn keyword ngxDirective large_client_header_buffers<br> syn keyword ngxDirective least_conn<br>@@ -238,16 +251,18 @@ syn keyword ngxDirective memcached_read_<br> syn keyword ngxDirective memcached_send_timeout<br> syn keyword ngxDirective merge_slashes<br> syn keyword ngxDirective min_delete_depth<br> syn keyword ngxDirective modern_browser<br> syn keyword ngxDirective modern_browser_value<br> syn keyword ngxDirective mp4<br> syn keyword ngxDirective mp4_buffer_size<br> syn keyword ngxDirective mp4_max_buffer_size<br>+syn keyword ngxDirective mp4_limit_rate<br>+syn keyword ngxDirective mp4_limit_rate_after<br> syn keyword ngxDirective msie_padding<br> syn keyword ngxDirective msie_refresh<br> syn keyword ngxDirective multi_accept<br> syn keyword ngxDirective mysql_test<br> syn keyword ngxDirective open_file_cache<br> syn keyword ngxDirective open_file_cache_errors<br> syn keyword ngxDirective open_file_cache_events<br> syn keyword ngxDirective open_file_cache_min_uses<br>@@ -262,17 +277,18 @@ syn keyword ngxDirective perl_require<br> syn keyword ngxDirective perl_set<br> syn keyword ngxDirective pid<br> syn keyword ngxDirective pop3_auth<br> syn keyword ngxDirective pop3_capabilities<br> syn keyword ngxDirective port_in_redirect<br> syn keyword ngxDirective post_acceptex<br> syn keyword ngxDirective postpone_gzipping<br> syn keyword ngxDirective postpone_output<br>-syn keyword ngxDirective protocol<br>+syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite<br>+syn keyword ngxMailProtocol imap pop3 smtp<br> syn keyword ngxDirective proxy<br> syn keyword ngxDirective proxy_bind<br> syn keyword ngxDirective proxy_buffer<br> syn keyword ngxDirective proxy_buffer_size<br> syn keyword ngxDirective proxy_buffering<br> syn keyword ngxDirective proxy_buffers<br> syn keyword ngxDirective proxy_busy_buffers_size<br> syn keyword ngxDirective proxy_cache<br>@@ -466,16 +482,17 @@ syn keyword ngxDirective uwsgi_bind<br> syn keyword ngxDirective uwsgi_buffer_size<br> syn keyword ngxDirective uwsgi_buffering<br> syn keyword ngxDirective uwsgi_buffers<br> syn keyword ngxDirective uwsgi_busy_buffers_size<br> syn keyword ngxDirective uwsgi_cache<br> syn keyword ngxDirective uwsgi_cache_bypass<br> syn keyword ngxDirective uwsgi_cache_key<br> syn keyword ngxDirective uwsgi_cache_lock<br>+syn keyword ngxDirective uwsgi_cache_lock_age<br> syn keyword ngxDirective uwsgi_cache_lock_timeout<br> syn keyword ngxDirective uwsgi_cache_methods<br> syn keyword ngxDirective uwsgi_cache_min_uses<br> syn keyword ngxDirective uwsgi_cache_path<br> syn keyword ngxDirective uwsgi_cache_revalidate<br> syn keyword ngxDirective uwsgi_cache_use_stale<br> syn keyword ngxDirective uwsgi_cache_valid<br> syn keyword ngxDirective uwsgi_connect_timeout<br>@@ -487,24 +504,29 @@ syn keyword ngxDirective uwsgi_intercept<br> syn keyword ngxDirective uwsgi_max_temp_file_size<br> syn keyword ngxDirective uwsgi_modifier1<br> syn keyword ngxDirective uwsgi_modifier2<br> syn keyword ngxDirective uwsgi_next_upstream<br> syn keyword ngxDirective uwsgi_next_upstream_timeout<br> syn keyword ngxDirective uwsgi_next_upstream_tries<br> syn keyword ngxDirective uwsgi_no_cache<br> syn keyword ngxDirective uwsgi_param<br>+syn keyword ngxDirective uwsgi_pass<br> syn keyword ngxDirective uwsgi_pass_header<br> syn keyword ngxDirective uwsgi_pass_request_body<br> syn keyword ngxDirective uwsgi_pass_request_headers<br> syn keyword ngxDirective uwsgi_read_timeout<br>+syn keyword ngxDirective uwsgi_request_buffering<br> syn keyword ngxDirective uwsgi_send_timeout<br>+syn keyword ngxDirective uwsgi_ssl_certificate<br>+syn keyword ngxDirective uwsgi_ssl_certificate_key<br> syn keyword ngxDirective uwsgi_ssl_ciphers<br> syn keyword ngxDirective uwsgi_ssl_crl<br> syn keyword ngxDirective uwsgi_ssl_name<br>+syn keyword ngxDirective uwsgi_ssl_password_file<br> syn keyword ngxDirective uwsgi_ssl_protocols<br> syn keyword ngxDirective uwsgi_ssl_server_name<br> syn keyword ngxDirective uwsgi_ssl_session_reuse<br> syn keyword ngxDirective uwsgi_ssl_trusted_certificate<br> syn keyword ngxDirective uwsgi_ssl_verify<br> syn keyword ngxDirective uwsgi_ssl_verify_depth<br> syn keyword ngxDirective uwsgi_store<br> syn keyword ngxDirective uwsgi_store_access<br>@@ -546,16 +568,26 @@ syn keyword ngxDirectiveThirdParty acces<br> syn keyword ngxDirectiveThirdParty accesskey_hashmethod<br> syn keyword ngxDirectiveThirdParty accesskey_signature<br> <br> " Auth PAM Module <<a href="http://web.iti.upv.es/~sto/nginx/" target="_blank">http://web.iti.upv.es/~sto/nginx/</a>><br> " HTTP Basic Authentication using PAM.<br> syn keyword ngxDirectiveThirdParty auth_pam<br> syn keyword ngxDirectiveThirdParty auth_pam_service_name<br> <br>+" Brotli Module <<a href="https://github.com/google/ngx_brotli" target="_blank">https://github.com/google/ngx_brotli</a>><br>+" Nginx module for Brotli compression <br>+syn keyword ngxDirectiveThirdParty brotli_static<br>+syn keyword ngxDirectiveThirdParty brotli<br>+syn keyword ngxDirectiveThirdParty brotli_types<br>+syn keyword ngxDirectiveThirdParty brotli_buffers<br>+syn keyword ngxDirectiveThirdParty brotli_comp_level<br>+syn keyword ngxDirectiveThirdParty brotli_window<br>+syn keyword ngxDirectiveThirdParty brotli_min_length<br>+<br> " Cache Purge Module <<a href="http://labs.frickle.com/nginx_ngx_cache_purge/" target="_blank">http://labs.frickle.com/nginx_ngx_cache_purge/</a>><br> " Module adding ability to purge content from FastCGI and proxy caches.<br> syn keyword ngxDirectiveThirdParty fastcgi_cache_purge<br> syn keyword ngxDirectiveThirdParty proxy_cache_purge<br> <br> " Chunkin Module <<a href="http://wiki.nginx.org/NginxHttpChunkinModule" target="_blank">http://wiki.nginx.org/NginxHttpChunkinModule</a>><br> " HTTP 1.1 chunked-encoding request body support for Nginx.<br> syn keyword ngxDirectiveThirdParty chunkin<br>@@ -664,16 +696,80 @@ syn keyword ngxDirectiveThirdParty js_re<br> syn keyword ngxDirectiveThirdParty js_set<br> syn keyword ngxDirectiveThirdParty js_utf8<br> <br> " Log Request Speed <<a href="http://wiki.nginx.org/NginxHttpLogRequestSpeed" target="_blank">http://wiki.nginx.org/NginxHttpLogRequestSpeed</a>><br> " Log the time it took to process each request.<br> syn keyword ngxDirectiveThirdParty log_request_speed_filter<br> syn keyword ngxDirectiveThirdParty log_request_speed_filter_timeout<br> <br>+<br>+" Lua Module <<a href="https://github.com/openresty/lua-nginx-module" target="_blank">https://github.com/openresty/lua-nginx-module</a>><br>+" Embed the Power of Lua into NGINX HTTP servers <br>+syn keyword ngxDirectiveThirdParty lua_use_default_type<br>+syn keyword ngxDirectiveThirdParty lua_code_cache<br>+syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries<br>+syn keyword ngxDirectiveThirdParty lua_regex_match_limit<br>+syn keyword ngxDirectiveThirdParty lua_package_path<br>+syn keyword ngxDirectiveThirdParty lua_package_cpath<br>+syn keyword ngxDirectiveThirdParty init_by_lua<br>+syn keyword ngxDirectiveThirdParty init_by_lua_block<br>+syn keyword ngxDirectiveThirdParty init_by_lua_file<br>+syn keyword ngxDirectiveThirdParty init_worker_by_lua<br>+syn keyword ngxDirectiveThirdParty init_worker_by_lua_block<br>+syn keyword ngxDirectiveThirdParty init_worker_by_lua_file<br>+syn keyword ngxDirectiveThirdParty set_by_lua<br>+syn keyword ngxDirectiveThirdParty set_by_lua_block<br>+syn keyword ngxDirectiveThirdParty set_by_lua_file<br>+syn keyword ngxDirectiveThirdParty content_by_lua<br>+syn keyword ngxDirectiveThirdParty content_by_lua_block<br>+syn keyword ngxDirectiveThirdParty content_by_lua_file<br>+syn keyword ngxDirectiveThirdParty rewrite_by_lua<br>+syn keyword ngxDirectiveThirdParty rewrite_by_lua_block<br>+syn keyword ngxDirectiveThirdParty rewrite_by_lua_file<br>+syn keyword ngxDirectiveThirdParty access_by_lua<br>+syn keyword ngxDirectiveThirdParty access_by_lua_block<br>+syn keyword ngxDirectiveThirdParty access_by_lua_file<br>+syn keyword ngxDirectiveThirdParty header_filter_by_lua<br>+syn keyword ngxDirectiveThirdParty header_filter_by_lua_block<br>+syn keyword ngxDirectiveThirdParty header_filter_by_lua_file<br>+syn keyword ngxDirectiveThirdParty body_filter_by_lua<br>+syn keyword ngxDirectiveThirdParty body_filter_by_lua_block<br>+syn keyword ngxDirectiveThirdParty body_filter_by_lua_file<br>+syn keyword ngxDirectiveThirdParty log_by_lua<br>+syn keyword ngxDirectiveThirdParty log_by_lua_block<br>+syn keyword ngxDirectiveThirdParty log_by_lua_file<br>+syn keyword ngxDirectiveThirdParty balancer_by_lua_block<br>+syn keyword ngxDirectiveThirdParty balancer_by_lua_file<br>+syn keyword ngxDirectiveThirdParty lua_need_request_body<br>+syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_block<br>+syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file<br>+syn keyword ngxDirectiveThirdParty lua_shared_dict<br>+syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout<br>+syn keyword ngxDirectiveThirdParty lua_socket_send_timeout<br>+syn keyword ngxDirectiveThirdParty lua_socket_send_lowat<br>+syn keyword ngxDirectiveThirdParty lua_socket_read_timeout<br>+syn keyword ngxDirectiveThirdParty lua_socket_buffer_size<br>+syn keyword ngxDirectiveThirdParty lua_socket_pool_size<br>+syn keyword ngxDirectiveThirdParty lua_socket_keepalive_timeout<br>+syn keyword ngxDirectiveThirdParty lua_socket_log_errors<br>+syn keyword ngxDirectiveThirdParty lua_ssl_ciphers<br>+syn keyword ngxDirectiveThirdParty lua_ssl_crl<br>+syn keyword ngxDirectiveThirdParty lua_ssl_protocols<br>+syn keyword ngxDirectiveThirdParty lua_ssl_trusted_certificate<br>+syn keyword ngxDirectiveThirdParty lua_ssl_verify_depth<br>+syn keyword ngxDirectiveThirdParty lua_http10_buffering<br>+syn keyword ngxDirectiveThirdParty rewrite_by_lua_no_postpone<br>+syn keyword ngxDirectiveThirdParty access_by_lua_no_postpone<br>+syn keyword ngxDirectiveThirdParty lua_transform_underscores_in_response_headers<br>+syn keyword ngxDirectiveThirdParty lua_check_client_abort<br>+syn keyword ngxDirectiveThirdParty lua_max_pending_timers<br>+syn keyword ngxDirectiveThirdParty lua_max_running_timers<br>+<br>+<br> " Memc Module <<a href="http://wiki.nginx.org/NginxHttpMemcModule" target="_blank">http://wiki.nginx.org/NginxHttpMemcModule</a>><br> " An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands.<br> syn keyword ngxDirectiveThirdParty memc_buffer_size<br> syn keyword ngxDirectiveThirdParty memc_cmds_allowed<br> syn keyword ngxDirectiveThirdParty memc_connect_timeout<br> syn keyword ngxDirectiveThirdParty memc_flags_to_last_modified<br> syn keyword ngxDirectiveThirdParty memc_next_upstream<br> syn keyword ngxDirectiveThirdParty memc_pass<br>@@ -814,22 +910,23 @@ syn keyword ngxDirectiveThirdParty xss_c<br> syn keyword ngxDirectiveThirdParty xss_get<br> syn keyword ngxDirectiveThirdParty xss_input_types<br> syn keyword ngxDirectiveThirdParty xss_output_type<br> <br> " highlight<br> <br> hi link ngxComment Comment<br> hi link ngxVariable Identifier<br>-hi link ngxVariableBlock Identifier<br> hi link ngxVariableString PreProc<br>-hi link ngxBlock Normal<br> hi link ngxString String<br>+hi link ngxLocationPath String<br>+hi link ngxLocationNamedLoc Identifier<br> <br> hi link ngxBoolean Boolean<br>+hi link ngxRewriteFlag Boolean<br> hi link ngxDirectiveBlock Statement<br> hi link ngxDirectiveImportant Type<br> hi link ngxDirectiveControl Keyword<br> hi link ngxDirectiveError Constant<br> hi link ngxDirectiveDeprecated Error<br> hi link ngxDirective Identifier<br> hi link ngxDirectiveThirdParty Special<br> <br><br></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">OOO</div>
</div>