annotate runtime/syntax/xml.vim @ 18486:9d887cad7315

Added tag v8.1.2237 for changeset 63ee3c2b140fe1b4801389872a8e47aec19d028b
author Bram Moolenaar <Bram@vim.org>
date Thu, 31 Oct 2019 20:00:04 +0100
parents 6d11fc4aa683
children 8dde7ced3344
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
2 " Language: XML
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
3 " Maintainer: Christian Brabandt <cb@256bit.org>
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
4 " Repository: https://github.com/chrisbra/vim-xml-ftplugin
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
5 " Previous Maintainer: Johannes Zellner <johannes@zellner.org>
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
6 " Author: Paul Siegmann <pauls@euronet.nl>
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
7 " Last Changed: Sept 24, 2019
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " Filenames: *.xml
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
9 " Last Change:
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
10 " 20190923 - Fix xmlEndTag to match xmlTag (vim/vim#884)
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
11 " 20190924 - Fix xmlAttribute property (amadeus/vim-xml@d8ce1c946)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 " CONFIGURATION:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 " syntax folding can be turned on by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 " let g:xml_syntax_folding = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " before the syntax file gets loaded (e.g. in ~/.vimrc).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 " This might slow down syntax highlighting significantly,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 " especially for large files.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 " CREDITS:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 " The original version was derived by Paul Siegmann from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " Claudio Fleiner's html.vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 " REFERENCES:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " [1] http://www.w3.org/TR/2000/REC-xml-20001006
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 " [2] http://www.w3.org/XML/1998/06/xmlspec-report-19980910.htm
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 " as <hirauchi@kiwi.ne.jp> pointed out according to reference [1]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 " 2.3 Common Syntactic Constructs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 " [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 " [5] Name ::= (Letter | '_' | ':') (NameChar)*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 " NOTE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 " 1) empty tag delimiters "/>" inside attribute values (strings)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 " confuse syntax highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 " 2) for large files, folding can be pretty slow, especially when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 " loading a file the first time and viewoptions contains 'folds'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 " so that folds of previous sessions are applied.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 " Don't use 'foldmethod=syntax' in this case.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 " Quit when a syntax file was already loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 if exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 let s:xml_cpo_save = &cpo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 set cpo&vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 syn case match
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 " mark illegal characters
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 syn match xmlError "[<&]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 " strings (inside tags) aka VALUES
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 " <tag foo.attribute = "value">
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 " ^^^^^^^
826
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 236
diff changeset
64 syn region xmlString contained start=+"+ end=+"+ contains=xmlEntity,@Spell display
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 236
diff changeset
65 syn region xmlString contained start=+'+ end=+'+ contains=xmlEntity,@Spell display
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 " punctuation (within attributes) e.g. <tag xml:foo.attribute ...>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 " ^ ^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 " syn match xmlAttribPunct +[-:._]+ contained display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 syn match xmlAttribPunct +[:.]+ contained display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 " no highlighting for xmlEqual (xmlEqual has no highlighting group)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 syn match xmlEqual +=+ display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 " attribute, everything before the '='
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 " PROVIDES: @xmlAttribHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 " <tag foo.attribute = "value">
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 " ^^^^^^^^^^^^^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 syn match xmlAttrib
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
87 \ +[-'"<]\@1<!\<[a-zA-Z:_][-.0-9a-zA-Z:_]*\>\%(['"]\@!\|$\)+
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 \ contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 \ contains=xmlAttribPunct,@xmlAttribHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 \ display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 " namespace spec
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 " PROVIDES: @xmlNamespaceHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 " <xsl:for-each select = "lola">
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 " ^^^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 if exists("g:xml_namespace_transparent")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 syn match xmlNamespace
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2034
diff changeset
104 \ +\(<\|</\)\@2<=[^ /!?<>"':]\+[:]\@=+
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 \ contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 \ contains=@xmlNamespaceHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 \ transparent
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 \ display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 syn match xmlNamespace
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2034
diff changeset
111 \ +\(<\|</\)\@2<=[^ /!?<>"':]\+[:]\@=+
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 \ contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 \ contains=@xmlNamespaceHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 \ display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 " tag name
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 " PROVIDES: @xmlTagHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 " <tag foo.attribute = "value">
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 " ^^^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 syn match xmlTagName
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
128 \ +\%(<\|</\)\@2<=[^ /!?<>"']\++
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 \ contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 \ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 \ display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 if exists('g:xml_syntax_folding')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 " start tag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 " use matchgroup=xmlTag to skip over the leading '<'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 " PROVIDES: @xmlStartTagHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 " <tag id="whoops">
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 " s^^^^^^^^^^^^^^^e
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 syn region xmlTag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 \ matchgroup=xmlTag start=+<[^ /!?<>"']\@=+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 \ matchgroup=xmlTag end=+>+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 \ contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 \ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 " highlight the end tag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 " PROVIDES: @xmlTagHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 " (should we provide a separate @xmlEndTagHook ?)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 " </tag>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 " ^^^^^^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 "
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
163 syn region xmlEndTag
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
164 \ matchgroup=xmlTag start=+</[^ /!?<>"']\@=+
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
165 \ matchgroup=xmlTag end=+>+
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 \ contained
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
167 \ contains=xmlTagName,xmlNamespace,xmlAttribPunct,@xmlTagHook
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 " tag elements with syntax-folding.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 " NOTE: NO HIGHLIGHTING -- highlighting is done by contained elements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 " PROVIDES: @xmlRegionHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 " EXAMPLE:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 " <tag id="whoops">
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 " <!-- comment -->
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 " <another.tag></another.tag>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 " <empty.tag/>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 " some data
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 " </tag>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 syn region xmlRegion
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 \ start=+<\z([^ /!?<>"']\+\)+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 \ skip=+<!--\_.\{-}-->+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 \ end=+</\z1\_\s\{-}>+
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
187 \ end=+/>+
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 \ fold
826
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 236
diff changeset
189 \ contains=xmlTag,xmlEndTag,xmlCdata,xmlRegion,xmlComment,xmlEntity,xmlProcessing,@xmlRegionHook,@Spell
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 \ keepend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 \ extend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 " no syntax folding:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 " - contained attribute removed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 " - xmlRegion not defined
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 syn region xmlTag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 \ matchgroup=xmlTag start=+<[^ /!?<>"']\@=+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 \ matchgroup=xmlTag end=+>+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 \ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203
18456
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
204 syn region xmlEndTag
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
205 \ matchgroup=xmlTag start=+</[^ /!?<>"']\@=+
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
206 \ matchgroup=xmlTag end=+>+
6d11fc4aa683 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 4869
diff changeset
207 \ contains=xmlTagName,xmlNamespace,xmlAttribPunct,@xmlTagHook
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 " &entities; compare with dtd
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 syn match xmlEntity "&[^; \t]*;" contains=xmlEntityPunct
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 syn match xmlEntityPunct contained "[&.;]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 if exists('g:xml_syntax_folding')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 " The real comments (this implements the comments as defined by xml,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 " but not all xml pages actually conform to it. Errors are flagged.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 syn region xmlComment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 \ start=+<!+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 \ end=+>+
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 826
diff changeset
223 \ contains=xmlCommentStart,xmlCommentError
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 \ extend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 \ fold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 " no syntax folding:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 " - fold attribute removed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 syn region xmlComment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 \ start=+<!+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 \ end=+>+
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 826
diff changeset
235 \ contains=xmlCommentStart,xmlCommentError
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 \ extend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 826
diff changeset
240 syn match xmlCommentStart contained "<!" nextgroup=xmlCommentPart
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 7
diff changeset
241 syn keyword xmlTodo contained TODO FIXME XXX
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 syn match xmlCommentError contained "[^><!]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 syn region xmlCommentPart
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 \ start=+--+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 \ end=+--+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 \ contained
826
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 236
diff changeset
247 \ contains=xmlTodo,@xmlCommentHook,@Spell
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 " CData sections
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 " PROVIDES: @xmlCdataHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 syn region xmlCdata
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 \ start=+<!\[CDATA\[+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 \ end=+]]>+
826
1cdd2661f34c updated for version 7.0d01
vimboss
parents: 236
diff changeset
257 \ contains=xmlCdataStart,xmlCdataEnd,@xmlCdataHook,@Spell
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 \ keepend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 \ extend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 " using the following line instead leads to corrupt folding at CDATA regions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 " syn match xmlCdata +<!\[CDATA\[\_.\{-}]]>+ contains=xmlCdataStart,xmlCdataEnd,@xmlCdataHook
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 syn match xmlCdataStart +<!\[CDATA\[+ contained contains=xmlCdataCdata
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 syn keyword xmlCdataCdata CDATA contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 syn match xmlCdataEnd +]]>+ contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 " Processing instructions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 " This allows "?>" inside strings -- good idea?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 syn region xmlProcessing matchgroup=xmlProcessingDelim start="<?" end="?>" contains=xmlAttrib,xmlEqual,xmlString
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 if exists('g:xml_syntax_folding')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 " DTD -- we use dtd.vim here
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 syn region xmlDocType matchgroup=xmlDocTypeDecl
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 \ start="<!DOCTYPE"he=s+2,rs=s+2 end=">"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 \ fold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 \ contains=xmlDocTypeKeyword,xmlInlineDTD,xmlString
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 " no syntax folding:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 " - fold attribute removed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 syn region xmlDocType matchgroup=xmlDocTypeDecl
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 \ start="<!DOCTYPE"he=s+2,rs=s+2 end=">"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 \ contains=xmlDocTypeKeyword,xmlInlineDTD,xmlString
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 syn keyword xmlDocTypeKeyword contained DOCTYPE PUBLIC SYSTEM
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 syn region xmlInlineDTD contained matchgroup=xmlDocTypeDecl start="\[" end="]" contains=@xmlDTD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 syn include @xmlDTD <sfile>:p:h/dtd.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 unlet b:current_syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 " synchronizing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 " TODO !!! to be improved !!!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 syn sync match xmlSyncDT grouphere xmlDocType +\_.\(<!DOCTYPE\)\@=+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 " syn sync match xmlSyncDT groupthere NONE +]>+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 if exists('g:xml_syntax_folding')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 syn sync match xmlSync grouphere xmlRegion +\_.\(<[^ /!?<>"']\+\)\@=+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 " syn sync match xmlSync grouphere xmlRegion "<[^ /!?<>"']*>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306 syn sync match xmlSync groupthere xmlRegion +</[^ /!?<>"']\+>+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 syn sync minlines=100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 " The default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 hi def link xmlTodo Todo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 hi def link xmlTag Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 hi def link xmlTagName Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316 hi def link xmlEndTag Identifier
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317 if !exists("g:xml_namespace_transparent")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 hi def link xmlNamespace Tag
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 hi def link xmlEntity Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 hi def link xmlEntityPunct Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 hi def link xmlAttribPunct Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 hi def link xmlAttrib Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 hi def link xmlString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327 hi def link xmlComment Comment
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 826
diff changeset
328 hi def link xmlCommentStart xmlComment
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 hi def link xmlCommentPart Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 hi def link xmlCommentError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331 hi def link xmlError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333 hi def link xmlProcessingDelim Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 hi def link xmlProcessing Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 hi def link xmlCdata String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337 hi def link xmlCdataCdata Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 hi def link xmlCdataStart Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 hi def link xmlCdataEnd Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 hi def link xmlDocTypeDecl Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 hi def link xmlDocTypeKeyword Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 hi def link xmlInlineDTD Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 let b:current_syntax = "xml"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 let &cpo = s:xml_cpo_save
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 unlet s:xml_cpo_save
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 " vim: ts=8