blob: 95c78431409cde01b3ed7384ee7711975eee9827 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" 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
Bram Moolenaar5c736222010-01-06 20:54:52 +01006" $Id: dsl.vim,v 1.1 2004/06/13 19:13:31 vimboss Exp $
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
8if exists("b:current_syntax") | finish | endif
9
10runtime syntax/xml.vim
11syn cluster xmlRegionHook add=dslRegion,dslComment
12syn 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
21syn 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
26syn region dslRegion matchgroup=Delimiter start=+(+ end=+)+ contains=dslRegion,dslString,dslComment
27syn match dslString +"\_[^"]*"+ contained
28syn match dslComment +;.*$+ contains=dslTodo
29syn keyword dslTodo contained TODO FIXME XXX display
30
31" The default highlighting.
32hi def link dslTodo Todo
33hi def link dslString String
34hi def link dslComment Comment
35" compare the following with xmlCdataStart / xmlCdataEnd
36hi def link dslCondDelim Type
37
38let b:current_syntax = "dsl"