blob: ee2b854ad4c2f248d731767c1e8cc2d33a03a28a [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Squid config file
3" Maintainer: Klaus Muth <klaus@hampft.de>
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +00004" Last Change: 2005 Jun 12
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" URL: http://www.hampft.de/vim/syntax/squid.vim
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +00006" ThanksTo: Ilya Sher <iso8601@mail.ru>,
7" Michael Dotzler <Michael.Dotzler@leoni.com>
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
9
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020010" quit when a syntax file was already loaded
11if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000012 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!
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000023syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000045syn keyword squidConf ftpget_options ftpget_program ftp_list_width
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000046syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000058syn 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
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000062syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000068syn keyword squidConf netdb_high netdb_low netdb_ping_period
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000069syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000073syn keyword squidConf quick_abort quick_abort_max quick_abort_min
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000074syn keyword squidConf quick_abort_pct range_offset_limit read_timeout
75syn keyword squidConf redirect_children redirect_program
Bram Moolenaar071d4272004-06-13 20:20:40 +000076syn keyword squidConf redirect_rewrites_host_header reference_age
77syn keyword squidConf reference_age refresh_pattern reload_into_ims
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000078syn keyword squidConf request_body_max_size request_size request_timeout
Bram Moolenaar071d4272004-06-13 20:20:40 +000079syn 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
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000086syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
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
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +000096syn keyword squidopt via parent no-digest heap lru realm
97syn keyword squidopt children credentialsttl none disable
98syn keyword squidopt offline_toggle diskd q1 q2
Bram Moolenaar071d4272004-06-13 20:20:40 +000099
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
Bram Moolenaar9ba0eb82005-06-13 22:28:56 +0000111syn keyword squidAcl time dstdomain ident snmp_community
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112
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.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200123" Only when an item doesn't have highlighting yet
124command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +0000125
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200126HiLink squidTodo Todo
127HiLink squidComment Comment
128HiLink squidTag Special
129HiLink squidConf Keyword
130HiLink squidOpt Constant
131HiLink squidAction String
132HiLink squidNumber Number
133HiLink squidIP Number
134HiLink squidAcl Keyword
135HiLink squidStr String
136HiLink squidRegexOpt Special
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200138delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139
140let b:current_syntax = "squid"
141
142" vim: ts=8