ver 2009.10.14

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 (188) hide show
  1. data/CHANGELOG +1404 -0
  2. data/MANIFEST +187 -0
  3. data/Rakefile +30 -0
  4. data/TODO +169 -0
  5. data/bin/ver +19 -0
  6. data/config/detect.rb +109 -0
  7. data/config/keymap/vim.rb +239 -0
  8. data/config/rc.rb +0 -0
  9. data/config/scratch +3 -0
  10. data/config/syntax/ANTLR.json +275 -0
  11. data/config/syntax/ASP VB.net.json +228 -0
  12. data/config/syntax/ASP.json +135 -0
  13. data/config/syntax/ActionScript.json +168 -0
  14. data/config/syntax/Ada.json +108 -0
  15. data/config/syntax/Apache.json +342 -0
  16. data/config/syntax/AppleScript.json +721 -0
  17. data/config/syntax/Bibtex.json +253 -0
  18. data/config/syntax/Blog (HTML).json +47 -0
  19. data/config/syntax/Blog (Markdown).json +50 -0
  20. data/config/syntax/Blog (Text).json +45 -0
  21. data/config/syntax/Blog (Textile).json +45 -0
  22. data/config/syntax/Bulletin Board.json +428 -0
  23. data/config/syntax/C++.json +323 -0
  24. data/config/syntax/C.json +694 -0
  25. data/config/syntax/CSS.json +346 -0
  26. data/config/syntax/DOT.json +79 -0
  27. data/config/syntax/Diff.json +136 -0
  28. data/config/syntax/Dylan.json +104 -0
  29. data/config/syntax/Eiffel.json +128 -0
  30. data/config/syntax/Erlang.json +1636 -0
  31. data/config/syntax/F-Script.json +137 -0
  32. data/config/syntax/FXScript.json +260 -0
  33. data/config/syntax/Gri.json +141 -0
  34. data/config/syntax/HTML (Mason).json +207 -0
  35. data/config/syntax/HTML (Rails).json +52 -0
  36. data/config/syntax/HTML (Tcl).json +42 -0
  37. data/config/syntax/HTML for ASP.net.json +736 -0
  38. data/config/syntax/HTML-ASP.json +45 -0
  39. data/config/syntax/HTML.json +614 -0
  40. data/config/syntax/Haskell.json +407 -0
  41. data/config/syntax/Inform.json +80 -0
  42. data/config/syntax/Ini.json +91 -0
  43. data/config/syntax/Io.json +142 -0
  44. data/config/syntax/Java.json +745 -0
  45. data/config/syntax/JavaProperties.json +42 -0
  46. data/config/syntax/JavaScript.json +446 -0
  47. data/config/syntax/LaTeX Beamer.json +65 -0
  48. data/config/syntax/LaTeX Log.json +88 -0
  49. data/config/syntax/LaTeX.json +962 -0
  50. data/config/syntax/Lighttpd.json +93 -0
  51. data/config/syntax/Lisp.json +101 -0
  52. data/config/syntax/Literate Haskell.json +55 -0
  53. data/config/syntax/Logtalk.json +289 -0
  54. data/config/syntax/Lua.json +146 -0
  55. data/config/syntax/M.json +744 -0
  56. data/config/syntax/MEL.json +161 -0
  57. data/config/syntax/MIPS.json +114 -0
  58. data/config/syntax/Mail.json +224 -0
  59. data/config/syntax/Makefile.json +66 -0
  60. data/config/syntax/Markdown.json +644 -0
  61. data/config/syntax/Modula-3.json +80 -0
  62. data/config/syntax/Movable Type.json +348 -0
  63. data/config/syntax/OCaml.json +1391 -0
  64. data/config/syntax/Objective-C++.json +21 -0
  65. data/config/syntax/OpenGL.json +24 -0
  66. data/config/syntax/PHP.json +2184 -0
  67. data/config/syntax/Pascal.json +128 -0
  68. data/config/syntax/Perl.json +2091 -0
  69. data/config/syntax/Plain text.json +49 -0
  70. data/config/syntax/Processing.json +188 -0
  71. data/config/syntax/Quake3 Config.json +54 -0
  72. data/config/syntax/R.json +157 -0
  73. data/config/syntax/Rez.json +137 -0
  74. data/config/syntax/Ruby on Rails.json +170 -0
  75. data/config/syntax/Ruby.json +1753 -0
  76. data/config/syntax/SQL (Rails).json +31 -0
  77. data/config/syntax/SQL.json +435 -0
  78. data/config/syntax/SWIG.json +96 -0
  79. data/config/syntax/Scheme.json +359 -0
  80. data/config/syntax/Shell-Unix-Generic.json +1198 -0
  81. data/config/syntax/Slate.json +265 -0
  82. data/config/syntax/Smarty.json +110 -0
  83. data/config/syntax/Standard ML.json +322 -0
  84. data/config/syntax/Subversion commit message.json +62 -0
  85. data/config/syntax/Tcl.json +278 -0
  86. data/config/syntax/TeX Math.json +83 -0
  87. data/config/syntax/TeX.json +157 -0
  88. data/config/syntax/Textile.json +273 -0
  89. data/config/syntax/Twiki.json +436 -0
  90. data/config/syntax/Vectorscript.json +97 -0
  91. data/config/syntax/XML strict.json +148 -0
  92. data/config/syntax/XML.json +301 -0
  93. data/config/syntax/XSL.json +96 -0
  94. data/config/syntax/YAML.json +293 -0
  95. data/config/syntax/iCalendar.json +51 -0
  96. data/config/syntax/reStructuredText.json +403 -0
  97. data/config/theme/Active4D.json +260 -0
  98. data/config/theme/All Hallow's Eve.json +171 -0
  99. data/config/theme/Amy.json +359 -0
  100. data/config/theme/BBEdit.json +269 -0
  101. data/config/theme/Bespin.json +322 -0
  102. data/config/theme/Blackboard.json +215 -0
  103. data/config/theme/BoysAndGirls01.json +156 -0
  104. data/config/theme/Brilliance Black.json +1695 -0
  105. data/config/theme/Brilliance Dull.json +1451 -0
  106. data/config/theme/Classic Modified.json +288 -0
  107. data/config/theme/Cobalt.json +345 -0
  108. data/config/theme/Cool Glow.json +215 -0
  109. data/config/theme/Dawn.json +258 -0
  110. data/config/theme/Eiffel.json +270 -0
  111. data/config/theme/Espresso Libre.json +247 -0
  112. data/config/theme/Fluidvision.json +272 -0
  113. data/config/theme/IDLE.json +159 -0
  114. data/config/theme/LAZY.json +178 -0
  115. data/config/theme/Mac Classic.json +277 -0
  116. data/config/theme/MagicWB (Amiga).json +231 -0
  117. data/config/theme/Merbivore Soft.json +181 -0
  118. data/config/theme/Merbivore.json +181 -0
  119. data/config/theme/Monokai.json +177 -0
  120. data/config/theme/Notepad2.json +166 -0
  121. data/config/theme/Pastels on Dark.json +437 -0
  122. data/config/theme/RubyBlue.json +226 -0
  123. data/config/theme/Sin City 2.json +361 -0
  124. data/config/theme/Slate.json +270 -0
  125. data/config/theme/Slush & Poppies.json +232 -0
  126. data/config/theme/SpaceCadet.json +143 -0
  127. data/config/theme/Sunburst.json +415 -0
  128. data/config/theme/Twilight BG FG.json +633 -0
  129. data/config/theme/Twilight.json +321 -0
  130. data/config/theme/Whys Poignant.json +119 -0
  131. data/config/theme/Zenburnesque.json +237 -0
  132. data/config/theme/barf.json +155 -0
  133. data/config/theme/fake.json +418 -0
  134. data/config/theme/happydeluxe.json +114 -0
  135. data/config/theme/iLife 05.json +393 -0
  136. data/config/theme/iPlastic.json +177 -0
  137. data/config/theme/mintBlue Dark.json +414 -0
  138. data/config/theme/mintBlue.json +415 -0
  139. data/config/theme/monoindustrial.json +276 -0
  140. data/config/theme/starlight.json +67 -0
  141. data/config/tutorial +74 -0
  142. data/config/welcome +115 -0
  143. data/help/index.verh +14 -0
  144. data/lib/ver.rb +156 -0
  145. data/lib/ver/entry.rb +97 -0
  146. data/lib/ver/keymap.rb +96 -0
  147. data/lib/ver/layout.rb +107 -0
  148. data/lib/ver/methods.rb +19 -0
  149. data/lib/ver/methods/completion.rb +116 -0
  150. data/lib/ver/methods/control.rb +340 -0
  151. data/lib/ver/methods/insert.rb +6 -0
  152. data/lib/ver/methods/move.rb +65 -0
  153. data/lib/ver/methods/search.rb +33 -0
  154. data/lib/ver/methods/select.rb +145 -0
  155. data/lib/ver/methods/views.rb +21 -0
  156. data/lib/ver/mode.rb +160 -0
  157. data/lib/ver/options.rb +207 -0
  158. data/lib/ver/plist.rb +106 -0
  159. data/lib/ver/status.rb +67 -0
  160. data/lib/ver/syntax.rb +68 -0
  161. data/lib/ver/syntax/detector.rb +53 -0
  162. data/lib/ver/syntax/processor.rb +48 -0
  163. data/lib/ver/text.rb +374 -0
  164. data/lib/ver/textpow.rb +357 -0
  165. data/lib/ver/theme.rb +162 -0
  166. data/lib/ver/vendor/fuzzy_file_finder.rb +340 -0
  167. data/lib/ver/view.rb +163 -0
  168. data/lib/ver/view/entry.rb +28 -0
  169. data/lib/ver/view/list.rb +137 -0
  170. data/lib/ver/view/list/buffer.rb +27 -0
  171. data/lib/ver/view/list/fuzzy_file_finder.rb +44 -0
  172. data/lib/ver/view/list/syntax.rb +13 -0
  173. data/lib/ver/view/list/theme.rb +13 -0
  174. data/spec/keymap.rb +224 -0
  175. data/tasks/bacon.rake +49 -0
  176. data/tasks/changelog.rake +18 -0
  177. data/tasks/gem.rake +22 -0
  178. data/tasks/gem_installer.rake +76 -0
  179. data/tasks/grancher.rake +12 -0
  180. data/tasks/install_dependencies.rake +6 -0
  181. data/tasks/manifest.rake +4 -0
  182. data/tasks/plist2json.rake +35 -0
  183. data/tasks/rcov.rake +18 -0
  184. data/tasks/release.rake +12 -0
  185. data/tasks/reversion.rake +8 -0
  186. data/tasks/syntax_list.rake +31 -0
  187. data/ver.gemspec +29 -0
  188. metadata +241 -0
@@ -0,0 +1,407 @@
1
+ {
2
+ "fileTypes": [
3
+ "hs"
4
+ ],
5
+ "keyEquivalent": "^~H",
6
+ "name": "Haskell",
7
+ "patterns": [
8
+ {
9
+ "captures": {
10
+ "1": {
11
+ "name": "punctuation.definition.entity.haskell"
12
+ },
13
+ "2": {
14
+ "name": "punctuation.definition.entity.haskell"
15
+ }
16
+ },
17
+ "comment": "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]).",
18
+ "match": "(`)[a-zA-Z_']*?(`)",
19
+ "name": "keyword.operator.function.infix.haskell"
20
+ },
21
+ {
22
+ "match": "\\(\\)",
23
+ "name": "constant.language.unit.haskell"
24
+ },
25
+ {
26
+ "match": "\\[\\]",
27
+ "name": "constant.language.empty-list.haskell"
28
+ },
29
+ {
30
+ "begin": "(module)",
31
+ "beginCaptures": {
32
+ "1": {
33
+ "name": "keyword.other.haskell"
34
+ }
35
+ },
36
+ "end": "(where)",
37
+ "endCaptures": {
38
+ "1": {
39
+ "name": "keyword.other.haskell"
40
+ }
41
+ },
42
+ "name": "meta.declaration.module.haskell",
43
+ "patterns": [
44
+ {
45
+ "include": "#module_name"
46
+ },
47
+ {
48
+ "include": "#module_exports"
49
+ },
50
+ {
51
+ "match": "[a-z]+",
52
+ "name": "invalid"
53
+ }
54
+ ]
55
+ },
56
+ {
57
+ "begin": "\\b(class)\\b",
58
+ "beginCaptures": {
59
+ "1": {
60
+ "name": "keyword.other.haskell"
61
+ }
62
+ },
63
+ "end": "\\b(where)\\b",
64
+ "endCaptures": {
65
+ "1": {
66
+ "name": "keyword.other.haskell"
67
+ }
68
+ },
69
+ "name": "meta.declaration.class.haskell",
70
+ "patterns": [
71
+ {
72
+ "match": "\\b(Monad|Functor|Eq|Ord|Read|Show|Num|(Frac|Ra)tional|Enum|Bounded|Real(Frac|Float)?|Integral|Floating)\\b",
73
+ "name": "support.class.prelude.haskell"
74
+ },
75
+ {
76
+ "match": "[A-Z][A-Za-z_']*",
77
+ "name": "entity.other.inherited-class.haskell"
78
+ },
79
+ {
80
+ "match": "\\b[a-z][a-zA-Z0-9_']*\\b",
81
+ "name": "variable.other.generic-type.haskell"
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "begin": "\\b(instance)\\b",
87
+ "beginCaptures": {
88
+ "1": {
89
+ "name": "keyword.other.haskell"
90
+ }
91
+ },
92
+ "end": "\\b(where)\\b|$",
93
+ "endCaptures": {
94
+ "1": {
95
+ "name": "keyword.other.haskell"
96
+ }
97
+ },
98
+ "name": "meta.declaration.instance.haskell",
99
+ "patterns": [
100
+ {
101
+ "include": "#type_signature"
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "begin": "(import)",
107
+ "beginCaptures": {
108
+ "1": {
109
+ "name": "keyword.other.haskell"
110
+ }
111
+ },
112
+ "end": "($|;)",
113
+ "name": "meta.import.haskell",
114
+ "patterns": [
115
+ {
116
+ "match": "(qualified|as|hiding)",
117
+ "name": "keyword.other.haskell"
118
+ },
119
+ {
120
+ "include": "#module_name"
121
+ },
122
+ {
123
+ "include": "#module_exports"
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "begin": "(deriving)\\s*\\(",
129
+ "beginCaptures": {
130
+ "1": {
131
+ "name": "keyword.other.haskell"
132
+ }
133
+ },
134
+ "end": "\\)",
135
+ "name": "meta.deriving.haskell",
136
+ "patterns": [
137
+ {
138
+ "match": "\\b[A-Z][a-zA-Z_']*",
139
+ "name": "entity.other.inherited-class.haskell"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "match": "\\b(deriving|where|data|type|case|of|let|in|newtype|default)\\b",
145
+ "name": "keyword.other.haskell"
146
+ },
147
+ {
148
+ "match": "\\binfix[lr]?\\b",
149
+ "name": "keyword.operator.haskell"
150
+ },
151
+ {
152
+ "match": "\\b(do|if|then|else)\\b",
153
+ "name": "keyword.control.haskell"
154
+ },
155
+ {
156
+ "comment": "Floats are always decimal",
157
+ "match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",
158
+ "name": "constant.numeric.float.haskell"
159
+ },
160
+ {
161
+ "match": "\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b",
162
+ "name": "constant.numeric.haskell"
163
+ },
164
+ {
165
+ "captures": {
166
+ "1": {
167
+ "name": "punctuation.definition.preprocessor.c"
168
+ }
169
+ },
170
+ "comment": "In addition to Haskell's \"native\" syntax, GHC permits the C preprocessor to be run on a source file.",
171
+ "match": "^\\s*(#)\\s*\\w+",
172
+ "name": "meta.preprocessor.c"
173
+ },
174
+ {
175
+ "include": "#pragma"
176
+ },
177
+ {
178
+ "begin": "\"",
179
+ "beginCaptures": {
180
+ "0": {
181
+ "name": "punctuation.definition.string.begin.haskell"
182
+ }
183
+ },
184
+ "end": "\"",
185
+ "endCaptures": {
186
+ "0": {
187
+ "name": "punctuation.definition.string.end.haskell"
188
+ }
189
+ },
190
+ "name": "string.quoted.double.haskell",
191
+ "patterns": [
192
+ {
193
+ "match": "\\\\(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\\\\\\\"'\\&])",
194
+ "name": "constant.character.escape.haskell"
195
+ },
196
+ {
197
+ "match": "\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+",
198
+ "name": "constant.character.escape.octal.haskell"
199
+ },
200
+ {
201
+ "match": "\\^[A-Z@\\[\\]\\\\\\^_]",
202
+ "name": "constant.character.escape.control.haskell"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "captures": {
208
+ "1": {
209
+ "name": "punctuation.definition.string.begin.haskell"
210
+ },
211
+ "2": {
212
+ "name": "constant.character.escape.haskell"
213
+ },
214
+ "3": {
215
+ "name": "constant.character.escape.octal.haskell"
216
+ },
217
+ "4": {
218
+ "name": "constant.character.escape.hexadecimal.haskell"
219
+ },
220
+ "5": {
221
+ "name": "constant.character.escape.control.haskell"
222
+ },
223
+ "6": {
224
+ "name": "punctuation.definition.string.end.haskell"
225
+ }
226
+ },
227
+ "match": "(?x)\n\t\t\t(')\n\t\t\t(?:\n\t\t\t\t[\\ -\\[\\]-~]\t\t\t\t\t\t\t\t# Basic Char\n\t\t\t | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n\t\t\t\t\t|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n\t\t\t\t\t|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))\t\t# Escapes\n\t\t\t | (\\\\o[0-7]+)\t\t\t\t\t\t\t\t# Octal Escapes\n\t\t\t | (\\\\x[0-9A-Fa-f]+)\t\t\t\t\t\t# Hexadecimal Escapes\n\t\t\t | (\\^[A-Z@\\[\\]\\\\\\^_])\t\t\t\t\t\t# Control Chars\n\t\t\t)\n\t\t\t(')\n\t\t\t",
228
+ "name": "string.quoted.single.haskell"
229
+ },
230
+ {
231
+ "begin": "^\\s*([a-z_][a-zA-Z0-9_']*|\\([|!%$+\\-.,=<\/>]+\\))\\s*(::)",
232
+ "beginCaptures": {
233
+ "1": {
234
+ "name": "entity.name.function.haskell"
235
+ },
236
+ "2": {
237
+ "name": "keyword.other.double-colon.haskell"
238
+ }
239
+ },
240
+ "end": "$\\n?",
241
+ "name": "meta.function.type-declaration.haskell",
242
+ "patterns": [
243
+ {
244
+ "include": "#type_signature"
245
+ }
246
+ ]
247
+ },
248
+ {
249
+ "match": "\\b(Just|Nothing|Left|Right|True|False|LT|EQ|GT|\\(\\)|\\[\\])\\b",
250
+ "name": "support.constant.haskell"
251
+ },
252
+ {
253
+ "match": "\\b[A-Z]\\w*\\b",
254
+ "name": "constant.other.haskell"
255
+ },
256
+ {
257
+ "include": "#comments"
258
+ },
259
+ {
260
+ "match": "\\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",
261
+ "name": "support.function.prelude.haskell"
262
+ },
263
+ {
264
+ "include": "#infix_op"
265
+ },
266
+ {
267
+ "comment": "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 $%^&*.",
268
+ "match": "[|!%$?~+:\\-.=<\/>\\\\]+",
269
+ "name": "keyword.operator.haskell"
270
+ },
271
+ {
272
+ "match": ",",
273
+ "name": "punctuation.separator.comma.haskell"
274
+ }
275
+ ],
276
+ "repository": {
277
+ "block_comment": {
278
+ "applyEndPatternLast": 1,
279
+ "begin": "\\{-(?!#)",
280
+ "captures": {
281
+ "0": {
282
+ "name": "punctuation.definition.comment.haskell"
283
+ }
284
+ },
285
+ "end": "-\\}",
286
+ "name": "comment.block.haskell",
287
+ "patterns": [
288
+ {
289
+ "include": "#block_comment"
290
+ }
291
+ ]
292
+ },
293
+ "comments": {
294
+ "patterns": [
295
+ {
296
+ "captures": {
297
+ "1": {
298
+ "name": "punctuation.definition.comment.haskell"
299
+ }
300
+ },
301
+ "match": "(--).*$\\n?",
302
+ "name": "comment.line.double-dash.haskell"
303
+ },
304
+ {
305
+ "include": "#block_comment"
306
+ }
307
+ ]
308
+ },
309
+ "infix_op": {
310
+ "match": "(\\([|!%$+:\\-.=<\/>]+\\)|\\(,+\\))",
311
+ "name": "entity.name.function.infix.haskell"
312
+ },
313
+ "module_exports": {
314
+ "begin": "\\(",
315
+ "end": "\\)",
316
+ "name": "meta.declaration.exports.haskell",
317
+ "patterns": [
318
+ {
319
+ "match": "\\b[a-z][a-zA-Z_']*",
320
+ "name": "entity.name.function.haskell"
321
+ },
322
+ {
323
+ "match": "\\b[A-Z][A-Za-z_']*",
324
+ "name": "storage.type.haskell"
325
+ },
326
+ {
327
+ "match": ",",
328
+ "name": "punctuation.separator.comma.haskell"
329
+ },
330
+ {
331
+ "include": "#infix_op"
332
+ },
333
+ {
334
+ "comment": "So named because I don't know what to call this.",
335
+ "match": "\\(.*?\\)",
336
+ "name": "meta.other.unknown.haskell"
337
+ }
338
+ ]
339
+ },
340
+ "module_name": {
341
+ "match": "[A-Z][A-Za-z._']*",
342
+ "name": "support.other.module.haskell"
343
+ },
344
+ "pragma": {
345
+ "begin": "\\{-#",
346
+ "end": "#-\\}",
347
+ "name": "meta.preprocessor.haskell",
348
+ "patterns": [
349
+ {
350
+ "match": "\\b(LANGUAGE|UNPACK|INLINE)\\b",
351
+ "name": "keyword.other.preprocessor.haskell"
352
+ }
353
+ ]
354
+ },
355
+ "type_signature": {
356
+ "patterns": [
357
+ {
358
+ "captures": {
359
+ "1": {
360
+ "name": "entity.other.inherited-class.haskell"
361
+ },
362
+ "2": {
363
+ "name": "variable.other.generic-type.haskell"
364
+ },
365
+ "3": {
366
+ "name": "keyword.other.big-arrow.haskell"
367
+ }
368
+ },
369
+ "match": "\\(\\s*([A-Z][A-Za-z]*)\\s+([a-z][A-Za-z_']*)\\)\\s*(=>)",
370
+ "name": "meta.class-constraint.haskell"
371
+ },
372
+ {
373
+ "include": "#pragma"
374
+ },
375
+ {
376
+ "match": "->",
377
+ "name": "keyword.other.arrow.haskell"
378
+ },
379
+ {
380
+ "match": "=>",
381
+ "name": "keyword.other.big-arrow.haskell"
382
+ },
383
+ {
384
+ "match": "\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b",
385
+ "name": "support.type.prelude.haskell"
386
+ },
387
+ {
388
+ "match": "\\b[a-z][a-zA-Z0-9_']*\\b",
389
+ "name": "variable.other.generic-type.haskell"
390
+ },
391
+ {
392
+ "match": "\\b[A-Z][a-zA-Z0-9_']*\\b",
393
+ "name": "storage.type.haskell"
394
+ },
395
+ {
396
+ "match": "\\(\\)",
397
+ "name": "support.constant.unit.haskell"
398
+ },
399
+ {
400
+ "include": "#comments"
401
+ }
402
+ ]
403
+ }
404
+ },
405
+ "scopeName": "source.haskell",
406
+ "uuid": "5C034675-1F6D-497E-8073-369D37E2FD7D"
407
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "comment": "Should be current for Inform 6.2 or thereabouts \u2013 chris@cjack.com",
3
+ "fileTypes": [
4
+ "inf"
5
+ ],
6
+ "foldingStartMarker": "\\[",
7
+ "foldingStopMarker": "\\]",
8
+ "keyEquivalent": "^~I",
9
+ "name": "Inform",
10
+ "patterns": [
11
+ {
12
+ "captures": {
13
+ "1": {
14
+ "name": "punctuation.definition.comment.inform"
15
+ }
16
+ },
17
+ "match": "(!)(.*)$\\n?",
18
+ "name": "comment.line.exclamation.inform"
19
+ },
20
+ {
21
+ "captures": {
22
+ "1": {
23
+ "name": "entity.name.function.inform"
24
+ }
25
+ },
26
+ "match": "(?:\\s*)\\[(?:\\s*)(.*)(?:\\s*);",
27
+ "name": "meta.function.inform"
28
+ },
29
+ {
30
+ "match": "\\b((\\$[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b",
31
+ "name": "constant.numeric.inform"
32
+ },
33
+ {
34
+ "begin": "'",
35
+ "beginCaptures": {
36
+ "0": {
37
+ "name": "punctuation.definition.string.begin.inform"
38
+ }
39
+ },
40
+ "end": "'",
41
+ "endCaptures": {
42
+ "0": {
43
+ "name": "punctuation.definition.string.end.inform"
44
+ }
45
+ },
46
+ "name": "string.quoted.single.inform",
47
+ "patterns": [
48
+ {
49
+ "match": "\\\\.",
50
+ "name": "constant.character.escape.inform"
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ "begin": "\"",
56
+ "beginCaptures": {
57
+ "0": {
58
+ "name": "punctuation.definition.string.begin.inform"
59
+ }
60
+ },
61
+ "end": "\"",
62
+ "endCaptures": {
63
+ "0": {
64
+ "name": "punctuation.definition.string.end.inform"
65
+ }
66
+ },
67
+ "name": "string.quoted.double.inform"
68
+ },
69
+ {
70
+ "match": "\\b(box|break|continue|do|else|font(\\s+)(on|off)|for|give|if|jump|new_line|objectloop|print|print_ret|remove|return|rfalse|rtrue|spaces|string|style(\\s+)(roman|bold|underline|reverse|fixed)|switch|until|while|has|hasnt|in|notin|ofclass|provides|or)\\b",
71
+ "name": "keyword.control.inform"
72
+ },
73
+ {
74
+ "match": "\\b(Abbreviate|Array|Attribute|Class|Constant|Default|End|Endif|Extend|Global|Ifdef|Ifndef|Ifnot|Iftrue|Iffalse|Import|Include|Link|Lowstring|Message|Object|Property|Release|Replace|Serial|Switches|Statusline(\\s+)(score|time)|System_file|Verb|Zcharacter)\\b",
75
+ "name": "keyword.other.directive.inform"
76
+ }
77
+ ],
78
+ "scopeName": "source.inform",
79
+ "uuid": "1510B8C7-6B1D-11D9-B82B-000D93589AF6"
80
+ }