xref: /vim-8.2.3635/runtime/syntax/wml.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:     WML - Website MetaLanguage
3071d4279SBram Moolenaar" Maintainer:   Gerfried Fuchs <[email protected]>
4071d4279SBram Moolenaar" Filenames:    *.wml
5071d4279SBram Moolenaar" Last Change:  07 Feb 2002
6071d4279SBram Moolenaar" URL:		http://alfie.ist.org/software/vim/syntax/wml.vim
7071d4279SBram Moolenaar"
8071d4279SBram Moolenaar" Original Version: Craig Small <[email protected]>
9071d4279SBram Moolenaar
10071d4279SBram Moolenaar" Comments are very welcome - but please make sure that you are commenting on
11071d4279SBram Moolenaar" the latest version of this file.
12071d4279SBram Moolenaar" SPAM is _NOT_ welcome - be ready to be reported!
13071d4279SBram Moolenaar
14071d4279SBram Moolenaar"  If you are looking for the "Wireless Markup Language" syntax file,
15071d4279SBram Moolenaar"  please take a look at the wap.vim file done by Ralf Schandl, soon in a
16071d4279SBram Moolenaar"  vim-package around your corner :)
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar
1989bcfda6SBram Moolenaar" quit when a syntax file was already loaded
2089bcfda6SBram Moolenaarif exists("b:current_syntax")
21071d4279SBram Moolenaar  finish
22071d4279SBram Moolenaarendif
23071d4279SBram Moolenaar
24071d4279SBram Moolenaar
25071d4279SBram Moolenaar" A lot of the web stuff looks like HTML so we load that first
26071d4279SBram Moolenaarruntime! syntax/html.vim
27071d4279SBram Moolenaarunlet b:current_syntax
28071d4279SBram Moolenaar
29071d4279SBram Moolenaarif !exists("main_syntax")
30071d4279SBram Moolenaar  let main_syntax = 'wml'
31071d4279SBram Moolenaarendif
32071d4279SBram Moolenaar
33071d4279SBram Moolenaar" special character
34071d4279SBram Moolenaarsyn match wmlNextLine	"\\$"
35071d4279SBram Moolenaar
36071d4279SBram Moolenaar" Redfine htmlTag
37071d4279SBram Moolenaarsyn clear htmlTag
38071d4279SBram Moolenaarsyn region  htmlTag  start=+<[^/<]+ end=+>+  contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition
39071d4279SBram Moolenaar
40071d4279SBram Moolenaar"
41071d4279SBram Moolenaar" Add in extra Arguments used by wml
42071d4279SBram Moolenaarsyn keyword htmlTagName contained gfont imgbg imgdot lowsrc
43071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:define navbar:header
44071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:footer navbar:prolog
45071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:epilog navbar:button
46071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:filter navbar:debug
47071d4279SBram Moolenaarsyn keyword htmlTagName contained navbar:render
48071d4279SBram Moolenaarsyn keyword htmlTagName contained preload rollover
49071d4279SBram Moolenaarsyn keyword htmlTagName contained space hspace vspace over
50071d4279SBram Moolenaarsyn keyword htmlTagName contained ps ds pi ein big sc spaced headline
51071d4279SBram Moolenaarsyn keyword htmlTagName contained ue subheadline zwue verbcode
52071d4279SBram Moolenaarsyn keyword htmlTagName contained isolatin pod sdf text url verbatim
53071d4279SBram Moolenaarsyn keyword htmlTagName contained xtable
54071d4279SBram Moolenaarsyn keyword htmlTagName contained csmap fsview import box
55071d4279SBram Moolenaarsyn keyword htmlTagName contained case:upper case:lower
56071d4279SBram Moolenaarsyn keyword htmlTagName contained grid cell info lang: logo page
57071d4279SBram Moolenaarsyn keyword htmlTagName contained set-var restore
58071d4279SBram Moolenaarsyn keyword htmlTagName contained array:push array:show set-var ifdef
59071d4279SBram Moolenaarsyn keyword htmlTagName contained say m4 symbol dump enter divert
60071d4279SBram Moolenaarsyn keyword htmlTagName contained toc
61071d4279SBram Moolenaarsyn keyword htmlTagName contained wml card do refresh oneevent catch spawn
62071d4279SBram Moolenaar
63071d4279SBram Moolenaar"
64071d4279SBram Moolenaar" The wml arguments
65071d4279SBram Moolenaarsyn keyword htmlArg contained adjust background base bdcolor bdspace
66071d4279SBram Moolenaarsyn keyword htmlArg contained bdwidth complete copyright created crop
67071d4279SBram Moolenaarsyn keyword htmlArg contained direction description domainname eperlfilter
68071d4279SBram Moolenaarsyn keyword htmlArg contained file hint imgbase imgstar interchar interline
69071d4279SBram Moolenaarsyn keyword htmlArg contained keephr keepindex keywords layout spacing
70071d4279SBram Moolenaarsyn keyword htmlArg contained padding nonetscape noscale notag notypo
71071d4279SBram Moolenaarsyn keyword htmlArg contained onload oversrc pos select slices style
72071d4279SBram Moolenaarsyn keyword htmlArg contained subselected txtcol_select txtcol_normal
73071d4279SBram Moolenaarsyn keyword htmlArg contained txtonly via
74071d4279SBram Moolenaarsyn keyword htmlArg contained mode columns localsrc ordered
75071d4279SBram Moolenaar
76071d4279SBram Moolenaar
77071d4279SBram Moolenaar" Lines starting with an # are usually comments
78071d4279SBram Moolenaarsyn match   wmlComment     "^\s*#.*"
79071d4279SBram Moolenaar" The different exceptions to comments
80071d4279SBram Moolenaarsyn match   wmlSharpBang   "^#!.*"
81071d4279SBram Moolenaarsyn match   wmlUsed	   contained "\s\s*[A-Za-z:_-]*"
82071d4279SBram Moolenaarsyn match   wmlUse	   "^\s*#\s*use\s\+" contains=wmlUsed
83071d4279SBram Moolenaarsyn match   wmlInclude	   "^\s*#\s*include.+"
84071d4279SBram Moolenaar
85071d4279SBram Moolenaarsyn region  wmlBody	   contained start=+<<+ end=+>>+
86071d4279SBram Moolenaar
87071d4279SBram Moolenaarsyn match   wmlLocationId  contained "[A-Za-z]\+"
88071d4279SBram Moolenaarsyn region  wmlLocation    start=+<<+ end=+>>+ contains=wmlLocationId
89071d4279SBram Moolenaar"syn region  wmlLocation    start=+{#+ end=+#}+ contains=wmlLocationId
90071d4279SBram Moolenaar"syn region  wmlLocationed  contained start=+<<+ end=+>>+ contains=wmlLocationId
91071d4279SBram Moolenaar
92071d4279SBram Moolenaarsyn match   wmlDivert      "\.\.[a-zA-Z_]\+>>"
93071d4279SBram Moolenaarsyn match   wmlDivertEnd   "<<\.\."
94071d4279SBram Moolenaar" new version
95071d4279SBram Moolenaar"syn match   wmlDivert      "{#[a-zA-Z_]\+#:"
96071d4279SBram Moolenaar"syn match   wmlDivertEnd   ":##}"
97071d4279SBram Moolenaar
98071d4279SBram Moolenaarsyn match   wmlDefineName  contained "\s\+[A-Za-z-]\+"
99071d4279SBram Moolenaarsyn region  htmlTagName    start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName
100071d4279SBram Moolenaar
101071d4279SBram Moolenaar" The perl include stuff
102071d4279SBram Moolenaarif main_syntax != 'perl'
103071d4279SBram Moolenaar  " Perl script
104071d4279SBram Moolenaar  syn include @wmlPerlScript syntax/perl.vim
105071d4279SBram Moolenaar  unlet b:current_syntax
106071d4279SBram Moolenaar
107071d4279SBram Moolenaar  syn region perlScript   start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag
108071d4279SBram Moolenaar" eperl between '<:' and ':>'  -- Alfie [1999-12-26]
109071d4279SBram Moolenaar  syn region perlScript   start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag
110071d4279SBram Moolenaar  syn match    wmlPerlTag  contained "</*perl>" contains=wmlPerlTagN
111071d4279SBram Moolenaar  syn keyword  wmlPerlTagN contained perl
112071d4279SBram Moolenaar
113071d4279SBram Moolenaar  hi link   wmlPerlTag  htmlTag
114071d4279SBram Moolenaar  hi link   wmlPerlTagN htmlStatement
115071d4279SBram Moolenaarendif
116071d4279SBram Moolenaar
117071d4279SBram Moolenaar" verbatim tags -- don't highlight anything in between  -- Alfie [2002-02-07]
118071d4279SBram Moolenaarsyn region  wmlVerbatimText start=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag
119071d4279SBram Moolenaarsyn match   wmlVerbatimTag  contained "</*verbatim>" contains=wmlVerbatimTagN
120071d4279SBram Moolenaarsyn keyword wmlVerbatimTagN contained verbatim
121071d4279SBram Moolenaarhi link     wmlVerbatimTag  htmlTag
122071d4279SBram Moolenaarhi link     wmlVerbatimTagN htmlStatement
123071d4279SBram Moolenaar
124071d4279SBram Moolenaarif main_syntax == "html"
125071d4279SBram Moolenaar  syn sync match wmlHighlight groupthere NONE "</a-zA-Z]"
126071d4279SBram Moolenaar  syn sync match wmlHighlight groupthere perlScript "<perl>"
127071d4279SBram Moolenaar  syn sync match wmlHighlightSkip "^.*['\"].*$"
128071d4279SBram Moolenaar  syn sync minlines=10
129071d4279SBram Moolenaarendif
130071d4279SBram Moolenaar
131071d4279SBram Moolenaar" Define the default highlighting.
13289bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
133071d4279SBram Moolenaar
134*f37506f6SBram Moolenaarhi def link wmlNextLine	Special
135*f37506f6SBram Moolenaarhi def link wmlUse		Include
136*f37506f6SBram Moolenaarhi def link wmlUsed	String
137*f37506f6SBram Moolenaarhi def link wmlBody	Special
138*f37506f6SBram Moolenaarhi def link wmlDiverted	Label
139*f37506f6SBram Moolenaarhi def link wmlDivert	Delimiter
140*f37506f6SBram Moolenaarhi def link wmlDivertEnd	Delimiter
141*f37506f6SBram Moolenaarhi def link wmlLocationId	Label
142*f37506f6SBram Moolenaarhi def link wmlLocation	Delimiter
143*f37506f6SBram Moolenaar" hi def link wmlLocationed	Delimiter
144*f37506f6SBram Moolenaarhi def link wmlDefineName	String
145*f37506f6SBram Moolenaarhi def link wmlComment	Comment
146*f37506f6SBram Moolenaarhi def link wmlInclude	Include
147*f37506f6SBram Moolenaarhi def link wmlSharpBang	PreProc
148071d4279SBram Moolenaar
149071d4279SBram Moolenaar
150071d4279SBram Moolenaarlet b:current_syntax = "wml"
151