github-linguist 4.8.9 → 4.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +2 -2
  3. data/grammars/source.ats.json +58 -128
  4. data/grammars/source.autoit.json +158 -153
  5. data/grammars/source.awk.json +333 -383
  6. data/grammars/source.batchfile.json +194 -0
  7. data/grammars/source.c.platform.json +359 -22
  8. data/grammars/source.changelogs.rpm-spec.json +99 -0
  9. data/grammars/source.clojure.json +9 -3
  10. data/grammars/source.dockerfile.json +67 -78
  11. data/grammars/source.elm.json +20 -379
  12. data/grammars/source.emacs.lisp.json +656 -0
  13. data/grammars/source.gdscript.json +233 -228
  14. data/grammars/source.graphql.json +75 -10
  15. data/grammars/source.js.json +2 -2
  16. data/grammars/source.js.jsx.json +247 -839
  17. data/grammars/source.js.regexp.json +1 -1
  18. data/grammars/source.nginx.json +882 -768
  19. data/grammars/source.nsis.json +151 -143
  20. data/grammars/source.objc.json +3 -0
  21. data/grammars/source.objc.platform.json +174 -104
  22. data/grammars/source.puppet.json +429 -396
  23. data/grammars/source.pyjade.json +11 -0
  24. data/grammars/source.regexp.babel.json +1 -1
  25. data/grammars/source.rpm-spec.json +770 -0
  26. data/grammars/source.systemverilog.json +1110 -961
  27. data/grammars/source.ts.json +57 -57
  28. data/grammars/source.tsx.json +57 -57
  29. data/grammars/text.dart-analysis-output.json +67 -152
  30. data/grammars/text.error-list.json +54 -0
  31. data/grammars/text.find-refs.json +927 -0
  32. data/grammars/text.html.basic.json +1 -1
  33. data/grammars/text.html.mediawiki.elm-build-output.json +108 -0
  34. data/grammars/text.html.mediawiki.elm-documentation.json +22 -0
  35. data/grammars/text.html.vue.json +35 -0
  36. data/grammars/text.jade.json +34 -12
  37. data/grammars/text.roff.json +1 -1
  38. data/lib/linguist/heuristics.rb +16 -4
  39. data/lib/linguist/languages.json +1 -1
  40. data/lib/linguist/languages.yml +25 -5
  41. data/lib/linguist/samples.json +1367 -163
  42. data/lib/linguist/version.rb +1 -1
  43. metadata +10 -3
  44. data/grammars/source.dosbatch.json +0 -70
@@ -13,7 +13,7 @@
13
13
  "regex-character-class": {
14
14
  "patterns": [
15
15
  {
16
- "match": "\\\\[wWsSdD]|\\.",
16
+ "match": "\\\\[wWsSdDtrnvf]|\\.",
17
17
  "name": "constant.character.character-class.regexp"
18
18
  },
19
19
  {
@@ -1,5 +1,6 @@
1
1
  {
2
- "fileTypes": [
2
+ "name": "nginx",
3
+ "file_extensions": [
3
4
  "conf.erb",
4
5
  "conf",
5
6
  "nginx.conf",
@@ -8,817 +9,930 @@
8
9
  "scgi_params",
9
10
  "uwsgi_params"
10
11
  ],
11
- "foldingStartMarker": "\\{\\s*$",
12
- "foldingStopMarker": "^\\s*\\}",
13
- "keyEquivalent": "^~N",
14
- "name": "nginx",
15
- "patterns": [
16
- {
17
- "match": "\\#.*",
18
- "name": "comment.line.number-sign"
19
- },
20
- {
21
- "name": "meta.context.events.nginx",
22
- "begin": "\\b(events) +\\{",
23
- "end": "\\}",
24
- "beginCaptures": {
25
- "1": {
26
- "name": "storage.type.context.nginx"
27
- }
28
- },
29
- "patterns": [
30
- {
31
- "include": "$self"
32
- }
33
- ]
34
- },
35
- {
36
- "name": "meta.context.http.nginx",
37
- "begin": "\\b(http) +\\{",
38
- "end": "\\}",
39
- "beginCaptures": {
40
- "1": {
41
- "name": "storage.type.context.nginx"
42
- }
43
- },
44
- "patterns": [
45
- {
46
- "include": "$self"
47
- }
48
- ]
49
- },
50
- {
51
- "name": "meta.context.types.nginx",
52
- "begin": "\\b(types) +\\{",
53
- "end": "\\}",
54
- "beginCaptures": {
55
- "1": {
56
- "name": "storage.type.context.nginx"
57
- }
12
+ "scope": "source.nginx",
13
+ "contexts": {
14
+ "main": [
15
+ {
16
+ "match": "\\#.*",
17
+ "scope": "comment.line.number-sign"
18
+ },
19
+ {
20
+ "match": "\\b(events) +\\{",
21
+ "captures": {
22
+ "1": "storage.type.context.nginx"
23
+ },
24
+ "push": [
25
+ {
26
+ "meta_scope": "meta.context.events.nginx"
27
+ },
28
+ {
29
+ "match": "\\}",
30
+ "pop": true
31
+ },
32
+ {
33
+ "include": "main"
34
+ }
35
+ ]
58
36
  },
59
- "patterns": [
60
- {
61
- "include": "$self"
62
- }
63
- ]
64
- },
65
- {
66
- "name": "meta.context.server.nginx",
67
- "begin": "\\b(server) +\\{",
68
- "end": "\\}",
69
- "beginCaptures": {
70
- "1": {
71
- "name": "storage.type.context.nginx"
72
- }
37
+ {
38
+ "match": "\\b(http) +\\{",
39
+ "captures": {
40
+ "1": "storage.type.context.nginx"
41
+ },
42
+ "push": [
43
+ {
44
+ "meta_scope": "meta.context.http.nginx"
45
+ },
46
+ {
47
+ "match": "\\}",
48
+ "pop": true
49
+ },
50
+ {
51
+ "include": "main"
52
+ }
53
+ ]
73
54
  },
74
- "patterns": [
75
- {
76
- "include": "$self"
77
- }
78
- ]
79
- },
80
- {
81
- "name": "meta.context.location.nginx",
82
- "begin": "\\b(location) +[\\^]?~[\\*]? +(.*?)\\{",
83
- "end": "\\}",
84
- "beginCaptures": {
85
- "1": {
86
- "name": "storage.type.context.location.nginx"
87
- },
88
- "2": {
89
- "name": "string.regexp.nginx"
90
- }
55
+ {
56
+ "match": "\\b(types) +\\{",
57
+ "captures": {
58
+ "1": "storage.type.context.nginx"
59
+ },
60
+ "push": [
61
+ {
62
+ "meta_scope": "meta.context.types.nginx"
63
+ },
64
+ {
65
+ "match": "\\}",
66
+ "pop": true
67
+ },
68
+ {
69
+ "include": "main"
70
+ }
71
+ ]
91
72
  },
92
- "patterns": [
93
- {
94
- "include": "$self"
95
- }
96
- ]
97
- },
98
- {
99
- "name": "meta.context.location.nginx",
100
- "begin": "\\b(location) +(.*?)\\{",
101
- "end": "\\}",
102
- "beginCaptures": {
103
- "1": {
104
- "name": "storage.type.context.location.nginx"
105
- },
106
- "2": {
107
- "name": "entity.name.context.location.nginx"
108
- }
73
+ {
74
+ "match": "\\b(server) +\\{",
75
+ "captures": {
76
+ "1": "storage.type.context.nginx"
77
+ },
78
+ "push": [
79
+ {
80
+ "meta_scope": "meta.context.server.nginx"
81
+ },
82
+ {
83
+ "match": "\\}",
84
+ "pop": true
85
+ },
86
+ {
87
+ "include": "main"
88
+ }
89
+ ]
109
90
  },
110
- "patterns": [
111
- {
112
- "include": "$self"
113
- }
114
- ]
115
- },
116
- {
117
- "name": "meta.context.upstream.nginx",
118
- "begin": "\\b(upstream) +(.*?)\\{",
119
- "end": "\\}",
120
- "beginCaptures": {
121
- "1": {
122
- "name": "storage.type.context.nginx"
123
- },
124
- "2": {
125
- "name": "entity.name.context.location.nginx"
126
- }
91
+ {
92
+ "match": "\\b(location) +[\\^]?~[\\*]? +(.*?)\\{",
93
+ "captures": {
94
+ "1": "storage.type.context.location.nginx",
95
+ "2": "string.regexp.nginx"
96
+ },
97
+ "push": [
98
+ {
99
+ "meta_scope": "meta.context.location.nginx"
100
+ },
101
+ {
102
+ "match": "\\}",
103
+ "pop": true
104
+ },
105
+ {
106
+ "include": "main"
107
+ }
108
+ ]
127
109
  },
128
- "patterns": [
129
- {
130
- "include": "$self"
131
- }
132
- ]
133
- },
134
- {
135
- "begin": "\\b(if) +\\(",
136
- "end": "\\)",
137
- "beginCaptures": {
138
- "1": {
139
- "name": "keyword.control.nginx"
140
- }
110
+ {
111
+ "match": "\\b(location) +(.*?)\\{",
112
+ "captures": {
113
+ "1": "storage.type.context.location.nginx",
114
+ "2": "entity.name.context.location.nginx"
115
+ },
116
+ "push": [
117
+ {
118
+ "meta_scope": "meta.context.location.nginx"
119
+ },
120
+ {
121
+ "match": "\\}",
122
+ "pop": true
123
+ },
124
+ {
125
+ "include": "main"
126
+ }
127
+ ]
141
128
  },
142
- "patterns": [
143
- {
144
- "include": "#values"
145
- }
146
- ]
147
- },
148
- {
149
- "name": "meta.block.nginx",
150
- "begin": "\\{",
151
- "end": "\\}",
152
- "patterns": [
153
- {
154
- "include": "$self"
155
- }
156
- ]
157
- },
158
- {
159
- "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",
160
- "captures": {
161
- "1": {
162
- "name": "keyword.directive.nginx"
163
- }
129
+ {
130
+ "match": "\\b(upstream) +(.*?)\\{",
131
+ "captures": {
132
+ "1": "storage.type.context.nginx",
133
+ "2": "entity.name.context.location.nginx"
134
+ },
135
+ "push": [
136
+ {
137
+ "meta_scope": "meta.context.upstream.nginx"
138
+ },
139
+ {
140
+ "match": "\\}",
141
+ "pop": true
142
+ },
143
+ {
144
+ "include": "main"
145
+ }
146
+ ]
164
147
  },
165
- "end": ";",
166
- "patterns": [
167
- {
168
- "include": "#values"
169
- }
170
- ],
171
- "name": "punctuation.definition.variable"
172
- },
173
- {
174
- "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",
175
- "captures": {
176
- "1": {
177
- "name": "keyword.directive.module.events.nginx"
178
- }
148
+ {
149
+ "match": "\\b(if) +\\(",
150
+ "captures": {
151
+ "1": "keyword.control.nginx"
152
+ },
153
+ "push": [
154
+ {
155
+ "match": "\\)",
156
+ "pop": true
157
+ },
158
+ {
159
+ "include": "values"
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ "match": "\\{",
165
+ "push": [
166
+ {
167
+ "meta_scope": "meta.block.nginx"
168
+ },
169
+ {
170
+ "match": "\\}",
171
+ "pop": true
172
+ },
173
+ {
174
+ "include": "main"
175
+ }
176
+ ]
179
177
  },
180
- "end": ";",
181
- "patterns": [
182
- {
183
- "include": "#values"
184
- }
185
- ],
186
- "name": "punctuation.definition.variable"
187
- },
188
- {
189
- "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",
190
- "captures": {
191
- "1": {
192
- "name": "keyword.directive.module.http.nginx"
193
- }
178
+ {
179
+ "match": "\\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",
180
+ "captures": {
181
+ "1": "keyword.directive.nginx"
182
+ },
183
+ "push": [
184
+ {
185
+ "meta_scope": "punctuation.definition.variable"
186
+ },
187
+ {
188
+ "match": ";",
189
+ "pop": true
190
+ },
191
+ {
192
+ "include": "values"
193
+ }
194
+ ]
194
195
  },
195
- "end": ";",
196
- "patterns": [
197
- {
198
- "include": "#values"
199
- }
200
- ],
201
- "name": "punctuation.definition.variable"
202
- },
203
- {
204
- "begin": "\\b(set_real_ip_from|real_ip_recursive|real_ip_header)\\b",
205
- "captures": {
206
- "1": {
207
- "name": "keyword.directive.module.http.realip.nginx"
208
- }
196
+ {
197
+ "match": "\\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",
198
+ "captures": {
199
+ "1": "keyword.directive.module.events.nginx"
200
+ },
201
+ "push": [
202
+ {
203
+ "meta_scope": "punctuation.definition.variable"
204
+ },
205
+ {
206
+ "match": ";",
207
+ "pop": true
208
+ },
209
+ {
210
+ "include": "values"
211
+ }
212
+ ]
209
213
  },
210
- "end": ";",
211
- "patterns": [
212
- {
213
- "include": "#values"
214
- }
215
- ],
216
- "name": "punctuation.definition.variable"
217
- },
218
- {
219
- "begin": "\\b(allow|deny)\\b",
220
- "captures": {
221
- "1": {
222
- "name": "keyword.directive.module.http.access.nginx"
223
- }
214
+ {
215
+ "match": "\\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",
216
+ "captures": {
217
+ "1": "keyword.directive.module.http.nginx"
218
+ },
219
+ "push": [
220
+ {
221
+ "meta_scope": "punctuation.definition.variable"
222
+ },
223
+ {
224
+ "match": ";",
225
+ "pop": true
226
+ },
227
+ {
228
+ "include": "values"
229
+ }
230
+ ]
224
231
  },
225
- "end": ";",
226
- "patterns": [
227
- {
228
- "include": "#values"
229
- }
230
- ],
231
- "name": "punctuation.definition.variable"
232
- },
233
- {
234
- "begin": "\\b(auth_basic|auth_basic_user_file)\\b",
235
- "captures": {
236
- "1": {
237
- "name": "keyword.directive.module.http.auth_basic.nginx"
238
- }
232
+ {
233
+ "match": "\\b(set_real_ip_from|real_ip_recursive|real_ip_header)\\b",
234
+ "captures": {
235
+ "1": "keyword.directive.module.http.realip.nginx"
236
+ },
237
+ "push": [
238
+ {
239
+ "meta_scope": "punctuation.definition.variable"
240
+ },
241
+ {
242
+ "match": ";",
243
+ "pop": true
244
+ },
245
+ {
246
+ "include": "values"
247
+ }
248
+ ]
239
249
  },
240
- "end": ";",
241
- "patterns": [
242
- {
243
- "include": "#values"
244
- }
245
- ],
246
- "name": "punctuation.definition.variable"
247
- },
248
- {
249
- "begin": "\\b(autoindex|autoindex_exact_size|autoindex_localtime)\\b",
250
- "captures": {
251
- "1": {
252
- "name": "keyword.directive.module.http.autoindex.nginx"
253
- }
250
+ {
251
+ "match": "\\b(allow|deny)\\b",
252
+ "captures": {
253
+ "1": "keyword.directive.module.http.access.nginx"
254
+ },
255
+ "push": [
256
+ {
257
+ "meta_scope": "punctuation.definition.variable"
258
+ },
259
+ {
260
+ "match": ";",
261
+ "pop": true
262
+ },
263
+ {
264
+ "include": "values"
265
+ }
266
+ ]
254
267
  },
255
- "end": ";",
256
- "patterns": [
257
- {
258
- "include": "#values"
259
- }
260
- ],
261
- "name": "punctuation.definition.variable"
262
- },
263
- {
264
- "begin": "\\b(ancient_browser|ancient_browser_value|modern_browser|modern_browser_value)\\b",
265
- "captures": {
266
- "1": {
267
- "name": "keyword.directive.module.http.browser.nginx"
268
- }
268
+ {
269
+ "match": "\\b(auth_basic|auth_basic_user_file)\\b",
270
+ "captures": {
271
+ "1": "keyword.directive.module.http.auth_basic.nginx"
272
+ },
273
+ "push": [
274
+ {
275
+ "meta_scope": "punctuation.definition.variable"
276
+ },
277
+ {
278
+ "match": ";",
279
+ "pop": true
280
+ },
281
+ {
282
+ "include": "values"
283
+ }
284
+ ]
269
285
  },
270
- "end": ";",
271
- "patterns": [
272
- {
273
- "include": "#values"
274
- }
275
- ],
276
- "name": "punctuation.definition.variable"
277
- },
278
- {
279
- "begin": "\\b(charset|charset_map|override_charset|source_charset)\\b",
280
- "captures": {
281
- "1": {
282
- "name": "keyword.directive.module.http.charset.nginx"
283
- }
286
+ {
287
+ "match": "\\b(autoindex|autoindex_exact_size|autoindex_localtime)\\b",
288
+ "captures": {
289
+ "1": "keyword.directive.module.http.autoindex.nginx"
290
+ },
291
+ "push": [
292
+ {
293
+ "meta_scope": "punctuation.definition.variable"
294
+ },
295
+ {
296
+ "match": ";",
297
+ "pop": true
298
+ },
299
+ {
300
+ "include": "values"
301
+ }
302
+ ]
284
303
  },
285
- "end": ";",
286
- "patterns": [
287
- {
288
- "include": "#values"
289
- }
290
- ],
291
- "name": "punctuation.definition.variable"
292
- },
293
- {
294
- "begin": "\\b(empty_gif)\\b",
295
- "captures": {
296
- "1": {
297
- "name": "keyword.directive.module.http.empty_gif.nginx"
298
- }
304
+ {
305
+ "match": "\\b(ancient_browser|ancient_browser_value|modern_browser|modern_browser_value)\\b",
306
+ "captures": {
307
+ "1": "keyword.directive.module.http.browser.nginx"
308
+ },
309
+ "push": [
310
+ {
311
+ "meta_scope": "punctuation.definition.variable"
312
+ },
313
+ {
314
+ "match": ";",
315
+ "pop": true
316
+ },
317
+ {
318
+ "include": "values"
319
+ }
320
+ ]
299
321
  },
300
- "end": ";",
301
- "patterns": [
302
- {
303
- "include": "#values"
304
- }
305
- ],
306
- "name": "punctuation.definition.variable"
307
- },
308
- {
309
- "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",
310
- "captures": {
311
- "1": {
312
- "name": "keyword.directive.module.http.fastcgi.nginx"
313
- }
322
+ {
323
+ "match": "\\b(charset|charset_map|override_charset|source_charset)\\b",
324
+ "captures": {
325
+ "1": "keyword.directive.module.http.charset.nginx"
326
+ },
327
+ "push": [
328
+ {
329
+ "meta_scope": "punctuation.definition.variable"
330
+ },
331
+ {
332
+ "match": ";",
333
+ "pop": true
334
+ },
335
+ {
336
+ "include": "values"
337
+ }
338
+ ]
314
339
  },
315
- "end": ";",
316
- "patterns": [
317
- {
318
- "include": "#values"
319
- }
320
- ],
321
- "name": "punctuation.definition.variable"
322
- },
323
- {
324
- "begin": "\\b(geo)\\b",
325
- "captures": {
326
- "1": {
327
- "name": "keyword.directive.module.http.geo.nginx"
328
- }
340
+ {
341
+ "match": "\\b(empty_gif)\\b",
342
+ "captures": {
343
+ "1": "keyword.directive.module.http.empty_gif.nginx"
344
+ },
345
+ "push": [
346
+ {
347
+ "meta_scope": "punctuation.definition.variable"
348
+ },
349
+ {
350
+ "match": ";",
351
+ "pop": true
352
+ },
353
+ {
354
+ "include": "values"
355
+ }
356
+ ]
329
357
  },
330
- "end": ";",
331
- "patterns": [
332
- {
333
- "include": "#values"
334
- }
335
- ],
336
- "name": "punctuation.definition.variable"
337
- },
338
- {
339
- "begin": "\\b(gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_types|gzip_vary)\\b",
340
- "captures": {
341
- "1": {
342
- "name": "keyword.directive.module.http.gzip.nginx"
343
- }
358
+ {
359
+ "match": "\\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",
360
+ "captures": {
361
+ "1": "keyword.directive.module.http.fastcgi.nginx"
362
+ },
363
+ "push": [
364
+ {
365
+ "meta_scope": "punctuation.definition.variable"
366
+ },
367
+ {
368
+ "match": ";",
369
+ "pop": true
370
+ },
371
+ {
372
+ "include": "values"
373
+ }
374
+ ]
344
375
  },
345
- "end": ";",
346
- "patterns": [
347
- {
348
- "include": "#values"
349
- }
350
- ],
351
- "name": "punctuation.definition.variable"
352
- },
353
- {
354
- "begin": "\\b(gzip_static|gzip_disable|gzip_http_version|gzip_proxied|gzip_vary)\\b",
355
- "captures": {
356
- "1": {
357
- "name": "keyword.directive.module.http.gzip_static.nginx"
358
- }
376
+ {
377
+ "match": "\\b(geo)\\b",
378
+ "captures": {
379
+ "1": "keyword.directive.module.http.geo.nginx"
380
+ },
381
+ "push": [
382
+ {
383
+ "meta_scope": "punctuation.definition.variable"
384
+ },
385
+ {
386
+ "match": ";",
387
+ "pop": true
388
+ },
389
+ {
390
+ "include": "values"
391
+ }
392
+ ]
359
393
  },
360
- "end": ";",
361
- "patterns": [
362
- {
363
- "include": "#values"
364
- }
365
- ],
366
- "name": "punctuation.definition.variable"
367
- },
368
- {
369
- "begin": "\\b(add_header|expires)\\b",
370
- "captures": {
371
- "1": {
372
- "name": "keyword.directive.module.http.headers.nginx"
373
- }
394
+ {
395
+ "match": "\\b(gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_types|gzip_vary)\\b",
396
+ "captures": {
397
+ "1": "keyword.directive.module.http.gzip.nginx"
398
+ },
399
+ "push": [
400
+ {
401
+ "meta_scope": "punctuation.definition.variable"
402
+ },
403
+ {
404
+ "match": ";",
405
+ "pop": true
406
+ },
407
+ {
408
+ "include": "values"
409
+ }
410
+ ]
374
411
  },
375
- "end": ";",
376
- "patterns": [
377
- {
378
- "include": "#values"
379
- }
380
- ],
381
- "name": "punctuation.definition.variable"
382
- },
383
- {
384
- "begin": "\\b(index)\\b",
385
- "captures": {
386
- "1": {
387
- "name": "keyword.directive.module.http.index.nginx"
388
- }
412
+ {
413
+ "match": "\\b(gzip_static|gzip_disable|gzip_http_version|gzip_proxied|gzip_vary)\\b",
414
+ "captures": {
415
+ "1": "keyword.directive.module.http.gzip_static.nginx"
416
+ },
417
+ "push": [
418
+ {
419
+ "meta_scope": "punctuation.definition.variable"
420
+ },
421
+ {
422
+ "match": ";",
423
+ "pop": true
424
+ },
425
+ {
426
+ "include": "values"
427
+ }
428
+ ]
389
429
  },
390
- "end": ";",
391
- "patterns": [
392
- {
393
- "include": "#values"
394
- }
395
- ],
396
- "name": "punctuation.definition.variable"
397
- },
398
- {
399
- "match": "\\b(limit_req_log_level|limit_req_zone|limit_req)\\b",
400
- "captures": {
401
- "1": {
402
- "name": "keyword.directive.module.http.limit_req.nginx"
403
- }
430
+ {
431
+ "match": "\\b(add_header|expires)\\b",
432
+ "captures": {
433
+ "1": "keyword.directive.module.http.headers.nginx"
434
+ },
435
+ "push": [
436
+ {
437
+ "meta_scope": "punctuation.definition.variable"
438
+ },
439
+ {
440
+ "match": ";",
441
+ "pop": true
442
+ },
443
+ {
444
+ "include": "values"
445
+ }
446
+ ]
404
447
  },
405
- "end": ";",
406
- "patterns": [
407
- {
408
- "include": "#values"
409
- }
410
- ],
411
- "name": "punctuation.definition.variable"
412
- },
413
- {
414
- "begin": "\\b(limit_zone|limit_conn|limit_conn_log_level)\\b",
415
- "captures": {
416
- "1": {
417
- "name": "keyword.directive.module.http.limit_zone.nginx"
418
- }
448
+ {
449
+ "match": "\\b(index)\\b",
450
+ "captures": {
451
+ "1": "keyword.directive.module.http.index.nginx"
452
+ },
453
+ "push": [
454
+ {
455
+ "meta_scope": "punctuation.definition.variable"
456
+ },
457
+ {
458
+ "match": ";",
459
+ "pop": true
460
+ },
461
+ {
462
+ "include": "values"
463
+ }
464
+ ]
419
465
  },
420
- "end": ";",
421
- "patterns": [
422
- {
423
- "include": "#values"
424
- }
425
- ],
426
- "name": "punctuation.definition.variable"
427
- },
428
- {
429
- "begin": "\\b(limit_conn_zone|limit_conn|limit_conn_log_level)\\b",
430
- "captures": {
431
- "1": {
432
- "name": "keyword.directive.module.http.limit_conn.nginx"
466
+ {
467
+ "match": "\\b(limit_req_log_level|limit_req_zone|limit_req)\\b",
468
+ "scope": "punctuation.definition.variable",
469
+ "captures": {
470
+ "1": "keyword.directive.module.http.limit_req.nginx"
433
471
  }
434
472
  },
435
- "end": ";",
436
- "patterns": [
437
- {
438
- "include": "#values"
439
- }
440
- ],
441
- "name": "punctuation.definition.variable"
442
- },
443
- {
444
- "begin": "\\b(access_log|log_format|open_log_file_cache)\\b",
445
- "captures": {
446
- "1": {
447
- "name": "keyword.directive.module.http.log.nginx"
448
- }
473
+ {
474
+ "match": "\\b(limit_zone|limit_conn|limit_conn_log_level)\\b",
475
+ "captures": {
476
+ "1": "keyword.directive.module.http.limit_zone.nginx"
477
+ },
478
+ "push": [
479
+ {
480
+ "meta_scope": "punctuation.definition.variable"
481
+ },
482
+ {
483
+ "match": ";",
484
+ "pop": true
485
+ },
486
+ {
487
+ "include": "values"
488
+ }
489
+ ]
449
490
  },
450
- "end": ";",
451
- "patterns": [
452
- {
453
- "include": "#values"
454
- }
455
- ],
456
- "name": "punctuation.definition.variable"
457
- },
458
- {
459
- "name": "meta.context.map.nginx",
460
- "begin": "\\b(map) +(\\$[A-Za-z0-9\\_]+) +(\\$[A-Za-z0-9\\_]+) *\\{",
461
- "end": "\\}",
462
- "beginCaptures": {
463
- "1": {
464
- "name": "storage.type.context.nginx"
465
- },
466
- "2": {
467
- "name": "variable.other.nginx"
468
- },
469
- "3": {
470
- "name": "variable.other.nginx"
471
- }
491
+ {
492
+ "match": "\\b(limit_conn_zone|limit_conn|limit_conn_log_level)\\b",
493
+ "captures": {
494
+ "1": "keyword.directive.module.http.limit_conn.nginx"
495
+ },
496
+ "push": [
497
+ {
498
+ "meta_scope": "punctuation.definition.variable"
499
+ },
500
+ {
501
+ "match": ";",
502
+ "pop": true
503
+ },
504
+ {
505
+ "include": "values"
506
+ }
507
+ ]
472
508
  },
473
- "patterns": [
474
- {
475
- "include": "#values"
509
+ {
510
+ "match": "\\b(access_log|log_format|open_log_file_cache)\\b",
511
+ "captures": {
512
+ "1": "keyword.directive.module.http.log.nginx"
476
513
  },
477
- {
478
- "match": ";",
479
- "name": "punctuation.definition.map.nginx"
480
- }
481
- ]
482
- },
483
- {
484
- "begin": "\\b(map_hash_max_size|map_hash_bucket_size)\\b",
485
- "captures": {
486
- "1": {
487
- "name": "keyword.directive.module.http.map.nginx"
488
- }
514
+ "push": [
515
+ {
516
+ "meta_scope": "punctuation.definition.variable"
517
+ },
518
+ {
519
+ "match": ";",
520
+ "pop": true
521
+ },
522
+ {
523
+ "include": "values"
524
+ }
525
+ ]
526
+ },
527
+ {
528
+ "match": "\\b(map) +(\\$[A-Za-z0-9\\_]+) +(\\$[A-Za-z0-9\\_]+) *\\{",
529
+ "captures": {
530
+ "1": "storage.type.context.nginx",
531
+ "2": "variable.other.nginx",
532
+ "3": "variable.other.nginx"
533
+ },
534
+ "push": [
535
+ {
536
+ "meta_scope": "meta.context.map.nginx"
537
+ },
538
+ {
539
+ "match": "\\}",
540
+ "pop": true
541
+ },
542
+ {
543
+ "include": "values"
544
+ },
545
+ {
546
+ "match": ";",
547
+ "scope": "punctuation.definition.map.nginx"
548
+ }
549
+ ]
489
550
  },
490
- "end": ";",
491
- "patterns": [
492
- {
493
- "include": "#values"
494
- }
495
- ],
496
- "name": "punctuation.definition.variable"
497
- },
498
- {
499
- "begin": "\\b(memcached_pass|memcached_connect_timeout|memcached_read_timeout|memcached_send_timeout|memcached_buffer_size|memcached_next_upstream)\\b",
500
- "captures": {
501
- "1": {
502
- "name": "keyword.directive.module.http.memcached.nginx"
503
- }
551
+ {
552
+ "match": "\\b(map_hash_max_size|map_hash_bucket_size)\\b",
553
+ "captures": {
554
+ "1": "keyword.directive.module.http.map.nginx"
555
+ },
556
+ "push": [
557
+ {
558
+ "meta_scope": "punctuation.definition.variable"
559
+ },
560
+ {
561
+ "match": ";",
562
+ "pop": true
563
+ },
564
+ {
565
+ "include": "values"
566
+ }
567
+ ]
504
568
  },
505
- "end": ";",
506
- "patterns": [
507
- {
508
- "include": "#values"
509
- }
510
- ],
511
- "name": "punctuation.definition.variable"
512
- },
513
- {
514
- "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",
515
- "captures": {
516
- "1": {
517
- "name": "keyword.directive.module.http.proxy.nginx"
518
- }
569
+ {
570
+ "match": "\\b(memcached_pass|memcached_connect_timeout|memcached_read_timeout|memcached_send_timeout|memcached_buffer_size|memcached_next_upstream)\\b",
571
+ "captures": {
572
+ "1": "keyword.directive.module.http.memcached.nginx"
573
+ },
574
+ "push": [
575
+ {
576
+ "meta_scope": "punctuation.definition.variable"
577
+ },
578
+ {
579
+ "match": ";",
580
+ "pop": true
581
+ },
582
+ {
583
+ "include": "values"
584
+ }
585
+ ]
519
586
  },
520
- "end": ";",
521
- "patterns": [
522
- {
523
- "include": "#values"
524
- }
525
- ],
526
- "name": "punctuation.definition.variable"
527
- },
528
- {
529
- "begin": "\\b(valid_referers)\\b",
530
- "captures": {
531
- "1": {
532
- "name": "keyword.directive.module.http.referer.nginx"
533
- }
587
+ {
588
+ "match": "\\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",
589
+ "captures": {
590
+ "1": "keyword.directive.module.http.proxy.nginx"
591
+ },
592
+ "push": [
593
+ {
594
+ "meta_scope": "punctuation.definition.variable"
595
+ },
596
+ {
597
+ "match": ";",
598
+ "pop": true
599
+ },
600
+ {
601
+ "include": "values"
602
+ }
603
+ ]
534
604
  },
535
- "end": ";",
536
- "patterns": [
537
- {
538
- "include": "#values"
539
- }
540
- ],
541
- "name": "punctuation.definition.variable"
542
- },
543
- {
544
- "begin": "\\b(rewrite_log|set|uninitialized_variable_warn)\\b",
545
- "captures": {
546
- "1": {
547
- "name": "keyword.directive.module.http.rewrite.nginx"
548
- }
605
+ {
606
+ "match": "\\b(valid_referers)\\b",
607
+ "captures": {
608
+ "1": "keyword.directive.module.http.referer.nginx"
609
+ },
610
+ "push": [
611
+ {
612
+ "meta_scope": "punctuation.definition.variable"
613
+ },
614
+ {
615
+ "match": ";",
616
+ "pop": true
617
+ },
618
+ {
619
+ "include": "values"
620
+ }
621
+ ]
549
622
  },
550
- "end": ";",
551
- "patterns": [
552
- {
553
- "include": "#values"
554
- }
555
- ],
556
- "name": "punctuation.definition.variable"
557
- },
558
- {
559
- "begin": "\\b(break|return)\\b",
560
- "captures": {
561
- "1": {
562
- "name": "support.function.module.http.rewrite.nginx"
563
- }
623
+ {
624
+ "match": "\\b(rewrite_log|set|uninitialized_variable_warn)\\b",
625
+ "captures": {
626
+ "1": "keyword.directive.module.http.rewrite.nginx"
627
+ },
628
+ "push": [
629
+ {
630
+ "meta_scope": "punctuation.definition.variable"
631
+ },
632
+ {
633
+ "match": ";",
634
+ "pop": true
635
+ },
636
+ {
637
+ "include": "values"
638
+ }
639
+ ]
564
640
  },
565
- "end": ";",
566
- "patterns": [
567
- {
568
- "include": "#values"
569
- }
570
- ],
571
- "name": "punctuation.definition.variable"
572
- },
573
- {
574
- "begin": "\\b(rewrite)\\b *(\".+?(?<!\\\\)\"|'.+?(?<!\\\\)'|((.+?)(?<!\\\\)\\s))",
575
- "captures": {
576
- "1": {
577
- "name": "keyword.directive.module.http.rewrite.nginx"
578
- },
579
- "2": {
580
- "name": "string.regexp.nginx"
581
- }
641
+ {
642
+ "match": "\\b(break|return)\\b",
643
+ "captures": {
644
+ "1": "support.function.module.http.rewrite.nginx"
645
+ },
646
+ "push": [
647
+ {
648
+ "meta_scope": "punctuation.definition.variable"
649
+ },
650
+ {
651
+ "match": ";",
652
+ "pop": true
653
+ },
654
+ {
655
+ "include": "values"
656
+ }
657
+ ]
582
658
  },
583
- "end": ";",
584
- "patterns": [
585
- {
586
- "include": "#values"
587
- }
588
- ],
589
- "name": "punctuation.definition.variable"
590
- },
591
- {
592
- "begin": "\\b(scgi_bind|scgi_buffer_size|scgi_buffering|scgi_buffers|scgi_busy_buffers_size|scgi_cache|scgi_cache_bypass|scgi_cache_key|scgi_cache_methods|scgi_cache_min_uses|scgi_cache_path|scgi_cache_use_stale|scgi_cache_valid|scgi_connect_timeout|scgi_hide_header|scgi_ignore_client_abort|scgi_ignore_headers|scgi_intercept_errors|scgi_max_temp_file_size|scgi_next_upstream|scgi_no_cache|scgi_param|scgi_pass|scgi_pass_header|scgi_pass_request_body|scgi_pass_request_headers|scgi_read_timeout|scgi_send_timeout|scgi_store|scgi_store_access|scgi_temp_file_write_size|scgi_temp_path)\\b",
593
- "captures": {
594
- "1": {
595
- "name": "keyword.directive.module.http.scgi.nginx"
596
- }
659
+ {
660
+ "match": "\\b(rewrite)\\b *(\".+?(?<!\\\\)\"|'.+?(?<!\\\\)'|((.+?)(?<!\\\\)\\s))",
661
+ "captures": {
662
+ "1": "keyword.directive.module.http.rewrite.nginx",
663
+ "2": "string.regexp.nginx"
664
+ },
665
+ "push": [
666
+ {
667
+ "meta_scope": "punctuation.definition.variable"
668
+ },
669
+ {
670
+ "match": ";",
671
+ "pop": true
672
+ },
673
+ {
674
+ "include": "values"
675
+ }
676
+ ]
597
677
  },
598
- "end": ";",
599
- "patterns": [
600
- {
601
- "include": "#values"
602
- }
603
- ],
604
- "name": "punctuation.definition.variable"
605
- },
606
- {
607
- "begin": "\\b(split_clients)\\b",
608
- "captures": {
609
- "1": {
610
- "name": "keyword.directive.module.http.split_clients.nginx"
611
- }
678
+ {
679
+ "match": "\\b(scgi_bind|scgi_buffer_size|scgi_buffering|scgi_buffers|scgi_busy_buffers_size|scgi_cache|scgi_cache_bypass|scgi_cache_key|scgi_cache_methods|scgi_cache_min_uses|scgi_cache_path|scgi_cache_use_stale|scgi_cache_valid|scgi_connect_timeout|scgi_hide_header|scgi_ignore_client_abort|scgi_ignore_headers|scgi_intercept_errors|scgi_max_temp_file_size|scgi_next_upstream|scgi_no_cache|scgi_param|scgi_pass|scgi_pass_header|scgi_pass_request_body|scgi_pass_request_headers|scgi_read_timeout|scgi_send_timeout|scgi_store|scgi_store_access|scgi_temp_file_write_size|scgi_temp_path)\\b",
680
+ "captures": {
681
+ "1": "keyword.directive.module.http.scgi.nginx"
682
+ },
683
+ "push": [
684
+ {
685
+ "meta_scope": "punctuation.definition.variable"
686
+ },
687
+ {
688
+ "match": ";",
689
+ "pop": true
690
+ },
691
+ {
692
+ "include": "values"
693
+ }
694
+ ]
612
695
  },
613
- "end": ";",
614
- "patterns": [
615
- {
616
- "include": "#values"
617
- }
618
- ],
619
- "name": "punctuation.definition.variable"
620
- },
621
- {
622
- "begin": "\\b(ssi|ssi_silent_errors|ssi_types|ssi_value_length)\\b",
623
- "captures": {
624
- "1": {
625
- "name": "keyword.directive.module.http.ssi.nginx"
626
- }
696
+ {
697
+ "match": "\\b(split_clients)\\b",
698
+ "captures": {
699
+ "1": "keyword.directive.module.http.split_clients.nginx"
700
+ },
701
+ "push": [
702
+ {
703
+ "meta_scope": "punctuation.definition.variable"
704
+ },
705
+ {
706
+ "match": ";",
707
+ "pop": true
708
+ },
709
+ {
710
+ "include": "values"
711
+ }
712
+ ]
627
713
  },
628
- "end": ";",
629
- "patterns": [
630
- {
631
- "include": "#values"
632
- }
633
- ],
634
- "name": "punctuation.definition.variable"
635
- },
636
- {
637
- "begin": "\\b(ssl|ssl_certificate|ssl_certificate_key|ssl_client_certificate|ssl_dhparam|ssl_ciphers|ssl_crl|ssl_prefer_server_ciphers|ssl_protocols|ssl_verify_client|ssl_verify_depth|ssl_session_cache|ssl_session_timeout|ssl_engine)\\b",
638
- "captures": {
639
- "1": {
640
- "name": "keyword.directive.module.http.ssl.nginx"
641
- }
714
+ {
715
+ "match": "\\b(ssi|ssi_silent_errors|ssi_types|ssi_value_length)\\b",
716
+ "captures": {
717
+ "1": "keyword.directive.module.http.ssi.nginx"
718
+ },
719
+ "push": [
720
+ {
721
+ "meta_scope": "punctuation.definition.variable"
722
+ },
723
+ {
724
+ "match": ";",
725
+ "pop": true
726
+ },
727
+ {
728
+ "include": "values"
729
+ }
730
+ ]
642
731
  },
643
- "end": ";",
644
- "patterns": [
645
- {
646
- "include": "#values"
647
- }
648
- ],
649
- "name": "punctuation.definition.variable"
650
- },
651
- {
652
- "begin": "\\b(ip_hash|server)\\b",
653
- "captures": {
654
- "1": {
655
- "name": "keyword.directive.module.http.upstream.nginx"
656
- }
732
+ {
733
+ "match": "\\b(ssl|ssl_certificate|ssl_certificate_key|ssl_client_certificate|ssl_dhparam|ssl_ciphers|ssl_crl|ssl_prefer_server_ciphers|ssl_protocols|ssl_verify_client|ssl_verify_depth|ssl_session_cache|ssl_session_timeout|ssl_engine)\\b",
734
+ "captures": {
735
+ "1": "keyword.directive.module.http.ssl.nginx"
736
+ },
737
+ "push": [
738
+ {
739
+ "meta_scope": "punctuation.definition.variable"
740
+ },
741
+ {
742
+ "match": ";",
743
+ "pop": true
744
+ },
745
+ {
746
+ "include": "values"
747
+ }
748
+ ]
657
749
  },
658
- "end": ";",
659
- "patterns": [
660
- {
661
- "include": "#values"
662
- }
663
- ],
664
- "name": "punctuation.definition.variable"
665
- },
666
- {
667
- "begin": "\\b(userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service)\\b",
668
- "captures": {
669
- "1": {
670
- "name": "keyword.directive.module.http.userid.nginx"
671
- }
750
+ {
751
+ "match": "\\b(ip_hash|server)\\b",
752
+ "captures": {
753
+ "1": "keyword.directive.module.http.upstream.nginx"
754
+ },
755
+ "push": [
756
+ {
757
+ "meta_scope": "punctuation.definition.variable"
758
+ },
759
+ {
760
+ "match": ";",
761
+ "pop": true
762
+ },
763
+ {
764
+ "include": "values"
765
+ }
766
+ ]
672
767
  },
673
- "end": ";",
674
- "patterns": [
675
- {
676
- "include": "#values"
677
- }
678
- ],
679
- "name": "punctuation.definition.variable"
680
- },
681
- {
682
- "begin": "\\b(uwsgi_bind|uwsgi_buffer_size|uwsgi_buffering|uwsgi_buffers|uwsgi_busy_buffers_size|uwsgi_cache|uwsgi_cache_bypass|uwsgi_cache_key|uwsgi_cache_methods|uwsgi_cache_min_uses|uwsgi_cache_path|uwsgi_cache_use_stale|uwsgi_cache_valid|uwsgi_connect_timeout|uwsgi_hide_header|uwsgi_ignore_client_abort|uwsgi_ignore_headers|uwsgi_intercept_errors|uwsgi_max_temp_file_size|uwsgi_modifier1|uwsgi_modifier2|uwsgi_next_upstream|uwsgi_no_cache|uwsgi_param|uwsgi_pass|uwsgi_pass_header|uwsgi_pass_request_body|uwsgi_pass_request_headers|uwsgi_read_timeout|uwsgi_send_timeout|uwsgi_store|uwsgi_store_access|uwsgi_string|uwsgi_temp_file_write_size|uwsgi_temp_path)\\b",
683
- "captures": {
684
- "1": {
685
- "name": "keyword.directive.module.http.uwsgi.nginx"
686
- }
768
+ {
769
+ "match": "\\b(userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service)\\b",
770
+ "captures": {
771
+ "1": "keyword.directive.module.http.userid.nginx"
772
+ },
773
+ "push": [
774
+ {
775
+ "meta_scope": "punctuation.definition.variable"
776
+ },
777
+ {
778
+ "match": ";",
779
+ "pop": true
780
+ },
781
+ {
782
+ "include": "values"
783
+ }
784
+ ]
687
785
  },
688
- "end": ";",
689
- "patterns": [
690
- {
691
- "include": "#values"
692
- }
693
- ],
694
- "name": "punctuation.definition.variable"
695
- },
696
- {
697
- "begin": "\\b([a-zA-Z0-9\\_]+)\\s+",
698
- "end": "(;|$)",
699
- "patterns": [
700
- {
701
- "include": "#values"
702
- }
703
- ],
704
- "beginCaptures": {
705
- "1": {
706
- "name": "keyword.directive.module.unsupported.nginx"
707
- }
786
+ {
787
+ "match": "\\b(uwsgi_bind|uwsgi_buffer_size|uwsgi_buffering|uwsgi_buffers|uwsgi_busy_buffers_size|uwsgi_cache|uwsgi_cache_bypass|uwsgi_cache_key|uwsgi_cache_methods|uwsgi_cache_min_uses|uwsgi_cache_path|uwsgi_cache_use_stale|uwsgi_cache_valid|uwsgi_connect_timeout|uwsgi_hide_header|uwsgi_ignore_client_abort|uwsgi_ignore_headers|uwsgi_intercept_errors|uwsgi_max_temp_file_size|uwsgi_modifier1|uwsgi_modifier2|uwsgi_next_upstream|uwsgi_no_cache|uwsgi_param|uwsgi_pass|uwsgi_pass_header|uwsgi_pass_request_body|uwsgi_pass_request_headers|uwsgi_read_timeout|uwsgi_send_timeout|uwsgi_store|uwsgi_store_access|uwsgi_string|uwsgi_temp_file_write_size|uwsgi_temp_path)\\b",
788
+ "captures": {
789
+ "1": "keyword.directive.module.http.uwsgi.nginx"
790
+ },
791
+ "push": [
792
+ {
793
+ "meta_scope": "punctuation.definition.variable"
794
+ },
795
+ {
796
+ "match": ";",
797
+ "pop": true
798
+ },
799
+ {
800
+ "include": "values"
801
+ }
802
+ ]
708
803
  },
709
- "name": "punctuation.definition.variable"
710
- },
711
- {
712
- "begin": "\\b(stub_status)\\b",
713
- "captures": {
714
- "1": {
715
- "name": "keyword.directive.module.http.stub_status.nginx"
716
- }
804
+ {
805
+ "match": "\\b([a-zA-Z0-9\\_]+)\\s+",
806
+ "captures": {
807
+ "1": "keyword.directive.module.unsupported.nginx"
808
+ },
809
+ "push": [
810
+ {
811
+ "meta_scope": "punctuation.definition.variable"
812
+ },
813
+ {
814
+ "match": "(;|$)",
815
+ "pop": true
816
+ },
817
+ {
818
+ "include": "values"
819
+ }
820
+ ]
717
821
  },
718
- "end": ";",
719
- "patterns": [
720
- {
721
- "include": "#values"
722
- }
723
- ],
724
- "name": "punctuation.definition.variable"
725
- },
726
- {
727
- "begin": "\\b([a-z]+\\/[a-z0-9\\-\\.\\+]+)\\b",
728
- "captures": {
729
- "1": {
730
- "name": "keyword.directive.module.http.nginx"
731
- }
822
+ {
823
+ "match": "\\b(stub_status)\\b",
824
+ "captures": {
825
+ "1": "keyword.directive.module.http.stub_status.nginx"
826
+ },
827
+ "push": [
828
+ {
829
+ "meta_scope": "punctuation.definition.variable"
830
+ },
831
+ {
832
+ "match": ";",
833
+ "pop": true
834
+ },
835
+ {
836
+ "include": "values"
837
+ }
838
+ ]
732
839
  },
733
- "end": ";",
734
- "patterns": [
735
- {
736
- "include": "#values"
737
- }
738
- ],
739
- "name": "punctuation.definition.variable"
740
- }
741
- ],
742
- "repository": {
743
- "variables": {
744
- "patterns": [
745
- {
746
- "match": "(\\$[A-Za-z0-9\\_]+)\\b",
747
- "name": "variable.other.nginx"
748
- }
749
- ]
750
- },
751
- "values": {
752
- "patterns": [
753
- {
754
- "include": "#variables"
755
- },
756
- {
757
- "match": "[\\t ]([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}|[0-9a-f:]+)(\\/[0-9]{2})?(?=[\\t ;])",
758
- "captures": {
759
- "1": {
760
- "name": "string.ipaddress.nginx"
761
- },
762
- "2": {
763
- "name": "constant.numeric.cidr.nginx"
764
- }
765
- }
766
- },
767
- {
768
- "match": "[\\t ](=?[0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?=[\\t ;])",
769
- "captures": {
770
- "1": {
771
- "name": "constant.numeric.nginx"
772
- }
773
- }
774
- },
775
- {
776
- "match": "[\\t ](on|off|true|false)(?=[\\t ;])",
777
- "name": "constant.language.nginx"
778
- },
779
- {
780
- "match": "[\\t ](kqueue|rtsig|epoll|\\/dev\\/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t ;])",
781
- "name": "constant.language.nginx"
782
- },
783
- {
784
- "match": "\\\\.*\\ |\\~\\*|\\~|\\!\\~\\*|\\!\\~",
785
- "name": "string.regexp.nginx"
786
- },
787
- {
788
- "match": "\\^.*?\\$",
789
- "name": "string.regexp.nginx"
790
- },
791
- {
792
- "begin": "\"",
793
- "end": "\"",
794
- "name": "string.quoted.double.nginx",
795
- "patterns": [
796
- {
797
- "match": "\\\\\"",
798
- "name": "constant.character.escape.nginx"
799
- },
800
- {
801
- "include": "#variables"
802
- }
803
- ]
804
- },
805
- {
806
- "begin": "'",
807
- "end": "'",
808
- "name": "string.quoted.single.nginx",
809
- "patterns": [
810
- {
811
- "match": "\\\\'",
812
- "name": "constant.character.escape.nginx"
813
- },
814
- {
815
- "include": "#variables"
816
- }
817
- ]
818
- }
819
- ]
820
- }
821
- },
822
- "scopeName": "source.nginx",
823
- "uuid": "0C04066A-12D2-43CA-8238-00A12CE4C12D"
840
+ {
841
+ "match": "\\b([a-z]+\\/[a-z0-9\\-\\.\\+]+)\\b",
842
+ "captures": {
843
+ "1": "keyword.directive.module.http.nginx"
844
+ },
845
+ "push": [
846
+ {
847
+ "meta_scope": "punctuation.definition.variable"
848
+ },
849
+ {
850
+ "match": ";",
851
+ "pop": true
852
+ },
853
+ {
854
+ "include": "values"
855
+ }
856
+ ]
857
+ }
858
+ ],
859
+ "values": [
860
+ {
861
+ "include": "variables"
862
+ },
863
+ {
864
+ "match": "[\\t ]([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}|[0-9a-f:]+)(\\/[0-9]{2})?(?=[\\t ;])",
865
+ "captures": {
866
+ "1": "string.ipaddress.nginx",
867
+ "2": "constant.numeric.cidr.nginx"
868
+ }
869
+ },
870
+ {
871
+ "match": "[\\t ](=?[0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?=[\\t ;])",
872
+ "captures": {
873
+ "1": "constant.numeric.nginx"
874
+ }
875
+ },
876
+ {
877
+ "match": "[\\t ](on|off|true|false)(?=[\\t ;])",
878
+ "scope": "constant.language.nginx"
879
+ },
880
+ {
881
+ "match": "[\\t ](kqueue|rtsig|epoll|\\/dev\\/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t ;])",
882
+ "scope": "constant.language.nginx"
883
+ },
884
+ {
885
+ "match": "\\\\.*\\ |\\~\\*|\\~|\\!\\~\\*|\\!\\~",
886
+ "scope": "string.regexp.nginx"
887
+ },
888
+ {
889
+ "match": "\\^.*?\\$",
890
+ "scope": "string.regexp.nginx"
891
+ },
892
+ {
893
+ "match": "\"",
894
+ "push": [
895
+ {
896
+ "meta_scope": "string.quoted.double.nginx"
897
+ },
898
+ {
899
+ "match": "\"",
900
+ "pop": true
901
+ },
902
+ {
903
+ "match": "\\\\\"",
904
+ "scope": "constant.character.escape.nginx"
905
+ },
906
+ {
907
+ "include": "variables"
908
+ }
909
+ ]
910
+ },
911
+ {
912
+ "match": "'",
913
+ "push": [
914
+ {
915
+ "meta_scope": "string.quoted.single.nginx"
916
+ },
917
+ {
918
+ "match": "'",
919
+ "pop": true
920
+ },
921
+ {
922
+ "match": "\\\\'",
923
+ "scope": "constant.character.escape.nginx"
924
+ },
925
+ {
926
+ "include": "variables"
927
+ }
928
+ ]
929
+ }
930
+ ],
931
+ "variables": [
932
+ {
933
+ "match": "(\\$[A-Za-z0-9\\_]+)\\b",
934
+ "scope": "variable.other.nginx"
935
+ }
936
+ ]
937
+ }
824
938
  }