Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/wml.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: WML - Website MetaLanguage | |
3 " Maintainer: Gerfried Fuchs <alfie@ist.org> | |
4 " Filenames: *.wml | |
5 " Last Change: 07 Feb 2002 | |
6 " URL: http://alfie.ist.org/software/vim/syntax/wml.vim | |
7 " | |
8 " Original Version: Craig Small <csmall@eye-net.com.au> | |
9 | |
10 " Comments are very welcome - but please make sure that you are commenting on | |
11 " the latest version of this file. | |
12 " SPAM is _NOT_ welcome - be ready to be reported! | |
13 | |
14 " If you are looking for the "Wireless Markup Language" syntax file, | |
15 " please take a look at the wap.vim file done by Ralf Schandl, soon in a | |
16 " vim-package around your corner :) | |
17 | |
18 | |
19 " For version 5.x: Clear all syntax items | |
20 " For version 6.x: Quit when a syntax file was already loaded | |
21 if version < 600 | |
22 syn clear | |
23 elseif exists("b:current_syntax") | |
24 finish | |
25 endif | |
26 | |
27 | |
28 " A lot of the web stuff looks like HTML so we load that first | |
29 if version < 600 | |
30 so <sfile>:p:h/html.vim | |
31 else | |
32 runtime! syntax/html.vim | |
33 endif | |
34 unlet b:current_syntax | |
35 | |
36 if !exists("main_syntax") | |
37 let main_syntax = 'wml' | |
38 endif | |
39 | |
40 " special character | |
41 syn match wmlNextLine "\\$" | |
42 | |
43 " Redfine htmlTag | |
44 syn clear htmlTag | |
45 syn region htmlTag start=+<[^/<]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition | |
46 | |
47 " | |
48 " Add in extra Arguments used by wml | |
49 syn keyword htmlTagName contained gfont imgbg imgdot lowsrc | |
50 syn keyword htmlTagName contained navbar:define navbar:header | |
51 syn keyword htmlTagName contained navbar:footer navbar:prolog | |
52 syn keyword htmlTagName contained navbar:epilog navbar:button | |
53 syn keyword htmlTagName contained navbar:filter navbar:debug | |
54 syn keyword htmlTagName contained navbar:render | |
55 syn keyword htmlTagName contained preload rollover | |
56 syn keyword htmlTagName contained space hspace vspace over | |
57 syn keyword htmlTagName contained ps ds pi ein big sc spaced headline | |
58 syn keyword htmlTagName contained ue subheadline zwue verbcode | |
59 syn keyword htmlTagName contained isolatin pod sdf text url verbatim | |
60 syn keyword htmlTagName contained xtable | |
61 syn keyword htmlTagName contained csmap fsview import box | |
62 syn keyword htmlTagName contained case:upper case:lower | |
63 syn keyword htmlTagName contained grid cell info lang: logo page | |
64 syn keyword htmlTagName contained set-var restore | |
65 syn keyword htmlTagName contained array:push array:show set-var ifdef | |
66 syn keyword htmlTagName contained say m4 symbol dump enter divert | |
67 syn keyword htmlTagName contained toc | |
68 syn keyword htmlTagName contained wml card do refresh oneevent catch spawn | |
69 | |
70 " | |
71 " The wml arguments | |
72 syn keyword htmlArg contained adjust background base bdcolor bdspace | |
73 syn keyword htmlArg contained bdwidth complete copyright created crop | |
74 syn keyword htmlArg contained direction description domainname eperlfilter | |
75 syn keyword htmlArg contained file hint imgbase imgstar interchar interline | |
76 syn keyword htmlArg contained keephr keepindex keywords layout spacing | |
77 syn keyword htmlArg contained padding nonetscape noscale notag notypo | |
78 syn keyword htmlArg contained onload oversrc pos select slices style | |
79 syn keyword htmlArg contained subselected txtcol_select txtcol_normal | |
80 syn keyword htmlArg contained txtonly via | |
81 syn keyword htmlArg contained mode columns localsrc ordered | |
82 | |
83 | |
84 " Lines starting with an # are usually comments | |
85 syn match wmlComment "^\s*#.*" | |
86 " The different exceptions to comments | |
87 syn match wmlSharpBang "^#!.*" | |
88 syn match wmlUsed contained "\s\s*[A-Za-z:_-]*" | |
89 syn match wmlUse "^\s*#\s*use\s\+" contains=wmlUsed | |
90 syn match wmlInclude "^\s*#\s*include.+" | |
91 | |
92 syn region wmlBody contained start=+<<+ end=+>>+ | |
93 | |
94 syn match wmlLocationId contained "[A-Za-z]\+" | |
95 syn region wmlLocation start=+<<+ end=+>>+ contains=wmlLocationId | |
96 "syn region wmlLocation start=+{#+ end=+#}+ contains=wmlLocationId | |
97 "syn region wmlLocationed contained start=+<<+ end=+>>+ contains=wmlLocationId | |
98 | |
99 syn match wmlDivert "\.\.[a-zA-Z_]\+>>" | |
100 syn match wmlDivertEnd "<<\.\." | |
101 " new version | |
102 "syn match wmlDivert "{#[a-zA-Z_]\+#:" | |
103 "syn match wmlDivertEnd ":##}" | |
104 | |
105 syn match wmlDefineName contained "\s\+[A-Za-z-]\+" | |
106 syn region htmlTagName start="\<\(define-tag\|define-region\)" end="\>" contains=wmlDefineName | |
107 | |
108 " The perl include stuff | |
109 if main_syntax != 'perl' | |
110 " Perl script | |
111 if version < 600 | |
112 syn include @wmlPerlScript <sfile>:p:h/perl.vim | |
113 else | |
114 syn include @wmlPerlScript syntax/perl.vim | |
115 endif | |
116 unlet b:current_syntax | |
117 | |
118 syn region perlScript start=+<perl>+ keepend end=+</perl>+ contains=@wmlPerlScript,wmlPerlTag | |
119 " eperl between '<:' and ':>' -- Alfie [1999-12-26] | |
120 syn region perlScript start=+<:+ keepend end=+:>+ contains=@wmlPerlScript,wmlPerlTag | |
121 syn match wmlPerlTag contained "</*perl>" contains=wmlPerlTagN | |
122 syn keyword wmlPerlTagN contained perl | |
123 | |
124 hi link wmlPerlTag htmlTag | |
125 hi link wmlPerlTagN htmlStatement | |
126 endif | |
127 | |
128 " verbatim tags -- don't highlight anything in between -- Alfie [2002-02-07] | |
129 syn region wmlVerbatimText start=+<verbatim>+ keepend end=+</verbatim>+ contains=wmlVerbatimTag | |
130 syn match wmlVerbatimTag contained "</*verbatim>" contains=wmlVerbatimTagN | |
131 syn keyword wmlVerbatimTagN contained verbatim | |
132 hi link wmlVerbatimTag htmlTag | |
133 hi link wmlVerbatimTagN htmlStatement | |
134 | |
135 if main_syntax == "html" | |
136 syn sync match wmlHighlight groupthere NONE "</a-zA-Z]" | |
137 syn sync match wmlHighlight groupthere perlScript "<perl>" | |
138 syn sync match wmlHighlightSkip "^.*['\"].*$" | |
139 syn sync minlines=10 | |
140 endif | |
141 | |
142 " Define the default highlighting. | |
143 " For version 5.7 and earlier: only when not done already | |
144 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
145 if version >= 508 || !exists("did_wml_syn_inits") | |
146 let did_wml_syn_inits = 1 | |
147 if version < 508 | |
148 let did_wml_syn_inits = 1 | |
149 command -nargs=+ HiLink hi link <args> | |
150 else | |
151 command -nargs=+ HiLink hi def link <args> | |
152 endif | |
153 | |
154 HiLink wmlNextLine Special | |
155 HiLink wmlUse Include | |
156 HiLink wmlUsed String | |
157 HiLink wmlBody Special | |
158 HiLink wmlDiverted Label | |
159 HiLink wmlDivert Delimiter | |
160 HiLink wmlDivertEnd Delimiter | |
161 HiLink wmlLocationId Label | |
162 HiLink wmlLocation Delimiter | |
163 " HiLink wmlLocationed Delimiter | |
164 HiLink wmlDefineName String | |
165 HiLink wmlComment Comment | |
166 HiLink wmlInclude Include | |
167 HiLink wmlSharpBang PreProc | |
168 | |
169 delcommand HiLink | |
170 endif | |
171 | |
172 let b:current_syntax = "wml" |