[PATCH] Contrib: vim syntax, update core and 3rd party module directives.

Maxim Dounin mdounin at mdounin.ru
Thu Jul 20 16:32:51 UTC 2023


Hello!

On Thu, Jul 20, 2023 at 12:50:19AM +0300, Gena Makhomed wrote:

> # HG changeset patch
> # User Gena Makhomed <gmm at csdoc.com>
> # Date 1689803114 -10800
> #      Thu Jul 20 00:45:14 2023 +0300
> # Node ID dee0e911380d18773dad06d45b845a124474f12a
> # Parent  c209dc4eed1737261c97a044d23f5fb9afbd9d45
> Contrib: vim syntax, update core and 3rd party module directives.
> 
> List of 3rd party modules github repositories are obtained from
> https://github.com/freebsd/freebsd-ports/blob/main/www/nginx-devel/Makefile.extmod
> 
> diff -r c209dc4eed17 -r dee0e911380d contrib/vim/syntax/nginx.vim
> --- a/contrib/vim/syntax/nginx.vim	Wed Jul 19 05:09:23 2023 +0300
> +++ b/contrib/vim/syntax/nginx.vim	Thu Jul 20 00:45:14 2023 +0300
> @@ -65,43 +65,44 @@
>       \ contained
>       \ nextgroup=@ngxListenParams skipwhite skipempty
>   syn keyword ngxListenOptions contained
> -    \ default_server ssl http2 proxy_protocol
> +    \ default_server ssl quic proxy_protocol
>       \ setfib fastopen backlog rcvbuf sndbuf accept_filter deferred bind
>       \ ipv6only reuseport so_keepalive
>       \ nextgroup=@ngxListenParams skipwhite skipempty
>   syn keyword ngxListenOptionsDeprecated contained
> -    \ spdy
> +    \ http2
>       \ nextgroup=@ngxListenParams skipwhite skipempty
>   syn cluster ngxListenParams
>       \ contains=ngxListenParam,ngxListenString,ngxListenComment
>       \ add=ngxListenOptions,ngxListenOptionsDeprecated
> 
> -syn keyword ngxDirectiveBlock contained http
> -syn keyword ngxDirectiveBlock contained stream
> -syn keyword ngxDirectiveBlock contained mail
> +syn keyword ngxDirectiveBlock contained charset_map
>   syn keyword ngxDirectiveBlock contained events
> -syn keyword ngxDirectiveBlock contained server
> -syn keyword ngxDirectiveBlock contained types
> +syn keyword ngxDirectiveBlock contained geo
> +syn keyword ngxDirectiveBlock contained http
> +syn keyword ngxDirectiveBlock contained if
> +syn keyword ngxDirectiveBlock contained limit_except
>   syn keyword ngxDirectiveBlock contained location
> -syn keyword ngxDirectiveBlock contained upstream
> -syn keyword ngxDirectiveBlock contained charset_map
> -syn keyword ngxDirectiveBlock contained limit_except
> -syn keyword ngxDirectiveBlock contained if
> -syn keyword ngxDirectiveBlock contained geo
> +syn keyword ngxDirectiveBlock contained mail
>   syn keyword ngxDirectiveBlock contained map
> +syn keyword ngxDirectiveBlock contained match
> +syn keyword ngxDirectiveBlock contained otel_exporter
> +syn keyword ngxDirectiveBlock contained server
>   syn keyword ngxDirectiveBlock contained split_clients
> -syn keyword ngxDirectiveBlock contained match
> +syn keyword ngxDirectiveBlock contained stream
> +syn keyword ngxDirectiveBlock contained types
> +syn keyword ngxDirectiveBlock contained upstream

I don't think the order change here is a good idea.

(Also, it might be a good idea to keep directives introduced by 
commercial extensions separately.)

> 
> +syn keyword ngxDirectiveImportant contained fastcgi_pass
>   syn keyword ngxDirectiveImportant contained include
> -syn keyword ngxDirectiveImportant contained root
> -syn keyword ngxDirectiveImportant contained server_name
>   syn keyword ngxDirectiveImportant contained internal
> +syn keyword ngxDirectiveImportant contained memcached_pass
>   syn keyword ngxDirectiveImportant contained proxy_pass
> -syn keyword ngxDirectiveImportant contained memcached_pass
> -syn keyword ngxDirectiveImportant contained fastcgi_pass
> +syn keyword ngxDirectiveImportant contained root
>   syn keyword ngxDirectiveImportant contained scgi_pass
> +syn keyword ngxDirectiveImportant contained server_name
> +syn keyword ngxDirectiveImportant contained try_files
>   syn keyword ngxDirectiveImportant contained uwsgi_pass
> -syn keyword ngxDirectiveImportant contained try_files

Same here.

> 
>   syn keyword ngxDirectiveControl contained break
>   syn keyword ngxDirectiveControl contained return
> @@ -111,25 +112,24 @@
>   syn keyword ngxDirectiveError contained error_page
>   syn keyword ngxDirectiveError contained post_action
> 
> -syn keyword ngxDirectiveDeprecated contained proxy_downstream_buffer
> -syn keyword ngxDirectiveDeprecated contained proxy_upstream_buffer
> -syn keyword ngxDirectiveDeprecated contained ssl
>   syn keyword ngxDirectiveDeprecated contained http2_idle_timeout
>   syn keyword ngxDirectiveDeprecated contained http2_max_field_size
>   syn keyword ngxDirectiveDeprecated contained http2_max_header_size
>   syn keyword ngxDirectiveDeprecated contained http2_max_requests
>   syn keyword ngxDirectiveDeprecated contained http2_recv_timeout
> +syn keyword ngxDirectiveDeprecated contained proxy_downstream_buffer
> +syn keyword ngxDirectiveDeprecated contained proxy_upstream_buffer

Same here.

> 
>   syn keyword ngxDirective contained absolute_redirect
> +syn keyword ngxDirective contained acceptex_read
>   syn keyword ngxDirective contained accept_mutex
>   syn keyword ngxDirective contained accept_mutex_delay
> -syn keyword ngxDirective contained acceptex_read
>   syn keyword ngxDirective contained access_log
>   syn keyword ngxDirective contained add_after_body
>   syn keyword ngxDirective contained add_before_body
>   syn keyword ngxDirective contained add_header
> +syn keyword ngxDirective contained addition_types
>   syn keyword ngxDirective contained add_trailer
> -syn keyword ngxDirective contained addition_types
>   syn keyword ngxDirective contained aio
>   syn keyword ngxDirective contained aio_write
>   syn keyword ngxDirective contained alias

It looks like order changes here (and in multiple other places) 
are caused by a changed alphabetical order in the tooling being 
used, which now places "_" after [a-z].

Apart from being an unneeded change, this does not look like a 
correct order to me: it generally contradicts order of characters 
in ASCII, and also doesn't play well with how nginx uses "_" (as 
"foo" and "foo_bar" are expected to be close to each other, and 
both before "foobazz").

[...]

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx-devel mailing list