7
|
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$
|
|
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"
|