dsl.vim (1312B)
1 " Vim syntax file 2 " Language: DSSSL 3 " Maintainer: Johannes Zellner <johannes@zellner.org> 4 " Last Change: Tue, 27 Apr 2004 14:54:59 CEST 5 " Filenames: *.dsl 6 " $Id: dsl.vim,v 1.1 2004/06/13 19:13:31 vimboss Exp $ 7 8 if exists("b:current_syntax") | finish | endif 9 10 runtime syntax/xml.vim 11 syn cluster xmlRegionHook add=dslRegion,dslComment 12 syn cluster xmlCommentHook add=dslCond 13 14 " EXAMPLE: 15 " <![ %output.html; [ 16 " <!-- some comment --> 17 " (define html-manifest #f) 18 " ]]> 19 " 20 " NOTE: 'contains' the same as xmlRegion, except xmlTag / xmlEndTag 21 syn region dslCond matchgroup=dslCondDelim start="\[\_[^[]\+\[" end="]]" contains=xmlCdata,@xmlRegionCluster,xmlComment,xmlEntity,xmlProcessing,@xmlRegionHook 22 23 " NOTE, that dslRegion and dslComment do both NOT have a 'contained' 24 " argument, so this will also work in plain dsssl documents. 25 26 syn region dslRegion matchgroup=Delimiter start=+(+ end=+)+ contains=dslRegion,dslString,dslComment 27 syn match dslString +"\_[^"]*"+ contained 28 syn match dslComment +;.*$+ contains=dslTodo 29 syn keyword dslTodo contained TODO FIXME XXX display 30 31 " The default highlighting. 32 hi def link dslTodo Todo 33 hi def link dslString String 34 hi def link dslComment Comment 35 " compare the following with xmlCdataStart / xmlCdataEnd 36 hi def link dslCondDelim Type 37 38 let b:current_syntax = "dsl"