rmthemegen 0.0.38 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. data/.project +18 -0
  2. data/bin/geanyfy.rb +4 -41
  3. data/lib/rmthemegen/basis_theme.tmTheme +971 -0
  4. data/lib/rmthemegen/geany.filetypes.all +2945 -0
  5. data/lib/rmthemegen/plist.html +246 -0
  6. data/lib/rmthemegen/plist_to_tokenlist.rb +242 -0
  7. data/lib/rmthemegen/rmtg_rubymine.rb +196 -0
  8. data/lib/rmthemegen/rmtg_textmate.rb +262 -0
  9. data/lib/rmthemegen/rmthemegen_187.rb +32 -233
  10. data/lib/rmthemegen/rmthemegen_parent.rb +235 -0
  11. data/lib/rmthemegen/rmthemegen_to_css.rb +1 -0
  12. data/lib/rmthemegen/syntaxes/Apache.plist +544 -0
  13. data/lib/rmthemegen/syntaxes/Bibtex.plist +406 -0
  14. data/lib/rmthemegen/syntaxes/Blog___HTML__.plist +88 -0
  15. data/lib/rmthemegen/syntaxes/Blog___Markdown__.plist +89 -0
  16. data/lib/rmthemegen/syntaxes/Blog___Text__.plist +74 -0
  17. data/lib/rmthemegen/syntaxes/Blog___Textile__.plist +74 -0
  18. data/lib/rmthemegen/syntaxes/C.plist +1126 -0
  19. data/lib/rmthemegen/syntaxes/CSS.plist +543 -0
  20. data/lib/rmthemegen/syntaxes/C____.plist +521 -0
  21. data/lib/rmthemegen/syntaxes/ClojureRepl.plist +40 -0
  22. data/lib/rmthemegen/syntaxes/Diff.plist +229 -0
  23. data/lib/rmthemegen/syntaxes/GroovyRepl.plist +40 -0
  24. data/lib/rmthemegen/syntaxes/HTML.plist +960 -0
  25. data/lib/rmthemegen/syntaxes/HTML___Rails__.plist +92 -0
  26. data/lib/rmthemegen/syntaxes/Haskell.plist +646 -0
  27. data/lib/rmthemegen/syntaxes/Io.plist +225 -0
  28. data/lib/rmthemegen/syntaxes/Java.plist +1156 -0
  29. data/lib/rmthemegen/syntaxes/JavaProperties.plist +70 -0
  30. data/lib/rmthemegen/syntaxes/JavaScript.plist +712 -0
  31. data/lib/rmthemegen/syntaxes/LaTeX.plist +1601 -0
  32. data/lib/rmthemegen/syntaxes/LaTeX_Beamer.plist +106 -0
  33. data/lib/rmthemegen/syntaxes/LaTeX_Log.plist +141 -0
  34. data/lib/rmthemegen/syntaxes/Lisp.plist +160 -0
  35. data/lib/rmthemegen/syntaxes/Literate_Haskell.plist +90 -0
  36. data/lib/rmthemegen/syntaxes/Makefile.plist +103 -0
  37. data/lib/rmthemegen/syntaxes/Markdown.plist +1192 -0
  38. data/lib/rmthemegen/syntaxes/Mirah.plist +22 -0
  39. data/lib/rmthemegen/syntaxes/PHP.plist +3481 -0
  40. data/lib/rmthemegen/syntaxes/PHP.xml +3481 -0
  41. data/lib/rmthemegen/syntaxes/Perl.plist +3209 -0
  42. data/lib/rmthemegen/syntaxes/Plain_text.plist +83 -0
  43. data/lib/rmthemegen/syntaxes/Processing.plist +296 -0
  44. data/lib/rmthemegen/syntaxes/Rez.plist +219 -0
  45. data/lib/rmthemegen/syntaxes/Ruby.plist +2891 -0
  46. data/lib/rmthemegen/syntaxes/RubyRepl.plist +40 -0
  47. data/lib/rmthemegen/syntaxes/Ruby_on_Rails.plist +288 -0
  48. data/lib/rmthemegen/syntaxes/SQL.plist +705 -0
  49. data/lib/rmthemegen/syntaxes/SQL___Rails__.plist +51 -0
  50. data/lib/rmthemegen/syntaxes/Shell__Unix__Generic.plist +1855 -0
  51. data/lib/rmthemegen/syntaxes/TeX.plist +246 -0
  52. data/lib/rmthemegen/syntaxes/TeX_Math.plist +132 -0
  53. data/lib/rmthemegen/syntaxes/Textile.plist +490 -0
  54. data/lib/rmthemegen/syntaxes/Vala.plist +285 -0
  55. data/lib/rmthemegen/syntaxes/XML.plist +576 -0
  56. data/lib/rmthemegen/syntaxes/XSL.plist +157 -0
  57. data/lib/rmthemegen/syntaxes/YAML.plist +467 -0
  58. data/lib/rmthemegen/textmate_themes/Active4D.tmTheme +407 -0
  59. data/lib/rmthemegen/textmate_themes/All Hallow's Eve Custom.tmTheme +273 -0
  60. data/lib/rmthemegen/textmate_themes/All Hallow's Eve.tmTheme +277 -0
  61. data/lib/rmthemegen/textmate_themes/Amy.tmTheme +557 -0
  62. data/lib/rmthemegen/textmate_themes/BBEdit.tmTheme +437 -0
  63. data/lib/rmthemegen/textmate_themes/Black Pearl II.tmTheme +496 -0
  64. data/lib/rmthemegen/textmate_themes/Black Pearl.tmTheme +400 -0
  65. data/lib/rmthemegen/textmate_themes/Blackboard Black.tmTheme +350 -0
  66. data/lib/rmthemegen/textmate_themes/Blackboard.tmTheme +350 -0
  67. data/lib/rmthemegen/textmate_themes/Bongzilla.tmTheme +223 -0
  68. data/lib/rmthemegen/textmate_themes/Brilliance Black.tmTheme +2619 -0
  69. data/lib/rmthemegen/textmate_themes/Brilliance Dull.tmTheme +2243 -0
  70. data/lib/rmthemegen/textmate_themes/CSSEdit.tmTheme +203 -0
  71. data/lib/rmthemegen/textmate_themes/Clouds Midnight.tmTheme +361 -0
  72. data/lib/rmthemegen/textmate_themes/Clouds.tmTheme +348 -0
  73. data/lib/rmthemegen/textmate_themes/Cobalt.tmTheme +559 -0
  74. data/lib/rmthemegen/textmate_themes/Coda.tmTheme +313 -0
  75. data/lib/rmthemegen/textmate_themes/Cool Glow.tmTheme +350 -0
  76. data/lib/rmthemegen/textmate_themes/Dawn.tmTheme +437 -0
  77. data/lib/rmthemegen/textmate_themes/Django (Smoothy).tmTheme +453 -0
  78. data/lib/rmthemegen/textmate_themes/Django.tmTheme +436 -0
  79. data/lib/rmthemegen/textmate_themes/Eiffel.tmTheme +439 -0
  80. data/lib/rmthemegen/textmate_themes/Emacs Strict.tmTheme +241 -0
  81. data/lib/rmthemegen/textmate_themes/Espresso Libre.tmTheme +402 -0
  82. data/lib/rmthemegen/textmate_themes/Espresso Tutti.tmTheme +392 -0
  83. data/lib/rmthemegen/textmate_themes/Espresso.tmTheme +329 -0
  84. data/lib/rmthemegen/textmate_themes/Fade to Grey.tmTheme +308 -0
  85. data/lib/rmthemegen/textmate_themes/Fluidvision.tmTheme +443 -0
  86. data/lib/rmthemegen/textmate_themes/ForLaTeX.tmTheme +214 -0
  87. data/lib/rmthemegen/textmate_themes/Freckle.tmTheme +279 -0
  88. data/lib/rmthemegen/textmate_themes/Friendship Bracelet.tmTheme +303 -0
  89. data/lib/rmthemegen/textmate_themes/GitHub.tmTheme +653 -0
  90. data/lib/rmthemegen/textmate_themes/GlitterBomb.tmTheme +387 -0
  91. data/lib/rmthemegen/textmate_themes/Happy happy joy joy 2.tmTheme +841 -0
  92. data/lib/rmthemegen/textmate_themes/IDLE.tmTheme +235 -0
  93. data/lib/rmthemegen/textmate_themes/IR_Black.tmTheme +810 -0
  94. data/lib/rmthemegen/textmate_themes/IR_White.tmTheme +792 -0
  95. data/lib/rmthemegen/textmate_themes/LAZY.tmTheme +291 -0
  96. data/lib/rmthemegen/textmate_themes/Lowlight.tmTheme +605 -0
  97. data/lib/rmthemegen/textmate_themes/Mac Classic.tmTheme +450 -0
  98. data/lib/rmthemegen/textmate_themes/Made of Code.tmTheme +695 -0
  99. data/lib/rmthemegen/textmate_themes/MagicWB (Amiga).tmTheme +376 -0
  100. data/lib/rmthemegen/textmate_themes/Merbivore Soft.tmTheme +285 -0
  101. data/lib/rmthemegen/textmate_themes/Merbivore.tmTheme +285 -0
  102. data/lib/rmthemegen/textmate_themes/Monokai.tmTheme +289 -0
  103. data/lib/rmthemegen/textmate_themes/MultiMarkdown.tmTheme +183 -0
  104. data/lib/rmthemegen/textmate_themes/Pastels on Dark.tmTheme +701 -0
  105. data/lib/rmthemegen/textmate_themes/Pastie.tmTheme +321 -0
  106. data/lib/rmthemegen/textmate_themes/Putty.tmTheme +275 -0
  107. data/lib/rmthemegen/textmate_themes/RDark.tmTheme +235 -0
  108. data/lib/rmthemegen/textmate_themes/Rails Envy.tmTheme +299 -0
  109. data/lib/rmthemegen/textmate_themes/Railscasts.tmTheme +278 -0
  110. data/lib/rmthemegen/textmate_themes/Ryan Light.tmTheme +232 -0
  111. data/lib/rmthemegen/textmate_themes/Slush & Poppies.tmTheme +336 -0
  112. data/lib/rmthemegen/textmate_themes/Smoothy.tmTheme +623 -0
  113. data/lib/rmthemegen/textmate_themes/SpaceCadet.tmTheme +212 -0
  114. data/lib/rmthemegen/textmate_themes/Spectacular.tmTheme +436 -0
  115. data/lib/rmthemegen/textmate_themes/Starlight.tmTheme +111 -0
  116. data/lib/rmthemegen/textmate_themes/Summer Camp Mod.tmTheme +229 -0
  117. data/lib/rmthemegen/textmate_themes/Summer Camp.tmTheme +229 -0
  118. data/lib/rmthemegen/textmate_themes/Sunburst.tmTheme +665 -0
  119. data/lib/rmthemegen/textmate_themes/Swyphs II.tmTheme +306 -0
  120. data/lib/rmthemegen/textmate_themes/Tango.tmTheme +450 -0
  121. data/lib/rmthemegen/textmate_themes/Text Ex Machina.tmTheme +295 -0
  122. data/lib/rmthemegen/textmate_themes/Tubster.tmTheme +280 -0
  123. data/lib/rmthemegen/textmate_themes/Twilight.tmTheme +518 -0
  124. data/lib/rmthemegen/textmate_themes/Vibrant Fin.tmTheme +447 -0
  125. data/lib/rmthemegen/textmate_themes/Vibrant Ink.tmTheme +447 -0
  126. data/lib/rmthemegen/textmate_themes/Vibrant Tango.tmTheme +438 -0
  127. data/lib/rmthemegen/textmate_themes/WhysPoignant.tmTheme +191 -0
  128. data/lib/rmthemegen/textmate_themes/Zenburnesque.tmTheme +343 -0
  129. data/lib/rmthemegen/textmate_themes/[ Argonaut ].tmTheme +387 -0
  130. data/lib/rmthemegen/textmate_themes/choco.tmTheme +542 -0
  131. data/lib/rmthemegen/textmate_themes/fake.tmTheme +669 -0
  132. data/lib/rmthemegen/textmate_themes/iLife 05.tmTheme +619 -0
  133. data/lib/rmthemegen/textmate_themes/iPlastic.tmTheme +286 -0
  134. data/lib/rmthemegen/textmate_themes/idleFingers.tmTheme +380 -0
  135. data/lib/rmthemegen/textmate_themes/krTheme.tmTheme +551 -0
  136. data/lib/rmthemegen/textmate_themes/monoindustrial.tmTheme +451 -0
  137. data/lib/rmthemegen/token_list.rb +171 -101
  138. data/lib/rmthemegen/uv_addons.rb +176 -0
  139. data/rmthemegen.gemspec +4 -1
  140. data/spec/rmthemegen/plist_to_tokenlist_spec.rb +0 -0
  141. data/test/choco.css +138 -0
  142. data/test/choco.render +136 -0
  143. data/test/get_tm_scopes.rb +79 -0
  144. data/test/get_tm_tokens.rb +0 -3
  145. data/test/newtheme.sh +6 -0
  146. data/test/output +14 -0
  147. data/test/rexml.element.methods +100 -0
  148. data/test/scopes_harvested +61 -0
  149. data/test/scopes_harvested.rb +15 -0
  150. data/test/test_generate_themes.rb +75 -38
  151. metadata +198 -13
  152. data/lib/rmthemegen/index.html +0 -2
  153. data/lib/rmthemegen/rmthemegen_187_textmate.rb +0 -155
  154. data/test/rmt_beautiful_quality.tmTheme +0 -399
  155. data/test/rmt_beautiful_quality.xml +0 -2089
@@ -0,0 +1,1601 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>fileTypes</key>
6
+ <array>
7
+ <string>tex</string>
8
+ </array>
9
+ <key>firstLineMatch</key>
10
+ <string>^\\documentclass(?!.*\{beamer\})</string>
11
+ <key>foldingStartMarker</key>
12
+ <string>\\begin\{.*\}|%.*\(fold\)\s*$</string>
13
+ <key>foldingStopMarker</key>
14
+ <string>\\end\{.*\}|%.*\(end\)\s*$</string>
15
+ <key>keyEquivalent</key>
16
+ <string>^~L</string>
17
+ <key>name</key>
18
+ <string>LaTeX</string>
19
+ <key>patterns</key>
20
+ <array>
21
+ <dict>
22
+ <key>match</key>
23
+ <string>(?=\s)(?&lt;=\\[\w@]|\\[\w@]{2}|\\[\w@]{3}|\\[\w@]{4}|\\[\w@]{5}|\\[\w@]{6})\s</string>
24
+ <key>name</key>
25
+ <string>meta.space-after-command.latex</string>
26
+ </dict>
27
+ <dict>
28
+ <key>begin</key>
29
+ <string>((\\)(?:usepackage|documentclass))(?:(\[)([^\]]*)(\]))?(\{)</string>
30
+ <key>beginCaptures</key>
31
+ <dict>
32
+ <key>1</key>
33
+ <dict>
34
+ <key>name</key>
35
+ <string>keyword.control.preamble.latex</string>
36
+ </dict>
37
+ <key>2</key>
38
+ <dict>
39
+ <key>name</key>
40
+ <string>punctuation.definition.function.latex</string>
41
+ </dict>
42
+ <key>3</key>
43
+ <dict>
44
+ <key>name</key>
45
+ <string>punctuation.definition.arguments.begin.latex</string>
46
+ </dict>
47
+ <key>4</key>
48
+ <dict>
49
+ <key>name</key>
50
+ <string>variable.parameter.latex</string>
51
+ </dict>
52
+ <key>5</key>
53
+ <dict>
54
+ <key>name</key>
55
+ <string>punctuation.definition.arguments.end.latex</string>
56
+ </dict>
57
+ <key>6</key>
58
+ <dict>
59
+ <key>name</key>
60
+ <string>punctuation.definition.arguments.begin.latex</string>
61
+ </dict>
62
+ </dict>
63
+ <key>contentName</key>
64
+ <string>support.class.latex</string>
65
+ <key>end</key>
66
+ <string>\}</string>
67
+ <key>endCaptures</key>
68
+ <dict>
69
+ <key>0</key>
70
+ <dict>
71
+ <key>name</key>
72
+ <string>punctuation.definition.arguments.end.latex</string>
73
+ </dict>
74
+ </dict>
75
+ <key>name</key>
76
+ <string>meta.preamble.latex</string>
77
+ <key>patterns</key>
78
+ <array>
79
+ <dict>
80
+ <key>include</key>
81
+ <string>$self</string>
82
+ </dict>
83
+ </array>
84
+ </dict>
85
+ <dict>
86
+ <key>begin</key>
87
+ <string>((\\)(?:include|input))(\{)</string>
88
+ <key>beginCaptures</key>
89
+ <dict>
90
+ <key>1</key>
91
+ <dict>
92
+ <key>name</key>
93
+ <string>keyword.control.include.latex</string>
94
+ </dict>
95
+ <key>2</key>
96
+ <dict>
97
+ <key>name</key>
98
+ <string>punctuation.definition.function.latex</string>
99
+ </dict>
100
+ <key>3</key>
101
+ <dict>
102
+ <key>name</key>
103
+ <string>punctuation.definition.arguments.begin.latex</string>
104
+ </dict>
105
+ </dict>
106
+ <key>contentName</key>
107
+ <string>support.class.latex</string>
108
+ <key>end</key>
109
+ <string>\}</string>
110
+ <key>endCaptures</key>
111
+ <dict>
112
+ <key>0</key>
113
+ <dict>
114
+ <key>name</key>
115
+ <string>punctuation.definition.arguments.end.latex</string>
116
+ </dict>
117
+ </dict>
118
+ <key>name</key>
119
+ <string>meta.include.latex</string>
120
+ <key>patterns</key>
121
+ <array>
122
+ <dict>
123
+ <key>include</key>
124
+ <string>$self</string>
125
+ </dict>
126
+ </array>
127
+ </dict>
128
+ <dict>
129
+ <key>begin</key>
130
+ <string>(?x)
131
+ ( # Capture 1
132
+ (\\) # Marker
133
+ (?:
134
+ (?:sub){0,2}section # Functions
135
+ | (?:sub)?paragraph
136
+ | chapter|part|addpart
137
+ | addchap|addsec|minisec
138
+ )
139
+ (?:\*)? # Optional Unnumbered
140
+ )
141
+ (?:
142
+ (\[)([^\[]*?)(\]) # Optional Title
143
+ )??
144
+ (\{) # Opening Bracket
145
+ </string>
146
+ <key>beginCaptures</key>
147
+ <dict>
148
+ <key>1</key>
149
+ <dict>
150
+ <key>name</key>
151
+ <string>support.function.section.latex</string>
152
+ </dict>
153
+ <key>2</key>
154
+ <dict>
155
+ <key>name</key>
156
+ <string>punctuation.definition.function.latex</string>
157
+ </dict>
158
+ <key>3</key>
159
+ <dict>
160
+ <key>name</key>
161
+ <string>punctuation.definition.arguments.optional.begin.latex</string>
162
+ </dict>
163
+ <key>4</key>
164
+ <dict>
165
+ <key>name</key>
166
+ <string>entity.name.section.latex</string>
167
+ </dict>
168
+ <key>5</key>
169
+ <dict>
170
+ <key>name</key>
171
+ <string>punctuation.definition.arguments.optional.end.latex</string>
172
+ </dict>
173
+ <key>6</key>
174
+ <dict>
175
+ <key>name</key>
176
+ <string>punctuation.definition.arguments.begin.latex</string>
177
+ </dict>
178
+ </dict>
179
+ <key>comment</key>
180
+ <string>this works OK with all kinds of crazy stuff as long as section is one line</string>
181
+ <key>contentName</key>
182
+ <string>entity.name.section.latex</string>
183
+ <key>end</key>
184
+ <string>\}</string>
185
+ <key>endCaptures</key>
186
+ <dict>
187
+ <key>0</key>
188
+ <dict>
189
+ <key>name</key>
190
+ <string>punctuation.definition.arguments.end.latex</string>
191
+ </dict>
192
+ </dict>
193
+ <key>name</key>
194
+ <string>meta.function.section.latex</string>
195
+ <key>patterns</key>
196
+ <array>
197
+ <dict>
198
+ <key>include</key>
199
+ <string>$self</string>
200
+ </dict>
201
+ </array>
202
+ </dict>
203
+ <dict>
204
+ <key>begin</key>
205
+ <string>(?:\s*)((\\)begin)(\{)(lstlisting)(\})(?:(\[).*(\]))?(\s*%\s*(?i:Java)\n?)</string>
206
+ <key>captures</key>
207
+ <dict>
208
+ <key>1</key>
209
+ <dict>
210
+ <key>name</key>
211
+ <string>support.function.be.latex</string>
212
+ </dict>
213
+ <key>2</key>
214
+ <dict>
215
+ <key>name</key>
216
+ <string>punctuation.definition.function.latex</string>
217
+ </dict>
218
+ <key>3</key>
219
+ <dict>
220
+ <key>name</key>
221
+ <string>punctuation.definition.arguments.begin.latex</string>
222
+ </dict>
223
+ <key>4</key>
224
+ <dict>
225
+ <key>name</key>
226
+ <string>variable.parameter.function.latex</string>
227
+ </dict>
228
+ <key>5</key>
229
+ <dict>
230
+ <key>name</key>
231
+ <string>punctuation.definition.arguments.end.latex</string>
232
+ </dict>
233
+ <key>6</key>
234
+ <dict>
235
+ <key>name</key>
236
+ <string>punctuation.definition.arguments.optional.begin.latex</string>
237
+ </dict>
238
+ <key>7</key>
239
+ <dict>
240
+ <key>name</key>
241
+ <string>punctuation.definition.arguments.optional.end.latex</string>
242
+ </dict>
243
+ <key>8</key>
244
+ <dict>
245
+ <key>name</key>
246
+ <string>comment.line.percentage.latex</string>
247
+ </dict>
248
+ </dict>
249
+ <key>contentName</key>
250
+ <string>source.java.embedded</string>
251
+ <key>end</key>
252
+ <string>((\\)end)(\{)(lstlisting)(\})</string>
253
+ <key>name</key>
254
+ <string>meta.function.embedded.java.latex</string>
255
+ <key>patterns</key>
256
+ <array>
257
+ <dict>
258
+ <key>include</key>
259
+ <string>source.java</string>
260
+ </dict>
261
+ </array>
262
+ </dict>
263
+ <dict>
264
+ <key>begin</key>
265
+ <string>(?:\s*)((\\)begin)(\{)(lstlisting)(\})(?:(\[).*(\]))?(\s*%\s*(?i:Python)\n?)</string>
266
+ <key>captures</key>
267
+ <dict>
268
+ <key>1</key>
269
+ <dict>
270
+ <key>name</key>
271
+ <string>support.function.be.latex</string>
272
+ </dict>
273
+ <key>2</key>
274
+ <dict>
275
+ <key>name</key>
276
+ <string>punctuation.definition.function.latex</string>
277
+ </dict>
278
+ <key>3</key>
279
+ <dict>
280
+ <key>name</key>
281
+ <string>punctuation.definition.arguments.begin.latex</string>
282
+ </dict>
283
+ <key>4</key>
284
+ <dict>
285
+ <key>name</key>
286
+ <string>variable.parameter.function.latex</string>
287
+ </dict>
288
+ <key>5</key>
289
+ <dict>
290
+ <key>name</key>
291
+ <string>punctuation.definition.arguments.end.latex</string>
292
+ </dict>
293
+ <key>6</key>
294
+ <dict>
295
+ <key>name</key>
296
+ <string>punctuation.definition.arguments.optional.begin.latex</string>
297
+ </dict>
298
+ <key>7</key>
299
+ <dict>
300
+ <key>name</key>
301
+ <string>punctuation.definition.arguments.optional.end.latex</string>
302
+ </dict>
303
+ <key>8</key>
304
+ <dict>
305
+ <key>name</key>
306
+ <string>comment.line.percentage.latex</string>
307
+ </dict>
308
+ </dict>
309
+ <key>comment</key>
310
+ <string>Put the lstlisting match before the more general environment listing. Someday it would be nice to make this rule general enough to figure out which language is inside the lstlisting environment rather than my own personal use for python. --Brad</string>
311
+ <key>contentName</key>
312
+ <string>source.python.embedded</string>
313
+ <key>end</key>
314
+ <string>((\\)end)(\{)(lstlisting)(\})</string>
315
+ <key>name</key>
316
+ <string>meta.function.embedded.python.latex</string>
317
+ <key>patterns</key>
318
+ <array>
319
+ <dict>
320
+ <key>include</key>
321
+ <string>source.python</string>
322
+ </dict>
323
+ </array>
324
+ </dict>
325
+ <dict>
326
+ <key>begin</key>
327
+ <string>(?:\s*)((\\)begin)(\{)(lstlisting)(\})(?:(\[).*(\]))?(\s*%.*\n?)?</string>
328
+ <key>captures</key>
329
+ <dict>
330
+ <key>1</key>
331
+ <dict>
332
+ <key>name</key>
333
+ <string>support.function.be.latex</string>
334
+ </dict>
335
+ <key>2</key>
336
+ <dict>
337
+ <key>name</key>
338
+ <string>punctuation.definition.function.latex</string>
339
+ </dict>
340
+ <key>3</key>
341
+ <dict>
342
+ <key>name</key>
343
+ <string>punctuation.definition.arguments.begin.latex</string>
344
+ </dict>
345
+ <key>4</key>
346
+ <dict>
347
+ <key>name</key>
348
+ <string>variable.parameter.function.latex</string>
349
+ </dict>
350
+ <key>5</key>
351
+ <dict>
352
+ <key>name</key>
353
+ <string>punctuation.definition.arguments.end.latex</string>
354
+ </dict>
355
+ <key>6</key>
356
+ <dict>
357
+ <key>name</key>
358
+ <string>punctuation.definition.arguments.optional.begin.latex</string>
359
+ </dict>
360
+ <key>7</key>
361
+ <dict>
362
+ <key>name</key>
363
+ <string>punctuation.definition.arguments.optional.end.latex</string>
364
+ </dict>
365
+ <key>8</key>
366
+ <dict>
367
+ <key>name</key>
368
+ <string>comment.line.percentage.latex</string>
369
+ </dict>
370
+ </dict>
371
+ <key>comment</key>
372
+ <string>Put the lstlisting match before the more general environment listing. Someday it would be nice to make this rule general enough to figure out which language is inside the lstlisting environment rather than my own personal use for python. --Brad</string>
373
+ <key>contentName</key>
374
+ <string>source.generic.embedded</string>
375
+ <key>end</key>
376
+ <string>((\\)end)(\{)(lstlisting)(\})</string>
377
+ <key>name</key>
378
+ <string>meta.function.embedded.generic.latex</string>
379
+ </dict>
380
+ <dict>
381
+ <key>begin</key>
382
+ <string>(?:\s*)((\\)begin)(\{)((?:V|v)erbatim|alltt)(\})</string>
383
+ <key>captures</key>
384
+ <dict>
385
+ <key>1</key>
386
+ <dict>
387
+ <key>name</key>
388
+ <string>support.function.be.latex</string>
389
+ </dict>
390
+ <key>2</key>
391
+ <dict>
392
+ <key>name</key>
393
+ <string>punctuation.definition.function.latex</string>
394
+ </dict>
395
+ <key>3</key>
396
+ <dict>
397
+ <key>name</key>
398
+ <string>punctuation.definition.arguments.begin.latex</string>
399
+ </dict>
400
+ <key>4</key>
401
+ <dict>
402
+ <key>name</key>
403
+ <string>variable.parameter.function.latex</string>
404
+ </dict>
405
+ <key>5</key>
406
+ <dict>
407
+ <key>name</key>
408
+ <string>punctuation.definition.arguments.end.latex</string>
409
+ </dict>
410
+ </dict>
411
+ <key>contentName</key>
412
+ <string>markup.raw.verbatim.latex</string>
413
+ <key>end</key>
414
+ <string>((\\)end)(\{)(\4)(\})</string>
415
+ <key>name</key>
416
+ <string>meta.function.verbatim.latex</string>
417
+ </dict>
418
+ <dict>
419
+ <key>captures</key>
420
+ <dict>
421
+ <key>1</key>
422
+ <dict>
423
+ <key>name</key>
424
+ <string>support.function.url.latex</string>
425
+ </dict>
426
+ <key>2</key>
427
+ <dict>
428
+ <key>name</key>
429
+ <string>punctuation.definition.function.latex</string>
430
+ </dict>
431
+ <key>3</key>
432
+ <dict>
433
+ <key>name</key>
434
+ <string>punctuation.definition.arguments.begin.latex</string>
435
+ </dict>
436
+ <key>4</key>
437
+ <dict>
438
+ <key>name</key>
439
+ <string>markup.underline.link.latex</string>
440
+ </dict>
441
+ <key>5</key>
442
+ <dict>
443
+ <key>name</key>
444
+ <string>punctuation.definition.arguments.end.latex</string>
445
+ </dict>
446
+ </dict>
447
+ <key>match</key>
448
+ <string>(?:\s*)((\\)(?:url|href))(\{)([^}]*)(\})</string>
449
+ <key>name</key>
450
+ <string>meta.function.link.url.latex</string>
451
+ </dict>
452
+ <dict>
453
+ <key>captures</key>
454
+ <dict>
455
+ <key>1</key>
456
+ <dict>
457
+ <key>name</key>
458
+ <string>support.function.be.latex</string>
459
+ </dict>
460
+ <key>2</key>
461
+ <dict>
462
+ <key>name</key>
463
+ <string>punctuation.definition.function.latex</string>
464
+ </dict>
465
+ <key>3</key>
466
+ <dict>
467
+ <key>name</key>
468
+ <string>punctuation.definition.arguments.begin.latex</string>
469
+ </dict>
470
+ <key>4</key>
471
+ <dict>
472
+ <key>name</key>
473
+ <string>variable.parameter.function.latex</string>
474
+ </dict>
475
+ <key>5</key>
476
+ <dict>
477
+ <key>name</key>
478
+ <string>punctuation.definition.arguments.end.latex</string>
479
+ </dict>
480
+ </dict>
481
+ <key>comment</key>
482
+ <string>These two patterns match the \begin{document} and \end{document} commands, so that the environment matching pattern following them will ignore those commands.</string>
483
+ <key>match</key>
484
+ <string>(?:\s*)((\\)begin)(\{)(document)(\})</string>
485
+ <key>name</key>
486
+ <string>meta.function.begin-document.latex</string>
487
+ </dict>
488
+ <dict>
489
+ <key>captures</key>
490
+ <dict>
491
+ <key>1</key>
492
+ <dict>
493
+ <key>name</key>
494
+ <string>support.function.be.latex</string>
495
+ </dict>
496
+ <key>2</key>
497
+ <dict>
498
+ <key>name</key>
499
+ <string>punctuation.definition.function.latex</string>
500
+ </dict>
501
+ <key>3</key>
502
+ <dict>
503
+ <key>name</key>
504
+ <string>punctuation.definition.arguments.begin.latex</string>
505
+ </dict>
506
+ <key>4</key>
507
+ <dict>
508
+ <key>name</key>
509
+ <string>variable.parameter.function.latex</string>
510
+ </dict>
511
+ <key>5</key>
512
+ <dict>
513
+ <key>name</key>
514
+ <string>punctuation.definition.arguments.end.latex</string>
515
+ </dict>
516
+ </dict>
517
+ <key>match</key>
518
+ <string>(?:\s*)((\\)end)(\{)(document)(\})</string>
519
+ <key>name</key>
520
+ <string>meta.function.end-document.latex</string>
521
+ </dict>
522
+ <dict>
523
+ <key>begin</key>
524
+ <string>(?x)
525
+ (?:\s*) # Optional whitespace
526
+ ((\\)begin) # Marker - Function
527
+ (\{) # Open Bracket
528
+ (
529
+ (?:
530
+ align|equation|eqnarray # Argument
531
+ | multline|aligned|alignat
532
+ | split|gather|gathered
533
+ )
534
+ (?:\*)? # Optional Unnumbered
535
+ )
536
+ (\}) # Close Bracket
537
+ (\s*\n)? # Match to end of line absent of content
538
+ </string>
539
+ <key>captures</key>
540
+ <dict>
541
+ <key>1</key>
542
+ <dict>
543
+ <key>name</key>
544
+ <string>support.function.be.latex</string>
545
+ </dict>
546
+ <key>2</key>
547
+ <dict>
548
+ <key>name</key>
549
+ <string>punctuation.definition.function.latex</string>
550
+ </dict>
551
+ <key>3</key>
552
+ <dict>
553
+ <key>name</key>
554
+ <string>punctuation.definition.arguments.begin.latex</string>
555
+ </dict>
556
+ <key>4</key>
557
+ <dict>
558
+ <key>name</key>
559
+ <string>variable.parameter.function.latex</string>
560
+ </dict>
561
+ <key>5</key>
562
+ <dict>
563
+ <key>name</key>
564
+ <string>punctuation.definition.arguments.end.latex</string>
565
+ </dict>
566
+ </dict>
567
+ <key>contentName</key>
568
+ <string>string.other.math.block.environment.latex</string>
569
+ <key>end</key>
570
+ <string>(?x)
571
+ (?:\s*) # Optional whitespace
572
+ ((\\)end) # Marker - Function
573
+ (\{) # Open Bracket
574
+ (\4) # Previous capture from begin
575
+ (\}) # Close Bracket
576
+ (?:\s*\n)? # Match to end of line absent of content
577
+ </string>
578
+ <key>name</key>
579
+ <string>meta.function.environment.math.latex</string>
580
+ <key>patterns</key>
581
+ <array>
582
+ <dict>
583
+ <key>include</key>
584
+ <string>$base</string>
585
+ </dict>
586
+ </array>
587
+ </dict>
588
+ <dict>
589
+ <key>begin</key>
590
+ <string>(?x)
591
+ (?:\s*) # Optional whitespace
592
+ ((\\)begin) # Marker - Function
593
+ (\{) # Open Bracket
594
+ (array|tabular[xy*]?)
595
+ (\}) # Close Bracket
596
+ (\s*\n)? # Match to end of line absent of content
597
+ </string>
598
+ <key>captures</key>
599
+ <dict>
600
+ <key>1</key>
601
+ <dict>
602
+ <key>name</key>
603
+ <string>support.function.be.latex</string>
604
+ </dict>
605
+ <key>2</key>
606
+ <dict>
607
+ <key>name</key>
608
+ <string>punctuation.definition.function.latex</string>
609
+ </dict>
610
+ <key>3</key>
611
+ <dict>
612
+ <key>name</key>
613
+ <string>punctuation.definition.arguments.begin.latex</string>
614
+ </dict>
615
+ <key>4</key>
616
+ <dict>
617
+ <key>name</key>
618
+ <string>variable.parameter.function.latex</string>
619
+ </dict>
620
+ <key>5</key>
621
+ <dict>
622
+ <key>name</key>
623
+ <string>punctuation.definition.arguments.end.latex</string>
624
+ </dict>
625
+ </dict>
626
+ <key>contentName</key>
627
+ <string>meta.data.environment.tabular.latex</string>
628
+ <key>end</key>
629
+ <string>(?x)
630
+ (?:\s*) # Optional whitespace
631
+ ((\\)end) # Marker - Function
632
+ (\{) # Open Bracket
633
+ (\4) # Previous capture from begin
634
+ (\}) # Close Bracket
635
+ (?:\s*\n)? # Match to end of line absent of content
636
+ </string>
637
+ <key>name</key>
638
+ <string>meta.function.environment.tabular.latex</string>
639
+ <key>patterns</key>
640
+ <array>
641
+ <dict>
642
+ <key>match</key>
643
+ <string>\\</string>
644
+ <key>name</key>
645
+ <string>punctuation.definition.table.row.latex</string>
646
+ </dict>
647
+ <dict>
648
+ <key>begin</key>
649
+ <string>(?:^|(?&lt;=\\\\))(?!\\\\|\s*\\end\{(?:tabular|array))</string>
650
+ <key>end</key>
651
+ <string>(?=\\\\|\s*\\end\{(?:tabular|array))</string>
652
+ <key>name</key>
653
+ <string>meta.row.environment.tabular.latex</string>
654
+ <key>patterns</key>
655
+ <array>
656
+ <dict>
657
+ <key>match</key>
658
+ <string>&amp;</string>
659
+ <key>name</key>
660
+ <string>punctuation.definition.table.cell.latex</string>
661
+ </dict>
662
+ <dict>
663
+ <key>begin</key>
664
+ <string>(?:^|(?&lt;=&amp;))((?!&amp;|\\\\|$))</string>
665
+ <key>end</key>
666
+ <string>(?=&amp;|\\\\|\s*\\end\{(?:tabular|array))</string>
667
+ <key>name</key>
668
+ <string>meta.cell.environment.tabular.latex</string>
669
+ <key>patterns</key>
670
+ <array>
671
+ <dict>
672
+ <key>include</key>
673
+ <string>$base</string>
674
+ </dict>
675
+ </array>
676
+ </dict>
677
+ <dict>
678
+ <key>include</key>
679
+ <string>$base</string>
680
+ </dict>
681
+ </array>
682
+ </dict>
683
+ <dict>
684
+ <key>include</key>
685
+ <string>$base</string>
686
+ </dict>
687
+ </array>
688
+ </dict>
689
+ <dict>
690
+ <key>begin</key>
691
+ <string>(?:\s*)((\\)begin)(\{)(itemize|enumerate|description|list)(\})</string>
692
+ <key>captures</key>
693
+ <dict>
694
+ <key>1</key>
695
+ <dict>
696
+ <key>name</key>
697
+ <string>support.function.be.latex</string>
698
+ </dict>
699
+ <key>2</key>
700
+ <dict>
701
+ <key>name</key>
702
+ <string>punctuation.definition.function.latex</string>
703
+ </dict>
704
+ <key>3</key>
705
+ <dict>
706
+ <key>name</key>
707
+ <string>punctuation.definition.arguments.latex</string>
708
+ </dict>
709
+ <key>4</key>
710
+ <dict>
711
+ <key>name</key>
712
+ <string>variable.parameter.function.latex</string>
713
+ </dict>
714
+ <key>5</key>
715
+ <dict>
716
+ <key>name</key>
717
+ <string>punctuation.definition.arguments.latex</string>
718
+ </dict>
719
+ </dict>
720
+ <key>end</key>
721
+ <string>((\\)end)(\{)(\4)(\})(?:\s*\n)?</string>
722
+ <key>name</key>
723
+ <string>meta.function.environment.list.latex</string>
724
+ <key>patterns</key>
725
+ <array>
726
+ <dict>
727
+ <key>include</key>
728
+ <string>$base</string>
729
+ </dict>
730
+ </array>
731
+ </dict>
732
+ <dict>
733
+ <key>begin</key>
734
+ <string>(?:\s*)((\\)begin)(\{)(tikzpicture)(\})</string>
735
+ <key>captures</key>
736
+ <dict>
737
+ <key>1</key>
738
+ <dict>
739
+ <key>name</key>
740
+ <string>support.function.be.latex</string>
741
+ </dict>
742
+ <key>2</key>
743
+ <dict>
744
+ <key>name</key>
745
+ <string>punctuation.definition.function.latex</string>
746
+ </dict>
747
+ <key>3</key>
748
+ <dict>
749
+ <key>name</key>
750
+ <string>punctuation.definition.arguments.latex</string>
751
+ </dict>
752
+ <key>4</key>
753
+ <dict>
754
+ <key>name</key>
755
+ <string>variable.parameter.function.latex</string>
756
+ </dict>
757
+ <key>5</key>
758
+ <dict>
759
+ <key>name</key>
760
+ <string>punctuation.definition.arguments.latex</string>
761
+ </dict>
762
+ </dict>
763
+ <key>end</key>
764
+ <string>((\\)end)(\{)(tikzpicture)(\})(?:\s*\n)?</string>
765
+ <key>name</key>
766
+ <string>meta.function.environment.latex.tikz</string>
767
+ <key>patterns</key>
768
+ <array>
769
+ <dict>
770
+ <key>include</key>
771
+ <string>text.tex.latex.tikz</string>
772
+ </dict>
773
+ <dict>
774
+ <key>include</key>
775
+ <string>text.tex.latex</string>
776
+ </dict>
777
+ </array>
778
+ </dict>
779
+ <dict>
780
+ <key>begin</key>
781
+ <string>(?:\s*)((\\)begin)(\{)(\w+[*]?)(\})</string>
782
+ <key>captures</key>
783
+ <dict>
784
+ <key>1</key>
785
+ <dict>
786
+ <key>name</key>
787
+ <string>support.function.be.latex</string>
788
+ </dict>
789
+ <key>2</key>
790
+ <dict>
791
+ <key>name</key>
792
+ <string>punctuation.definition.function.latex</string>
793
+ </dict>
794
+ <key>3</key>
795
+ <dict>
796
+ <key>name</key>
797
+ <string>punctuation.definition.arguments.latex</string>
798
+ </dict>
799
+ <key>4</key>
800
+ <dict>
801
+ <key>name</key>
802
+ <string>variable.parameter.function.latex</string>
803
+ </dict>
804
+ <key>5</key>
805
+ <dict>
806
+ <key>name</key>
807
+ <string>punctuation.definition.arguments.latex</string>
808
+ </dict>
809
+ </dict>
810
+ <key>end</key>
811
+ <string>((\\)end)(\{)(\4)(\})(?:\s*\n)?</string>
812
+ <key>name</key>
813
+ <string>meta.function.environment.general.latex</string>
814
+ <key>patterns</key>
815
+ <array>
816
+ <dict>
817
+ <key>include</key>
818
+ <string>$base</string>
819
+ </dict>
820
+ </array>
821
+ </dict>
822
+ <dict>
823
+ <key>captures</key>
824
+ <dict>
825
+ <key>1</key>
826
+ <dict>
827
+ <key>name</key>
828
+ <string>punctuation.definition.function.latex</string>
829
+ </dict>
830
+ </dict>
831
+ <key>match</key>
832
+ <string>(\\)(newcommand|renewcommand)\b</string>
833
+ <key>name</key>
834
+ <string>storage.type.function.latex</string>
835
+ </dict>
836
+ <dict>
837
+ <key>begin</key>
838
+ <string>((\\)marginpar)(\{)</string>
839
+ <key>beginCaptures</key>
840
+ <dict>
841
+ <key>1</key>
842
+ <dict>
843
+ <key>name</key>
844
+ <string>support.function.marginpar.latex</string>
845
+ </dict>
846
+ <key>2</key>
847
+ <dict>
848
+ <key>name</key>
849
+ <string>punctuation.definition.function.latex</string>
850
+ </dict>
851
+ <key>3</key>
852
+ <dict>
853
+ <key>name</key>
854
+ <string>punctuation.definition.marginpar.begin.latex</string>
855
+ </dict>
856
+ </dict>
857
+ <key>contentName</key>
858
+ <string>meta.paragraph.margin.latex</string>
859
+ <key>end</key>
860
+ <string>\}</string>
861
+ <key>endCaptures</key>
862
+ <dict>
863
+ <key>0</key>
864
+ <dict>
865
+ <key>name</key>
866
+ <string>punctuation.definition.marginpar.end.latex</string>
867
+ </dict>
868
+ </dict>
869
+ <key>patterns</key>
870
+ <array>
871
+ <dict>
872
+ <key>include</key>
873
+ <string>$base</string>
874
+ </dict>
875
+ </array>
876
+ </dict>
877
+ <dict>
878
+ <key>begin</key>
879
+ <string>((\\)footnote)(\{)</string>
880
+ <key>beginCaptures</key>
881
+ <dict>
882
+ <key>1</key>
883
+ <dict>
884
+ <key>name</key>
885
+ <string>support.function.footnote.latex</string>
886
+ </dict>
887
+ <key>2</key>
888
+ <dict>
889
+ <key>name</key>
890
+ <string>punctuation.definition.function.latex</string>
891
+ </dict>
892
+ <key>3</key>
893
+ <dict>
894
+ <key>name</key>
895
+ <string>punctuation.definition.footnote.begin.latex</string>
896
+ </dict>
897
+ </dict>
898
+ <key>contentName</key>
899
+ <string>meta.footnote.latex</string>
900
+ <key>end</key>
901
+ <string>\}</string>
902
+ <key>endCaptures</key>
903
+ <dict>
904
+ <key>0</key>
905
+ <dict>
906
+ <key>name</key>
907
+ <string>punctuation.definition.footnote.end.latex</string>
908
+ </dict>
909
+ </dict>
910
+ <key>patterns</key>
911
+ <array>
912
+ <dict>
913
+ <key>include</key>
914
+ <string>$base</string>
915
+ </dict>
916
+ </array>
917
+ </dict>
918
+ <dict>
919
+ <key>begin</key>
920
+ <string>((\\)emph)(\{)</string>
921
+ <key>beginCaptures</key>
922
+ <dict>
923
+ <key>1</key>
924
+ <dict>
925
+ <key>name</key>
926
+ <string>support.function.emph.latex</string>
927
+ </dict>
928
+ <key>2</key>
929
+ <dict>
930
+ <key>name</key>
931
+ <string>punctuation.definition.function.latex</string>
932
+ </dict>
933
+ <key>3</key>
934
+ <dict>
935
+ <key>name</key>
936
+ <string>punctuation.definition.emph.begin.latex</string>
937
+ </dict>
938
+ </dict>
939
+ <key>contentName</key>
940
+ <string>markup.italic.emph.latex</string>
941
+ <key>end</key>
942
+ <string>\}</string>
943
+ <key>endCaptures</key>
944
+ <dict>
945
+ <key>0</key>
946
+ <dict>
947
+ <key>name</key>
948
+ <string>punctuation.definition.emph.end.latex</string>
949
+ </dict>
950
+ </dict>
951
+ <key>name</key>
952
+ <string>meta.function.emph.latex</string>
953
+ <key>patterns</key>
954
+ <array>
955
+ <dict>
956
+ <key>include</key>
957
+ <string>$base</string>
958
+ </dict>
959
+ </array>
960
+ </dict>
961
+ <dict>
962
+ <key>begin</key>
963
+ <string>((\\)textit)(\{)</string>
964
+ <key>captures</key>
965
+ <dict>
966
+ <key>1</key>
967
+ <dict>
968
+ <key>name</key>
969
+ <string>support.function.textit.latex</string>
970
+ </dict>
971
+ <key>2</key>
972
+ <dict>
973
+ <key>name</key>
974
+ <string>punctuation.definition.function.latex</string>
975
+ </dict>
976
+ <key>3</key>
977
+ <dict>
978
+ <key>name</key>
979
+ <string>punctuation.definition.textit.begin.latex</string>
980
+ </dict>
981
+ </dict>
982
+ <key>comment</key>
983
+ <string>We put the keyword in a capture and name this capture, so that disabling spell checking for “keyword” won't be inherited by the argument to \textit{...}.
984
+
985
+ Put specific matches for particular LaTeX keyword.functions before the last two more general functions</string>
986
+ <key>contentName</key>
987
+ <string>markup.italic.textit.latex</string>
988
+ <key>end</key>
989
+ <string>\}</string>
990
+ <key>endCaptures</key>
991
+ <dict>
992
+ <key>0</key>
993
+ <dict>
994
+ <key>name</key>
995
+ <string>punctuation.definition.textit.end.latex</string>
996
+ </dict>
997
+ </dict>
998
+ <key>name</key>
999
+ <string>meta.function.textit.latex</string>
1000
+ <key>patterns</key>
1001
+ <array>
1002
+ <dict>
1003
+ <key>include</key>
1004
+ <string>$base</string>
1005
+ </dict>
1006
+ </array>
1007
+ </dict>
1008
+ <dict>
1009
+ <key>begin</key>
1010
+ <string>((\\)textbf)(\{)</string>
1011
+ <key>captures</key>
1012
+ <dict>
1013
+ <key>1</key>
1014
+ <dict>
1015
+ <key>name</key>
1016
+ <string>support.function.textbf.latex</string>
1017
+ </dict>
1018
+ <key>2</key>
1019
+ <dict>
1020
+ <key>name</key>
1021
+ <string>punctuation.definition.function.latex</string>
1022
+ </dict>
1023
+ <key>3</key>
1024
+ <dict>
1025
+ <key>name</key>
1026
+ <string>punctuation.definition.textbf.begin.latex</string>
1027
+ </dict>
1028
+ </dict>
1029
+ <key>contentName</key>
1030
+ <string>markup.bold.textbf.latex</string>
1031
+ <key>end</key>
1032
+ <string>\}</string>
1033
+ <key>endCaptures</key>
1034
+ <dict>
1035
+ <key>0</key>
1036
+ <dict>
1037
+ <key>name</key>
1038
+ <string>punctuation.definition.textbf.end.latex</string>
1039
+ </dict>
1040
+ </dict>
1041
+ <key>name</key>
1042
+ <string>meta.function.textbf.latex</string>
1043
+ <key>patterns</key>
1044
+ <array>
1045
+ <dict>
1046
+ <key>include</key>
1047
+ <string>$base</string>
1048
+ </dict>
1049
+ </array>
1050
+ </dict>
1051
+ <dict>
1052
+ <key>begin</key>
1053
+ <string>((\\)texttt)(\{)</string>
1054
+ <key>captures</key>
1055
+ <dict>
1056
+ <key>1</key>
1057
+ <dict>
1058
+ <key>name</key>
1059
+ <string>support.function.texttt.latex</string>
1060
+ </dict>
1061
+ <key>2</key>
1062
+ <dict>
1063
+ <key>name</key>
1064
+ <string>punctuation.definition.function.latex</string>
1065
+ </dict>
1066
+ <key>3</key>
1067
+ <dict>
1068
+ <key>name</key>
1069
+ <string>punctuation.definition.texttt.begin.latex</string>
1070
+ </dict>
1071
+ </dict>
1072
+ <key>contentName</key>
1073
+ <string>markup.raw.texttt.latex</string>
1074
+ <key>end</key>
1075
+ <string>\}</string>
1076
+ <key>endCaptures</key>
1077
+ <dict>
1078
+ <key>0</key>
1079
+ <dict>
1080
+ <key>name</key>
1081
+ <string>punctuation.definition.texttt.end.latex</string>
1082
+ </dict>
1083
+ </dict>
1084
+ <key>name</key>
1085
+ <string>meta.function.texttt.latex</string>
1086
+ <key>patterns</key>
1087
+ <array>
1088
+ <dict>
1089
+ <key>include</key>
1090
+ <string>$base</string>
1091
+ </dict>
1092
+ </array>
1093
+ </dict>
1094
+ <dict>
1095
+ <key>captures</key>
1096
+ <dict>
1097
+ <key>0</key>
1098
+ <dict>
1099
+ <key>name</key>
1100
+ <string>keyword.other.item.latex</string>
1101
+ </dict>
1102
+ <key>1</key>
1103
+ <dict>
1104
+ <key>name</key>
1105
+ <string>punctuation.definition.keyword.latex</string>
1106
+ </dict>
1107
+ </dict>
1108
+ <key>match</key>
1109
+ <string>(\\)item\b</string>
1110
+ <key>name</key>
1111
+ <string>meta.scope.item.latex</string>
1112
+ </dict>
1113
+ <dict>
1114
+ <key>begin</key>
1115
+ <string>(?x)
1116
+ (
1117
+ (\\) # Marker
1118
+ (?:foot)?(?:full)?(?:no)?(?:short)? # Function Name
1119
+ [cC]ite
1120
+ (?:al)?(?:t|p|author|year(?:par)?|title)?[ANP]*
1121
+ \*? # Optional Unabreviated
1122
+ )
1123
+ (?:(\[)[^\]]*(\]))? # Optional
1124
+ (?:(\[)[^\]]*(\]))? # Arguments
1125
+ (\{) # Opening Bracket
1126
+ </string>
1127
+ <key>captures</key>
1128
+ <dict>
1129
+ <key>1</key>
1130
+ <dict>
1131
+ <key>name</key>
1132
+ <string>keyword.control.cite.latex</string>
1133
+ </dict>
1134
+ <key>2</key>
1135
+ <dict>
1136
+ <key>name</key>
1137
+ <string>punctuation.definition.keyword.latex</string>
1138
+ </dict>
1139
+ <key>3</key>
1140
+ <dict>
1141
+ <key>name</key>
1142
+ <string>punctuation.definition.arguments.optional.begin.latex</string>
1143
+ </dict>
1144
+ <key>4</key>
1145
+ <dict>
1146
+ <key>name</key>
1147
+ <string>punctuation.definition.arguments.optional.end.latex</string>
1148
+ </dict>
1149
+ <key>5</key>
1150
+ <dict>
1151
+ <key>name</key>
1152
+ <string>punctuation.definition.arguments.optional.begin.latex</string>
1153
+ </dict>
1154
+ <key>6</key>
1155
+ <dict>
1156
+ <key>name</key>
1157
+ <string>punctuation.definition.arguments.optional.end.latex</string>
1158
+ </dict>
1159
+ <key>7</key>
1160
+ <dict>
1161
+ <key>name</key>
1162
+ <string>punctuation.definition.arguments.latex</string>
1163
+ </dict>
1164
+ </dict>
1165
+ <key>end</key>
1166
+ <string>\}</string>
1167
+ <key>endCaptures</key>
1168
+ <dict>
1169
+ <key>0</key>
1170
+ <dict>
1171
+ <key>name</key>
1172
+ <string>punctuation.definition.arguments.latex</string>
1173
+ </dict>
1174
+ </dict>
1175
+ <key>name</key>
1176
+ <string>meta.citation.latex</string>
1177
+ <key>patterns</key>
1178
+ <array>
1179
+ <dict>
1180
+ <key>match</key>
1181
+ <string>[\w:.]+</string>
1182
+ <key>name</key>
1183
+ <string>constant.other.reference.citation.latex</string>
1184
+ </dict>
1185
+ </array>
1186
+ </dict>
1187
+ <dict>
1188
+ <key>begin</key>
1189
+ <string>((\\)(?:\w*[r|R]ef\*?))(\{)</string>
1190
+ <key>beginCaptures</key>
1191
+ <dict>
1192
+ <key>1</key>
1193
+ <dict>
1194
+ <key>name</key>
1195
+ <string>keyword.control.ref.latex</string>
1196
+ </dict>
1197
+ <key>2</key>
1198
+ <dict>
1199
+ <key>name</key>
1200
+ <string>punctuation.definition.keyword.latex</string>
1201
+ </dict>
1202
+ <key>3</key>
1203
+ <dict>
1204
+ <key>name</key>
1205
+ <string>punctuation.definition.arguments.begin.latex</string>
1206
+ </dict>
1207
+ </dict>
1208
+ <key>end</key>
1209
+ <string>\}</string>
1210
+ <key>endCaptures</key>
1211
+ <dict>
1212
+ <key>0</key>
1213
+ <dict>
1214
+ <key>name</key>
1215
+ <string>punctuation.definition.arguments.begin.latex</string>
1216
+ </dict>
1217
+ </dict>
1218
+ <key>name</key>
1219
+ <string>meta.reference.label.latex</string>
1220
+ <key>patterns</key>
1221
+ <array>
1222
+ <dict>
1223
+ <key>match</key>
1224
+ <string>[a-zA-Z0-9\.,:/*!^_-]</string>
1225
+ <key>name</key>
1226
+ <string>constant.other.reference.label.latex</string>
1227
+ </dict>
1228
+ </array>
1229
+ </dict>
1230
+ <dict>
1231
+ <key>begin</key>
1232
+ <string>((\\)label)(\{)</string>
1233
+ <key>beginCaptures</key>
1234
+ <dict>
1235
+ <key>1</key>
1236
+ <dict>
1237
+ <key>name</key>
1238
+ <string>keyword.control.label.latex</string>
1239
+ </dict>
1240
+ <key>2</key>
1241
+ <dict>
1242
+ <key>name</key>
1243
+ <string>punctuation.definition.keyword.latex</string>
1244
+ </dict>
1245
+ <key>3</key>
1246
+ <dict>
1247
+ <key>name</key>
1248
+ <string>punctuation.definition.arguments.begin.latex</string>
1249
+ </dict>
1250
+ </dict>
1251
+ <key>end</key>
1252
+ <string>\}</string>
1253
+ <key>endCaptures</key>
1254
+ <dict>
1255
+ <key>0</key>
1256
+ <dict>
1257
+ <key>name</key>
1258
+ <string>punctuation.definition.arguments.end.latex</string>
1259
+ </dict>
1260
+ </dict>
1261
+ <key>name</key>
1262
+ <string>meta.definition.label.latex</string>
1263
+ <key>patterns</key>
1264
+ <array>
1265
+ <dict>
1266
+ <key>match</key>
1267
+ <string>[a-zA-Z0-9\.,:/*!^_-]</string>
1268
+ <key>name</key>
1269
+ <string>variable.parameter.definition.label.latex</string>
1270
+ </dict>
1271
+ </array>
1272
+ </dict>
1273
+ <dict>
1274
+ <key>begin</key>
1275
+ <string>((\\)verb[\*]?)\s*((\\)scantokens)(\{)</string>
1276
+ <key>beginCaptures</key>
1277
+ <dict>
1278
+ <key>1</key>
1279
+ <dict>
1280
+ <key>name</key>
1281
+ <string>support.function.verb.latex</string>
1282
+ </dict>
1283
+ <key>2</key>
1284
+ <dict>
1285
+ <key>name</key>
1286
+ <string>punctuation.definition.function.latex</string>
1287
+ </dict>
1288
+ <key>3</key>
1289
+ <dict>
1290
+ <key>name</key>
1291
+ <string>support.function.verb.latex</string>
1292
+ </dict>
1293
+ <key>4</key>
1294
+ <dict>
1295
+ <key>name</key>
1296
+ <string>punctuation.definition.verb.latex</string>
1297
+ </dict>
1298
+ <key>5</key>
1299
+ <dict>
1300
+ <key>name</key>
1301
+ <string>punctuation.definition.begin.latex</string>
1302
+ </dict>
1303
+ </dict>
1304
+ <key>contentName</key>
1305
+ <string>markup.raw.verb.latex</string>
1306
+ <key>end</key>
1307
+ <string>(\})</string>
1308
+ <key>endCaptures</key>
1309
+ <dict>
1310
+ <key>1</key>
1311
+ <dict>
1312
+ <key>name</key>
1313
+ <string>punctuation.definition.end.latex</string>
1314
+ </dict>
1315
+ </dict>
1316
+ <key>name</key>
1317
+ <string>meta.function.verb.latex</string>
1318
+ <key>patterns</key>
1319
+ <array>
1320
+ <dict>
1321
+ <key>include</key>
1322
+ <string>$self</string>
1323
+ </dict>
1324
+ </array>
1325
+ </dict>
1326
+ <dict>
1327
+ <key>captures</key>
1328
+ <dict>
1329
+ <key>1</key>
1330
+ <dict>
1331
+ <key>name</key>
1332
+ <string>support.function.verb.latex</string>
1333
+ </dict>
1334
+ <key>2</key>
1335
+ <dict>
1336
+ <key>name</key>
1337
+ <string>punctuation.definition.function.latex</string>
1338
+ </dict>
1339
+ <key>3</key>
1340
+ <dict>
1341
+ <key>name</key>
1342
+ <string>punctuation.definition.verb.latex</string>
1343
+ </dict>
1344
+ <key>4</key>
1345
+ <dict>
1346
+ <key>name</key>
1347
+ <string>markup.raw.verb.latex</string>
1348
+ </dict>
1349
+ <key>5</key>
1350
+ <dict>
1351
+ <key>name</key>
1352
+ <string>punctuation.definition.verb.latex</string>
1353
+ </dict>
1354
+ </dict>
1355
+ <key>match</key>
1356
+ <string>((\\)verb[\*]?)\s*((?&lt;=\s)\S|[^a-zA-Z])(.*?)(\3|$)</string>
1357
+ <key>name</key>
1358
+ <string>meta.function.verb.latex</string>
1359
+ </dict>
1360
+ <dict>
1361
+ <key>begin</key>
1362
+ <string>"`</string>
1363
+ <key>beginCaptures</key>
1364
+ <dict>
1365
+ <key>0</key>
1366
+ <dict>
1367
+ <key>name</key>
1368
+ <string>punctuation.definition.string.begin.latex</string>
1369
+ </dict>
1370
+ </dict>
1371
+ <key>end</key>
1372
+ <string>"'</string>
1373
+ <key>endCaptures</key>
1374
+ <dict>
1375
+ <key>0</key>
1376
+ <dict>
1377
+ <key>name</key>
1378
+ <string>punctuation.definition.string.end.latex</string>
1379
+ </dict>
1380
+ </dict>
1381
+ <key>name</key>
1382
+ <string>string.quoted.double.european.latex</string>
1383
+ <key>patterns</key>
1384
+ <array>
1385
+ <dict>
1386
+ <key>include</key>
1387
+ <string>$base</string>
1388
+ </dict>
1389
+ </array>
1390
+ </dict>
1391
+ <dict>
1392
+ <key>begin</key>
1393
+ <string>``</string>
1394
+ <key>beginCaptures</key>
1395
+ <dict>
1396
+ <key>0</key>
1397
+ <dict>
1398
+ <key>name</key>
1399
+ <string>punctuation.definition.string.begin.latex</string>
1400
+ </dict>
1401
+ </dict>
1402
+ <key>end</key>
1403
+ <string>''|"</string>
1404
+ <key>endCaptures</key>
1405
+ <dict>
1406
+ <key>0</key>
1407
+ <dict>
1408
+ <key>name</key>
1409
+ <string>punctuation.definition.string.end.latex</string>
1410
+ </dict>
1411
+ </dict>
1412
+ <key>name</key>
1413
+ <string>string.quoted.double.latex</string>
1414
+ <key>patterns</key>
1415
+ <array>
1416
+ <dict>
1417
+ <key>include</key>
1418
+ <string>$base</string>
1419
+ </dict>
1420
+ </array>
1421
+ </dict>
1422
+ <dict>
1423
+ <key>begin</key>
1424
+ <string>"&gt;</string>
1425
+ <key>beginCaptures</key>
1426
+ <dict>
1427
+ <key>0</key>
1428
+ <dict>
1429
+ <key>name</key>
1430
+ <string>punctuation.definition.string.begin.latex</string>
1431
+ </dict>
1432
+ </dict>
1433
+ <key>end</key>
1434
+ <string>"&lt;</string>
1435
+ <key>endCaptures</key>
1436
+ <dict>
1437
+ <key>0</key>
1438
+ <dict>
1439
+ <key>name</key>
1440
+ <string>punctuation.definition.string.end.latex</string>
1441
+ </dict>
1442
+ </dict>
1443
+ <key>name</key>
1444
+ <string>string.quoted.double.guillemot.latex</string>
1445
+ <key>patterns</key>
1446
+ <array>
1447
+ <dict>
1448
+ <key>include</key>
1449
+ <string>$base</string>
1450
+ </dict>
1451
+ </array>
1452
+ </dict>
1453
+ <dict>
1454
+ <key>begin</key>
1455
+ <string>"&lt;</string>
1456
+ <key>beginCaptures</key>
1457
+ <dict>
1458
+ <key>0</key>
1459
+ <dict>
1460
+ <key>name</key>
1461
+ <string>punctuation.definition.string.begin.latex</string>
1462
+ </dict>
1463
+ </dict>
1464
+ <key>end</key>
1465
+ <string>"&gt;</string>
1466
+ <key>endCaptures</key>
1467
+ <dict>
1468
+ <key>0</key>
1469
+ <dict>
1470
+ <key>name</key>
1471
+ <string>punctuation.definition.string.end.latex</string>
1472
+ </dict>
1473
+ </dict>
1474
+ <key>name</key>
1475
+ <string>string.quoted.double.guillemot.latex</string>
1476
+ <key>patterns</key>
1477
+ <array>
1478
+ <dict>
1479
+ <key>include</key>
1480
+ <string>$base</string>
1481
+ </dict>
1482
+ </array>
1483
+ </dict>
1484
+ <dict>
1485
+ <key>begin</key>
1486
+ <string>\\\(</string>
1487
+ <key>beginCaptures</key>
1488
+ <dict>
1489
+ <key>0</key>
1490
+ <dict>
1491
+ <key>name</key>
1492
+ <string>punctuation.definition.string.begin.latex</string>
1493
+ </dict>
1494
+ </dict>
1495
+ <key>end</key>
1496
+ <string>\\\)</string>
1497
+ <key>endCaptures</key>
1498
+ <dict>
1499
+ <key>0</key>
1500
+ <dict>
1501
+ <key>name</key>
1502
+ <string>punctuation.definition.string.end.latex</string>
1503
+ </dict>
1504
+ </dict>
1505
+ <key>name</key>
1506
+ <string>string.other.math.latex</string>
1507
+ <key>patterns</key>
1508
+ <array>
1509
+ <dict>
1510
+ <key>include</key>
1511
+ <string>$base</string>
1512
+ </dict>
1513
+ </array>
1514
+ </dict>
1515
+ <dict>
1516
+ <key>begin</key>
1517
+ <string>\\\[</string>
1518
+ <key>beginCaptures</key>
1519
+ <dict>
1520
+ <key>0</key>
1521
+ <dict>
1522
+ <key>name</key>
1523
+ <string>punctuation.definition.string.begin.latex</string>
1524
+ </dict>
1525
+ </dict>
1526
+ <key>end</key>
1527
+ <string>\\\]</string>
1528
+ <key>endCaptures</key>
1529
+ <dict>
1530
+ <key>0</key>
1531
+ <dict>
1532
+ <key>name</key>
1533
+ <string>punctuation.definition.string.end.latex</string>
1534
+ </dict>
1535
+ </dict>
1536
+ <key>name</key>
1537
+ <string>string.other.math.latex</string>
1538
+ <key>patterns</key>
1539
+ <array>
1540
+ <dict>
1541
+ <key>include</key>
1542
+ <string>$base</string>
1543
+ </dict>
1544
+ </array>
1545
+ </dict>
1546
+ <dict>
1547
+ <key>match</key>
1548
+ <string>(?&lt;!\S)'.*?'</string>
1549
+ <key>name</key>
1550
+ <string>invalid.illegal.string.quoted.single.latex</string>
1551
+ </dict>
1552
+ <dict>
1553
+ <key>match</key>
1554
+ <string>(?&lt;!\S)".*?"</string>
1555
+ <key>name</key>
1556
+ <string>invalid.illegal.string.quoted.double.latex</string>
1557
+ </dict>
1558
+ <dict>
1559
+ <key>captures</key>
1560
+ <dict>
1561
+ <key>1</key>
1562
+ <dict>
1563
+ <key>name</key>
1564
+ <string>punctuation.definition.constant.latex</string>
1565
+ </dict>
1566
+ </dict>
1567
+ <key>match</key>
1568
+ <string>(\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd(feminine|masculine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t(housand|enthousand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight(dblbase|base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\b</string>
1569
+ <key>name</key>
1570
+ <string>constant.character.latex</string>
1571
+ </dict>
1572
+ <dict>
1573
+ <key>captures</key>
1574
+ <dict>
1575
+ <key>1</key>
1576
+ <dict>
1577
+ <key>name</key>
1578
+ <string>punctuation.definition.column-specials.begin.latex</string>
1579
+ </dict>
1580
+ <key>2</key>
1581
+ <dict>
1582
+ <key>name</key>
1583
+ <string>punctuation.definition.column-specials.end.latex</string>
1584
+ </dict>
1585
+ </dict>
1586
+ <key>match</key>
1587
+ <string>(?:&lt;|&gt;)(\{)\$(\})</string>
1588
+ <key>name</key>
1589
+ <string>meta.column-specials.latex</string>
1590
+ </dict>
1591
+ <dict>
1592
+ <key>include</key>
1593
+ <string>text.tex</string>
1594
+ </dict>
1595
+ </array>
1596
+ <key>scopeName</key>
1597
+ <string>text.tex.latex</string>
1598
+ <key>uuid</key>
1599
+ <string>3BEEA00C-6B1D-11D9-B8AD-000D93589AF6</string>
1600
+ </dict>
1601
+ </plist>