Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 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 |
| 6 | |
| 7 | " Privoxy 3.0.6 |
| 8 | |
| 9 | if exists("b:current_syntax") |
| 10 | finish |
| 11 | endif |
| 12 | |
| 13 | let s:cpo_save = &cpo |
| 14 | set cpo&vim |
| 15 | |
| 16 | setlocal iskeyword=@,48-57,_,- |
| 17 | |
| 18 | syn keyword privoxyTodo contained TODO FIXME XXX NOTE |
| 19 | syn match privoxyComment "#.*" contains=privoxyTodo,@Spell |
| 20 | |
| 21 | syn region privoxyActionLine matchgroup=privoxyActionLineDelimiter start="^\s*\zs{" end="}\ze\s*$" |
| 22 | \ contains=privoxyEnabledPrefix,privoxyDisabledPrefix |
| 23 | |
| 24 | syn match privoxyEnabledPrefix "\%(^\|\s\|{\)\@<=+\l\@=" nextgroup=privoxyAction,privoxyFilterAction contained |
| 25 | syn match privoxyDisabledPrefix "\%(^\|\s\|{\)\@<=-\l\@=" nextgroup=privoxyAction,privoxyFilterAction contained |
| 26 | |
| 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\)\>" |
| 36 | |
| 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 |
| 43 | |
| 44 | " Alternative spellings |
| 45 | syn match privoxyAction "\%(kill-popup\|hide-referer\|prevent-keeping-cookies\)\>" contained |
| 46 | |
| 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 |
| 51 | |
| 52 | syn match privoxySetting "\<for-privoxy-version\>" |
| 53 | |
| 54 | syn match privoxyHeader "^\s*\zs{{\%(alias\|settings\)}}\ze\s*$" |
| 55 | |
| 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 |
| 64 | |
| 65 | hi def link privoxyComment Comment |
| 66 | hi def link privoxyTodo Todo |
| 67 | |
| 68 | let b:current_syntax = "privoxy" |
| 69 | |
| 70 | let &cpo = s:cpo_save |
| 71 | unlet s:cpo_save |