Contrib: proper syntax parsing in vim syntax highlighting.

Instead of highlighting directives in arbitrary positions, proper
parsing of nginx.conf syntax was implemented, matching what nginx does
internally.  This allows vim to correctly highlight various complex cases,
including:

    return 301 http://example.com/path#fragment";

and also avoids highlighting of parameters as directives, as in

    server_name missing.semicolon.example.com
    index index.php;

where "index" is not a directive but a parameter of the "server_name"
directive due to missing semicolon.

Most important downside of this approach seems to be that there is no
easy way to introduce directive-specific parameters.  As such, only "listen"
directive parameters were preserved.
This commit is contained in:
Maxim Dounin 2017-05-22 16:34:47 +03:00
parent c6df6bf923
commit bfe36ba318

File diff suppressed because it is too large Load Diff