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,490 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//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>textile</string>
8
+ </array>
9
+ <key>firstLineMatch</key>
10
+ <string>textile</string>
11
+ <key>keyEquivalent</key>
12
+ <string>^~T</string>
13
+ <key>name</key>
14
+ <string>Textile</string>
15
+ <key>patterns</key>
16
+ <array>
17
+ <dict>
18
+ <key>begin</key>
19
+ <string>(^h[1-6]([&lt;&gt;=()]+)?)(\([^)]*\)|{[^}]*})*(\.)</string>
20
+ <key>captures</key>
21
+ <dict>
22
+ <key>1</key>
23
+ <dict>
24
+ <key>name</key>
25
+ <string>entity.name.tag.heading.textile</string>
26
+ </dict>
27
+ <key>3</key>
28
+ <dict>
29
+ <key>name</key>
30
+ <string>entity.name.type.textile</string>
31
+ </dict>
32
+ <key>4</key>
33
+ <dict>
34
+ <key>name</key>
35
+ <string>entity.name.tag.heading.textile</string>
36
+ </dict>
37
+ </dict>
38
+ <key>end</key>
39
+ <string>^$</string>
40
+ <key>name</key>
41
+ <string>markup.heading.textile</string>
42
+ <key>patterns</key>
43
+ <array>
44
+ <dict>
45
+ <key>include</key>
46
+ <string>#inline</string>
47
+ </dict>
48
+ <dict>
49
+ <key>include</key>
50
+ <string>text.html.basic</string>
51
+ </dict>
52
+ </array>
53
+ </dict>
54
+ <dict>
55
+ <key>begin</key>
56
+ <string>(^bq([&lt;&gt;=()]+)?)(\([^)]*\)|{[^}]*})*(\.)</string>
57
+ <key>captures</key>
58
+ <dict>
59
+ <key>1</key>
60
+ <dict>
61
+ <key>name</key>
62
+ <string>entity.name.tag.blockquote.textile</string>
63
+ </dict>
64
+ <key>3</key>
65
+ <dict>
66
+ <key>name</key>
67
+ <string>entity.name.type.textile</string>
68
+ </dict>
69
+ <key>4</key>
70
+ <dict>
71
+ <key>name</key>
72
+ <string>entity.name.tag.blockquote.textile</string>
73
+ </dict>
74
+ </dict>
75
+ <key>end</key>
76
+ <string>^$</string>
77
+ <key>name</key>
78
+ <string>markup.quote.textile</string>
79
+ <key>patterns</key>
80
+ <array>
81
+ <dict>
82
+ <key>include</key>
83
+ <string>#inline</string>
84
+ </dict>
85
+ <dict>
86
+ <key>include</key>
87
+ <string>text.html.basic</string>
88
+ </dict>
89
+ </array>
90
+ </dict>
91
+ <dict>
92
+ <key>begin</key>
93
+ <string>(^fn[0-9]+([&lt;&gt;=()]+)?)(\([^)]*\)|{[^}]*})*(\.)</string>
94
+ <key>captures</key>
95
+ <dict>
96
+ <key>1</key>
97
+ <dict>
98
+ <key>name</key>
99
+ <string>entity.name.tag.footnote.textile</string>
100
+ </dict>
101
+ <key>3</key>
102
+ <dict>
103
+ <key>name</key>
104
+ <string>entity.name.type.textile</string>
105
+ </dict>
106
+ <key>4</key>
107
+ <dict>
108
+ <key>name</key>
109
+ <string>entity.name.tag.footnote.textile</string>
110
+ </dict>
111
+ </dict>
112
+ <key>end</key>
113
+ <string>^$</string>
114
+ <key>name</key>
115
+ <string>markup.other.footnote.textile</string>
116
+ <key>patterns</key>
117
+ <array>
118
+ <dict>
119
+ <key>include</key>
120
+ <string>#inline</string>
121
+ </dict>
122
+ <dict>
123
+ <key>include</key>
124
+ <string>text.html.basic</string>
125
+ </dict>
126
+ </array>
127
+ </dict>
128
+ <dict>
129
+ <key>begin</key>
130
+ <string>(^table([&lt;&gt;=()]+)?)(\([^)]*\)|{[^}]*})*(\.)</string>
131
+ <key>captures</key>
132
+ <dict>
133
+ <key>1</key>
134
+ <dict>
135
+ <key>name</key>
136
+ <string>entity.name.tag.footnote.textile</string>
137
+ </dict>
138
+ <key>3</key>
139
+ <dict>
140
+ <key>name</key>
141
+ <string>entity.name.type.textile</string>
142
+ </dict>
143
+ <key>4</key>
144
+ <dict>
145
+ <key>name</key>
146
+ <string>entity.name.tag.footnote.textile</string>
147
+ </dict>
148
+ </dict>
149
+ <key>end</key>
150
+ <string>^$</string>
151
+ <key>name</key>
152
+ <string>markup.other.table.textile</string>
153
+ <key>patterns</key>
154
+ <array>
155
+ <dict>
156
+ <key>include</key>
157
+ <string>#inline</string>
158
+ </dict>
159
+ <dict>
160
+ <key>include</key>
161
+ <string>text.html.basic</string>
162
+ </dict>
163
+ </array>
164
+ </dict>
165
+ <dict>
166
+ <key>begin</key>
167
+ <string>^(?=\S)</string>
168
+ <key>end</key>
169
+ <string>^$</string>
170
+ <key>name</key>
171
+ <string>meta.paragraph.textile</string>
172
+ <key>patterns</key>
173
+ <array>
174
+ <dict>
175
+ <key>captures</key>
176
+ <dict>
177
+ <key>1</key>
178
+ <dict>
179
+ <key>name</key>
180
+ <string>entity.name.tag.paragraph.textile</string>
181
+ </dict>
182
+ <key>3</key>
183
+ <dict>
184
+ <key>name</key>
185
+ <string>entity.name.type.textile</string>
186
+ </dict>
187
+ <key>4</key>
188
+ <dict>
189
+ <key>name</key>
190
+ <string>entity.name.tag.paragraph.textile</string>
191
+ </dict>
192
+ </dict>
193
+ <key>match</key>
194
+ <string>(^p([&lt;&gt;=()]+)?)(\([^)]*\)|{[^}]*})*(\.)</string>
195
+ <key>name</key>
196
+ <string>entity.name.section.paragraph.textile</string>
197
+ </dict>
198
+ <dict>
199
+ <key>include</key>
200
+ <string>#inline</string>
201
+ </dict>
202
+ <dict>
203
+ <key>include</key>
204
+ <string>text.html.basic</string>
205
+ </dict>
206
+ </array>
207
+ </dict>
208
+ <dict>
209
+ <key>comment</key>
210
+ <string>Since html is valid in Textile include the html patterns</string>
211
+ <key>include</key>
212
+ <string>text.html.basic</string>
213
+ </dict>
214
+ </array>
215
+ <key>repository</key>
216
+ <dict>
217
+ <key>inline</key>
218
+ <dict>
219
+ <key>patterns</key>
220
+ <array>
221
+ <dict>
222
+ <key>comment</key>
223
+ <string>&amp; is handled automagically by textile, so we match it to avoid text.html.basic from flagging it</string>
224
+ <key>match</key>
225
+ <string>&amp;(?![A-Za-z0-9]+;)</string>
226
+ <key>name</key>
227
+ <string>text.html.textile</string>
228
+ </dict>
229
+ <dict>
230
+ <key>captures</key>
231
+ <dict>
232
+ <key>1</key>
233
+ <dict>
234
+ <key>name</key>
235
+ <string>entity.name.type.textile</string>
236
+ </dict>
237
+ </dict>
238
+ <key>match</key>
239
+ <string>^\*+(\([^)]*\)|{[^}]*})*(\s+|$)</string>
240
+ <key>name</key>
241
+ <string>markup.list.unnumbered.textile</string>
242
+ </dict>
243
+ <dict>
244
+ <key>captures</key>
245
+ <dict>
246
+ <key>1</key>
247
+ <dict>
248
+ <key>name</key>
249
+ <string>entity.name.type.textile</string>
250
+ </dict>
251
+ </dict>
252
+ <key>match</key>
253
+ <string>^#+(\([^)]*\)|{[^}]*})*\s+</string>
254
+ <key>name</key>
255
+ <string>markup.list.numbered.textile</string>
256
+ </dict>
257
+ <dict>
258
+ <key>captures</key>
259
+ <dict>
260
+ <key>1</key>
261
+ <dict>
262
+ <key>name</key>
263
+ <string>string.other.link.title.textile</string>
264
+ </dict>
265
+ <key>2</key>
266
+ <dict>
267
+ <key>name</key>
268
+ <string>string.other.link.description.title.textile</string>
269
+ </dict>
270
+ <key>3</key>
271
+ <dict>
272
+ <key>name</key>
273
+ <string>constant.other.reference.link.textile</string>
274
+ </dict>
275
+ </dict>
276
+ <key>match</key>
277
+ <string>(?x)
278
+ " # Start name, etc
279
+ (?: # Attributes
280
+ # I swear, this is how the language is defined,
281
+ # couldnt make it up if I tried.
282
+ (?:\([^)]+\))?(?:\{[^}]+\})?(?:\[[^\]]+\])?
283
+ # Class, Style, Lang
284
+ | (?:\{[^}]+\})?(?:\[[^\]]+\])?(?:\([^)]+\))?
285
+ # Style, Lang, Class
286
+ | (?:\[[^\]]+\])?(?:\{[^}]+\})?(?:\([^)]+\))?
287
+ # Lang, Style, Class
288
+ )?
289
+ ([^"]+?) # Link name
290
+ \s? # Optional whitespace
291
+ (?:\(([^)]+?)\))?
292
+ ": # End name
293
+ (\w[-\w_]*) # Linkref
294
+ (?=[^\w\/;]*?(&lt;|\s|$)) # Catch closing punctuation
295
+ # and end of meta.link
296
+ </string>
297
+ <key>name</key>
298
+ <string>meta.link.reference.textile</string>
299
+ </dict>
300
+ <dict>
301
+ <key>captures</key>
302
+ <dict>
303
+ <key>1</key>
304
+ <dict>
305
+ <key>name</key>
306
+ <string>string.other.link.title.textile</string>
307
+ </dict>
308
+ <key>2</key>
309
+ <dict>
310
+ <key>name</key>
311
+ <string>string.other.link.description.title.textile</string>
312
+ </dict>
313
+ <key>3</key>
314
+ <dict>
315
+ <key>name</key>
316
+ <string>markup.underline.link.textile</string>
317
+ </dict>
318
+ </dict>
319
+ <key>match</key>
320
+ <string>(?x)
321
+ " # Start name, etc
322
+ (?: # Attributes
323
+ # I swear, this is how the language is defined,
324
+ # couldnt make it up if I tried.
325
+ (?:\([^)]+\))?(?:\{[^}]+\})?(?:\[[^\]]+\])?
326
+ # Class, Style, Lang
327
+ | (?:\{[^}]+\})?(?:\[[^\]]+\])?(?:\([^)]+\))?
328
+ # Style, Lang, Class
329
+ | (?:\[[^\]]+\])?(?:\{[^}]+\})?(?:\([^)]+\))?
330
+ # Lang, Style, Class
331
+ )?
332
+ ([^"]+?) # Link name
333
+ \s? # Optional whitespace
334
+ (?:\(([^)]+?)\))?
335
+ ": # End Name
336
+ (\S*?(?:\w|\/|;)) # URL
337
+ (?=[^\w\/;]*?(&lt;|\s|$)) # Catch closing punctuation
338
+ # and end of meta.link
339
+ </string>
340
+ <key>name</key>
341
+ <string>meta.link.inline.textile</string>
342
+ </dict>
343
+ <dict>
344
+ <key>captures</key>
345
+ <dict>
346
+ <key>2</key>
347
+ <dict>
348
+ <key>name</key>
349
+ <string>markup.underline.link.image.textile</string>
350
+ </dict>
351
+ <key>3</key>
352
+ <dict>
353
+ <key>name</key>
354
+ <string>string.other.link.description.textile</string>
355
+ </dict>
356
+ <key>4</key>
357
+ <dict>
358
+ <key>name</key>
359
+ <string>markup.underline.link.textile</string>
360
+ </dict>
361
+ </dict>
362
+ <key>match</key>
363
+ <string>(?x)
364
+ \! # Open image
365
+ (\&lt;|\=|\&gt;)? # Optional alignment
366
+ (?: # Attributes
367
+ # I swear, this is how the language is defined,
368
+ # couldnt make it up if I tried.
369
+ (?:\([^)]+\))?(?:\{[^}]+\})?(?:\[[^\]]+\])?
370
+ # Class, Style, Lang
371
+ | (?:\{[^}]+\})?(?:\[[^\]]+\])?(?:\([^)]+\))?
372
+ # Style, Lang, Class
373
+ | (?:\[[^\]]+\])?(?:\{[^}]+\})?(?:\([^)]+\))?
374
+ # Lang, Style, Class
375
+ )?
376
+ (?:\.[ ])? # Optional
377
+ ([^\s(!]+?) # Image URL
378
+ \s? # Optional space
379
+ (?:\(((?:[^\(\)]|\([^\)]+\))+?)\))? # Optional title
380
+ \! # Close image
381
+ (?:
382
+ :
383
+ (\S*?(?:\w|\/|;)) # URL
384
+ (?=[^\w\/;]*?(&lt;|\s|$)) # Catch closing punctuation
385
+ )?
386
+ </string>
387
+ <key>name</key>
388
+ <string>meta.image.inline.textile</string>
389
+ </dict>
390
+ <dict>
391
+ <key>captures</key>
392
+ <dict>
393
+ <key>1</key>
394
+ <dict>
395
+ <key>name</key>
396
+ <string>entity.name.type.textile</string>
397
+ </dict>
398
+ </dict>
399
+ <key>match</key>
400
+ <string>\|(\([^)]*\)|{[^}]*})*(\\\||.)+\|</string>
401
+ <key>name</key>
402
+ <string>markup.other.table.cell.textile</string>
403
+ </dict>
404
+ <dict>
405
+ <key>captures</key>
406
+ <dict>
407
+ <key>3</key>
408
+ <dict>
409
+ <key>name</key>
410
+ <string>entity.name.type.textile</string>
411
+ </dict>
412
+ </dict>
413
+ <key>match</key>
414
+ <string>\B(\*\*?)((\([^)]*\)|{[^}]*}|\[[^]]+\]){0,3})(\S.*?\S|\S)\1\B</string>
415
+ <key>name</key>
416
+ <string>markup.bold.textile</string>
417
+ </dict>
418
+ <dict>
419
+ <key>captures</key>
420
+ <dict>
421
+ <key>2</key>
422
+ <dict>
423
+ <key>name</key>
424
+ <string>entity.name.type.textile</string>
425
+ </dict>
426
+ </dict>
427
+ <key>match</key>
428
+ <string>\B-((\([^)]*\)|{[^}]*}|\[[^]]+\]){0,3})(\S.*?\S|\S)-\B</string>
429
+ <key>name</key>
430
+ <string>markup.deleted.textile</string>
431
+ </dict>
432
+ <dict>
433
+ <key>captures</key>
434
+ <dict>
435
+ <key>2</key>
436
+ <dict>
437
+ <key>name</key>
438
+ <string>entity.name.type.textile</string>
439
+ </dict>
440
+ </dict>
441
+ <key>match</key>
442
+ <string>\B\+((\([^)]*\)|{[^}]*}|\[[^]]+\]){0,3})(\S.*?\S|\S)\+\B</string>
443
+ <key>name</key>
444
+ <string>markup.inserted.textile</string>
445
+ </dict>
446
+ <dict>
447
+ <key>captures</key>
448
+ <dict>
449
+ <key>2</key>
450
+ <dict>
451
+ <key>name</key>
452
+ <string>entity.name.type.textile</string>
453
+ </dict>
454
+ </dict>
455
+ <key>match</key>
456
+ <string>(?:\b|\s)_((\([^)]*\)|{[^}]*}|\[[^]]+\]){0,3})(\S.*?\S|\S)_(?:\b|\s)</string>
457
+ <key>name</key>
458
+ <string>markup.italic.textile</string>
459
+ </dict>
460
+ <dict>
461
+ <key>captures</key>
462
+ <dict>
463
+ <key>3</key>
464
+ <dict>
465
+ <key>name</key>
466
+ <string>entity.name.type.textile</string>
467
+ </dict>
468
+ </dict>
469
+ <key>match</key>
470
+ <string>\B([@\^~%]|\?\?)((\([^)]*\)|{[^}]*}|\[[^]]+\]){0,3})(\S.*?\S|\S)\1</string>
471
+ <key>name</key>
472
+ <string>markup.italic.phrasemodifiers.textile</string>
473
+ </dict>
474
+ <dict>
475
+ <key>comment</key>
476
+ <string>Footnotes</string>
477
+ <key>match</key>
478
+ <string>(?&lt;!w)\[[0-9+]\]</string>
479
+ <key>name</key>
480
+ <string>entity.name.tag.textile</string>
481
+ </dict>
482
+ </array>
483
+ </dict>
484
+ </dict>
485
+ <key>scopeName</key>
486
+ <string>text.html.textile</string>
487
+ <key>uuid</key>
488
+ <string>68F0B1A5-3274-4E85-8B3A-A481C5F5B194</string>
489
+ </dict>
490
+ </plist>