Merge branch 'vim-runtime'
[vim_mainline.git] / runtime / syntax / squid.vim
bloba8462bbdcea09b24462ac2a1ca74a286233770cb
1 " Vim syntax file
2 " Language:     Squid config file
3 " Maintainer:   Klaus Muth <klaus@hampft.de>
4 " Last Change:  2005 Jun 12
5 " URL:          http://www.hampft.de/vim/syntax/squid.vim
6 " ThanksTo:     Ilya Sher <iso8601@mail.ru>,
7 "               Michael Dotzler <Michael.Dotzler@leoni.com>
10 " For version 5.x: Clear all syntax items
11 " For version 6.x: Quit when a syntax file was already loaded
12 if version < 600
13   syntax clear
14 elseif exists("b:current_syntax")
15   finish
16 endif
18 " squid.conf syntax seems to be case insensitive
19 syn case ignore
21 syn keyword     squidTodo       contained TODO
22 syn match       squidComment    "#.*$" contains=squidTodo,squidTag
23 syn match       squidTag        contained "TAG: .*$"
25 " Lots & lots of Keywords!
26 syn keyword     squidConf       acl always_direct announce_host announce_period
27 syn keyword     squidConf       announce_port announce_to anonymize_headers
28 syn keyword     squidConf       append_domain as_whois_server auth_param_basic
29 syn keyword     squidConf       authenticate_children authenticate_program
30 syn keyword     squidConf       authenticate_ttl broken_posts buffered_logs
31 syn keyword     squidConf       cache_access_log cache_announce cache_dir
32 syn keyword     squidConf       cache_dns_program cache_effective_group
33 syn keyword     squidConf       cache_effective_user cache_host cache_host_acl
34 syn keyword     squidConf       cache_host_domain cache_log cache_mem
35 syn keyword     squidConf       cache_mem_high cache_mem_low cache_mgr
36 syn keyword     squidConf       cachemgr_passwd cache_peer cache_peer_access
37 syn keyword     squidConf       cahce_replacement_policy cache_stoplist
38 syn keyword     squidConf       cache_stoplist_pattern cache_store_log cache_swap
39 syn keyword     squidConf       cache_swap_high cache_swap_log cache_swap_low
40 syn keyword     squidConf       client_db client_lifetime client_netmask
41 syn keyword     squidConf       connect_timeout coredump_dir dead_peer_timeout
42 syn keyword     squidConf       debug_options delay_access delay_class
43 syn keyword     squidConf       delay_initial_bucket_level delay_parameters
44 syn keyword     squidConf       delay_pools deny_info dns_children dns_defnames
45 syn keyword     squidConf       dns_nameservers dns_testnames emulate_httpd_log
46 syn keyword     squidConf       err_html_text fake_user_agent firewall_ip
47 syn keyword     squidConf       forwarded_for forward_snmpd_port fqdncache_size
48 syn keyword     squidConf       ftpget_options ftpget_program ftp_list_width
49 syn keyword     squidConf       ftp_passive ftp_user half_closed_clients
50 syn keyword     squidConf       header_access header_replace hierarchy_stoplist
51 syn keyword     squidConf       high_response_time_warning high_page_fault_warning
52 syn keyword     squidConf       htcp_port http_access http_anonymizer httpd_accel
53 syn keyword     squidConf       httpd_accel_host httpd_accel_port
54 syn keyword     squidConf       httpd_accel_uses_host_header
55 syn keyword     squidConf       httpd_accel_with_proxy http_port http_reply_access
56 syn keyword     squidConf       icp_access icp_hit_stale icp_port
57 syn keyword     squidConf       icp_query_timeout ident_lookup ident_lookup_access
58 syn keyword     squidConf       ident_timeout incoming_http_average
59 syn keyword     squidConf       incoming_icp_average inside_firewall ipcache_high
60 syn keyword     squidConf       ipcache_low ipcache_size local_domain local_ip
61 syn keyword     squidConf       logfile_rotate log_fqdn log_icp_queries
62 syn keyword     squidConf       log_mime_hdrs maximum_object_size
63 syn keyword     squidConf       maximum_single_addr_tries mcast_groups
64 syn keyword     squidConf       mcast_icp_query_timeout mcast_miss_addr
65 syn keyword     squidConf       mcast_miss_encode_key mcast_miss_port memory_pools
66 syn keyword     squidConf       memory_pools_limit memory_replacement_policy
67 syn keyword     squidConf       mime_table min_http_poll_cnt min_icp_poll_cnt
68 syn keyword     squidConf       minimum_direct_hops minimum_object_size
69 syn keyword     squidConf       minimum_retry_timeout miss_access negative_dns_ttl
70 syn keyword     squidConf       negative_ttl neighbor_timeout neighbor_type_domain
71 syn keyword     squidConf       netdb_high netdb_low netdb_ping_period
72 syn keyword     squidConf       netdb_ping_rate never_direct no_cache
73 syn keyword     squidConf       passthrough_proxy pconn_timeout pid_filename
74 syn keyword     squidConf       pinger_program positive_dns_ttl prefer_direct
75 syn keyword     squidConf       proxy_auth proxy_auth_realm query_icmp quick_abort
76 syn keyword     squidConf       quick_abort quick_abort_max quick_abort_min
77 syn keyword     squidConf       quick_abort_pct range_offset_limit read_timeout
78 syn keyword     squidConf       redirect_children redirect_program
79 syn keyword     squidConf       redirect_rewrites_host_header reference_age
80 syn keyword     squidConf       reference_age refresh_pattern reload_into_ims
81 syn keyword     squidConf       request_body_max_size request_size request_timeout
82 syn keyword     squidConf       shutdown_lifetime single_parent_bypass
83 syn keyword     squidConf       siteselect_timeout snmp_access
84 syn keyword     squidConf       snmp_incoming_address snmp_port source_ping
85 syn keyword     squidConf       ssl_proxy store_avg_object_size
86 syn keyword     squidConf       store_objects_per_bucket strip_query_terms
87 syn keyword     squidConf       swap_level1_dirs swap_level2_dirs
88 syn keyword     squidConf       tcp_incoming_address tcp_outgoing_address
89 syn keyword     squidConf       tcp_recv_bufsize test_reachability udp_hit_obj
90 syn keyword     squidConf       udp_hit_obj_size udp_incoming_address
91 syn keyword     squidConf       udp_outgoing_address unique_hostname
92 syn keyword     squidConf       unlinkd_program uri_whitespace useragent_log
93 syn keyword     squidConf       visible_hostname wais_relay wais_relay_host
94 syn keyword     squidConf       wais_relay_port
96 syn keyword     squidOpt        proxy-only weight ttl no-query default
97 syn keyword     squidOpt        round-robin multicast-responder
98 syn keyword     squidOpt        on off all deny allow
99 syn keyword     squidopt        via parent no-digest heap lru realm
100 syn keyword     squidopt        children credentialsttl none disable
101 syn keyword     squidopt        offline_toggle diskd q1 q2
103 " Security Actions for cachemgr_passwd
104 syn keyword     squidAction     shutdown info parameter server_list
105 syn keyword     squidAction     client_list
106 syn match       squidAction     "stats/\(objects\|vm_objects\|utilization\|ipcache\|fqdncache\|dns\|redirector\|io\|reply_headers\|filedescriptors\|netdb\)"
107 syn match       squidAction     "log\(/\(status\|enable\|disable\|clear\)\)\="
108 syn match       squidAction     "squid\.conf"
110 " Keywords for the acl-config
111 syn keyword     squidAcl        url_regex urlpath_regex referer_regex port proto
112 syn keyword     squidAcl        req_mime_type rep_mime_type
113 syn keyword     squidAcl        method browser user src dst
114 syn keyword     squidAcl        time dstdomain ident snmp_community
116 syn match       squidNumber     "\<\d\+\>"
117 syn match       squidIP         "\<\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\>"
118 syn match       squidStr        "\(^\s*acl\s\+\S\+\s\+\(\S*_regex\|re[pq]_mime_type\|browser\|_domain\|user\)\+\s\+\)\@<=.*" contains=squidRegexOpt
119 syn match       squidRegexOpt   contained "\(^\s*acl\s\+\S\+\s\+\S\+\(_regex\|_mime_type\)\s\+\)\@<=[-+]i\s\+"
121 " All config is in one line, so this has to be sufficient
122 " Make it fast like hell :)
123 syn sync minlines=3
125 " Define the default highlighting.
126 " For version 5.7 and earlier: only when not done already
127 " For version 5.8 and later: only when an item doesn't have highlighting yet
128 if version >= 508 || !exists("did_squid_syntax_inits")
129   if version < 508
130     let did_squid_syntax_inits = 1
131     command -nargs=+ HiLink hi link <args>
132   else
133     command -nargs=+ HiLink hi def link <args>
134   endif
136   HiLink squidTodo      Todo
137   HiLink squidComment   Comment
138   HiLink squidTag       Special
139   HiLink squidConf      Keyword
140   HiLink squidOpt       Constant
141   HiLink squidAction    String
142   HiLink squidNumber    Number
143   HiLink squidIP        Number
144   HiLink squidAcl       Keyword
145   HiLink squidStr       String
146   HiLink squidRegexOpt  Special
148   delcommand HiLink
149 endif
151 let b:current_syntax = "squid"
153 " vim: ts=8