2 " Language: Privoxy actions file
3 " Maintainer: Doug Kearns <dougkearns@gmail.com>
4 " URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/privoxy.vim
5 " Last Change: 2007 Mar 30
9 if exists("b:current_syntax")
16 setlocal iskeyword=@,48-57,_,-
18 syn keyword privoxyTodo contained TODO FIXME XXX NOTE
19 syn match privoxyComment "#.*" contains=privoxyTodo,@Spell
21 syn region privoxyActionLine matchgroup=privoxyActionLineDelimiter start="^\s*\zs{" end="}\ze\s*$"
22 \ contains=privoxyEnabledPrefix,privoxyDisabledPrefix
24 syn match privoxyEnabledPrefix "\%(^\|\s\|{\)\@<=+\l\@=" nextgroup=privoxyAction,privoxyFilterAction contained
25 syn match privoxyDisabledPrefix "\%(^\|\s\|{\)\@<=-\l\@=" nextgroup=privoxyAction,privoxyFilterAction contained
27 syn match privoxyAction "\%(add-header\|block\|content-type-overwrite\|crunch-client-header\|crunch-if-none-match\)\>" contained
28 syn match privoxyAction "\%(crunch-incoming-cookies\|crunch-outgoing-cookies\|crunch-server-header\|deanimate-gifs\)\>" contained
29 syn match privoxyAction "\%(downgrade-http-version\|fast-redirects\|filter-client-headers\|filter-server-headers\)\>" contained
30 syn match privoxyAction "\%(filter\|force-text-mode\|handle-as-empty-document\|handle-as-image\)\>" contained
31 syn match privoxyAction "\%(hide-accept-language\|hide-content-disposition\|hide-forwarded-for-headers\)\>" contained
32 syn match privoxyAction "\%(hide-from-header\|hide-if-modified-since\|hide-referrer\|hide-user-agent\|inspect-jpegs\)\>" contained
33 syn match privoxyAction "\%(kill-popups\|limit-connect\|overwrite-last-modified\|prevent-compression\|redirect\)\>" contained
34 syn match privoxyAction "\%(send-vanilla-wafer\|send-wafer\|session-cookies-only\|set-image-blocker\)\>" contained
35 syn match privoxyAction "\%(treat-forbidden-connects-like-blocks\)\>"
37 syn match privoxyFilterAction "filter{[^}]*}" contained contains=privoxyFilterArg,privoxyActionBraces
38 syn match privoxyActionBraces "[{}]" contained
39 syn keyword privoxyFilterArg js-annoyances js-events html-annoyances content-cookies refresh-tags unsolicited-popups all-popups
40 \ img-reorder banners-by-size banners-by-link webbugs tiny-textforms jumping-windows frameset-borders demoronizer
41 \ shockwave-flash quicktime-kioskmode fun crude-parental ie-exploits site-specifics no-ping google yahoo msn blogspot
42 \ x-httpd-php-to-html html-to-xml xml-to-html hide-tor-exit-notation contained
44 " Alternative spellings
45 syn match privoxyAction "\%(kill-popup\|hide-referer\|prevent-keeping-cookies\)\>" contained
47 " Pre-3.0 compatibility
48 syn match privoxyAction "\%(no-cookie-read\|no-cookie-set\|prevent-reading-cookies\|prevent-setting-cookies\)\>" contained
49 syn match privoxyAction "\%(downgrade\|hide-forwarded\|hide-from\|image\|image-blocker\|no-compression\)\>" contained
50 syn match privoxyAction "\%(no-cookies-keep\|no-cookies-read\|no-cookies-set\|no-popups\|vanilla-wafer\|wafer\)\>" contained
52 syn match privoxySetting "\<for-privoxy-version\>"
54 syn match privoxyHeader "^\s*\zs{{\%(alias\|settings\)}}\ze\s*$"
56 hi def link privoxyAction Identifier
57 hi def link privoxyFilterAction Identifier
58 hi def link privoxyActionLineDelimiter Delimiter
59 hi def link privoxyDisabledPrefix SpecialChar
60 hi def link privoxyEnabledPrefix SpecialChar
61 hi def link privoxyHeader PreProc
62 hi def link privoxySetting Identifier
63 hi def link privoxyFilterArg Constant
65 hi def link privoxyComment Comment
66 hi def link privoxyTodo Todo
68 let b:current_syntax = "privoxy"