ultraviolet1x 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +16 -0
  4. data/History.txt +25 -0
  5. data/README.rdoc +29 -0
  6. data/README.txt +52 -0
  7. data/Rakefile +11 -0
  8. data/bin/theme2latexrender +122 -0
  9. data/bin/theme2xhtmlrender +156 -0
  10. data/bin/uv +140 -0
  11. data/broken_syntax/markdown.syntax +543 -0
  12. data/broken_syntax/php.syntax +1253 -0
  13. data/lib/uv/render_processor.rb +140 -0
  14. data/lib/uv/utility.rb +67 -0
  15. data/lib/uv/version.rb +3 -0
  16. data/lib/uv.rb +95 -0
  17. data/mm/manual.mm +840 -0
  18. data/render/latex/active4d.render +132 -0
  19. data/render/latex/all_hallows_eve.render +96 -0
  20. data/render/latex/amy.render +171 -0
  21. data/render/latex/blackboard.render +111 -0
  22. data/render/latex/brilliance_black.render +552 -0
  23. data/render/latex/brilliance_dull.render +561 -0
  24. data/render/latex/cobalt.render +162 -0
  25. data/render/latex/dawn.render +126 -0
  26. data/render/latex/eiffel.render +132 -0
  27. data/render/latex/espresso_libre.render +123 -0
  28. data/render/latex/idle.render +93 -0
  29. data/render/latex/iplastic.render +99 -0
  30. data/render/latex/lazy.render +96 -0
  31. data/render/latex/mac_classic.render +135 -0
  32. data/render/latex/magicwb_amiga.render +117 -0
  33. data/render/latex/pastels_on_dark.render +204 -0
  34. data/render/latex/slush_poppies.render +123 -0
  35. data/render/latex/spacecadet.render +81 -0
  36. data/render/latex/sunburst.render +186 -0
  37. data/render/latex/twilight.render +153 -0
  38. data/render/latex/zenburnesque.render +126 -0
  39. data/render/old/txt2tags.render +131 -0
  40. data/render/xhtml/active4d.render +140 -0
  41. data/render/xhtml/all_hallows_eve.render +104 -0
  42. data/render/xhtml/amy.render +179 -0
  43. data/render/xhtml/blackboard.render +119 -0
  44. data/render/xhtml/brilliance_black.render +560 -0
  45. data/render/xhtml/brilliance_dull.render +569 -0
  46. data/render/xhtml/cobalt.render +170 -0
  47. data/render/xhtml/dawn.render +134 -0
  48. data/render/xhtml/eiffel.render +140 -0
  49. data/render/xhtml/espresso_libre.render +131 -0
  50. data/render/xhtml/files/css/active4d.css +114 -0
  51. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  52. data/render/xhtml/files/css/amy.css +147 -0
  53. data/render/xhtml/files/css/blackboard.css +88 -0
  54. data/render/xhtml/files/css/brilliance_black.css +605 -0
  55. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  56. data/render/xhtml/files/css/cobalt.css +149 -0
  57. data/render/xhtml/files/css/dawn.css +121 -0
  58. data/render/xhtml/files/css/eiffel.css +121 -0
  59. data/render/xhtml/files/css/espresso_libre.css +109 -0
  60. data/render/xhtml/files/css/idle.css +62 -0
  61. data/render/xhtml/files/css/iplastic.css +80 -0
  62. data/render/xhtml/files/css/lazy.css +73 -0
  63. data/render/xhtml/files/css/mac_classic.css +123 -0
  64. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  65. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  66. data/render/xhtml/files/css/slush_poppies.css +85 -0
  67. data/render/xhtml/files/css/spacecadet.css +51 -0
  68. data/render/xhtml/files/css/sunburst.css +180 -0
  69. data/render/xhtml/files/css/twilight.css +137 -0
  70. data/render/xhtml/files/css/zenburnesque.css +91 -0
  71. data/render/xhtml/idle.render +101 -0
  72. data/render/xhtml/iplastic.render +107 -0
  73. data/render/xhtml/lazy.render +104 -0
  74. data/render/xhtml/mac_classic.render +143 -0
  75. data/render/xhtml/magicwb_amiga.render +125 -0
  76. data/render/xhtml/pastels_on_dark.render +212 -0
  77. data/render/xhtml/slush_poppies.render +131 -0
  78. data/render/xhtml/spacecadet.render +89 -0
  79. data/render/xhtml/sunburst.render +194 -0
  80. data/render/xhtml/twilight.render +161 -0
  81. data/render/xhtml/zenburnesque.render +134 -0
  82. data/syntax/actionscript.syntax +97 -0
  83. data/syntax/active4d.syntax +276 -0
  84. data/syntax/active4d_html.syntax +311 -0
  85. data/syntax/active4d_ini.syntax +50 -0
  86. data/syntax/active4d_library.syntax +21 -0
  87. data/syntax/ada.syntax +33 -0
  88. data/syntax/antlr.syntax +151 -0
  89. data/syntax/apache.syntax +191 -0
  90. data/syntax/applescript.syntax +384 -0
  91. data/syntax/asp.syntax +70 -0
  92. data/syntax/asp_vb.net.syntax +129 -0
  93. data/syntax/bibtex.syntax +151 -0
  94. data/syntax/blog_html.syntax +41 -0
  95. data/syntax/blog_markdown.syntax +42 -0
  96. data/syntax/blog_text.syntax +27 -0
  97. data/syntax/blog_textile.syntax +27 -0
  98. data/syntax/buggy/nemerle.syntax +74 -0
  99. data/syntax/build.syntax +53 -0
  100. data/syntax/bulletin_board.syntax +287 -0
  101. data/syntax/c++.syntax +186 -0
  102. data/syntax/c.syntax +414 -0
  103. data/syntax/cake.syntax +55 -0
  104. data/syntax/camlp4.syntax +36 -0
  105. data/syntax/cm.syntax +32 -0
  106. data/syntax/coffeescript.syntax +216 -0
  107. data/syntax/coldfusion.syntax +119 -0
  108. data/syntax/context_free.syntax +176 -0
  109. data/syntax/cs.syntax +59 -0
  110. data/syntax/css.syntax +195 -0
  111. data/syntax/css_experimental.syntax +1925 -0
  112. data/syntax/csv.syntax +68 -0
  113. data/syntax/d.syntax +142 -0
  114. data/syntax/diff.syntax +81 -0
  115. data/syntax/dokuwiki.syntax +204 -0
  116. data/syntax/dot.syntax +47 -0
  117. data/syntax/doxygen.syntax +43 -0
  118. data/syntax/dylan.syntax +62 -0
  119. data/syntax/eiffel.syntax +78 -0
  120. data/syntax/erlang.syntax +922 -0
  121. data/syntax/f-script.syntax +80 -0
  122. data/syntax/fortran.syntax +141 -0
  123. data/syntax/fxscript.syntax +142 -0
  124. data/syntax/greasemonkey.syntax +34 -0
  125. data/syntax/gri.syntax +83 -0
  126. data/syntax/groovy.syntax +191 -0
  127. data/syntax/gtd.syntax +22 -0
  128. data/syntax/gtdalt.syntax +143 -0
  129. data/syntax/haml.syntax +88 -0
  130. data/syntax/haskell.syntax +88 -0
  131. data/syntax/html-asp.syntax +27 -0
  132. data/syntax/html.syntax +362 -0
  133. data/syntax/html_django.syntax +36 -0
  134. data/syntax/html_for_asp.net.syntax +424 -0
  135. data/syntax/html_mason.syntax +119 -0
  136. data/syntax/html_rails.syntax +40 -0
  137. data/syntax/html_tcl.syntax +26 -0
  138. data/syntax/icalendar.syntax +32 -0
  139. data/syntax/inform.syntax +48 -0
  140. data/syntax/ini.syntax +55 -0
  141. data/syntax/installer_distribution_script.syntax +77 -0
  142. data/syntax/io.syntax +81 -0
  143. data/syntax/java.syntax +211 -0
  144. data/syntax/javaproperties.syntax +20 -0
  145. data/syntax/javascript.syntax +256 -0
  146. data/syntax/javascript_+_prototype.syntax +72 -0
  147. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  148. data/syntax/jquery_javascript.syntax +114 -0
  149. data/syntax/json.syntax +136 -0
  150. data/syntax/languagedefinition.syntax +708 -0
  151. data/syntax/latex.syntax +566 -0
  152. data/syntax/latex_beamer.syntax +41 -0
  153. data/syntax/latex_log.syntax +50 -0
  154. data/syntax/latex_memoir.syntax +64 -0
  155. data/syntax/lexflex.syntax +219 -0
  156. data/syntax/lighttpd.syntax +54 -0
  157. data/syntax/lilypond.syntax +492 -0
  158. data/syntax/lisp.syntax +61 -0
  159. data/syntax/literate_haskell.syntax +24 -0
  160. data/syntax/logo.syntax +29 -0
  161. data/syntax/logtalk.syntax +152 -0
  162. data/syntax/lua.syntax +86 -0
  163. data/syntax/m.syntax +142 -0
  164. data/syntax/macports_portfile.syntax +163 -0
  165. data/syntax/mail.syntax +118 -0
  166. data/syntax/makefile.syntax +36 -0
  167. data/syntax/man.syntax +17 -0
  168. data/syntax/mediawiki.syntax +567 -0
  169. data/syntax/mel.syntax +92 -0
  170. data/syntax/mips.syntax +66 -0
  171. data/syntax/mod_perl.syntax +50 -0
  172. data/syntax/modula-3.syntax +47 -0
  173. data/syntax/moinmoin.syntax +189 -0
  174. data/syntax/mootools.syntax +572 -0
  175. data/syntax/movable_type.syntax +162 -0
  176. data/syntax/multimarkdown.syntax +39 -0
  177. data/syntax/objective-c++.syntax +18 -0
  178. data/syntax/objective-c.syntax +233 -0
  179. data/syntax/ocaml.syntax +764 -0
  180. data/syntax/ocamllex.syntax +167 -0
  181. data/syntax/ocamlyacc.syntax +184 -0
  182. data/syntax/old/YAML.yaml +160 -0
  183. data/syntax/old/txt2tags.yaml +139 -0
  184. data/syntax/opengl.syntax +14 -0
  185. data/syntax/pascal.syntax +77 -0
  186. data/syntax/perl.syntax +1115 -0
  187. data/syntax/plain_text.syntax +32 -0
  188. data/syntax/pmwiki.syntax +113 -0
  189. data/syntax/postscript.syntax +114 -0
  190. data/syntax/processing.syntax +106 -0
  191. data/syntax/prolog.syntax +40 -0
  192. data/syntax/property_list.syntax +635 -0
  193. data/syntax/python.syntax +868 -0
  194. data/syntax/python_django.syntax +21 -0
  195. data/syntax/qmake_project.syntax +114 -0
  196. data/syntax/qt_c++.syntax +26 -0
  197. data/syntax/quake3_config.syntax +32 -0
  198. data/syntax/r.syntax +81 -0
  199. data/syntax/r_console.syntax +16 -0
  200. data/syntax/ragel.syntax +201 -0
  201. data/syntax/rd_r_documentation.syntax +91 -0
  202. data/syntax/regexp.syntax +50 -0
  203. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  204. data/syntax/regular_expressions_python.syntax +109 -0
  205. data/syntax/release_notes.syntax +46 -0
  206. data/syntax/remind.syntax +253 -0
  207. data/syntax/restructuredtext.syntax +250 -0
  208. data/syntax/rez.syntax +80 -0
  209. data/syntax/ruby.syntax +1035 -0
  210. data/syntax/ruby_experimental.syntax +145 -0
  211. data/syntax/ruby_on_rails.syntax +88 -0
  212. data/syntax/s5.syntax +69 -0
  213. data/syntax/sass.syntax +45 -0
  214. data/syntax/scheme.syntax +347 -0
  215. data/syntax/scilab.syntax +41 -0
  216. data/syntax/setext.syntax +147 -0
  217. data/syntax/shell-unix-generic.syntax +384 -0
  218. data/syntax/slate.syntax +149 -0
  219. data/syntax/smarty.syntax +63 -0
  220. data/syntax/sql.syntax +237 -0
  221. data/syntax/sql_rails.syntax +18 -0
  222. data/syntax/ssh-config.syntax +33 -0
  223. data/syntax/standard_ml.syntax +121 -0
  224. data/syntax/strings_file.syntax +39 -0
  225. data/syntax/subversion_commit_message.syntax +36 -0
  226. data/syntax/sweave.syntax +84 -0
  227. data/syntax/swig.syntax +57 -0
  228. data/syntax/tcl.syntax +152 -0
  229. data/syntax/template_toolkit.syntax +121 -0
  230. data/syntax/tex.syntax +86 -0
  231. data/syntax/tex_math.syntax +49 -0
  232. data/syntax/textile.syntax +215 -0
  233. data/syntax/tsv.syntax +50 -0
  234. data/syntax/twiki.syntax +241 -0
  235. data/syntax/txt2tags.syntax +79 -0
  236. data/syntax/vectorscript.syntax +57 -0
  237. data/syntax/xhtml_1.0.syntax +4027 -0
  238. data/syntax/xml.syntax +180 -0
  239. data/syntax/xml_strict.syntax +92 -0
  240. data/syntax/xsl.syntax +60 -0
  241. data/syntax/yaml.syntax +160 -0
  242. data/syntax/yui_javascript.syntax +176 -0
  243. data/test/ultraviolet_test.rb +17 -0
  244. data/test/uv_test.rb +0 -0
  245. data/ultraviolet1x.gemspec +22 -0
  246. metadata +333 -0
@@ -0,0 +1,635 @@
1
+ ---
2
+ name: Property List
3
+ fileTypes:
4
+ - plist
5
+ - dict
6
+ - tmCommand
7
+ - tmDelta
8
+ - tmDragCommand
9
+ - tmLanguage
10
+ - tmMacro
11
+ - tmPreferences
12
+ - tmSnippet
13
+ - tmTheme
14
+ - scriptSuite
15
+ - scriptTerminology
16
+ - savedSearch
17
+ scopeName: ""
18
+ repository:
19
+ openstep_comment:
20
+ patterns:
21
+ - name: comment.block.plist
22
+ captures:
23
+ "0":
24
+ name: punctuation.definition.comment.plist
25
+ begin: /\*
26
+ end: \*/
27
+ - name: comment.line.double-slash.plist
28
+ captures:
29
+ "1":
30
+ name: punctuation.definition.comment.plist
31
+ match: (//).*$\n?
32
+ openstep:
33
+ patterns:
34
+ - include: "#openstep_comment"
35
+ - include: "#openstep_dictionary"
36
+ - include: "#openstep_array"
37
+ - include: "#openstep_stray-char"
38
+ xml_tags:
39
+ patterns:
40
+ - captures:
41
+ "6":
42
+ name: meta.tag.dict.xml.plist
43
+ "11":
44
+ name: punctuation.definition.tag.xml.plist
45
+ "7":
46
+ name: punctuation.definition.tag.xml.plist
47
+ "8":
48
+ name: meta.scope.between-tag-pair.xml.plist
49
+ "9":
50
+ name: entity.name.tag.xml.plist
51
+ "1":
52
+ name: meta.tag.dict.xml.plist
53
+ "2":
54
+ name: punctuation.definition.tag.xml.plist
55
+ "3":
56
+ name: entity.name.tag.xml.plist
57
+ "4":
58
+ name: entity.name.tag.localname.xml.plist
59
+ "10":
60
+ name: entity.name.tag.localname.xml.plist
61
+ "5":
62
+ name: punctuation.definition.tag.xml.plist
63
+ match: ((<)((dict))(>))(((<)/)((dict))(>))
64
+ comment: "Empty tag: Dictionary"
65
+ - captures:
66
+ "6":
67
+ name: meta.tag.array.xml.plist
68
+ "11":
69
+ name: punctuation.definition.tag.xml.plist
70
+ "7":
71
+ name: punctuation.definition.tag.xml.plist
72
+ "8":
73
+ name: meta.scope.between-tag-pair.xml.plist
74
+ "9":
75
+ name: entity.name.tag.xml.plist
76
+ "1":
77
+ name: meta.tag.array.xml.plist
78
+ "2":
79
+ name: punctuation.definition.tag.xml.plist
80
+ "3":
81
+ name: entity.name.tag.xml.plist
82
+ "4":
83
+ name: entity.name.tag.localname.xml.plist
84
+ "10":
85
+ name: entity.name.tag.localname.xml.plist
86
+ "5":
87
+ name: punctuation.definition.tag.xml.plist
88
+ match: ((<)((array))(>))(((<)/)((array))(>))
89
+ comment: "Empty tag: Array"
90
+ - captures:
91
+ "6":
92
+ name: meta.tag.string.xml.plist
93
+ "11":
94
+ name: punctuation.definition.tag.xml.plist
95
+ "7":
96
+ name: punctuation.definition.tag.xml.plist
97
+ "8":
98
+ name: meta.scope.between-tag-pair.xml.plist
99
+ "9":
100
+ name: entity.name.tag.xml.plist
101
+ "1":
102
+ name: meta.tag.string.xml.plist
103
+ "2":
104
+ name: punctuation.definition.tag.xml.plist
105
+ "3":
106
+ name: entity.name.tag.xml.plist
107
+ "4":
108
+ name: entity.name.tag.localname.xml.plist
109
+ "10":
110
+ name: entity.name.tag.localname.xml.plist
111
+ "5":
112
+ name: punctuation.definition.tag.xml.plist
113
+ match: ((<)((string))(>))(((<)/)((string))(>))
114
+ comment: "Empty tag: String"
115
+ - captures:
116
+ "1":
117
+ name: meta.tag.key.xml.plist
118
+ "2":
119
+ name: punctuation.definition.tag.xml.plist
120
+ "3":
121
+ name: entity.name.tag.xml.plist
122
+ "4":
123
+ name: entity.name.tag.localname.xml.plist
124
+ "5":
125
+ name: punctuation.definition.tag.xml.plist
126
+ begin: ((<)((key))(>))
127
+ contentName: constant.other.name.xml.plist
128
+ end: ((</)((key))(>))
129
+ patterns:
130
+ - captures:
131
+ "0":
132
+ name: punctuation.definition.constant.xml
133
+ begin: <!\[CDATA\[
134
+ end: "]]>"
135
+ comment: the extra captures are required to duplicate the effect of the namespace parsing in the XML syntax
136
+ - captures:
137
+ "1":
138
+ name: meta.tag.dict.xml.plist
139
+ "2":
140
+ name: punctuation.definition.tag.xml.plist
141
+ "3":
142
+ name: entity.name.tag.xml.plist
143
+ "4":
144
+ name: entity.name.tag.localname.xml.plist
145
+ "5":
146
+ name: punctuation.definition.tag.xml.plist
147
+ match: ((<)((dict))\s*?/(>))
148
+ comment: Self-closing Dictionary
149
+ - captures:
150
+ "1":
151
+ name: meta.tag.array.xml.plist
152
+ "2":
153
+ name: punctuation.definition.tag.xml.plist
154
+ "3":
155
+ name: entity.name.tag.xml.plist
156
+ "4":
157
+ name: entity.name.tag.localname.xml.plist
158
+ "5":
159
+ name: punctuation.definition.tag.xml.plist
160
+ match: ((<)((array))\s*?/(>))
161
+ comment: Self-closing Array
162
+ - captures:
163
+ "1":
164
+ name: meta.tag.string.xml.plist
165
+ "2":
166
+ name: punctuation.definition.tag.xml.plist
167
+ "3":
168
+ name: entity.name.tag.xml.plist
169
+ "4":
170
+ name: entity.name.tag.localname.xml.plist
171
+ "5":
172
+ name: punctuation.definition.tag.xml.plist
173
+ match: ((<)((string))\s*?/(>))
174
+ comment: Self-closing String
175
+ - captures:
176
+ "1":
177
+ name: meta.tag.key.xml.plist
178
+ "2":
179
+ name: punctuation.definition.tag.xml.plist
180
+ "3":
181
+ name: entity.name.tag.xml.plist
182
+ "4":
183
+ name: entity.name.tag.localname.xml.plist
184
+ "5":
185
+ name: punctuation.definition.tag.xml.plist
186
+ match: ((<)((key))\s*?/(>))
187
+ comment: Self-closing Key
188
+ - captures:
189
+ "1":
190
+ name: meta.tag.dict.xml.plist
191
+ "2":
192
+ name: punctuation.definition.tag.xml.plist
193
+ "3":
194
+ name: entity.name.tag.xml.plist
195
+ "4":
196
+ name: entity.name.tag.localname.xml.plist
197
+ "5":
198
+ name: punctuation.definition.tag.xml.plist
199
+ begin: ((<)((dict))(>))
200
+ end: ((</)((dict))(>))
201
+ patterns:
202
+ - include: "#xml_tags"
203
+ comment: Dictionary
204
+ - captures:
205
+ "1":
206
+ name: meta.tag.array.xml.plist
207
+ "2":
208
+ name: punctuation.definition.tag.xml.plist
209
+ "3":
210
+ name: entity.name.tag.xml.plist
211
+ "4":
212
+ name: entity.name.tag.localname.xml.plist
213
+ "5":
214
+ name: punctuation.definition.tag.xml.plist
215
+ begin: ((<)((array))(>))
216
+ end: ((</)((array))(>))
217
+ patterns:
218
+ - include: "#xml_tags"
219
+ comment: Array
220
+ - captures:
221
+ "1":
222
+ name: meta.tag.string.xml.plist
223
+ "2":
224
+ name: punctuation.definition.tag.xml.plist
225
+ "3":
226
+ name: entity.name.tag.xml.plist
227
+ "4":
228
+ name: entity.name.tag.localname.xml.plist
229
+ "5":
230
+ name: punctuation.definition.tag.xml.plist
231
+ begin: ((<)((string))(>))
232
+ contentName: string.quoted.other.xml.plist
233
+ end: ((</)((string))(>))
234
+ patterns:
235
+ - include: "#xml_innertag"
236
+ - name: string.unquoted.cdata.xml
237
+ captures:
238
+ "0":
239
+ name: punctuation.definition.string.xml
240
+ begin: <!\[CDATA\[
241
+ end: "]]>"
242
+ comment: Strings
243
+ - captures:
244
+ "1":
245
+ name: meta.tag.real.xml.plist
246
+ "2":
247
+ name: punctuation.definition.tag.xml.plist
248
+ "3":
249
+ name: entity.name.tag.xml.plist
250
+ "4":
251
+ name: entity.name.tag.localname.xml.plist
252
+ "5":
253
+ name: punctuation.definition.tag.xml.plist
254
+ begin: ((<)((real))(>))
255
+ end: ((</)((real))(>))
256
+ patterns:
257
+ - captures:
258
+ "0":
259
+ name: punctuation.definition.constant.xml
260
+ "1":
261
+ name: constant.numeric.real.xml.plist
262
+ begin: (<!\[CDATA\[)
263
+ end: (]]>)
264
+ patterns:
265
+ - name: constant.numeric.real.xml.plist
266
+ match: "[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?"
267
+ - name: invalid.illegal.not-a-number.xml.plist
268
+ match: .
269
+ - name: constant.numeric.real.xml.plist
270
+ match: "[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?"
271
+ - name: invalid.illegal.not-a-number.xml.plist
272
+ match: .
273
+ comment: Numeric
274
+ - captures:
275
+ "1":
276
+ name: meta.tag.integer.xml.plist
277
+ "2":
278
+ name: punctuation.definition.tag.xml.plist
279
+ "3":
280
+ name: entity.name.tag.xml.plist
281
+ "4":
282
+ name: entity.name.tag.localname.xml.plist
283
+ "5":
284
+ name: punctuation.definition.tag.xml.plist
285
+ begin: ((<)((integer))(>))
286
+ end: ((</)((integer))(>))
287
+ patterns:
288
+ - name: constant.numeric.integer.xml.plist
289
+ match: "[-+]?\\d+"
290
+ - name: invalid.illegal.not-a-number.xml.plist
291
+ match: .
292
+ comment: Integer
293
+ - captures:
294
+ "1":
295
+ name: meta.tag.boolean.xml.plist
296
+ "2":
297
+ name: punctuation.definition.tag.xml.plist
298
+ "3":
299
+ name: entity.name.tag.xml.plist
300
+ "4":
301
+ name: entity.name.tag.localname.xml.plist
302
+ "5":
303
+ name: punctuation.definition.tag.xml.plist
304
+ match: ((<)((true|false))\s*?(/>))
305
+ comment: Boolean
306
+ - captures:
307
+ "1":
308
+ name: meta.tag.data.xml.plist
309
+ "2":
310
+ name: punctuation.definition.tag.xml.plist
311
+ "3":
312
+ name: entity.name.tag.xml.plist
313
+ "4":
314
+ name: entity.name.tag.localname.xml.plist
315
+ "5":
316
+ name: punctuation.definition.tag.xml.plist
317
+ begin: ((<)((data))(>))
318
+ end: ((</)((data))(>))
319
+ patterns:
320
+ - name: constant.numeric.base64.xml.plist
321
+ match: "[A-Za-z0-9+/]"
322
+ - name: constant.numeric.base64.xml.plist
323
+ match: "="
324
+ - name: invalid.illegal.invalid-character.xml.plist
325
+ match: "[^ \\n\\t]"
326
+ comment: Data
327
+ - captures:
328
+ "1":
329
+ name: meta.tag.date.xml.plist
330
+ "2":
331
+ name: punctuation.definition.tag.xml.plist
332
+ "3":
333
+ name: entity.name.tag.xml.plist
334
+ "4":
335
+ name: entity.name.tag.localname.xml.plist
336
+ "5":
337
+ name: punctuation.definition.tag.xml.plist
338
+ begin: ((<)((date))(>))
339
+ end: ((</)((date))(>))
340
+ patterns:
341
+ - name: constant.other.date.xml.plist
342
+ match: "(?x)\n\
343
+ \t\t\t\t\t\t\t\t\t\t[0-9]{4}\t\t\t\t\t\t# Year\n\
344
+ \t\t\t\t\t\t\t\t\t\t-\t\t\t\t\t\t\t\t# Divider\n\
345
+ \t\t\t\t\t\t\t\t\t\t(0[1-9]|1[012])\t\t\t\t\t# Month\n\
346
+ \t\t\t\t\t\t\t\t\t\t-\t\t\t\t\t\t\t\t# Divider\n\
347
+ \t\t\t\t\t\t\t\t\t\t(?!00|3[2-9])[0-3][0-9]\t\t\t# Day\n\
348
+ \t\t\t\t\t\t\t\t\t\tT\t\t\t\t\t\t\t\t# Separator\n\
349
+ \t\t\t\t\t\t\t\t\t\t(?!2[5-9])[0-2][0-9]\t\t\t# Hour\n\
350
+ \t\t\t\t\t\t\t\t\t\t:\t\t\t\t\t\t\t\t# Divider\n\
351
+ \t\t\t\t\t\t\t\t\t\t[0-5][0-9]\t\t\t\t\t\t# Minute\n\
352
+ \t\t\t\t\t\t\t\t\t\t:\t\t\t\t\t\t\t\t# Divider\n\
353
+ \t\t\t\t\t\t\t\t\t\t(?!6[1-9])[0-6][0-9]\t\t\t# Second\n\
354
+ \t\t\t\t\t\t\t\t\t\tZ\t\t\t\t\t\t\t\t# Zulu\n\
355
+ \t\t\t\t\t\t\t\t\t"
356
+ comment: Date
357
+ - include: "#xml_invalid"
358
+ - include: "#xml_comment"
359
+ - include: "#xml_stray-char"
360
+ xml_innertag:
361
+ patterns:
362
+ - name: constant.character.entity.xml.plist
363
+ match: "&([a-zA-Z0-9_-]+|#[0-9]+|#x[0-9a-fA-F]+);"
364
+ - name: invalid.illegal.bad-ampersand.xml.plist
365
+ match: "&"
366
+ xml:
367
+ patterns:
368
+ - captures:
369
+ "1":
370
+ name: meta.tag.plist.xml.plist
371
+ "2":
372
+ name: punctuation.definition.tag.xml.plist
373
+ "3":
374
+ name: entity.name.tag.xml.plist
375
+ "4":
376
+ name: entity.name.tag.localname.xml.plist
377
+ "5":
378
+ name: punctuation.definition.tag.xml.plist
379
+ begin: ((<)((plist\b)))
380
+ end: ((/)((plist))(>))
381
+ patterns:
382
+ - name: meta.tag.plist.xml.plist
383
+ begin: (?<=<plist)(?!>)\s*(?:(version)(=)(?:((").*?("))|((').*?('))))?
384
+ beginCaptures:
385
+ "6":
386
+ name: string.quoted.single.xml.plist
387
+ "7":
388
+ name: punctuation.definition.string.begin.xml.plist
389
+ "8":
390
+ name: punctuation.definition.string.end.xml.plist
391
+ "1":
392
+ name: entity.other.attribute-name.version.xml.plist
393
+ "2":
394
+ name: punctuation.separator.key-value.xml.plist
395
+ "3":
396
+ name: string.quoted.double.xml.plist
397
+ "4":
398
+ name: punctuation.definition.string.begin.xml.plist
399
+ "5":
400
+ name: punctuation.definition.string.end.xml.plist
401
+ end: (?=>)
402
+ - captures:
403
+ "1":
404
+ name: meta.tag.plist.xml.plist
405
+ "2":
406
+ name: punctuation.definition.tag.xml.plist
407
+ "3":
408
+ name: meta.scope.between-tag-pair.xml.plist
409
+ match: ((>(<)))(?=/plist)
410
+ comment: Tag with no content
411
+ - endCaptures:
412
+ "0":
413
+ name: meta.tag.plist.xml.plist
414
+ "1":
415
+ name: punctuation.definition.tag.xml.plist
416
+ begin: ((>))(?!</plist)
417
+ beginCaptures:
418
+ "1":
419
+ name: meta.tag.plist.xml.plist
420
+ "2":
421
+ name: punctuation.definition.tag.xml.plist
422
+ end: (<)(?=/plist)
423
+ patterns:
424
+ - include: "#xml_tags"
425
+ - include: "#xml_invalid"
426
+ - include: "#xml_comment"
427
+ - include: text.xml
428
+ - include: "#xml_stray-char"
429
+ openstep_data:
430
+ name: meta.binary-data.plist
431
+ endCaptures:
432
+ "1":
433
+ name: punctuation.terminator.data.plist
434
+ "2":
435
+ name: punctuation.definition.data.plist
436
+ begin: (<)
437
+ beginCaptures:
438
+ "1":
439
+ name: punctuation.definition.data.plist
440
+ end: (=?)\s*?(>)
441
+ patterns:
442
+ - name: constant.numeric.base64.plist
443
+ match: "[A-Za-z0-9+/]"
444
+ - name: invalid.illegal.invalid-character.plist
445
+ match: "[^ \\n]"
446
+ xml_stray-char:
447
+ name: invalid.illegal.character-data-not-allowed-here.xml.plist
448
+ match: \S
449
+ openstep_post-value:
450
+ begin: (?<='|"|\}|\)|>|[-a-zA-Z0-9_.])(?!;)
451
+ end: (?=;)
452
+ patterns:
453
+ - include: "#openstep_stray-char"
454
+ openstep_dictionary:
455
+ name: meta.group.dictionary.plist
456
+ captures:
457
+ "1":
458
+ name: punctuation.section.dictionary.plist
459
+ begin: (\{)
460
+ end: (\})
461
+ patterns:
462
+ - include: "#openstep_name"
463
+ - include: "#openstep_comment"
464
+ - include: "#openstep_stray-char"
465
+ xml_comment:
466
+ name: comment.block.xml.plist
467
+ captures:
468
+ "0":
469
+ name: punctuation.definition.comment.xml.plist
470
+ begin: <!--
471
+ end: (?<!-)-->
472
+ patterns:
473
+ - name: invalid.illegal.double-dash-not-allowed.xml.plist
474
+ match: -(?=-->)|--
475
+ openstep_string-contents:
476
+ name: constant.character.escape.plist
477
+ match: \\([uU](\h{4}|\h{2})|\d{1,3}|.)
478
+ openstep_stray-char:
479
+ name: invalid.illegal.character-not-allowed-here.plist
480
+ match: "[^\\s\\n]"
481
+ xml_invalid:
482
+ captures:
483
+ "1":
484
+ name: meta.tag.boolean.xml.plist
485
+ "2":
486
+ name: punctuation.definition.tag.xml.plist
487
+ "3":
488
+ name: invalid.illegal.tag-not-recognized.xml.plist
489
+ "4":
490
+ name: punctuation.definition.tag.xml.plist
491
+ match: ((<)/?(\w+).*?(>))
492
+ comment: Invalid tag
493
+ openstep_string:
494
+ patterns:
495
+ - name: string.quoted.single.plist
496
+ endCaptures:
497
+ "0":
498
+ name: punctuation.definition.string.end.plist
499
+ begin: "'"
500
+ beginCaptures:
501
+ "0":
502
+ name: punctuation.definition.string.begin.plist
503
+ end: "'"
504
+ patterns:
505
+ - include: "#openstep_string-contents"
506
+ - name: string.quoted.double.plist
507
+ endCaptures:
508
+ "0":
509
+ name: punctuation.definition.string.end.plist
510
+ begin: "\""
511
+ beginCaptures:
512
+ "0":
513
+ name: punctuation.definition.string.begin.plist
514
+ end: "\""
515
+ patterns:
516
+ - include: "#openstep_string-contents"
517
+ - name: constant.numeric.plist
518
+ match: "[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?(?!\\w)"
519
+ - name: string.unquoted.plist
520
+ match: "[-a-zA-Z0-9_.]+"
521
+ openstep_name:
522
+ patterns:
523
+ - name: meta.rule.named.plist
524
+ endCaptures:
525
+ "1":
526
+ name: punctuation.terminator.array.plist
527
+ "2":
528
+ name: punctuation.terminator.dictionary.plist
529
+ "3":
530
+ name: punctuation.terminator.rule.plist
531
+ begin: (?=([-a-zA-Z0-9_.]+)|("|'))
532
+ end: ((?<=\));)|((?<=\});)|(;)
533
+ patterns:
534
+ - name: constant.other.key.plist
535
+ match: "[-a-zA-Z0-9_.]+"
536
+ - begin: (?<=('|"|[-a-zA-Z0-9_.]))(?!=)|\s
537
+ end: (?==)
538
+ patterns:
539
+ - include: "#openstep_stray-char"
540
+ comment: |-
541
+ Mark anything between the name and the =
542
+ as invalid.
543
+ - name: constant.other.key.plist
544
+ endCaptures:
545
+ "0":
546
+ name: punctuation.definition.string.end.plist
547
+ begin: ("|')
548
+ beginCaptures:
549
+ "0":
550
+ name: punctuation.definition.string.begin.plist
551
+ end: (\1)
552
+ patterns:
553
+ - include: "#openstep_string-contents"
554
+ - begin: (=)(?!;)
555
+ beginCaptures:
556
+ "1":
557
+ name: punctuation.separator.key-value.plist
558
+ end: (?=;)
559
+ patterns:
560
+ - include: "#openstep_post-value"
561
+ - include: "#openstep_string"
562
+ - include: "#openstep_data"
563
+ - include: "#openstep_array"
564
+ - include: "#openstep_dictionary"
565
+ openstep_array-item:
566
+ endCaptures:
567
+ "1":
568
+ name: punctuation.separator.array.plist
569
+ begin: (?={|\(|"|'|[-a-zA-Z0-9_.]|<)
570
+ end: (,)|(?=\))
571
+ patterns:
572
+ - include: "#openstep_string"
573
+ - include: "#openstep_data"
574
+ - include: "#openstep_dictionary"
575
+ - include: "#openstep_array"
576
+ - begin: (?<="|'|\}|\))
577
+ end: (?=,|\))
578
+ patterns:
579
+ - include: "#openstep_comment"
580
+ - include: "#openstep_stray-char"
581
+ comment: Catch stray chars
582
+ openstep_array:
583
+ name: meta.group.array.plist
584
+ captures:
585
+ "1":
586
+ name: punctuation.section.array.plist
587
+ begin: (\()
588
+ end: (\))
589
+ patterns:
590
+ - include: "#openstep_array-item"
591
+ - include: "#openstep_comment"
592
+ - include: "#openstep_stray-char"
593
+ uuid: E62B2729-6B1C-11D9-AE35-000D93589AF6
594
+ foldingStartMarker: "(?x)\n\
595
+ \t\t\t\t\t\t\t(\n\
596
+ \t\t\t\t\t\t\t\t(^|=|=[ ]|\\s\\s|\\t)\t\t\t\t# Openstep foldings\n\
597
+ \t\t\t\t\t\t\t\t(\\{|\\()(?!.*(\\)|\\}))\t\t\t# spaces before them to \n\
598
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# limit false positives\n\
599
+ \t\t\t\t\t\t\t | (\n\
600
+ \t\t\t\t\t\t\t\t\t^\\s*\n\
601
+ \t\t\t\t\t\t\t\t\t(\n\
602
+ \t\t\t\t\t\t\t\t\t\t<[^!?%/](?!.+?(/>\n\
603
+ \t\t\t\t\t\t\t\t\t | </.+?>))\n\
604
+ \t\t\t\t\t\t\t\t\t | <[!%]--(?!.+?--%?>)\n\
605
+ \t\t\t\t\t\t\t\t\t)\n\
606
+ \t\t\t\t\t\t\t\t)\n\
607
+ \t\t\t\t\t\t\t)\n\
608
+ \t\t\t\t\t\t "
609
+ patterns:
610
+ - name: text.xml.plist
611
+ begin: xml|plist
612
+ end: \Z(?!\n)
613
+ comment: This gives us the proper scope for the xml or plist snippet.
614
+ - name: source.plist.binary
615
+ begin: ^bplist00
616
+ end: \Z(?!\n)
617
+ comment: This gives us the proper scope for the convert plist command.
618
+ - name: text.xml.plist
619
+ begin: (?=\s*(<\?xml|<!DOCTYPE\s*plist))
620
+ end: \Z(?!\n)
621
+ patterns:
622
+ - include: "#xml"
623
+ - name: source.plist
624
+ begin: (?=\s*({|\(|//|/\*))
625
+ end: \Z(?!\n)
626
+ patterns:
627
+ - include: "#openstep"
628
+ foldingStopMarker: "(?x)\n\
629
+ \t\t\t\t\t\t\t(\n\
630
+ \t\t\t\t\t\t\t\t(\\}|\\))(,|;)?\t\t\t\t\t# Openstep foldings\n\
631
+ \t\t\t\t\t\t\t\t.*$\t\t\t\t\t\t\t\t# limit false positives\n\
632
+ \t\t\t\t\t\t\t | (^\\s*(</[^>]+>|/>|-->)\\s*$)\t\t# XML\t\t\t\t\t\t\n\
633
+ \t\t\t\t\t\t\t)\n\
634
+ \t\t\t\t\t\t"
635
+ keyEquivalent: ^~P