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,646 @@
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>hs</string>
8
+ </array>
9
+ <key>keyEquivalent</key>
10
+ <string>^~H</string>
11
+ <key>name</key>
12
+ <string>Haskell</string>
13
+ <key>patterns</key>
14
+ <array>
15
+ <dict>
16
+ <key>captures</key>
17
+ <dict>
18
+ <key>1</key>
19
+ <dict>
20
+ <key>name</key>
21
+ <string>punctuation.definition.entity.haskell</string>
22
+ </dict>
23
+ <key>2</key>
24
+ <dict>
25
+ <key>name</key>
26
+ <string>punctuation.definition.entity.haskell</string>
27
+ </dict>
28
+ </dict>
29
+ <key>comment</key>
30
+ <string>In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10]).</string>
31
+ <key>match</key>
32
+ <string>(`)[a-zA-Z_']*?(`)</string>
33
+ <key>name</key>
34
+ <string>keyword.operator.function.infix.haskell</string>
35
+ </dict>
36
+ <dict>
37
+ <key>match</key>
38
+ <string>\(\)</string>
39
+ <key>name</key>
40
+ <string>constant.language.unit.haskell</string>
41
+ </dict>
42
+ <dict>
43
+ <key>match</key>
44
+ <string>\[\]</string>
45
+ <key>name</key>
46
+ <string>constant.language.empty-list.haskell</string>
47
+ </dict>
48
+ <dict>
49
+ <key>begin</key>
50
+ <string>(module)</string>
51
+ <key>beginCaptures</key>
52
+ <dict>
53
+ <key>1</key>
54
+ <dict>
55
+ <key>name</key>
56
+ <string>keyword.other.haskell</string>
57
+ </dict>
58
+ </dict>
59
+ <key>end</key>
60
+ <string>(where)</string>
61
+ <key>endCaptures</key>
62
+ <dict>
63
+ <key>1</key>
64
+ <dict>
65
+ <key>name</key>
66
+ <string>keyword.other.haskell</string>
67
+ </dict>
68
+ </dict>
69
+ <key>name</key>
70
+ <string>meta.declaration.module.haskell</string>
71
+ <key>patterns</key>
72
+ <array>
73
+ <dict>
74
+ <key>include</key>
75
+ <string>#module_name</string>
76
+ </dict>
77
+ <dict>
78
+ <key>include</key>
79
+ <string>#module_exports</string>
80
+ </dict>
81
+ <dict>
82
+ <key>match</key>
83
+ <string>[a-z]+</string>
84
+ <key>name</key>
85
+ <string>invalid</string>
86
+ </dict>
87
+ </array>
88
+ </dict>
89
+ <dict>
90
+ <key>begin</key>
91
+ <string>\b(class)\b</string>
92
+ <key>beginCaptures</key>
93
+ <dict>
94
+ <key>1</key>
95
+ <dict>
96
+ <key>name</key>
97
+ <string>keyword.other.haskell</string>
98
+ </dict>
99
+ </dict>
100
+ <key>end</key>
101
+ <string>\b(where)\b</string>
102
+ <key>endCaptures</key>
103
+ <dict>
104
+ <key>1</key>
105
+ <dict>
106
+ <key>name</key>
107
+ <string>keyword.other.haskell</string>
108
+ </dict>
109
+ </dict>
110
+ <key>name</key>
111
+ <string>meta.declaration.class.haskell</string>
112
+ <key>patterns</key>
113
+ <array>
114
+ <dict>
115
+ <key>match</key>
116
+ <string>\b(Monad|Functor|Eq|Ord|Read|Show|Num|(Frac|Ra)tional|Enum|Bounded|Real(Frac|Float)?|Integral|Floating)\b</string>
117
+ <key>name</key>
118
+ <string>support.class.prelude.haskell</string>
119
+ </dict>
120
+ <dict>
121
+ <key>match</key>
122
+ <string>[A-Z][A-Za-z_']*</string>
123
+ <key>name</key>
124
+ <string>entity.other.inherited-class.haskell</string>
125
+ </dict>
126
+ <dict>
127
+ <key>match</key>
128
+ <string>\b[a-z][a-zA-Z0-9_']*\b</string>
129
+ <key>name</key>
130
+ <string>variable.other.generic-type.haskell</string>
131
+ </dict>
132
+ </array>
133
+ </dict>
134
+ <dict>
135
+ <key>begin</key>
136
+ <string>\b(instance)\b</string>
137
+ <key>beginCaptures</key>
138
+ <dict>
139
+ <key>1</key>
140
+ <dict>
141
+ <key>name</key>
142
+ <string>keyword.other.haskell</string>
143
+ </dict>
144
+ </dict>
145
+ <key>end</key>
146
+ <string>\b(where)\b|$</string>
147
+ <key>endCaptures</key>
148
+ <dict>
149
+ <key>1</key>
150
+ <dict>
151
+ <key>name</key>
152
+ <string>keyword.other.haskell</string>
153
+ </dict>
154
+ </dict>
155
+ <key>name</key>
156
+ <string>meta.declaration.instance.haskell</string>
157
+ <key>patterns</key>
158
+ <array>
159
+ <dict>
160
+ <key>include</key>
161
+ <string>#type_signature</string>
162
+ </dict>
163
+ </array>
164
+ </dict>
165
+ <dict>
166
+ <key>begin</key>
167
+ <string>(import)</string>
168
+ <key>beginCaptures</key>
169
+ <dict>
170
+ <key>1</key>
171
+ <dict>
172
+ <key>name</key>
173
+ <string>keyword.other.haskell</string>
174
+ </dict>
175
+ </dict>
176
+ <key>end</key>
177
+ <string>($|;)</string>
178
+ <key>name</key>
179
+ <string>meta.import.haskell</string>
180
+ <key>patterns</key>
181
+ <array>
182
+ <dict>
183
+ <key>match</key>
184
+ <string>(qualified|as|hiding)</string>
185
+ <key>name</key>
186
+ <string>keyword.other.haskell</string>
187
+ </dict>
188
+ <dict>
189
+ <key>include</key>
190
+ <string>#module_name</string>
191
+ </dict>
192
+ <dict>
193
+ <key>include</key>
194
+ <string>#module_exports</string>
195
+ </dict>
196
+ </array>
197
+ </dict>
198
+ <dict>
199
+ <key>begin</key>
200
+ <string>(deriving)\s*\(</string>
201
+ <key>beginCaptures</key>
202
+ <dict>
203
+ <key>1</key>
204
+ <dict>
205
+ <key>name</key>
206
+ <string>keyword.other.haskell</string>
207
+ </dict>
208
+ </dict>
209
+ <key>end</key>
210
+ <string>\)</string>
211
+ <key>name</key>
212
+ <string>meta.deriving.haskell</string>
213
+ <key>patterns</key>
214
+ <array>
215
+ <dict>
216
+ <key>match</key>
217
+ <string>\b[A-Z][a-zA-Z_']*</string>
218
+ <key>name</key>
219
+ <string>entity.other.inherited-class.haskell</string>
220
+ </dict>
221
+ </array>
222
+ </dict>
223
+ <dict>
224
+ <key>match</key>
225
+ <string>\b(deriving|where|data|type|case|of|let|in|newtype|default)\b</string>
226
+ <key>name</key>
227
+ <string>keyword.other.haskell</string>
228
+ </dict>
229
+ <dict>
230
+ <key>match</key>
231
+ <string>\binfix[lr]?\b</string>
232
+ <key>name</key>
233
+ <string>keyword.operator.haskell</string>
234
+ </dict>
235
+ <dict>
236
+ <key>match</key>
237
+ <string>\b(do|if|then|else)\b</string>
238
+ <key>name</key>
239
+ <string>keyword.control.haskell</string>
240
+ </dict>
241
+ <dict>
242
+ <key>comment</key>
243
+ <string>Floats are always decimal</string>
244
+ <key>match</key>
245
+ <string>\b([0-9]+\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\b</string>
246
+ <key>name</key>
247
+ <string>constant.numeric.float.haskell</string>
248
+ </dict>
249
+ <dict>
250
+ <key>match</key>
251
+ <string>\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\b</string>
252
+ <key>name</key>
253
+ <string>constant.numeric.haskell</string>
254
+ </dict>
255
+ <dict>
256
+ <key>captures</key>
257
+ <dict>
258
+ <key>1</key>
259
+ <dict>
260
+ <key>name</key>
261
+ <string>punctuation.definition.preprocessor.c</string>
262
+ </dict>
263
+ </dict>
264
+ <key>comment</key>
265
+ <string>In addition to Haskell's "native" syntax, GHC permits the C preprocessor to be run on a source file.</string>
266
+ <key>match</key>
267
+ <string>^\s*(#)\s*\w+</string>
268
+ <key>name</key>
269
+ <string>meta.preprocessor.c</string>
270
+ </dict>
271
+ <dict>
272
+ <key>include</key>
273
+ <string>#pragma</string>
274
+ </dict>
275
+ <dict>
276
+ <key>begin</key>
277
+ <string>"</string>
278
+ <key>beginCaptures</key>
279
+ <dict>
280
+ <key>0</key>
281
+ <dict>
282
+ <key>name</key>
283
+ <string>punctuation.definition.string.begin.haskell</string>
284
+ </dict>
285
+ </dict>
286
+ <key>end</key>
287
+ <string>"</string>
288
+ <key>endCaptures</key>
289
+ <dict>
290
+ <key>0</key>
291
+ <dict>
292
+ <key>name</key>
293
+ <string>punctuation.definition.string.end.haskell</string>
294
+ </dict>
295
+ </dict>
296
+ <key>name</key>
297
+ <string>string.quoted.double.haskell</string>
298
+ <key>patterns</key>
299
+ <array>
300
+ <dict>
301
+ <key>match</key>
302
+ <string>\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\"'\&amp;])</string>
303
+ <key>name</key>
304
+ <string>constant.character.escape.haskell</string>
305
+ </dict>
306
+ <dict>
307
+ <key>match</key>
308
+ <string>\\o[0-7]+|\\x[0-9A-Fa-f]+|\\[0-9]+</string>
309
+ <key>name</key>
310
+ <string>constant.character.escape.octal.haskell</string>
311
+ </dict>
312
+ <dict>
313
+ <key>match</key>
314
+ <string>\^[A-Z@\[\]\\\^_]</string>
315
+ <key>name</key>
316
+ <string>constant.character.escape.control.haskell</string>
317
+ </dict>
318
+ </array>
319
+ </dict>
320
+ <dict>
321
+ <key>captures</key>
322
+ <dict>
323
+ <key>1</key>
324
+ <dict>
325
+ <key>name</key>
326
+ <string>punctuation.definition.string.begin.haskell</string>
327
+ </dict>
328
+ <key>2</key>
329
+ <dict>
330
+ <key>name</key>
331
+ <string>constant.character.escape.haskell</string>
332
+ </dict>
333
+ <key>3</key>
334
+ <dict>
335
+ <key>name</key>
336
+ <string>constant.character.escape.octal.haskell</string>
337
+ </dict>
338
+ <key>4</key>
339
+ <dict>
340
+ <key>name</key>
341
+ <string>constant.character.escape.hexadecimal.haskell</string>
342
+ </dict>
343
+ <key>5</key>
344
+ <dict>
345
+ <key>name</key>
346
+ <string>constant.character.escape.control.haskell</string>
347
+ </dict>
348
+ <key>6</key>
349
+ <dict>
350
+ <key>name</key>
351
+ <string>punctuation.definition.string.end.haskell</string>
352
+ </dict>
353
+ </dict>
354
+ <key>match</key>
355
+ <string>(?x)
356
+ (')
357
+ (?:
358
+ [\ -\[\]-~] # Basic Char
359
+ | (\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE
360
+ |DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS
361
+ |US|SP|DEL|[abfnrtv\\\"'\&amp;])) # Escapes
362
+ | (\\o[0-7]+) # Octal Escapes
363
+ | (\\x[0-9A-Fa-f]+) # Hexadecimal Escapes
364
+ | (\^[A-Z@\[\]\\\^_]) # Control Chars
365
+ )
366
+ (')
367
+ </string>
368
+ <key>name</key>
369
+ <string>string.quoted.single.haskell</string>
370
+ </dict>
371
+ <dict>
372
+ <key>begin</key>
373
+ <string>^\s*([a-z_][a-zA-Z0-9_']*|\([|!%$+\-.,=&lt;/&gt;]+\))\s*(::)</string>
374
+ <key>beginCaptures</key>
375
+ <dict>
376
+ <key>1</key>
377
+ <dict>
378
+ <key>name</key>
379
+ <string>entity.name.function.haskell</string>
380
+ </dict>
381
+ <key>2</key>
382
+ <dict>
383
+ <key>name</key>
384
+ <string>keyword.other.double-colon.haskell</string>
385
+ </dict>
386
+ </dict>
387
+ <key>end</key>
388
+ <string>$\n?</string>
389
+ <key>name</key>
390
+ <string>meta.function.type-declaration.haskell</string>
391
+ <key>patterns</key>
392
+ <array>
393
+ <dict>
394
+ <key>include</key>
395
+ <string>#type_signature</string>
396
+ </dict>
397
+ </array>
398
+ </dict>
399
+ <dict>
400
+ <key>match</key>
401
+ <string>\b(Just|Nothing|Left|Right|True|False|LT|EQ|GT|\(\)|\[\])\b</string>
402
+ <key>name</key>
403
+ <string>support.constant.haskell</string>
404
+ </dict>
405
+ <dict>
406
+ <key>match</key>
407
+ <string>\b[A-Z]\w*\b</string>
408
+ <key>name</key>
409
+ <string>constant.other.haskell</string>
410
+ </dict>
411
+ <dict>
412
+ <key>include</key>
413
+ <string>#comments</string>
414
+ </dict>
415
+ <dict>
416
+ <key>match</key>
417
+ <string>\b(abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b</string>
418
+ <key>name</key>
419
+ <string>support.function.prelude.haskell</string>
420
+ </dict>
421
+ <dict>
422
+ <key>include</key>
423
+ <string>#infix_op</string>
424
+ </dict>
425
+ <dict>
426
+ <key>comment</key>
427
+ <string>In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&amp;*.</string>
428
+ <key>match</key>
429
+ <string>[|!%$?~+:\-.=&lt;/&gt;\\]+</string>
430
+ <key>name</key>
431
+ <string>keyword.operator.haskell</string>
432
+ </dict>
433
+ <dict>
434
+ <key>match</key>
435
+ <string>,</string>
436
+ <key>name</key>
437
+ <string>punctuation.separator.comma.haskell</string>
438
+ </dict>
439
+ </array>
440
+ <key>repository</key>
441
+ <dict>
442
+ <key>block_comment</key>
443
+ <dict>
444
+ <key>applyEndPatternLast</key>
445
+ <integer>1</integer>
446
+ <key>begin</key>
447
+ <string>\{-(?!#)</string>
448
+ <key>captures</key>
449
+ <dict>
450
+ <key>0</key>
451
+ <dict>
452
+ <key>name</key>
453
+ <string>punctuation.definition.comment.haskell</string>
454
+ </dict>
455
+ </dict>
456
+ <key>end</key>
457
+ <string>-\}</string>
458
+ <key>name</key>
459
+ <string>comment.block.haskell</string>
460
+ <key>patterns</key>
461
+ <array>
462
+ <dict>
463
+ <key>include</key>
464
+ <string>#block_comment</string>
465
+ </dict>
466
+ </array>
467
+ </dict>
468
+ <key>comments</key>
469
+ <dict>
470
+ <key>patterns</key>
471
+ <array>
472
+ <dict>
473
+ <key>captures</key>
474
+ <dict>
475
+ <key>1</key>
476
+ <dict>
477
+ <key>name</key>
478
+ <string>punctuation.definition.comment.haskell</string>
479
+ </dict>
480
+ </dict>
481
+ <key>match</key>
482
+ <string>(--).*$\n?</string>
483
+ <key>name</key>
484
+ <string>comment.line.double-dash.haskell</string>
485
+ </dict>
486
+ <dict>
487
+ <key>include</key>
488
+ <string>#block_comment</string>
489
+ </dict>
490
+ </array>
491
+ </dict>
492
+ <key>infix_op</key>
493
+ <dict>
494
+ <key>match</key>
495
+ <string>(\([|!%$+:\-.=&lt;/&gt;]+\)|\(,+\))</string>
496
+ <key>name</key>
497
+ <string>entity.name.function.infix.haskell</string>
498
+ </dict>
499
+ <key>module_exports</key>
500
+ <dict>
501
+ <key>begin</key>
502
+ <string>\(</string>
503
+ <key>end</key>
504
+ <string>\)</string>
505
+ <key>name</key>
506
+ <string>meta.declaration.exports.haskell</string>
507
+ <key>patterns</key>
508
+ <array>
509
+ <dict>
510
+ <key>match</key>
511
+ <string>\b[a-z][a-zA-Z_']*</string>
512
+ <key>name</key>
513
+ <string>entity.name.function.haskell</string>
514
+ </dict>
515
+ <dict>
516
+ <key>match</key>
517
+ <string>\b[A-Z][A-Za-z_']*</string>
518
+ <key>name</key>
519
+ <string>storage.type.haskell</string>
520
+ </dict>
521
+ <dict>
522
+ <key>match</key>
523
+ <string>,</string>
524
+ <key>name</key>
525
+ <string>punctuation.separator.comma.haskell</string>
526
+ </dict>
527
+ <dict>
528
+ <key>include</key>
529
+ <string>#infix_op</string>
530
+ </dict>
531
+ <dict>
532
+ <key>comment</key>
533
+ <string>So named because I don't know what to call this.</string>
534
+ <key>match</key>
535
+ <string>\(.*?\)</string>
536
+ <key>name</key>
537
+ <string>meta.other.unknown.haskell</string>
538
+ </dict>
539
+ </array>
540
+ </dict>
541
+ <key>module_name</key>
542
+ <dict>
543
+ <key>match</key>
544
+ <string>[A-Z][A-Za-z._']*</string>
545
+ <key>name</key>
546
+ <string>support.other.module.haskell</string>
547
+ </dict>
548
+ <key>pragma</key>
549
+ <dict>
550
+ <key>begin</key>
551
+ <string>\{-#</string>
552
+ <key>end</key>
553
+ <string>#-\}</string>
554
+ <key>name</key>
555
+ <string>meta.preprocessor.haskell</string>
556
+ <key>patterns</key>
557
+ <array>
558
+ <dict>
559
+ <key>match</key>
560
+ <string>\b(LANGUAGE|UNPACK|INLINE)\b</string>
561
+ <key>name</key>
562
+ <string>keyword.other.preprocessor.haskell</string>
563
+ </dict>
564
+ </array>
565
+ </dict>
566
+ <key>type_signature</key>
567
+ <dict>
568
+ <key>patterns</key>
569
+ <array>
570
+ <dict>
571
+ <key>captures</key>
572
+ <dict>
573
+ <key>1</key>
574
+ <dict>
575
+ <key>name</key>
576
+ <string>entity.other.inherited-class.haskell</string>
577
+ </dict>
578
+ <key>2</key>
579
+ <dict>
580
+ <key>name</key>
581
+ <string>variable.other.generic-type.haskell</string>
582
+ </dict>
583
+ <key>3</key>
584
+ <dict>
585
+ <key>name</key>
586
+ <string>keyword.other.big-arrow.haskell</string>
587
+ </dict>
588
+ </dict>
589
+ <key>match</key>
590
+ <string>\(\s*([A-Z][A-Za-z]*)\s+([a-z][A-Za-z_']*)\)\s*(=&gt;)</string>
591
+ <key>name</key>
592
+ <string>meta.class-constraint.haskell</string>
593
+ </dict>
594
+ <dict>
595
+ <key>include</key>
596
+ <string>#pragma</string>
597
+ </dict>
598
+ <dict>
599
+ <key>match</key>
600
+ <string>-&gt;</string>
601
+ <key>name</key>
602
+ <string>keyword.other.arrow.haskell</string>
603
+ </dict>
604
+ <dict>
605
+ <key>match</key>
606
+ <string>=&gt;</string>
607
+ <key>name</key>
608
+ <string>keyword.other.big-arrow.haskell</string>
609
+ </dict>
610
+ <dict>
611
+ <key>match</key>
612
+ <string>\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\b</string>
613
+ <key>name</key>
614
+ <string>support.type.prelude.haskell</string>
615
+ </dict>
616
+ <dict>
617
+ <key>match</key>
618
+ <string>\b[a-z][a-zA-Z0-9_']*\b</string>
619
+ <key>name</key>
620
+ <string>variable.other.generic-type.haskell</string>
621
+ </dict>
622
+ <dict>
623
+ <key>match</key>
624
+ <string>\b[A-Z][a-zA-Z0-9_']*\b</string>
625
+ <key>name</key>
626
+ <string>storage.type.haskell</string>
627
+ </dict>
628
+ <dict>
629
+ <key>match</key>
630
+ <string>\(\)</string>
631
+ <key>name</key>
632
+ <string>support.constant.unit.haskell</string>
633
+ </dict>
634
+ <dict>
635
+ <key>include</key>
636
+ <string>#comments</string>
637
+ </dict>
638
+ </array>
639
+ </dict>
640
+ </dict>
641
+ <key>scopeName</key>
642
+ <string>source.haskell</string>
643
+ <key>uuid</key>
644
+ <string>5C034675-1F6D-497E-8073-369D37E2FD7D</string>
645
+ </dict>
646
+ </plist>