1<?php
2/*************************************************************************************
3 * nginx.php
4 * ------
5 * Author: Cliff Wells (cliff@nginx.org)
6 * Copyright: (c) Cliff Wells (http://wiki.nginx.org/CliffWells)
7 * Contributors:
8 *  - Deoren Moor (http://www.whyaskwhy.org/blog/)
9 *  - Thomas Joiner
10 * Release Version: 1.0.9.1
11 * Date Started: 2010/08/24
12 *
13 * nginx language file for GeSHi.
14 *
15 * Original release found at http://forum.nginx.org/read.php?2,123194,123210
16 *
17 * CHANGES
18 * -------
19 * 2012/08/29
20 *   - Clean up the duplicate keywords
21 *
22 * 2012/08/26
23 *   - Synchronized with directives listed on wiki/doc pages
24 *   - Misc formatting tweaks and language fixes to pass langcheck
25 *
26 * 2010/08/24
27 *   - First Release
28 *
29 * TODO (updated 2012/08/26)
30 * -------------------------
31 *  - Verify PARSER_CONTROL items are correct
32 *  - Verify REGEXPS
33 *  - Verify ['STYLES']['REGEXPS'] entries
34 *
35 *
36 *************************************************************************************
37 *
38 *     This file is part of GeSHi.
39 *
40 *   GeSHi is free software; you can redistribute it and/or modify
41 *   it under the terms of the GNU General Public License as published by
42 *   the Free Software Foundation; either version 2 of the License, or
43 *   (at your option) any later version.
44 *
45 *   GeSHi is distributed in the hope that it will be useful,
46 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
47 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
48 *   GNU General Public License for more details.
49 *
50 *   You should have received a copy of the GNU General Public License
51 *   along with GeSHi; if not, write to the Free Software
52 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
53 *
54 ************************************************************************************/
55
56$language_data = array (
57    'LANG_NAME' => 'nginx',
58    'COMMENT_SINGLE' => array(1 => '#'),
59    'COMMENT_MULTI' => array(),
60    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
61    'QUOTEMARKS' => array("'", '"'),
62    'ESCAPE_CHAR' => '\\',
63    'KEYWORDS' => array(
64        1 => array( // core module
65            // http://wiki.nginx.org/CoreModule
66            // http://nginx.org/en/docs/ngx_core_module.html
67            'daemon',
68            'debug_points',
69            'env',
70            'error_log',
71            'events',
72            'include',
73            'lock_file',
74            'master_process',
75            'pcre_jit',
76            'pid',
77            'ssl_engine',
78            'timer_resolution',
79            'user',
80            'worker_cpu_affinity',
81            'worker_priority',
82            'worker_processes',
83            'worker_rlimit_core',
84            'worker_rlimit_nofile',
85            'worker_rlimit_sigpending',
86            'working_directory',
87            // see EventsModule due to organization of wiki
88            //'accept_mutex',
89            //'accept_mutex_delay',
90            //'debug_connection',
91            //'multi_accept',
92            //'use',
93            //'worker_connections',
94            ),
95        2 => array( // events module
96            // http://wiki.nginx.org/EventsModule
97            // http://nginx.org/en/docs/ngx_core_module.html
98            'accept_mutex',
99            'accept_mutex_delay',
100            'debug_connection',
101            'devpoll_changes',
102            'devpoll_events',
103            'kqueue_changes',
104            'kqueue_events',
105            'epoll_events',
106            'multi_accept',
107            'rtsig_signo',
108            'rtsig_overflow_events',
109            'rtsig_overflow_test',
110            'rtsig_overflow_threshold',
111            'use',
112            'worker_connections',
113            ),
114        3 => array( // http module
115            // http://wiki.nginx.org/HttpCoreModule
116            // http://nginx.org/en/docs/http/ngx_http_core_module.html
117            'aio',
118            'alias',
119            'chunked_transfer_encoding',
120            'client_body_buffer_size',
121            'client_body_in_file_only',
122            'client_body_in_single_buffer',
123            'client_body_temp_path',
124            'client_body_timeout',
125            'client_header_buffer_size',
126            'client_header_timeout',
127            'client_max_body_size',
128            'connection_pool_size',
129            'default_type',
130            'directio',
131            'directio_alignment',
132            'disable_symlinks',
133            'error_page',
134            'etag',
135            'http',
136            'if_modified_since',
137            'ignore_invalid_headers',
138            'internal',
139            'keepalive_disable',
140            'keepalive_requests',
141            'keepalive_timeout',
142            'large_client_header_buffers',
143            'limit_except',
144            'limit_rate',
145            'limit_rate_after',
146            'lingering_close',
147            'lingering_time',
148            'lingering_timeout',
149            'listen',
150            'location',
151            'log_not_found',
152            'log_subrequest',
153            'max_ranges',
154            'merge_slashes',
155            'msie_padding',
156            'msie_refresh',
157            'open_file_cache',
158            'open_file_cache_errors',
159            'open_file_cache_min_uses',
160            'open_file_cache_valid',
161            'optimize_server_names',
162            'port_in_redirect',
163            'postpone_output',
164            'read_ahead',
165            'recursive_error_pages',
166            'request_pool_size',
167            'reset_timedout_connection',
168            'resolver',
169            'resolver_timeout',
170            'root',
171            'satisfy',
172            'satisfy_any',
173            'send_lowat',
174            'send_timeout',
175            'sendfile',
176            'sendfile_max_chunk',
177            'server',
178            'server_name',
179            'server_name_in_redirect',
180            'server_names_hash_bucket_size',
181            'server_names_hash_max_size',
182            'server_tokens',
183            'tcp_nodelay',
184            'tcp_nopush',
185            'try_files',
186            'types',
187            'types_hash_bucket_size',
188            'types_hash_max_size',
189            'underscores_in_headers',
190            'variables_hash_bucket_size',
191            'variables_hash_max_size',
192            ),
193        4 => array( // upstream module
194            // http://wiki.nginx.org/HttpUpstreamModule
195            // http://nginx.org/en/docs/http/ngx_http_upstream_module.html
196            'ip_hash',
197            'keepalive',
198            'least_conn',
199            // Use the documentation from the core module since every conf will have at least one of those.
200            //'server',
201            'upstream',
202            ),
203        5 => array( // access module
204            // http://wiki.nginx.org/HttpAccessModule
205            // http://nginx.org/en/docs/http/ngx_http_access_module.html
206            'deny',
207            'allow',
208            ),
209        6 => array( // auth basic module
210            // http://wiki.nginx.org/HttpAuthBasicModule
211            // http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
212            'auth_basic',
213            'auth_basic_user_file'
214            ),
215        7 => array( // auto index module
216            // http://wiki.nginx.org/HttpAutoindexModule
217            // http://nginx.org/en/docs/http/ngx_http_autoindex_module.html
218            'autoindex',
219            'autoindex_exact_size',
220            'autoindex_localtime',
221            ),
222        8 => array( // browser module
223            // http://wiki.nginx.org/HttpBrowserModule
224            // http://nginx.org/en/docs/http/ngx_http_browser_module.html
225            'ancient_browser',
226            'ancient_browser_value',
227            'modern_browser',
228            'modern_browser_value',
229            ),
230        9 => array( // charset module
231            // http://wiki.nginx.org/HttpCharsetModule
232            // http://nginx.org/en/docs/http/ngx_http_charset_module.html
233            'charset',
234            'charset_map',
235            'charset_types',
236            'override_charset',
237            'source_charset',
238            ),
239        10 => array( // empty gif module
240            // http://wiki.nginx.org/HttpEmptyGifModule
241            // http://nginx.org/en/docs/http/ngx_http_empty_gif_module.html
242            'empty_gif',
243            ),
244        11 => array( // fastcgi module
245            // http://wiki.nginx.org/HttpFastcgiModule
246            // http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html
247            'fastcgi_bind',
248            'fastcgi_buffer_size',
249            'fastcgi_buffers',
250            'fastcgi_busy_buffers_size',
251            'fastcgi_cache',
252            'fastcgi_cache_bypass',
253            'fastcgi_cache_key',
254            'fastcgi_cache_lock',
255            'fastcgi_cache_lock_timeout',
256            'fastcgi_cache_methods',
257            'fastcgi_cache_min_uses',
258            'fastcgi_cache_path',
259            'fastcgi_cache_use_stale',
260            'fastcgi_cache_valid',
261            'fastcgi_connect_timeout',
262            'fastcgi_hide_header',
263            'fastcgi_ignore_client_abort',
264            'fastcgi_ignore_headers',
265            'fastcgi_index',
266            'fastcgi_intercept_errors',
267            'fastcgi_keep_conn',
268            'fastcgi_max_temp_file_size',
269            'fastcgi_next_upstream',
270            'fastcgi_no_cache',
271            'fastcgi_param',
272            'fastcgi_pass',
273            'fastcgi_pass_header',
274            'fastcgi_pass_request_body',
275            'fastcgi_pass_request_headers',
276            'fastcgi_read_timeout',
277            'fastcgi_redirect_errors',
278            'fastcgi_send_timeout',
279            'fastcgi_split_path_info',
280            'fastcgi_store',
281            'fastcgi_store_access',
282            'fastcgi_temp_file_write_size',
283            'fastcgi_temp_path',
284            ),
285        12 => array( // geo module
286            // http://wiki.nginx.org/HttpGeoModule
287            // http://nginx.org/en/docs/http/ngx_http_geo_module.html
288            'geo'
289            ),
290        13 => array( // gzip module
291            // http://wiki.nginx.org/HttpGzipModule
292            // http://nginx.org/en/docs/http/ngx_http_gzip_module.html
293            'gzip',
294            'gzip_buffers',
295            'gzip_comp_level',
296            'gzip_disable',
297            'gzip_min_length',
298            'gzip_http_version',
299            'gzip_proxied',
300            'gzip_types',
301            'gzip_vary',
302            ),
303        14 => array( // headers module
304            // http://wiki.nginx.org/HttpHeadersModule
305            // http://nginx.org/en/docs/http/ngx_http_headers_module.html
306            'add_header',
307            'expires',
308            ),
309        15 => array( // index module
310            // http://wiki.nginx.org/HttpIndexModule
311            // http://nginx.org/en/docs/http/ngx_http_index_module.html
312            'index',
313            ),
314        16 => array( // limit requests module
315            // http://wiki.nginx.org/HttpLimitReqModule
316            // http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
317            'limit_req',
318            'limit_req_log_level',
319            'limit_req_zone',
320            ),
321        17 => array( // referer module
322            // http://wiki.nginx.org/HttpRefererModule
323            // http://nginx.org/en/docs/http/ngx_http_referer_module.html
324            'referer_hash_bucket_size',
325            'referer_hash_max_size',
326            'valid_referers',
327            ),
328        18 => array( // limit zone module
329            // deprecated in 1.1.8
330            // http://wiki.nginx.org/HttpLimitZoneModule
331            'limit_zone',
332            // Covered by documentation for ngx_http_limit_conn_module
333            //'limit_conn',
334            ),
335        19 => array( // limit connection module
336            // http://wiki.nginx.org/HttpLimitConnModule
337            // http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
338            'limit_conn',
339            'limit_conn_zone',
340            'limit_conn_log_level',
341            ),
342        20 => array( // log module
343            // http://wiki.nginx.org/HttpLogModule
344            // http://nginx.org/en/docs/http/ngx_http_log_module.html
345            'access_log',
346            'log_format',
347            // Appears to be deprecated
348            'log_format_combined',
349            'open_log_file_cache',
350            ),
351        21 => array( // map module
352            // http://wiki.nginx.org/HttpMapModule
353            // http://nginx.org/en/docs/http/ngx_http_map_module.html
354            'map',
355            'map_hash_max_size',
356            'map_hash_bucket_size',
357            ),
358        22 => array( // memcached module
359            // http://wiki.nginx.org/HttpMemcachedModule
360            // http://nginx.org/en/docs/http/ngx_http_memcached_module.html
361            'memcached_buffer_size',
362            'memcached_connect_timeout',
363            'memcached_next_upstream',
364            'memcached_pass',
365            'memcached_read_timeout',
366            'memcached_send_timeout',
367            ),
368        23 => array( // proxy module
369            // http://wiki.nginx.org/HttpProxyModule
370            // http://nginx.org/en/docs/http/ngx_http_proxy_module.html
371            'proxy_bind',
372            'proxy_buffer_size',
373            'proxy_buffering',
374            'proxy_buffers',
375            'proxy_busy_buffers_size',
376            'proxy_cache',
377            'proxy_cache_bypass',
378            'proxy_cache_key',
379            'proxy_cache_lock',
380            'proxy_cache_lock_timeout',
381            'proxy_cache_methods',
382            'proxy_cache_min_uses',
383            'proxy_cache_path',
384            'proxy_cache_use_stale',
385            'proxy_cache_valid',
386            'proxy_connect_timeout',
387            'proxy_cookie_domain',
388            'proxy_cookie_path',
389            'proxy_headers_hash_bucket_size',
390            'proxy_headers_hash_max_size',
391            'proxy_hide_header',
392            'proxy_http_version',
393            'proxy_ignore_client_abort',
394            'proxy_ignore_headers',
395            'proxy_intercept_errors',
396            'proxy_max_temp_file_size',
397            'proxy_method',
398            'proxy_next_upstream',
399            'proxy_no_cache',
400            'proxy_pass',
401            'proxy_pass_header',
402            'proxy_pass_request_body',
403            'proxy_pass_request_headers',
404            'proxy_redirect',
405            'proxy_read_timeout',
406            'proxy_redirect_errors',
407            'proxy_send_lowat',
408            'proxy_send_timeout',
409            'proxy_set_body',
410            'proxy_set_header',
411            'proxy_ssl_session_reuse',
412            'proxy_store',
413            'proxy_store_access',
414            'proxy_temp_file_write_size',
415            'proxy_temp_path',
416            'proxy_upstream_fail_timeout',
417            'proxy_upstream_max_fails',
418            ),
419        24 => array( // rewrite module
420            // http://wiki.nginx.org/HttpRewriteModule
421            // http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
422            'break',
423            'if',
424            'return',
425            'rewrite',
426            'rewrite_log',
427            'set',
428            'uninitialized_variable_warn',
429            ),
430        25 => array( // ssi module
431            // http://wiki.nginx.org/HttpSsiModule
432            // http://nginx.org/en/docs/http/ngx_http_ssi_module.html
433            'ssi',
434            'ssi_silent_errors',
435            'ssi_types',
436            'ssi_value_length',
437            ),
438        26 => array( // user id module
439            // http://wiki.nginx.org/HttpUseridModule
440            // http://nginx.org/en/docs/http/ngx_http_userid_module.html
441            'userid',
442            'userid_domain',
443            'userid_expires',
444            'userid_name',
445            'userid_p3p',
446            'userid_path',
447            'userid_service',
448            ),
449        27 => array( // addition module
450            // http://wiki.nginx.org/HttpAdditionModule
451            // http://nginx.org/en/docs/http/ngx_http_addition_module.html
452            'add_before_body',
453            'add_after_body',
454            'addition_types',
455            ),
456        28 => array( // embedded Perl module
457            // http://wiki.nginx.org/HttpPerlModule
458            // http://nginx.org/en/docs/http/ngx_http_perl_module.html
459            'perl',
460            'perl_modules',
461            'perl_require',
462            'perl_set',
463            ),
464        29 => array( // flash video files module
465            // http://wiki.nginx.org/HttpFlvModule
466            // http://nginx.org/en/docs/http/ngx_http_flv_module.html
467            'flv',
468            ),
469        30 => array( // gzip precompression module
470            // http://wiki.nginx.org/HttpGzipStaticModule
471            // http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html
472            'gzip_static',
473            // Removed to remove duplication with ngx_http_gzip_module
474            //'gzip_http_version',
475            //'gzip_proxied',
476            //'gzip_disable',
477            //'gzip_vary',
478            ),
479        31 => array( // random index module
480            // http://wiki.nginx.org/HttpRandomIndexModule
481            // http://nginx.org/en/docs/http/ngx_http_random_index_module.html
482            'random_index',
483            ),
484        32 => array( // real ip module
485            // http://wiki.nginx.org/HttpRealipModule
486            // http://nginx.org/en/docs/http/ngx_http_realip_module.html
487            'set_real_ip_from',
488            'real_ip_header',
489            'real_ip_recursive',
490            ),
491        33 => array( // https module
492            // http://wiki.nginx.org/HttpSslModule
493            // http://nginx.org/en/docs/http/ngx_http_ssl_module.html
494            'ssl',
495            'ssl_certificate',
496            'ssl_certificate_key',
497            'ssl_ciphers',
498            'ssl_client_certificate',
499            'ssl_crl',
500            'ssl_dhparam',
501            // Use the documentation for the core module since it links to the
502            // original properly
503            //'ssl_engine',
504            'ssl_prefer_server_ciphers',
505            'ssl_protocols',
506            'ssl_session_cache',
507            'ssl_session_timeout',
508            'ssl_verify_client',
509            'ssl_verify_depth',
510            ),
511        34 => array( // status module
512            // http://wiki.nginx.org/HttpStubStatusModule
513            'stub_status',
514            ),
515        35 => array( // substitution module
516            // http://wiki.nginx.org/HttpSubModule
517            // http://nginx.org/en/docs/http/ngx_http_sub_module.html
518            'sub_filter',
519            'sub_filter_once',
520            'sub_filter_types',
521            ),
522        36 => array( // NginxHttpDavModule
523            // http://wiki.nginx.org/HttpDavModule
524            // http://nginx.org/en/docs/http/ngx_http_dav_module.html
525            'dav_access',
526            'dav_methods',
527            'create_full_put_path',
528            'min_delete_depth',
529            ),
530        37 => array( // Google performance tools module
531            // http://wiki.nginx.org/GooglePerftoolsModule
532            'google_perftools_profiles',
533            ),
534        38 => array( // xslt module
535            // http://wiki.nginx.org/HttpXsltModule
536            // http://nginx.org/en/docs/http/ngx_http_xslt_module.html
537            'xslt_entities',
538            'xslt_param',
539            'xslt_string_param',
540            'xslt_stylesheet',
541            'xslt_types',
542            ),
543        39 => array( // uWSGI module
544            // http://wiki.nginx.org/HttpUwsgiModule
545            'uwsgi_bind',
546            'uwsgi_buffer_size',
547            'uwsgi_buffering',
548            'uwsgi_buffers',
549            'uwsgi_busy_buffers_size',
550            'uwsgi_cache',
551            'uwsgi_cache_bypass',
552            'uwsgi_cache_key',
553            'uwsgi_cache_lock',
554            'uwsgi_cache_lock_timeout',
555            'uwsgi_cache_methods',
556            'uwsgi_cache_min_uses',
557            'uwsgi_cache_path',
558            'uwsgi_cache_use_stale',
559            'uwsgi_cache_valid',
560            'uwsgi_connect_timeout',
561            'uwsgi_hide_header',
562            'uwsgi_ignore_client_abort',
563            'uwsgi_ignore_headers',
564            'uwsgi_intercept_errors',
565            'uwsgi_max_temp_file_size',
566            'uwsgi_modifier',
567            'uwsgi_next_upstream',
568            'uwsgi_no_cache',
569            'uwsgi_param',
570            'uwsgi_pass',
571            'uwsgi_pass_header',
572            'uwsgi_pass_request_body',
573            'uwsgi_pass_request_headers',
574            'uwsgi_read_timeout',
575            'uwsgi_send_timeout',
576            'uwsgi_store',
577            'uwsgi_store_access',
578            'uwsgi_string',
579            'uwsgi_temp_file_write_size',
580            'uwsgi_temp_path',
581            ),
582        40 => array( // SCGI module
583            // http://wiki.nginx.org/HttpScgiModule
584            // Note: These directives were pulled from nginx 1.2.3
585            //       ngx_http_scgi_module.c source file.
586            'scgi_bind',
587            'scgi_buffering',
588            'scgi_buffers',
589            'scgi_buffer_size',
590            'scgi_busy_buffers_size',
591            'scgi_cache',
592            'scgi_cache_bypass',
593            'scgi_cache_key',
594            'scgi_cache_lock',
595            'scgi_cache_lock_timeout',
596            'scgi_cache_methods',
597            'scgi_cache_min_uses',
598            'scgi_cache_path',
599            'scgi_cache_use_stale',
600            'scgi_cache_valid',
601            'scgi_connect_timeout',
602            'scgi_hide_header',
603            'scgi_ignore_client_abort',
604            'scgi_ignore_headers',
605            'scgi_intercept_errors',
606            'scgi_max_temp_file_size',
607            'scgi_next_upstream',
608            'scgi_no_cache',
609            'scgi_param',
610            'scgi_pass',
611            'scgi_pass_header',
612            'scgi_pass_request_body',
613            'scgi_pass_request_headers',
614            'scgi_read_timeout',
615            'scgi_send_timeout',
616            'scgi_store',
617            'scgi_store_access',
618            'scgi_temp_file_write_size',
619            'scgi_temp_path',
620            ),
621        41 => array( // split clients module
622            // http://wiki.nginx.org/HttpSplitClientsModule
623            // http://nginx.org/en/docs/http/ngx_http_split_clients_module.html
624            'split_clients',
625            ),
626        42 => array( // X-Accel module
627            // http://wiki.nginx.org/X-accel
628            'X-Accel-Redirect',
629            'X-Accel-Buffering',
630            'X-Accel-Charset',
631            'X-Accel-Expires',
632            'X-Accel-Limit-Rate',
633            ),
634        43 => array( // degradation module
635            // http://wiki.nginx.org/HttpDegradationModule
636            'degradation',
637            'degrade',
638            ),
639        44 => array( // GeoIP module
640            // http://wiki.nginx.org/HttpGeoipModule
641            // http://nginx.org/en/docs/http/ngx_http_geoip_module.html
642            'geoip_country',
643            'geoip_city',
644            'geoip_proxy',
645            'geoip_proxy_recursive',
646            ),
647        45 => array( // Image filter module
648            // http://wiki.nginx.org/HttpImageFilterModule
649            // http://nginx.org/en/docs/http/ngx_http_image_filter_module.html
650            'image_filter',
651            'image_filter_buffer',
652            'image_filter_jpeg_quality',
653            'image_filter_sharpen',
654            'image_filter_transparency',
655            ),
656        46 => array( // MP4 module
657            // http://wiki.nginx.org/HttpMp4Module
658            // http://nginx.org/en/docs/http/ngx_http_mp4_module.html
659            'mp4',
660            'mp4_buffer_size',
661            'mp4_max_buffer_size',
662            ),
663        47 => array( // Secure Link module
664            // http://wiki.nginx.org/HttpSecureLinkModule
665            // http://nginx.org/en/docs/http/ngx_http_secure_link_module.html
666            'secure_link',
667            'secure_link_md',
668            'secure_link_secret',
669            ),
670        48 => array( // Mail Core module
671            // http://wiki.nginx.org/MailCoreModule
672            'auth',
673            'imap_capabilities',
674            'imap_client_buffer',
675            'pop_auth',
676            'pop_capabilities',
677            'protocol',
678            'smtp_auth',
679            'smtp_capabilities',
680            'so_keepalive',
681            'timeout',
682            // Removed to prioritize documentation for core module
683            //'listen',
684            //'server',
685            //'server_name',
686            ),
687        49 => array( // Mail Auth module
688            // http://wiki.nginx.org/MailAuthModule
689            'auth_http',
690            'auth_http_header',
691            'auth_http_timeout',
692            ),
693        50 => array( // Mail Proxy module
694            // http://wiki.nginx.org/MailProxyModule
695            'proxy',
696            'proxy_buffer',
697            'proxy_pass_error_message',
698            'proxy_timeout',
699            'xclient',
700            ),
701        51 => array( // Mail SSL module
702            // http://wiki.nginx.org/MailSslModule
703            // Removed to prioritize documentation for http
704            //'ssl',
705            //'ssl_certificate',
706            //'ssl_certificate_key',
707            //'ssl_ciphers',
708            //'ssl_prefer_server_ciphers',
709            //'ssl_protocols',
710            //'ssl_session_cache',
711            //'ssl_session_timeout',
712            'starttls',
713            ),
714        ),
715    'SYMBOLS' => array(
716        '(', ')', '{', '}', '=', '~', ';'
717        ),
718    'CASE_SENSITIVE' => array(
719        GESHI_COMMENTS => true,
720        1 => true,
721        2 => true,
722        3 => true,
723        4 => true,
724        5 => true,
725        6 => true,
726        7 => true,
727        8 => true,
728        9 => true,
729        10 => true,
730        11 => true,
731        12 => true,
732        13 => true,
733        14 => true,
734        15 => true,
735        16 => true,
736        17 => true,
737        18 => true,
738        19 => true,
739        20 => true,
740        21 => true,
741        22 => true,
742        23 => true,
743        24 => true,
744        25 => true,
745        26 => true,
746        27 => true,
747        28 => true,
748        29 => true,
749        30 => true,
750        31 => true,
751        32 => true,
752        33 => true,
753        34 => true,
754        35 => true,
755        36 => true,
756        37 => true,
757        38 => true,
758        39 => true,
759        40 => true,
760        41 => true,
761        42 => true,
762        43 => true,
763        44 => true,
764        45 => true,
765        46 => true,
766        47 => true,
767        48 => true,
768        49 => true,
769        50 => true,
770        51 => true,
771        ),
772    'STYLES' => array(
773        'KEYWORDS' => array(
774            1 => 'color: #b1b100;',
775            2 => 'color: #000000; font-weight: bold;',
776            3 => 'color: #000066;',
777            4 => 'color: #993333;'
778            ),
779        'COMMENTS' => array(
780            1 => 'color: #808080; font-style: italic;',
781            ),
782        'ESCAPE_CHAR' => array(
783            0 => 'color: #000099; font-weight: bold;'
784            ),
785        'BRACKETS' => array(
786            0 => 'color: #66cc66;'
787            ),
788        'STRINGS' => array(
789            0 => 'color: #ff0000;'
790            ),
791        'NUMBERS' => array(
792            ),
793        'METHODS' => array(
794            1 => 'color: #202020;',
795            2 => 'color: #202020;'
796            ),
797        'SYMBOLS' => array(
798            0 => 'color: #66cc66;'
799            ),
800        'REGEXPS' => array(
801            0 => 'color: #000066;',
802            4 => 'color: #000000; font-weight: bold;',
803        ),
804        'SCRIPT' => array()
805        ),
806    'URLS' => array(
807        1 => 'http://wiki.nginx.org/CoreModule#{FNAME}',
808        2 => 'http://wiki.nginx.org/NginxHttpEventsModule#{FNAME}',
809        3 => 'http://wiki.nginx.org/NginxHttpCoreModule#{FNAME}',
810        4 => 'http://wiki.nginx.org/NginxHttpUpstreamModule#{FNAME}',
811        5 => 'http://wiki.nginx.org/NginxHttpAccessModule#{FNAME}',
812        6 => 'http://wiki.nginx.org/NginxHttpAuthBasicModule#{FNAME}',
813        7 => 'http://wiki.nginx.org/NginxHttpAutoIndexModule#{FNAME}',
814        8 => 'http://wiki.nginx.org/NginxHttpBrowserModule#{FNAME}',
815        9 => 'http://wiki.nginx.org/NginxHttpCharsetModule#{FNAME}',
816        10 => 'http://wiki.nginx.org/NginxHttpEmptyGifModule#{FNAME}',
817        11 => 'http://wiki.nginx.org/NginxHttpFcgiModule#{FNAME}',
818        12 => 'http://wiki.nginx.org/NginxHttpGeoModule#{FNAME}',
819        13 => 'http://wiki.nginx.org/NginxHttpGzipModule#{FNAME}',
820        14 => 'http://wiki.nginx.org/NginxHttpHeadersModule#{FNAME}',
821        15 => 'http://wiki.nginx.org/NginxHttpIndexModule#{FNAME}',
822        16 => 'http://wiki.nginx.org/HttpLimitReqModule#{FNAME}',
823        17 => 'http://wiki.nginx.org/NginxHttpRefererModule#{FNAME}',
824        18 => 'http://wiki.nginx.org/NginxHttpLimitZoneModule#{FNAME}',
825        19 => 'http://wiki.nginx.org/HttpLimitConnModule#{FNAME}',
826        20 => 'http://wiki.nginx.org/NginxHttpLogModule#{FNAME}',
827        21 => 'http://wiki.nginx.org/NginxHttpMapModule#{FNAME}',
828        22 => 'http://wiki.nginx.org/NginxHttpMemcachedModule#{FNAME}',
829        23 => 'http://wiki.nginx.org/NginxHttpProxyModule#{FNAME}',
830        24 => 'http://wiki.nginx.org/NginxHttpRewriteModule#{FNAME}',
831        25 => 'http://wiki.nginx.org/NginxHttpSsiModule#{FNAME}',
832        26 => 'http://wiki.nginx.org/NginxHttpUserIdModule#{FNAME}',
833        27 => 'http://wiki.nginx.org/NginxHttpAdditionModule#{FNAME}',
834        28 => 'http://wiki.nginx.org/NginxHttpEmbeddedPerlModule#{FNAME}',
835        29 => 'http://wiki.nginx.org/NginxHttpFlvStreamModule#{FNAME}',
836        30 => 'http://wiki.nginx.org/NginxHttpGzipStaticModule#{FNAME}',
837        31 => 'http://wiki.nginx.org/NginxHttpRandomIndexModule#{FNAME}',
838        32 => 'http://wiki.nginx.org/NginxHttpRealIpModule#{FNAME}',
839        33 => 'http://wiki.nginx.org/NginxHttpSslModule#{FNAME}',
840        34 => 'http://wiki.nginx.org/NginxHttpStubStatusModule#{FNAME}',
841        35 => 'http://wiki.nginx.org/NginxHttpSubModule#{FNAME}',
842        36 => 'http://wiki.nginx.org/NginxHttpDavModule#{FNAME}',
843        37 => 'http://wiki.nginx.org/NginxHttpGooglePerfToolsModule#{FNAME}',
844        38 => 'http://wiki.nginx.org/NginxHttpXsltModule#{FNAME}',
845        39 => 'http://wiki.nginx.org/NginxHttpUwsgiModule#{FNAME}',
846        40 => 'http://wiki.nginx.org/HttpScgiModule',
847        41 => 'http://wiki.nginx.org/HttpSplitClientsModule#{FNAME}',
848        42 => 'http://wiki.nginx.org/X-accel#{FNAME}',
849        43 => 'http://wiki.nginx.org/HttpDegradationModule#{FNAME}',
850        44 => 'http://wiki.nginx.org/HttpGeoipModule#{FNAME}',
851        45 => 'http://wiki.nginx.org/HttpImageFilterModule#{FNAME}',
852        46 => 'http://wiki.nginx.org/HttpMp4Module#{FNAME}',
853        47 => 'http://wiki.nginx.org/HttpSecureLinkModule#{FNAME}',
854        48 => 'http://wiki.nginx.org/MailCoreModule#{FNAME}',
855        49 => 'http://wiki.nginx.org/MailAuthModule#{FNAME}',
856        50 => 'http://wiki.nginx.org/MailProxyModule#{FNAME}',
857        51 => 'http://wiki.nginx.org/MailSslModule#{FNAME}',
858        ),
859    'OOLANG' => false,
860    'OBJECT_SPLITTERS' => array(),
861    'REGEXPS' => array(
862        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
863        4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
864        ),
865    'STRICT_MODE_APPLIES' => GESHI_NEVER,
866    'SCRIPT_DELIMITERS' => array(),
867    'HIGHLIGHT_STRICT_BLOCK' => array(),
868    'PARSER_CONTROL' => array(
869        'ENABLE_FLAGS' => array(
870            'NUMBERS' => GESHI_NEVER
871            )
872        )
873);
874