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