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