{ "fileTypes": [ "conf.erb", "conf", "nginx.conf", "mime.types", "fastcgi_params" ], "foldingStartMarker": "\\{\\s*$", "foldingStopMarker": "^\\s*\\}", "keyEquivalent": "^~N", "name": "nginx", "patterns": [ { "match": "\\#.*", "name": "comment.line.number-sign" }, { "name": "meta.context.events.nginx", "begin": "\\b(events) +\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "name": "meta.context.http.nginx", "begin": "\\b(http) +\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "name": "meta.context.types.nginx", "begin": "\\b(types) +\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "name": "meta.context.server.nginx", "begin": "\\b(server) +\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "name": "meta.context.location.nginx", "begin": "\\b(location) +[\\^]?~[\\*]? +(.*?)\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.location.nginx" }, "2": { "name": "string.regexp.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "name": "meta.context.location.nginx", "begin": "\\b(location) +(.*?)\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.location.nginx" }, "2": { "name": "entity.name.context.location.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "name": "meta.context.upstream.nginx", "begin": "\\b(upstream) +(.*?)\\{", "end": "\\}", "beginCaptures": { "1": { "name": "storage.type.context.nginx" }, "2": { "name": "entity.name.context.location.nginx" } }, "patterns": [ { "include": "$self" } ] }, { "begin": "\\b(if) +\\(", "end": "\\)", "beginCaptures": { "1": { "name": "keyword.control.nginx" } }, "patterns": [ { "include": "#values" } ] }, { "name": "meta.block.nginx", "begin": "\\{", "end": "\\}", "patterns": [ { "include": "$self" } ] }, { "begin": "\\b(daemon|env|debug_points|error_log|include|lock_file|master_process|pid|ssl_engine|timer_resolution|user|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory)\\b", "captures": { "1": { "name": "keyword.directive.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(accept_mutex|accept_mutex_delay|debug_connection|devpoll_changes|devpoll_events|epoll_events|kqueue_changes|kqueue_events|multi_accept|rtsig_signo|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|use|worker_connections)\\b", "captures": { "1": { "name": "keyword.directive.module.events.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(aio|alias|chunked_transfer_encoding|client_body_in_file_only|client_body_in_single_buffer|client_body_buffer_size|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|default_type|directio|error_page|if_modified_since|internal|keepalive_disable|keepalive_timeout|keepalive_requests|large_client_header_buffers|limit_except|limit_rate|limit_rate_after|lingering_close|lingering_time|lingering_timeout|listen|log_not_found|log_subrequest|msie_padding|msie_refresh|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|optimize_server_names|port_in_redirect|post_action|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|root|satisfy|satisfy_any|send_timeout|sendfile|server_name|server_name_in_redirect|server_names_hash_max_size|server_names_hash_bucket_size|server_tokens|tcp_nodelay|tcp_nopush|try_files|types\\ |underscores_in_hashes|variables_hash_bucket_size|variables_hash_max_size|types_hash_max_size)\\b", "captures": { "1": { "name": "keyword.directive.module.http.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(set_real_ip_from|real_ip_recursive|real_ip_header)\\b", "captures": { "1": { "name": "keyword.directive.module.http.realip.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(allow|deny)\\b", "captures": { "1": { "name": "keyword.directive.module.http.access.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(auth_basic|auth_basic_user_file)\\b", "captures": { "1": { "name": "keyword.directive.module.http.auth_basic.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(autoindex|autoindex_exact_size|autoindex_localtime)\\b", "captures": { "1": { "name": "keyword.directive.module.http.autoindex.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(ancient_browser|ancient_browser_value|modern_browser|modern_browser_value)\\b", "captures": { "1": { "name": "keyword.directive.module.http.browser.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(charset|charset_map|override_charset|source_charset)\\b", "captures": { "1": { "name": "keyword.directive.module.http.charset.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(empty_gif)\\b", "captures": { "1": { "name": "keyword.directive.module.http.empty_gif.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(fastcgi_bind|fastcgi_buffer_size|fastcgi_buffers|fastcgi_cache|fastcgi_cache_key|fastcgi_cache_path|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_index|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_intercept_errors|fastcgi_max_temp_file_size|fastcgi_no_cache|fastcgi_next_upstream|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_pass_request_body|fastcgi_pass_request_headers|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_path)\\b", "captures": { "1": { "name": "keyword.directive.module.http.fastcgi.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(geo)\\b", "captures": { "1": { "name": "keyword.directive.module.http.geo.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_types|gzip_vary)\\b", "captures": { "1": { "name": "keyword.directive.module.http.gzip.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(gzip_static|gzip_disable|gzip_http_version|gzip_proxied|gzip_vary)\\b", "captures": { "1": { "name": "keyword.directive.module.http.gzip_static.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(add_header|expires)\\b", "captures": { "1": { "name": "keyword.directive.module.http.headers.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(index)\\b", "captures": { "1": { "name": "keyword.directive.module.http.index.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "match": "\\b(limit_req_log_level|limit_req_zone|limit_req)\\b", "captures": { "1": { "name": "keyword.directive.module.http.limit_req.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(limit_zone|limit_conn|limit_conn_log_level)\\b", "captures": { "1": { "name": "keyword.directive.module.http.limit_zone.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(limit_conn_zone|limit_conn|limit_conn_log_level)\\b", "captures": { "1": { "name": "keyword.directive.module.http.limit_conn.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(access_log|log_format|open_log_file_cache)\\b", "captures": { "1": { "name": "keyword.directive.module.http.log.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(map|map_hash_max_size|map_hash_bucket_size)\\b", "captures": { "1": { "name": "keyword.directive.module.http.map.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(memcached_pass|memcached_connect_timeout|memcached_read_timeout|memcached_send_timeout|memcached_buffer_size|memcached_next_upstream)\\b", "captures": { "1": { "name": "keyword.directive.module.http.memcached.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(proxy_bind|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_http_version|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_redirect|proxy_read_timeout|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_upstream_fail_timeout|proxy_upstream_max_fails)\\b", "captures": { "1": { "name": "keyword.directive.module.http.proxy.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(valid_referers)\\b", "captures": { "1": { "name": "keyword.directive.module.http.referer.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(rewrite_log|set|uninitialized_variable_warn)\\b", "captures": { "1": { "name": "keyword.directive.module.http.rewrite.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(break|return)\\b", "captures": { "1": { "name": "support.function.module.http.rewrite.nginx" } }, "end": ";", "patterns": [ { "include": "#values" } ], "name": "punctuation.definition.variable" }, { "begin": "\\b(rewrite)\\b *(\".+?(?