squid.vim 6.8 KB

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