bjeanes-ultraviolet 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. data/History.txt +29 -0
  2. data/Manifest.txt +233 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +51 -0
  5. data/bin/theme2latexrender +122 -0
  6. data/bin/theme2xhtmlrender +156 -0
  7. data/bin/uv +140 -0
  8. data/lib/uv.rb +100 -0
  9. data/lib/uv/render_processor.rb +131 -0
  10. data/lib/uv/utility.rb +67 -0
  11. data/render/latex/active4d.render +132 -0
  12. data/render/latex/all_hallows_eve.render +96 -0
  13. data/render/latex/amy.render +171 -0
  14. data/render/latex/blackboard.render +111 -0
  15. data/render/latex/brilliance_black.render +552 -0
  16. data/render/latex/brilliance_dull.render +561 -0
  17. data/render/latex/cobalt.render +162 -0
  18. data/render/latex/dawn.render +126 -0
  19. data/render/latex/eiffel.render +132 -0
  20. data/render/latex/espresso_libre.render +123 -0
  21. data/render/latex/idle.render +93 -0
  22. data/render/latex/iplastic.render +99 -0
  23. data/render/latex/lazy.render +96 -0
  24. data/render/latex/mac_classic.render +135 -0
  25. data/render/latex/magicwb_amiga.render +117 -0
  26. data/render/latex/pastels_on_dark.render +204 -0
  27. data/render/latex/slush_poppies.render +123 -0
  28. data/render/latex/spacecadet.render +81 -0
  29. data/render/latex/sunburst.render +186 -0
  30. data/render/latex/twilight.render +153 -0
  31. data/render/latex/zenburnesque.render +126 -0
  32. data/render/old/txt2tags.render +131 -0
  33. data/render/xhtml/active4d.render +140 -0
  34. data/render/xhtml/all_hallows_eve.render +104 -0
  35. data/render/xhtml/amy.render +179 -0
  36. data/render/xhtml/blackboard.render +119 -0
  37. data/render/xhtml/brilliance_black.render +560 -0
  38. data/render/xhtml/brilliance_dull.render +569 -0
  39. data/render/xhtml/cobalt.render +170 -0
  40. data/render/xhtml/dawn.render +134 -0
  41. data/render/xhtml/eiffel.render +140 -0
  42. data/render/xhtml/espresso_libre.render +131 -0
  43. data/render/xhtml/files/css/active4d.css +114 -0
  44. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  45. data/render/xhtml/files/css/amy.css +147 -0
  46. data/render/xhtml/files/css/blackboard.css +88 -0
  47. data/render/xhtml/files/css/brilliance_black.css +605 -0
  48. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  49. data/render/xhtml/files/css/cobalt.css +149 -0
  50. data/render/xhtml/files/css/dawn.css +121 -0
  51. data/render/xhtml/files/css/eiffel.css +121 -0
  52. data/render/xhtml/files/css/espresso_libre.css +109 -0
  53. data/render/xhtml/files/css/idle.css +62 -0
  54. data/render/xhtml/files/css/iplastic.css +80 -0
  55. data/render/xhtml/files/css/lazy.css +73 -0
  56. data/render/xhtml/files/css/mac_classic.css +123 -0
  57. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  58. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  59. data/render/xhtml/files/css/slush_poppies.css +85 -0
  60. data/render/xhtml/files/css/spacecadet.css +51 -0
  61. data/render/xhtml/files/css/sunburst.css +180 -0
  62. data/render/xhtml/files/css/twilight.css +137 -0
  63. data/render/xhtml/files/css/zenburnesque.css +91 -0
  64. data/render/xhtml/idle.render +101 -0
  65. data/render/xhtml/iplastic.render +107 -0
  66. data/render/xhtml/lazy.render +104 -0
  67. data/render/xhtml/mac_classic.render +143 -0
  68. data/render/xhtml/magicwb_amiga.render +125 -0
  69. data/render/xhtml/pastels_on_dark.render +212 -0
  70. data/render/xhtml/slush_poppies.render +131 -0
  71. data/render/xhtml/spacecadet.render +89 -0
  72. data/render/xhtml/sunburst.render +194 -0
  73. data/render/xhtml/twilight.render +161 -0
  74. data/render/xhtml/zenburnesque.render +134 -0
  75. data/syntax/actionscript.syntax +97 -0
  76. data/syntax/active4d.syntax +276 -0
  77. data/syntax/active4d_html.syntax +311 -0
  78. data/syntax/active4d_ini.syntax +50 -0
  79. data/syntax/active4d_library.syntax +21 -0
  80. data/syntax/ada.syntax +33 -0
  81. data/syntax/antlr.syntax +151 -0
  82. data/syntax/apache.syntax +191 -0
  83. data/syntax/applescript.syntax +384 -0
  84. data/syntax/asp.syntax +70 -0
  85. data/syntax/asp_vb.net.syntax +129 -0
  86. data/syntax/bibtex.syntax +151 -0
  87. data/syntax/blog_html.syntax +41 -0
  88. data/syntax/blog_markdown.syntax +42 -0
  89. data/syntax/blog_text.syntax +27 -0
  90. data/syntax/blog_textile.syntax +27 -0
  91. data/syntax/build.syntax +53 -0
  92. data/syntax/bulletin_board.syntax +287 -0
  93. data/syntax/c++.syntax +109 -0
  94. data/syntax/c.syntax +326 -0
  95. data/syntax/cake.syntax +55 -0
  96. data/syntax/camlp4.syntax +36 -0
  97. data/syntax/cm.syntax +32 -0
  98. data/syntax/coldfusion.syntax +119 -0
  99. data/syntax/context_free.syntax +176 -0
  100. data/syntax/cs.syntax +59 -0
  101. data/syntax/css.syntax +195 -0
  102. data/syntax/css_experimental.syntax +1925 -0
  103. data/syntax/csv.syntax +68 -0
  104. data/syntax/d.syntax +142 -0
  105. data/syntax/diff.syntax +81 -0
  106. data/syntax/dokuwiki.syntax +204 -0
  107. data/syntax/dot.syntax +47 -0
  108. data/syntax/doxygen.syntax +43 -0
  109. data/syntax/dylan.syntax +62 -0
  110. data/syntax/eiffel.syntax +78 -0
  111. data/syntax/erlang.syntax +922 -0
  112. data/syntax/f-script.syntax +80 -0
  113. data/syntax/fortran.syntax +141 -0
  114. data/syntax/fxscript.syntax +142 -0
  115. data/syntax/greasemonkey.syntax +34 -0
  116. data/syntax/gri.syntax +83 -0
  117. data/syntax/groovy.syntax +191 -0
  118. data/syntax/gtd.syntax +22 -0
  119. data/syntax/gtdalt.syntax +143 -0
  120. data/syntax/haml.syntax +88 -0
  121. data/syntax/haskell.syntax +88 -0
  122. data/syntax/html-asp.syntax +27 -0
  123. data/syntax/html.syntax +362 -0
  124. data/syntax/html_django.syntax +36 -0
  125. data/syntax/html_for_asp.net.syntax +424 -0
  126. data/syntax/html_mason.syntax +119 -0
  127. data/syntax/html_rails.syntax +40 -0
  128. data/syntax/html_tcl.syntax +26 -0
  129. data/syntax/icalendar.syntax +32 -0
  130. data/syntax/inform.syntax +48 -0
  131. data/syntax/ini.syntax +55 -0
  132. data/syntax/installer_distribution_script.syntax +77 -0
  133. data/syntax/io.syntax +81 -0
  134. data/syntax/java.syntax +211 -0
  135. data/syntax/javaproperties.syntax +20 -0
  136. data/syntax/javascript.syntax +256 -0
  137. data/syntax/javascript_+_prototype.syntax +72 -0
  138. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  139. data/syntax/jquery_javascript.syntax +114 -0
  140. data/syntax/json.syntax +136 -0
  141. data/syntax/languagedefinition.syntax +708 -0
  142. data/syntax/latex.syntax +566 -0
  143. data/syntax/latex_beamer.syntax +41 -0
  144. data/syntax/latex_log.syntax +50 -0
  145. data/syntax/latex_memoir.syntax +64 -0
  146. data/syntax/lexflex.syntax +219 -0
  147. data/syntax/lighttpd.syntax +54 -0
  148. data/syntax/lilypond.syntax +492 -0
  149. data/syntax/lisp.syntax +61 -0
  150. data/syntax/literate_haskell.syntax +24 -0
  151. data/syntax/logo.syntax +29 -0
  152. data/syntax/logtalk.syntax +152 -0
  153. data/syntax/lua.syntax +86 -0
  154. data/syntax/m.syntax +142 -0
  155. data/syntax/macports_portfile.syntax +163 -0
  156. data/syntax/mail.syntax +118 -0
  157. data/syntax/makefile.syntax +36 -0
  158. data/syntax/man.syntax +17 -0
  159. data/syntax/markdown.syntax +543 -0
  160. data/syntax/mediawiki.syntax +567 -0
  161. data/syntax/mel.syntax +92 -0
  162. data/syntax/mips.syntax +66 -0
  163. data/syntax/mod_perl.syntax +50 -0
  164. data/syntax/modula-3.syntax +47 -0
  165. data/syntax/moinmoin.syntax +189 -0
  166. data/syntax/mootools.syntax +572 -0
  167. data/syntax/movable_type.syntax +162 -0
  168. data/syntax/multimarkdown.syntax +39 -0
  169. data/syntax/objective-c++.syntax +18 -0
  170. data/syntax/objective-c.syntax +233 -0
  171. data/syntax/ocaml.syntax +764 -0
  172. data/syntax/ocamllex.syntax +167 -0
  173. data/syntax/ocamlyacc.syntax +184 -0
  174. data/syntax/opengl.syntax +14 -0
  175. data/syntax/pascal.syntax +77 -0
  176. data/syntax/perl.syntax +1115 -0
  177. data/syntax/php.syntax +1253 -0
  178. data/syntax/plain_text.syntax +32 -0
  179. data/syntax/pmwiki.syntax +113 -0
  180. data/syntax/postscript.syntax +114 -0
  181. data/syntax/processing.syntax +106 -0
  182. data/syntax/prolog.syntax +40 -0
  183. data/syntax/property_list.syntax +635 -0
  184. data/syntax/python.syntax +868 -0
  185. data/syntax/python_django.syntax +21 -0
  186. data/syntax/qmake_project.syntax +114 -0
  187. data/syntax/qt_c++.syntax +26 -0
  188. data/syntax/quake3_config.syntax +32 -0
  189. data/syntax/r.syntax +81 -0
  190. data/syntax/r_console.syntax +16 -0
  191. data/syntax/ragel.syntax +201 -0
  192. data/syntax/rd_r_documentation.syntax +91 -0
  193. data/syntax/regexp.syntax +50 -0
  194. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  195. data/syntax/regular_expressions_python.syntax +109 -0
  196. data/syntax/release_notes.syntax +46 -0
  197. data/syntax/remind.syntax +253 -0
  198. data/syntax/restructuredtext.syntax +250 -0
  199. data/syntax/rez.syntax +80 -0
  200. data/syntax/ruby.syntax +1035 -0
  201. data/syntax/ruby_experimental.syntax +145 -0
  202. data/syntax/ruby_on_rails.syntax +88 -0
  203. data/syntax/s5.syntax +69 -0
  204. data/syntax/scheme.syntax +347 -0
  205. data/syntax/scilab.syntax +41 -0
  206. data/syntax/setext.syntax +147 -0
  207. data/syntax/shell-unix-generic.syntax +384 -0
  208. data/syntax/slate.syntax +149 -0
  209. data/syntax/smarty.syntax +63 -0
  210. data/syntax/sql.syntax +237 -0
  211. data/syntax/sql_rails.syntax +18 -0
  212. data/syntax/ssh-config.syntax +33 -0
  213. data/syntax/standard_ml.syntax +121 -0
  214. data/syntax/strings_file.syntax +39 -0
  215. data/syntax/subversion_commit_message.syntax +36 -0
  216. data/syntax/sweave.syntax +84 -0
  217. data/syntax/swig.syntax +57 -0
  218. data/syntax/tcl.syntax +152 -0
  219. data/syntax/template_toolkit.syntax +121 -0
  220. data/syntax/tex.syntax +86 -0
  221. data/syntax/tex_math.syntax +49 -0
  222. data/syntax/textile.syntax +215 -0
  223. data/syntax/tsv.syntax +50 -0
  224. data/syntax/twiki.syntax +241 -0
  225. data/syntax/txt2tags.syntax +79 -0
  226. data/syntax/vectorscript.syntax +57 -0
  227. data/syntax/xhtml_1.0.syntax +4027 -0
  228. data/syntax/xml.syntax +180 -0
  229. data/syntax/xml_strict.syntax +92 -0
  230. data/syntax/xsl.syntax +60 -0
  231. data/syntax/yaml.syntax +160 -0
  232. data/syntax/yui_javascript.syntax +176 -0
  233. data/test/test_uv.rb +0 -0
  234. metadata +309 -0
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: Plain Text
3
+ fileTypes:
4
+ - txt
5
+ scopeName: text.plain
6
+ uuid: 3130E4FA-B10E-11D9-9F75-000D93589AF6
7
+ patterns:
8
+ - name: meta.bullet-point.strong
9
+ captures:
10
+ "1":
11
+ name: punctuation.definition.item.text
12
+ match: "^\\s*(\xE2\x80\xA2).*$\\n?"
13
+ - name: meta.bullet-point.light
14
+ captures:
15
+ "1":
16
+ name: punctuation.definition.item.text
17
+ match: "^\\s*(\xC2\xB7).*$\\n?"
18
+ - name: meta.bullet-point.star
19
+ captures:
20
+ "1":
21
+ name: punctuation.definition.item.text
22
+ match: ^\s*(\*).*$\n?
23
+ - begin: ^([ \t]*)(?=\S)
24
+ contentName: meta.paragraph.text
25
+ end: ^(?!\1(?=\S))
26
+ patterns:
27
+ - name: markup.underline.link
28
+ match: "(?x)\n\
29
+ \t\t\t\t\t\t( (https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt)://|mailto:)\n\
30
+ \t\t\t\t\t\t[-:@a-zA-Z0-9_.,~%+/?=&#]+(?<![.,?:])\n\
31
+ \t\t\t\t\t"
32
+ keyEquivalent: ^~P
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: PmWiki
3
+ fileTypes:
4
+ - pmwiki
5
+ scopeName: text.pmwiki
6
+ uuid: B991CA22-EE93-410C-A4EB-7578D9CE6C8D
7
+ patterns:
8
+ - name: keyword.control.line-break.pmwiki
9
+ match: \\\\$
10
+ - name: keyword.control.line-break.pmwiki
11
+ match: \[\[<<\]\]
12
+ - name: keyword.control.continue-line.pmwiki
13
+ match: \\$
14
+ - name: markup.raw.monospace.pmwiki
15
+ begin: ^\s+
16
+ end: $
17
+ patterns:
18
+ - include: text.pmwiki
19
+ - name: meta.indented-paragraph.pmwiki
20
+ captures:
21
+ "1":
22
+ name: keyword.control.indented-paragraph.pmwiki
23
+ begin: ^(-+>)
24
+ end: $
25
+ patterns:
26
+ - include: text.pmwiki
27
+ - name: markup.heading.pmwiki
28
+ captures:
29
+ "1":
30
+ name: keyword.control.heading.pmwiki
31
+ begin: ^(!+)
32
+ end: $
33
+ - name: markup.list.unnumbered.pmwiki
34
+ captures:
35
+ "1":
36
+ name: keyword.control.bullet-list.pmwiki
37
+ begin: ^(\*+)
38
+ end: $
39
+ patterns:
40
+ - include: text.pmwiki
41
+ - name: markup.list.numbered.pmwiki
42
+ captures:
43
+ "1":
44
+ name: keyword.control.number-list.pmwiki
45
+ begin: ^(#+)
46
+ end: $
47
+ patterns:
48
+ - include: text.pmwiki
49
+ - name: meta.term-definition.pmwiki
50
+ captures:
51
+ "1":
52
+ name: keyword.control.term-definition.pmwiki
53
+ "2":
54
+ name: entity.name.type.term.pmwiki
55
+ "3":
56
+ name: keyword.control.term-definition.pmwiki
57
+ "4":
58
+ name: string.unquoted.definition.pmwiki
59
+ match: ^(:+)(.*)(:)(.*)$
60
+ - name: meta.separator.pmwiki
61
+ match: ^-{4,}.*$
62
+ - name: markup.italic.emphasis.pmwiki
63
+ begin: "''"
64
+ end: "''(?!')"
65
+ patterns:
66
+ - include: text.pmwiki
67
+ - name: markup.bold.strong.pmwiki
68
+ begin: "'''"
69
+ end: "'''"
70
+ patterns:
71
+ - include: text.pmwiki
72
+ - name: markup.raw.monospace.pmwiki
73
+ begin: "@@"
74
+ end: "@@"
75
+ patterns:
76
+ - include: text.pmwiki
77
+ - name: meta.style.larger.pmwiki
78
+ begin: \[\+
79
+ end: \+\]
80
+ patterns:
81
+ - include: text.pmwiki
82
+ - name: meta.style.smaller.pmwiki
83
+ begin: \[-
84
+ end: -\]
85
+ patterns:
86
+ - include: text.pmwiki
87
+ - name: meta.normal-word.pmwiki
88
+ match: `\w+
89
+ - name: markup.underline.pmwiki
90
+ match: \b\u\w+\u\w+
91
+ - name: meta.link.inline.pmwiki
92
+ begin: \[\[#
93
+ contentName: string.other.link.title.pmwiki
94
+ end: \]\]
95
+ - name: meta.link.inline.pmwiki
96
+ captures:
97
+ "1":
98
+ name: markup.underline.link.pmwiki
99
+ "2":
100
+ name: keyword.control.link.pmwiki
101
+ "3":
102
+ name: string.other.link.title.pmwiki
103
+ match: \[\[(.*?)\s*(\||->)\s*(.*?)\]\]
104
+ - name: meta.link.inline.pmwiki
105
+ captures:
106
+ "1":
107
+ name: markup.underline.link.pmwiki
108
+ match: \[\[(.*?)\]\]
109
+ - name: markup.raw.verbatim-text.pmwiki
110
+ begin: \[=
111
+ end: =\]
112
+ - include: text.html.basic
113
+ keyEquivalent: ^~P
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: Postscript
3
+ fileTypes:
4
+ - ps
5
+ - eps
6
+ firstLineMatch: ^%!PS
7
+ scopeName: source.postscript
8
+ repository:
9
+ string_content:
10
+ patterns:
11
+ - name: constant.numeric.octal.postscript
12
+ match: \\[0-7]{1,3}
13
+ - name: constant.character.escape.postscript
14
+ match: \\(\\|[nrtbf\(\)]|[0-7]{1,3}|\r?\n)
15
+ - name: invalid.illegal.unknown-escape.postscript.ignored
16
+ match: \\
17
+ - begin: \(
18
+ end: \)
19
+ patterns:
20
+ - include: "#string_content"
21
+ uuid: B89483CD-6AE0-4517-BE2C-82F8083B7359
22
+ foldingStartMarker: /\*\*|\{\s*$
23
+ patterns:
24
+ - name: string.other.postscript
25
+ endCaptures:
26
+ "0":
27
+ name: punctuation.definition.string.end.postscript
28
+ begin: \(
29
+ beginCaptures:
30
+ "0":
31
+ name: punctuation.definition.string.begin.postscript
32
+ end: \)
33
+ patterns:
34
+ - include: "#string_content"
35
+ - name: meta.Document-Structuring-Comment.postscript
36
+ captures:
37
+ "1":
38
+ name: keyword.other.DSC.postscript
39
+ "3":
40
+ name: string.unquoted.DSC.postscript
41
+ match: ^(%%(BeginBinary:|BeginCustomColor:|BeginData:|BeginDefaults|BeginDocument:|BeginEmulation:|BeginExitServer:|BeginFeature:|BeginFile:|BeginFont:|BeginObject:|BeginPageSetup:|BeginPaperSize:|BeginPreview:|BeginProcSet|BeginProcessColor:|BeginProlog|BeginResource:|BeginSetup|BoundingBox:|CMYKCustomColor:|ChangeFont:|Copyright:|CreationDate:|Creator:|DocumentCustomColors:|DocumentData:|DocumentFonts:|DocumentMedia:|DocumentNeededFiles:|DocumentNeededFonts:|DocumentNeededProcSets:|DocumentNeededResources:|DocumentPaperColors:|DocumentPaperForms:|DocumentPaperSizes:|DocumentPaperWeights:|DocumentPrinterRequired:|DocumentProcSets:|DocumentProcessColors:|DocumentSuppliedFiles:|DocumentSuppliedFonts:|DocumentSuppliedProcSets:|DocumentSuppliedResources:|EOF|Emulation:|EndBinary:|EndComments|EndCustomColor:|EndData:|EndDefaults|EndDocument:|EndEmulation:|EndExitServer:|EndFeature:|EndFile:|EndFont:|EndObject:|EndPageSetup:|EndPaperSize:|EndPreview:|EndProcSet|EndProcessColor:|EndProlog|EndResource:|EndSetup|ExecuteFile:|Extensions:|Feature:|For:|IncludeDocument:|IncludeFeature:|IncludeFile:|IncludeFont:|IncludeProcSet:|IncludeResource:|LanguageLevel:|OperatorIntervention:|OperatorMessage:|Orientation:|Page:|PageBoundingBox:|PageCustomColors|PageCustomColors:|PageFiles:|PageFonts:|PageMedia:|PageOrder:|PageOrientation:|PageProcessColors|PageProcessColors:|PageRequirements:|PageResources:|PageTrailer|Pages:|PaperColor:|PaperForm:|PaperSize:|PaperWeight:|ProofMode:|RGBCustomColor:|Requirements:|Routing:|Title:|Trailer|VMlocation:|VMusage:|Version|Version:|\+|\?BeginFeatureQuery:|\?BeginFileQuery:|\?BeginFontListQuery:|\?BeginFontQuery:|\?BeginPrinterQuery:|\?BeginProcSetQuery:|\?BeginQuery:|\?BeginResourceListQuery:|\?BeginResourceQuery:|\?BeginVMStatus:|\?EndFeatureQuery:|\?EndFileQuery:|\?EndFontListQuery:|\?EndFontQuery:|\?EndPrinterQuery:|\?EndProcSetQuery:|\?EndQuery:|\?EndResourceListQuery:|\?EndResourceQuery:|\?EndVMStatus:))\s*(.*)$\n?
42
+ - name: comment.line.percentage.postscript
43
+ captures:
44
+ "1":
45
+ name: punctuation.definition.comment.postscript
46
+ match: (%).*$\n?
47
+ - name: meta.dictionary.postscript
48
+ captures:
49
+ "0":
50
+ name: punctuation.definition.dictionary.postscript
51
+ begin: \<\<
52
+ end: \>\>
53
+ patterns:
54
+ - include: $self
55
+ - name: meta.array.postscript
56
+ captures:
57
+ "0":
58
+ name: punctuation.definition.array.postscript
59
+ begin: \[
60
+ end: \]
61
+ patterns:
62
+ - include: $self
63
+ - name: meta.procedure.postscript
64
+ captures:
65
+ "0":
66
+ name: punctuation.definition.procedure.postscript
67
+ begin: "{"
68
+ end: "}"
69
+ patterns:
70
+ - include: $self
71
+ - name: string.other.base85.postscript
72
+ endCaptures:
73
+ "0":
74
+ name: punctuation.definition.string.end.postscript
75
+ begin: \<\~
76
+ beginCaptures:
77
+ "0":
78
+ name: punctuation.definition.string.begin.postscript
79
+ end: \~\>
80
+ patterns:
81
+ - match: "[!-z\\s]+"
82
+ - name: invalid.illegal.base85.char.postscript
83
+ match: .
84
+ - name: string.other.hexadecimal.postscript
85
+ endCaptures:
86
+ "0":
87
+ name: punctuation.definition.string.end.postscript
88
+ begin: \<
89
+ beginCaptures:
90
+ "0":
91
+ name: punctuation.definition.string.begin.postscript
92
+ end: \>
93
+ patterns:
94
+ - match: "[0-9A-Fa-f\\s]+"
95
+ - name: invalid.illegal.hexadecimal.char.postscript
96
+ match: .
97
+ - name: constant.numeric.radix.postscript
98
+ match: "[0-3]?[0-9]#[0-9a-zA-Z]+"
99
+ comment: well, not really, but short of listing rules for all bases from 2-36 best we can do
100
+ - name: constant.numeric.postscript
101
+ match: (\-|\+)?\d+(\.\d*)?([eE](\-|\+)?\d+)?
102
+ - name: constant.numeric.postscript
103
+ match: (\-|\+)?\.\d+([eE](\-|\+)?\d+)?
104
+ - name: keyword.operator.postscript
105
+ match: \b(abs|add|aload|anchorsearch|and|arc|arcn|arct|arcto|array|ashow|astore|atan|awidthshow|begin|bind|bitshift|bytesavailable|cachestatus|ceiling|charpath|clear|cleartomark|cleardictstack|clip|clippath|closefile|closepath|colorimage|concat|concatmatrix|condition|configurationerror|copy|copypage|cos|count|countdictstack|countexecstack|counttomark|cshow|currentblackgeneration|currentcacheparams|currentcmykcolor|currentcolor|currentcolorrendering|currentcolorscreen|currentcolorspace|currentcolortransfer|currentcontext|currentdash|currentdevparams|currentdict|currentfile|currentflat|currentfont|currentglobal|currentgray|currentgstate|currenthalftone|currenthalftonephase|currenthsbcolor|currentlinecap|currentlinejoin|currentlinewidth|currentmatrix|currentmiterlimit|currentobjectformat|currentpacking|currentpagedevice|currentpoint|currentrgbcolor|currentscreen|currentshared|currentstrokeadjust|currentsystemparams|currenttransfer|currentundercolorremoval|currentuserparams|curveto|cvi|cvlit|cvn|cvr|cvrs|cvs|cvx|def|defaultmatrix|definefont|defineresource|defineusername|defineuserobject|deletefile|detach|deviceinfo|dict|dictfull|dictstack|dictstackoverflow|dictstackunderflow|div|dtransform|dup|echo|eexec|end|eoclip|eofill|eoviewclip|eq|erasepage|errordict|exch|exec|execform|execstack|execstackoverflow|execuserobject|executeonly|executive|exit|exp|false|file|filenameforall|fileposition|fill|filter|findencoding|findfont|findresource|flattenpath|floor|flush|flushfile|FontDirectory|for|forall|fork|ge|get|getinterval|globaldict|GlobalFontDirectory|glyphshow|grestore|grestoreall|gsave|gstate|gt|handleerror|identmatrix|idiv|idtransform|if|ifelse|image|imagemask|index|ineofill|infill|initclip|initgraphics|initmatrix|initviewclip|instroke|internaldict|interrupt|inueofill|inufill|inustroke|invalidaccess|invalidcontext|invalidexit|invalidfileaccess|invalidfont|invalidid|invalidrestore|invertmatrix|ioerror|ISOLatin1Encoding|itransform|join|kshow|known|languagelevel|le|length|limitcheck|lineto|ln|load|lock|log|loop|lt|makefont|makepattern|mark|matrix|maxlength|mod|monitor|moveto|mul|ne|neg|newpath|noaccess|nocurrentpoint|not|notify|null|nulldevice|or|packedarray|pathbbox|pathforall|pop|print|printobject|product|prompt|pstack|put|putinterval|quit|rand|rangecheck|rcurveto|read|readhexstring|readline|readonly|readstring|realtime|rectclip|rectfill|rectstroke|rectviewclip|renamefile|repeat|resetfile|resourceforall|resourcestatus|restore|reversepath|revision|rlineto|rmoveto|roll|rootfont|rotate|round|rrand|run|save|scale|scalefont|scheck|search|selectfont|serialnumber|setbbox|setblackgeneration|setcachedevice|setcachedevice2|setcachelimit|setcacheparams|setcharwidth|setcmykcolor|setcolor|setcolorrendering|setcolorscreen|setcolorspace|setcolortransfer|setdash|setdevparams|setfileposition|setflat|setfont|setglobal|setgray|setgstate|sethalftone|sethalftonephase|sethsbcolor|setlinecap|setlinejoin|setlinewidth|setmatrix|setmiterlimit|setobjectformat|setoverprint|setpacking|setpagedevice|setpattern|setrgbcolor|setscreen|setshared|setstrokeadjust|setsystemparams|settransfer|setucacheparams|setundercolorremoval|setuserparams|setvmthreshold|shareddict|show|showpage|sin|sqrt|srand|stack|stackoverflow|stackunderflow|StandardEncoding|start|startjob|status|statusdict|stop|stopped|store|string|stringwidth|stroke|strokepath|sub|syntaxerror|systemdict|timeout|transform|translate|true|truncate|type|typecheck|token|uappend|ucache|ucachestatus|ueofill|ufill|undef|undefined|undefinedfilename|undefineresource|undefinedresult|undefinefont|undefineresource|undefinedresource|undefineuserobject|unmatchedmark|unregistered|upath|userdict|UserObjects|usertime|ustroke|ustrokepath|version|viewclip|viewclippath|VMerror|vmreclaim|vmstatus|wait|wcheck|where|widthshow|write|writehexstring|writeobject|writestring|wtranslation|xcheck|xor|xshow|xyshow|yield|yshow)\b
106
+ - name: variable.other.immediately-evaluated.postscript
107
+ match: //[^\(\)\<\>\[\]\{\}\/\%\s]+
108
+ - name: variable.other.literal.postscript
109
+ match: /[^\(\)\<\>\[\]\{\}\/\%\s]+
110
+ - name: variable.other.name.postscript
111
+ match: "[^\\(\\)\\<\\>\\[\\]\\{\\}\\/\\%\\s]+"
112
+ comment: stuff like 22@ff will show as number 22 followed by name @ff, but should be name 22@ff!
113
+ foldingStopMarker: \*\*/|^\s*\}
114
+ keyEquivalent: ^~P
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: Processing
3
+ fileTypes:
4
+ - pde
5
+ scopeName: source.processing
6
+ uuid: EF0D256C-2FCB-4A87-9250-0F5F82A366B9
7
+ foldingStartMarker: (/\*\*|\{\s*$)
8
+ patterns:
9
+ - name: support.function.processing
10
+ match: \b(abs|acos|alpha|alpha|ambient|ambientLight|append|applyMatrix|arc|asin|atan2|atan|background|beginCamera|beginShape|bezier|bezierDetail|bezierPoint|bezierTangent|bezierVertex|binary|blend|blend|blue|boolean|box|brightness|byte|cache|camera|ceil|char|charAt|color|colorMode|concat|constrain|contract|copy|copy|cos|createFont|cursor|curve|curveDetail|curvePoint|curveSegments|curveTightness|curveVertex|day|degrees|delay|directionalLight|dist|duration|ellipse|ellipseMode|emissive|endCamera|endShape|equals|exp|expand|fill|filter|filter|float|floor|framerate|frustum|get|get|green|hex|hint|hour|hue|image|imageMode|indexOf|int|join|keyPressed|keyReleased|length|lerp|lightFalloff|lightSpecular|lights|line|link|list|loadBytes|loadFont|loadImage|loadPixels|loadSound|loadStrings|log|lookat|loop|loop|mag|mask|max|millis|min|minute|modelX|modelY|modelZ|month|mouseDragged|mouseMoved|mousePressed|mouseReleased|nf|nfc|nfp|nfs|noCursor|noFill|noLoop|noLoop|noSmooth|noStroke|noTint|noise|noiseDetail|noiseSeed|normal|open|openStream|ortho|param|pause|perspective|play|point|pointLight|popMatrix|pow|print|printCamera|printMatrix|printProjection|println|pushMatrix|quad|radians|random|randomSeed|rect|rectMode|red|redraw|resetMatrix|reverse|rotate|rotateX|rotateY|rotateZ|round|saturation|save|saveBytes|saveFrame|saveStrings|scale|screenX|screenY|screenZ|second|set|set|shininess|shorten|sin|size|smooth|sort|specular|sphere|sphereDetail|splice|split|spotLight|sq|sqrt|status|stop|str|stroke|strokeCap|strokeJoin|strokeWeight|subset|substring|switch|tan|text|textAlign|textAscent|textDescent|textFont|textLeading|textMode|textSize|textWidth|texture|textureMode|time|tint|toLowerCase|toUpperCase|translate|triangle|trim|unHint|unbinary|unhex|updatePixels|vertex|volume|year|draw|setup)\b
11
+ - name: comment.block.empty.processing
12
+ captures:
13
+ "0":
14
+ name: punctuation.definition.comment.processing
15
+ match: /\*\*/
16
+ - name: comment.block.processing
17
+ captures:
18
+ "0":
19
+ name: punctuation.definition.comment.processing
20
+ begin: /\*
21
+ end: \*/
22
+ - name: comment.block.documentation.processing
23
+ captures:
24
+ "0":
25
+ name: punctuation.definition.comment.processing
26
+ begin: /\*\*
27
+ end: \*/
28
+ patterns:
29
+ - captures:
30
+ "1":
31
+ name: keyword.other.documentation.params.processing
32
+ "2":
33
+ name: keyword.other.documentation.value.processing
34
+ match: \*\s*@(param)\s*([a-z][a-zA-Z0-9_]+)\s*
35
+ - captures:
36
+ "1":
37
+ name: keyword.other.embedded-docs.params.processing
38
+ match: \*\s*@([a-zA-Z0-9_-]+)\s*
39
+ - name: comment.line.double-slash.processing
40
+ captures:
41
+ "1":
42
+ name: punctuation.definition.comment.processing
43
+ match: (//).*$\n?
44
+ - name: storage.type.processing
45
+ match: \b(class|interface|void|color|string|byte|short|char|int|long|float|double|boolean|[A-Z][A-Za-z0-9]+)\b
46
+ - name: storage.modifier.access-control.processing
47
+ match: \b(private|protected|public)\b
48
+ - name: storage.modifier.processing
49
+ match: \b(abstract|final|native|static|transient|synchronized|volatile|strictfp|extends|implements)\b
50
+ - name: keyword.control.catch-exception.processing
51
+ match: \b(try|catch|finally|throw)\b
52
+ - name: keyword.control.processing
53
+ match: \b(return|break|case|continue|default|do|while|for|switch|if|else)\b
54
+ - name: keyword.other.class-fns.processing
55
+ match: \b(import|new|package|throws)\b
56
+ - name: keyword.operator.processing
57
+ match: \b(instanceof)\b
58
+ - name: constant.language.processing
59
+ match: \b(false|null|true)\b
60
+ - name: constant.other.processing
61
+ match: \b(focused|frameCount|framerate|height|height|key|keyCode|keyPressed|mouseButton|mousePressed|mouseX|mouseY|online|pixels|pmouseX|pmouseY|screen|width)\b
62
+ - name: support.constant.processing
63
+ match: \b(ADD|ALIGN_CENTER|ALIGN_LEFT|ALIGN_RIGHT|ALPHA|ALPHA_MASK|ALT|AMBIENT|ARGB|ARROW|BACKSPACE|BEVEL|BLEND|BLEND|BLUE_MASK|BLUR|CENTER|CENTER_RADIUS|CHATTER|CODED|COMPLAINT|COMPONENT|COMPOSITE|CONCAVE_POLYGON|CONTROL|CONVEX_POLYGON|CORNER|CORNERS|CROSS|CUSTOM|DARKEST|DEGREES|DEG_TO_RAD|DELETE|DIFFERENCE|DIFFUSE|DISABLED|DISABLE_TEXT_SMOOTH|DOWN|ENTER|EPSILON|ESC|GIF|GREEN_MASK|GREY|HALF|HALF_PI|HALF_PI|HAND|HARD_LIGHT|HSB|IMAGE|INVERT|JAVA2D|JPEG|LEFT|LIGHTEST|LINES|LINE_LOOP|LINE_STRIP|MAX_FLOAT|MITER|MODEL|MOVE|MULTIPLY|NORMALIZED|NO_DEPTH_TEST|NTSC|ONE|OPAQUE|OPENGL|ORTHOGRAPHIC|OVERLAY|P2D|P3D|PAL|PERSPECTIVE|PI|PI|PIXEL_CENTER|POINTS|POLYGON|POSTERIZE|PROBLEM|PROJECT|QUADS|QUAD_STRIP|QUARTER_PI|RADIANS|RAD_TO_DEG|RED_MASK|REPLACE|RETURN|RGB|RIGHT|ROUND|SCREEN|SECAM|SHIFT|SOFT_LIGHT|SPECULAR|SQUARE|SUBTRACT|SVIDEO|TAB|TARGA|TEXT|TFF|THIRD_PI|THRESHOLD|TIFF|TRIANGLES|TRIANGLE_FAN|TRIANGLE_STRIP|TUNER|TWO|TWO_PI|TWO_PI|UP|WAIT|WHITESPACE)\b
64
+ - name: support.class.processing
65
+ match: \b(Array|Character|Integer|Math|Object|PFont|PImage|PSound|StringBuffer|Thread)\b
66
+ - name: variable.language.processing
67
+ match: \b(this|super)\b
68
+ - name: constant.numeric.processing
69
+ match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\b
70
+ - name: string.quoted.double.processing
71
+ endCaptures:
72
+ "0":
73
+ name: punctuation.definition.string.end.processing
74
+ begin: "\""
75
+ beginCaptures:
76
+ "0":
77
+ name: punctuation.definition.string.begin.processing
78
+ end: "\""
79
+ patterns:
80
+ - name: constant.character.escape.processing
81
+ match: \\.
82
+ - name: string.quoted.single.processing
83
+ endCaptures:
84
+ "0":
85
+ name: punctuation.definition.string.end.processing
86
+ begin: "'"
87
+ beginCaptures:
88
+ "0":
89
+ name: punctuation.definition.string.begin.processing
90
+ end: "'"
91
+ patterns:
92
+ - name: constant.character.escape.processing
93
+ match: \\.
94
+ - name: meta.class.processing
95
+ captures:
96
+ "1":
97
+ name: storage.type.class.processing
98
+ "2":
99
+ name: entity.name.type.class.processing
100
+ "3":
101
+ name: storage.modifier.extends.processing
102
+ "4":
103
+ name: entity.other.inherited-class.processing
104
+ match: \b(class)\s+([a-zA-Z_](?:\w|\.)*)(?:\s+(extends)\s+([a-zA-Z_](?:\w|\.)*))?
105
+ foldingStopMarker: (\*\*/|^\s*\})
106
+ keyEquivalent: ^~P
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: Prolog
3
+ fileTypes: []
4
+
5
+ scopeName: source.prolog
6
+ uuid: C0E2ADB0-1706-4A28-8DB7-263BDC8B5C5C
7
+ foldingStartMarker: "%\\s*region \\w*"
8
+ patterns:
9
+ - name: string.quoted.single.prolog
10
+ endCaptures:
11
+ "0":
12
+ name: punctuation.definition.string.end.prolog
13
+ begin: "'"
14
+ beginCaptures:
15
+ "0":
16
+ name: punctuation.definition.string.begin.prolog
17
+ end: "'"
18
+ patterns:
19
+ - name: constant.character.escape.prolog
20
+ match: \\.
21
+ - name: constant.character.escape.quote.prolog
22
+ match: "''"
23
+ - name: comment.line.percent.prolog
24
+ captures:
25
+ "1":
26
+ name: punctuation.definition.comment.prolog
27
+ match: (%).*$\n?
28
+ - name: keyword.operator.definition.prolog
29
+ match: ":-"
30
+ - name: variable.other.prolog
31
+ match: \b[A-Z][a-zA-Z0-9_]*\b
32
+ - name: constant.other.symbol.prolog
33
+ match: \b[a-z][a-zA-Z0-9_]*\b
34
+ comment: "\n\
35
+ \t\t\tI changed this from entity to storage.type, but have no idea what it is -- Allan\n\
36
+ \t\t\tAnd I changed this to constant.other.symbol after glancing over the docs,\n\
37
+ \t\t\t might still be wrong. -- Infininight\n\
38
+ \t\t\t"
39
+ foldingStopMarker: "%\\s*end(\\s*region)?"
40
+ keyEquivalent: ^~P
@@ -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