Skip to content

Commit 5a65ffe

Browse files
committed
Change nginx source to othree/nginx-contrib-vim, closes sheerun#127
1 parent b9dae8f commit 5a65ffe

File tree

3 files changed

+121
-24
lines changed

3 files changed

+121
-24
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
6767
- [liquid](https://github.com/tpope/vim-liquid) (syntax, indent, ftplugin, ftdetect)
6868
- [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin, ftdetect)
6969
- [markdown](https://github.com/tpope/vim-markdown) (syntax, ftplugin, ftdetect)
70-
- [nginx](https://github.com/nginx/nginx) (syntax, indent, ftdetect)
70+
- [nginx](https://github.com/othree/nginx-contrib-vim) (syntax, indent, ftdetect)
7171
- [nim](https://github.com/zah/nim.vim) (syntax, compiler, indent, ftdetect)
7272
- [nix](https://github.com/spwhitt/vim-nix) (syntax, ftplugin, ftdetect)
7373
- [objc](https://github.com/b4winckler/vim-objc) (ftplugin, syntax, indent)

build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ PACKS="
138138
liquid:tpope/vim-liquid
139139
mako:sophacles/vim-bundle-mako
140140
markdown:tpope/vim-markdown
141-
nginx:nginx/nginx::/contrib/vim/
141+
nginx:othree/nginx-contrib-vim
142142
nim:zah/nim.vim:_BASIC
143143
nix:spwhitt/vim-nix
144144
objc:b4winckler/vim-objc

syntax/nginx.vim

Lines changed: 119 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,32 @@ setlocal iskeyword+=/
1212
setlocal iskeyword+=:
1313

1414
syn match ngxVariable '\$\(\w\+\|{\w\+}\)'
15-
syn match ngxVariableBlock '\$\(\w\+\|{\w\+}\)' contained
1615
syn 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=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString
1916
syn 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=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString
2021

2122
syn keyword ngxBoolean on
2223
syn 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

3842
syn keyword ngxDirectiveImportant include
3943
syn keyword ngxDirectiveImportant root
@@ -50,16 +54,17 @@ syn keyword ngxDirectiveImportant try_files
5054

5155
syn keyword ngxDirectiveControl break
5256
syn keyword ngxDirectiveControl return
53-
syn keyword ngxDirectiveControl rewrite
57+
syn keyword ngxDirectiveControl rewrite nextgroup=ngxRewriteURI skipwhite
5458
syn keyword ngxDirectiveControl set
5559

60+
syn keyword ngxRewriteFlag last break redirect permanent
61+
5662
syn keyword ngxDirectiveError error_page
5763
syn keyword ngxDirectiveError post_action
5864

5965
syn keyword ngxDirectiveDeprecated connections
6066
syn keyword ngxDirectiveDeprecated imap
6167
syn keyword ngxDirectiveDeprecated limit_zone
62-
syn keyword ngxDirectiveDeprecated mysql_test
6368
syn keyword ngxDirectiveDeprecated open_file_cache_retest
6469
syn keyword ngxDirectiveDeprecated optimize_server_names
6570
syn keyword ngxDirectiveDeprecated satisfy_any
@@ -131,10 +136,12 @@ syn keyword ngxDirective fastcgi_cache
131136
syn keyword ngxDirective fastcgi_cache_bypass
132137
syn keyword ngxDirective fastcgi_cache_key
133138
syn keyword ngxDirective fastcgi_cache_lock
139+
syn keyword ngxDirective fastcgi_cache_lock_age
134140
syn keyword ngxDirective fastcgi_cache_lock_timeout
135141
syn keyword ngxDirective fastcgi_cache_methods
136142
syn keyword ngxDirective fastcgi_cache_min_uses
137143
syn keyword ngxDirective fastcgi_cache_path
144+
syn keyword ngxDirective fastcgi_cache_purge
138145
syn keyword ngxDirective fastcgi_cache_revalidate
139146
syn keyword ngxDirective fastcgi_cache_use_stale
140147
syn keyword ngxDirective fastcgi_cache_valid
@@ -147,6 +154,7 @@ syn keyword ngxDirective fastcgi_ignore_headers
147154
syn keyword ngxDirective fastcgi_index
148155
syn keyword ngxDirective fastcgi_intercept_errors
149156
syn keyword ngxDirective fastcgi_keep_conn
157+
syn keyword ngxDirective fastcgi_limit_rate
150158
syn keyword ngxDirective fastcgi_max_temp_file_size
151159
syn keyword ngxDirective fastcgi_next_upstream
152160
syn keyword ngxDirective fastcgi_next_upstream_timeout
@@ -157,6 +165,7 @@ syn keyword ngxDirective fastcgi_pass_header
157165
syn keyword ngxDirective fastcgi_pass_request_body
158166
syn keyword ngxDirective fastcgi_pass_request_headers
159167
syn keyword ngxDirective fastcgi_read_timeout
168+
syn keyword ngxDirective fastcgi_request_buffering
160169
syn keyword ngxDirective fastcgi_send_lowat
161170
syn keyword ngxDirective fastcgi_send_timeout
162171
syn keyword ngxDirective fastcgi_split_path_info
@@ -187,6 +196,7 @@ syn keyword ngxDirective gzip_types
187196
syn keyword ngxDirective gzip_vary
188197
syn keyword ngxDirective gzip_window
189198
syn keyword ngxDirective hash
199+
syn keyword ngxDirective http2 " Not a real directive
190200
syn keyword ngxDirective if_modified_since
191201
syn keyword ngxDirective ignore_invalid_headers
192202
syn keyword ngxDirective image_filter
@@ -201,6 +211,8 @@ syn keyword ngxDirective imap_client_buffer
201211
syn keyword ngxDirective index
202212
syn keyword ngxDirective iocp_threads
203213
syn keyword ngxDirective ip_hash
214+
syn keyword ngxDirective js_run
215+
syn keyword ngxDirective js_set
204216
syn keyword ngxDirective keepalive
205217
syn keyword ngxDirective keepalive_disable
206218
syn keyword ngxDirective keepalive_requests
@@ -246,9 +258,12 @@ syn keyword ngxDirective modern_browser_value
246258
syn keyword ngxDirective mp4
247259
syn keyword ngxDirective mp4_buffer_size
248260
syn keyword ngxDirective mp4_max_buffer_size
261+
syn keyword ngxDirective mp4_limit_rate
262+
syn keyword ngxDirective mp4_limit_rate_after
249263
syn keyword ngxDirective msie_padding
250264
syn keyword ngxDirective msie_refresh
251265
syn keyword ngxDirective multi_accept
266+
syn keyword ngxDirective mysql_test
252267
syn keyword ngxDirective open_file_cache
253268
syn keyword ngxDirective open_file_cache_errors
254269
syn keyword ngxDirective open_file_cache_events
@@ -269,7 +284,8 @@ syn keyword ngxDirective port_in_redirect
269284
syn keyword ngxDirective post_acceptex
270285
syn keyword ngxDirective postpone_gzipping
271286
syn keyword ngxDirective postpone_output
272-
syn keyword ngxDirective protocol
287+
syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite
288+
syn keyword ngxMailProtocol imap pop3 smtp
273289
syn keyword ngxDirective proxy
274290
syn keyword ngxDirective proxy_bind
275291
syn keyword ngxDirective proxy_buffer
@@ -473,6 +489,7 @@ syn keyword ngxDirective uwsgi_cache
473489
syn keyword ngxDirective uwsgi_cache_bypass
474490
syn keyword ngxDirective uwsgi_cache_key
475491
syn keyword ngxDirective uwsgi_cache_lock
492+
syn keyword ngxDirective uwsgi_cache_lock_age
476493
syn keyword ngxDirective uwsgi_cache_lock_timeout
477494
syn keyword ngxDirective uwsgi_cache_methods
478495
syn keyword ngxDirective uwsgi_cache_min_uses
@@ -494,14 +511,19 @@ syn keyword ngxDirective uwsgi_next_upstream_timeout
494511
syn keyword ngxDirective uwsgi_next_upstream_tries
495512
syn keyword ngxDirective uwsgi_no_cache
496513
syn keyword ngxDirective uwsgi_param
514+
syn keyword ngxDirective uwsgi_pass
497515
syn keyword ngxDirective uwsgi_pass_header
498516
syn keyword ngxDirective uwsgi_pass_request_body
499517
syn keyword ngxDirective uwsgi_pass_request_headers
500518
syn keyword ngxDirective uwsgi_read_timeout
519+
syn keyword ngxDirective uwsgi_request_buffering
501520
syn keyword ngxDirective uwsgi_send_timeout
521+
syn keyword ngxDirective uwsgi_ssl_certificate
522+
syn keyword ngxDirective uwsgi_ssl_certificate_key
502523
syn keyword ngxDirective uwsgi_ssl_ciphers
503524
syn keyword ngxDirective uwsgi_ssl_crl
504525
syn keyword ngxDirective uwsgi_ssl_name
526+
syn keyword ngxDirective uwsgi_ssl_password_file
505527
syn keyword ngxDirective uwsgi_ssl_protocols
506528
syn keyword ngxDirective uwsgi_ssl_server_name
507529
syn keyword ngxDirective uwsgi_ssl_session_reuse
@@ -553,6 +575,16 @@ syn keyword ngxDirectiveThirdParty accesskey_signature
553575
syn keyword ngxDirectiveThirdParty auth_pam
554576
syn 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.
558590
syn keyword ngxDirectiveThirdParty fastcgi_cache_purge
@@ -606,7 +638,7 @@ syn keyword ngxDirectiveThirdParty echo_subrequest
606638
syn 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.
610642
syn keyword ngxDirectiveThirdParty on_start
611643
syn keyword ngxDirectiveThirdParty on_stop
612644

@@ -671,6 +703,70 @@ syn keyword ngxDirectiveThirdParty js_utf8
671703
syn keyword ngxDirectiveThirdParty log_request_speed_filter
672704
syn 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.
676772
syn keyword ngxDirectiveThirdParty memc_buffer_size
@@ -821,12 +917,13 @@ syn keyword ngxDirectiveThirdParty xss_output_type
821917

822918
hi link ngxComment Comment
823919
hi link ngxVariable Identifier
824-
hi link ngxVariableBlock Identifier
825920
hi link ngxVariableString PreProc
826-
hi link ngxBlock Normal
827921
hi link ngxString String
922+
hi link ngxLocationPath String
923+
hi link ngxLocationNamedLoc Identifier
828924

829925
hi link ngxBoolean Boolean
926+
hi link ngxRewriteFlag Boolean
830927
hi link ngxDirectiveBlock Statement
831928
hi link ngxDirectiveImportant Type
832929
hi link ngxDirectiveControl Keyword

0 commit comments

Comments
 (0)