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