annotate runtime/syntax/wml.vim @ 34:e170173ecb68 current-release

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