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,721 @@
1
+ {
2
+ "fileTypes": [
3
+ "applescript",
4
+ "script editor"
5
+ ],
6
+ "firstLineMatch": "^#!.*(osascript)",
7
+ "foldingStartMarker": "(?x)\n\t\t^\\s*\n\t\t(\n\t\t tell \\s+ (?! .* \\b(to)\\b) .*\n\t\t|tell\\b.*?\\bto\\ tell \\s+ (?! .* \\b(to)\\b) .*\n\t\t|using \\s+ terms \\s+ from \\s+ .*\n\t\t|if\\b .* \\bthen\\b\n\t\t|repeat\\b .*\n\t\t|( on | to )\\b (?!\\s+ error) .*\n\t\t|try\n\t\t|with \\s+ timeout .*\n\t\t|script\\b .*\n\t\t|( considering | ignoring )\\b .*\n\t\t)\\s*(--.*?)?$\n\t",
8
+ "foldingStopMarker": "^\\s*end\\b.*$",
9
+ "keyEquivalent": "^~A",
10
+ "name": "AppleScript",
11
+ "patterns": [
12
+ {
13
+ "include": "#blocks"
14
+ },
15
+ {
16
+ "include": "#inline"
17
+ }
18
+ ],
19
+ "repository": {
20
+ "blocks": {
21
+ "patterns": [
22
+ {
23
+ "begin": "^\\s*(script)\\s+(\\w+)",
24
+ "captures": {
25
+ "1": {
26
+ "name": "keyword.control.script.applescript"
27
+ },
28
+ "2": {
29
+ "name": "entity.name.type.script-object.applescript"
30
+ }
31
+ },
32
+ "end": "^\\s*(end script)",
33
+ "name": "meta.script.applescript",
34
+ "patterns": [
35
+ {
36
+ "include": "$self"
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "begin": "^(?x)\n\t\t\t\t\t\t\\s*(to|on)\\s+ \t\t\t\t\t# \"on\" or \"to\"\n\t\t\t\t\t\t([A-Za-z][A-Za-z0-9_]*)\t\t\t# function name\n\t\t\t\t\t\t(\\()\t\t\t\t\t\t\t# opening paren\n\t\t\t\t\t\t\t(?:(\\w+(?:\\s*,\\s*\\w+)*))?\t# parameters\n\t\t\t\t\t\t(\\))\t\t\t\t\t\t\t# closing paren\n\t\t\t\t\t",
42
+ "captures": {
43
+ "1": {
44
+ "name": "keyword.control.on.applescript"
45
+ },
46
+ "2": {
47
+ "name": "entity.name.function.handler.applescript"
48
+ },
49
+ "3": {
50
+ "name": "punctuation.definition.parameters.applescript"
51
+ },
52
+ "4": {
53
+ "name": "variable.parameter.handler.applescript"
54
+ },
55
+ "5": {
56
+ "name": "punctuation.definition.parameters.applescript"
57
+ }
58
+ },
59
+ "comment": "\n\t\t\t\t\t\tThis is not a very well-designed rule. For now,\n\t\t\t\t\t\twe can leave it like this though, as it sorta works.\n\t\t\t\t\t",
60
+ "end": "^\\s*(end)(?: (\\2))?\\s*$",
61
+ "name": "meta.function.with-parentheses.applescript",
62
+ "patterns": [
63
+ {
64
+ "include": "$self"
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "begin": "^\\s*(on)\\s+(\\w+)(?=\\s+(above|against|apart from|around|aside from|at|below|beneath|beside|between|by|for|from|instead of|into|on|onto|out of|over|thru|under)\\s+)",
70
+ "captures": {
71
+ "1": {
72
+ "name": "keyword.control.on.applescript"
73
+ },
74
+ "2": {
75
+ "name": "entity.name.function.handler.applescript"
76
+ }
77
+ },
78
+ "end": "^\\s*(end)(?: (\\2))?\\s*$",
79
+ "name": "meta.function.prepositional.applescript",
80
+ "patterns": [
81
+ {
82
+ "captures": {
83
+ "1": {
84
+ "name": "keyword.control.preposition.applescript"
85
+ },
86
+ "2": {
87
+ "name": "variable.parameter.handler.applescript"
88
+ }
89
+ },
90
+ "match": "\\b(above|against|apart from|around|aside from|at|below|beneath|beside|between|by|for|from|instead of|into|on|onto|out of|over|thru|under)\\s+(\\w+)\\b"
91
+ },
92
+ {
93
+ "include": "$self"
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "include": "#tell-blocks"
99
+ }
100
+ ]
101
+ },
102
+ "built-in": {
103
+ "patterns": [
104
+ {
105
+ "match": "\u00ac",
106
+ "name": "punctuation.separator.continuation.line.applescript"
107
+ },
108
+ {
109
+ "match": "\\b((a )?(ref( to)|reference to)|(does not|doesn't) (come (before|after)|contain|equal)|(start|begin)s? with|comes (before|after)|is(n't| not)?( (in|contained by|(less than|greater than)( or equal( to)?)?|equal( to)?))?|ends? with|contains?|equals?|than|and|div|mod|not|or|as)\\b|(\u2260|\u2265|\u2264|>=|<=|\u00f7|&|=|>|<|\\*|\\+|-|\/|\\^)",
110
+ "name": "keyword.operator.applescript"
111
+ },
112
+ {
113
+ "captures": {
114
+ "1": {
115
+ "name": "keyword.control.applescript"
116
+ }
117
+ },
118
+ "comment": "make sure that \"return\", \"property\", and other keywords are not preceded by something else, to disambiguate",
119
+ "match": "(?<=^|then|to)\\s*\\b(return|prop(erty)?)\\b"
120
+ },
121
+ {
122
+ "comment": "the : in property assignments",
123
+ "match": ":",
124
+ "name": "punctuation.separator.key-value.property.applescript"
125
+ },
126
+ {
127
+ "comment": "the parentheses in groups",
128
+ "match": "[()]",
129
+ "name": "punctuation.section.group.applescript"
130
+ },
131
+ {
132
+ "match": "\\b(on error|try|to|on|tell|if|then|else if|else|repeat( (while|until|with))?|using terms from|from|through|thru|with timeout|times|end (tell|repeat|if|timeout|using terms from|error|try)|end|my|where|whose|considering|ignoring|global|local|exit|continue|returning|set|copy|put)\\b",
133
+ "name": "keyword.control.applescript"
134
+ },
135
+ {
136
+ "match": "\\b(every|some|index|named|from|to|through|thru|before|(in )?front of|after receiving|after|(in )?back of|beginning of|end of|in|of|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|\\d+(st|nd|rd|th)|last|front|back|middle)\\b",
137
+ "name": "keyword.control.reference.applescript"
138
+ },
139
+ {
140
+ "match": "\\b(all (caps|lowercase)|bold|condensed|expanded|hidden|italic|outline|plain|shadow|small caps|strikethrough|(sub|super)script|underline)\\b",
141
+ "name": "constant.other.text-styles.applescript"
142
+ },
143
+ {
144
+ "comment": "yes\/no can\u2019t always be used as booleans, e.g. in an if() expression. But they work e.g. for boolean arguments.",
145
+ "match": "\\b(?i:true|false|yes|no)\\b",
146
+ "name": "constant.language.boolean.applescript"
147
+ },
148
+ {
149
+ "match": "\\b(null)\\b",
150
+ "name": "constant.language.null.applescript"
151
+ },
152
+ {
153
+ "match": "\\b(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?|weekdays?|Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\\b",
154
+ "name": "constant.other.date-time.applescript"
155
+ },
156
+ {
157
+ "comment": "these are used in considering\/ignoring statements",
158
+ "match": "\\b(?<=considering|ignoring) (application responses|current application|case|diacriticals|expansion|hyphens|punctuation|white space)\\b",
159
+ "name": "constant.other.considering-ignoring-attributes.applescript"
160
+ },
161
+ {
162
+ "match": "\\b(space|return|tab)\\b",
163
+ "name": "constant.other.characters.applescript"
164
+ },
165
+ {
166
+ "match": "\\b(current application|it|me|version|result|pi|AppleScript)\\b",
167
+ "name": "constant.other.miscellaneous.applescript"
168
+ },
169
+ {
170
+ "match": "\\b(text item delimiters|print length|print depth)\\b",
171
+ "name": "variable.language.applescript"
172
+ },
173
+ {
174
+ "match": "\\b(count (each|every)|number of|error|get|run)\\b",
175
+ "name": "support.function.built-in.applescript"
176
+ },
177
+ {
178
+ "match": "\\b(booleans?|integers?|reals?|numbers?|(linked )?lists?|vectors?|records?|items?|scripts?|events?|propert(y|ies)|constants?|prepositions?|reference forms?|handlers?|data|characters?|writing code( infos?)?|missing values?|references?|anything|missing value|upper case|app(lications?)?|text items?|((international|styled( Clipboard|Unicode)?|Unicode) )?text|(C | encoded| Pascal )?strings?|(type )?class(es)?|RGB colors?|pictures?|sounds?|versions?|file specifications?|alias(es)?|machines?|zones?|keystrokes?|seconds|dates?|months?|(cubic |square |cubic centi|square kilo|centi|kilo)met(er|re)s|(square |cubic )?(yards|feet)|(square )?miles|(cubic )?inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin))\\b",
179
+ "name": "support.class.built-in.applescript"
180
+ },
181
+ {
182
+ "match": "\\b\\d+((\\.(\\d+\\b)?)?(?i:e\\+?\\d*\\b)?|\\b)",
183
+ "name": "constant.numeric.applescript"
184
+ },
185
+ {
186
+ "captures": {
187
+ "1": {
188
+ "name": "variable.other.applescript"
189
+ }
190
+ },
191
+ "match": "(?<=set[ \\t])\\s*([_a-zA-Z][_a-zA-Z0-9]*)\\s*(?=[ \\t]+to)"
192
+ }
193
+ ]
194
+ },
195
+ "comments": {
196
+ "patterns": [
197
+ {
198
+ "captures": {
199
+ "1": {
200
+ "name": "punctuation.definition.comment.applescript"
201
+ }
202
+ },
203
+ "match": "(--).*$\\n?",
204
+ "name": "comment.line.double-dash.applescript"
205
+ },
206
+ {
207
+ "begin": "\\(\\*",
208
+ "captures": {
209
+ "0": {
210
+ "name": "punctuation.definition.comment.applescript"
211
+ }
212
+ },
213
+ "end": "\\*\\)",
214
+ "name": "comment.block.applescript"
215
+ }
216
+ ]
217
+ },
218
+ "data-structures": {
219
+ "patterns": [
220
+ {
221
+ "begin": "(\\{)",
222
+ "captures": {
223
+ "1": {
224
+ "name": "punctuation.section.array.applescript"
225
+ }
226
+ },
227
+ "comment": "\n\t\t\t\t\t\twe cannot necessarily distinguish \"records\" from\n\t\t\t\t\t\t\"arrays\", and so this could be either\n\t\t\t\t\t",
228
+ "end": "(\\})",
229
+ "name": "meta.data.array.applescript",
230
+ "patterns": [
231
+ {
232
+ "captures": {
233
+ "1": {
234
+ "name": "constant.other.key.applescript"
235
+ },
236
+ "2": {
237
+ "name": "meta.identifier.applescript"
238
+ },
239
+ "3": {
240
+ "name": "punctuation.definition.identifier.applescript"
241
+ },
242
+ "4": {
243
+ "name": "punctuation.definition.identifier.applescript"
244
+ },
245
+ "5": {
246
+ "name": "punctuation.separator.key-value.applescript"
247
+ }
248
+ },
249
+ "match": "([A-Za-z]+|((\\|)[^|\\n]*(\\|)))\\s*(:)"
250
+ },
251
+ {
252
+ "match": ":",
253
+ "name": "punctuation.separator.key-value.applescript"
254
+ },
255
+ {
256
+ "match": ",",
257
+ "name": "punctuation.separator.array.applescript"
258
+ },
259
+ {
260
+ "include": "#inline"
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ "begin": "((?<=application )\"|(?<=app )\")",
266
+ "captures": {
267
+ "1": {
268
+ "name": "punctuation.definition.string.applescript"
269
+ }
270
+ },
271
+ "end": "(\")",
272
+ "name": "string.quoted.double.application-name.applescript",
273
+ "patterns": [
274
+ {
275
+ "match": "\\\\.",
276
+ "name": "constant.character.escape.applescript"
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "begin": "(\")",
282
+ "captures": {
283
+ "1": {
284
+ "name": "punctuation.definition.string.applescript"
285
+ }
286
+ },
287
+ "end": "(\")",
288
+ "name": "string.quoted.double.applescript",
289
+ "patterns": [
290
+ {
291
+ "match": "\\\\.",
292
+ "name": "constant.character.escape.applescript"
293
+ }
294
+ ]
295
+ },
296
+ {
297
+ "captures": {
298
+ "1": {
299
+ "name": "punctuation.definition.identifier.applescript"
300
+ },
301
+ "2": {
302
+ "name": "punctuation.definition.identifier.applescript"
303
+ }
304
+ },
305
+ "match": "(\\|)[^|\\n]*(\\|)",
306
+ "name": "meta.identifier.applescript"
307
+ },
308
+ {
309
+ "captures": {
310
+ "1": {
311
+ "name": "punctuation.definition.data.applescript"
312
+ },
313
+ "2": {
314
+ "name": "support.class.built-in.applescript"
315
+ },
316
+ "3": {
317
+ "name": "storage.type.utxt.applescript"
318
+ },
319
+ "4": {
320
+ "name": "string.unquoted.data.applescript"
321
+ },
322
+ "5": {
323
+ "name": "punctuation.definition.data.applescript"
324
+ },
325
+ "6": {
326
+ "name": "keyword.operator.applescript"
327
+ },
328
+ "7": {
329
+ "name": "support.class.built-in.applescript"
330
+ }
331
+ },
332
+ "match": "(\u00ab)(data) (utxt|utf8)([0-9A-Fa-f]*)(\u00bb)(?: (as) (Unicode text))?",
333
+ "name": "meta.data.applescript"
334
+ }
335
+ ]
336
+ },
337
+ "finder": {
338
+ "patterns": [
339
+ {
340
+ "match": "\\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\\b",
341
+ "name": "support.class.finder.items.applescript"
342
+ },
343
+ {
344
+ "match": "\\b((Finder|desktop|information|preferences|clipping) )windows?\\b",
345
+ "name": "support.class.finder.window-classes.applescript"
346
+ },
347
+ {
348
+ "match": "\\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\\b",
349
+ "name": "support.class.finder.type-definitions.applescript"
350
+ },
351
+ {
352
+ "match": "\\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\\b",
353
+ "name": "support.function.finder.items.applescript"
354
+ },
355
+ {
356
+ "match": "\\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\\b",
357
+ "name": "support.constant.finder.applescript"
358
+ },
359
+ {
360
+ "match": "\\b(visible)\\b",
361
+ "name": "support.variable.finder.applescript"
362
+ }
363
+ ]
364
+ },
365
+ "inline": {
366
+ "patterns": [
367
+ {
368
+ "include": "#comments"
369
+ },
370
+ {
371
+ "include": "#data-structures"
372
+ },
373
+ {
374
+ "include": "#built-in"
375
+ },
376
+ {
377
+ "include": "#standardadditions"
378
+ }
379
+ ]
380
+ },
381
+ "itunes": {
382
+ "patterns": [
383
+ {
384
+ "match": "\\b(artwork|application|encoder|EQ preset|item|source|visual|(EQ |browser )?window|((audio CD|device|shared|URL|file) )?track|playlist window|((audio CD|device|radio tuner|library|folder|user) )?playlist)s?\\b",
385
+ "name": "support.class.itunes.applescript"
386
+ },
387
+ {
388
+ "match": "\\b(add|back track|convert|fast forward|(next|previous) track|pause|play(pause)?|refresh|resume|rewind|search|stop|update|eject|subscribe|update(Podcast|AllPodcasts)|download)\\b",
389
+ "name": "support.function.itunes.applescript"
390
+ },
391
+ {
392
+ "match": "\\b(current (playlist|stream (title|URL)|track)|player state)\\b",
393
+ "name": "support.constant.itunes.applescript"
394
+ },
395
+ {
396
+ "match": "\\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\\b",
397
+ "name": "support.variable.itunes.applescript"
398
+ }
399
+ ]
400
+ },
401
+ "standard-suite": {
402
+ "patterns": [
403
+ {
404
+ "match": "\\b(colors?|documents?|items?|windows?)\\b",
405
+ "name": "support.class.standard-suite.applescript"
406
+ },
407
+ {
408
+ "match": "\\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\\b",
409
+ "name": "support.function.standard-suite.applescript"
410
+ },
411
+ {
412
+ "match": "\\b(name|frontmost|version)\\b",
413
+ "name": "support.constant.standard-suite.applescript"
414
+ },
415
+ {
416
+ "match": "\\b(selection)\\b",
417
+ "name": "support.variable.standard-suite.applescript"
418
+ },
419
+ {
420
+ "match": "\\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\\b",
421
+ "name": "support.class.text-suite.applescript"
422
+ }
423
+ ]
424
+ },
425
+ "standardadditions": {
426
+ "patterns": [
427
+ {
428
+ "match": "\\b((alert|dialog) reply)\\b",
429
+ "name": "support.class.standardadditions.user-interaction.applescript"
430
+ },
431
+ {
432
+ "match": "\\b(file information)\\b",
433
+ "name": "support.class.standardadditions.file.applescript"
434
+ },
435
+ {
436
+ "match": "\\b(POSIX files?|system information|volume settings)\\b",
437
+ "name": "support.class.standardadditions.miscellaneous.applescript"
438
+ },
439
+ {
440
+ "match": "\\b(URLs?|internet address(es)?|web pages?|FTP items?)\\b",
441
+ "name": "support.class.standardadditions.internet.applescript"
442
+ },
443
+ {
444
+ "match": "\\b(info for|list (disks|folder)|mount volume|path to( resource)?)\\b",
445
+ "name": "support.function.standardadditions.file.applescript"
446
+ },
447
+ {
448
+ "match": "\\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\\b",
449
+ "name": "support.function.standardadditions.user-interaction.applescript"
450
+ },
451
+ {
452
+ "match": "\\b(ASCII (character|number)|localized string|offset|summarize)\\b",
453
+ "name": "support.function.standardadditions.string.applescript"
454
+ },
455
+ {
456
+ "match": "\\b(set the clipboard to|the clipboard|clipboard info)\\b",
457
+ "name": "support.function.standardadditions.clipboard.applescript"
458
+ },
459
+ {
460
+ "match": "\\b(open for access|close access|read|write|get eof|set eof)\\b",
461
+ "name": "support.function.standardadditions.file-i-o.applescript"
462
+ },
463
+ {
464
+ "match": "\\b((load|store|run) script|scripting components)\\b",
465
+ "name": "support.function.standardadditions.scripting.applescript"
466
+ },
467
+ {
468
+ "match": "\\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\\b",
469
+ "name": "support.function.standardadditions.miscellaneous.applescript"
470
+ },
471
+ {
472
+ "match": "\\b(opening folder|(closing|moving) folder window for|adding folder items to|removing folder items from)\\b",
473
+ "name": "support.function.standardadditions.folder-actions.applescript"
474
+ },
475
+ {
476
+ "match": "\\b(open location|handle CGI request)\\b",
477
+ "name": "support.function.standardadditions.internet.applescript"
478
+ }
479
+ ]
480
+ },
481
+ "system-events": {
482
+ "patterns": [
483
+ {
484
+ "match": "\\b(audio (data|file))\\b",
485
+ "name": "support.class.system-events.audio-file.applescript"
486
+ },
487
+ {
488
+ "match": "\\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\\b",
489
+ "name": "support.class.system-events.disk-folder-file.applescript"
490
+ },
491
+ {
492
+ "match": "\\b(delete|open|move)\\b",
493
+ "name": "support.function.system-events.disk-folder-file.applescript"
494
+ },
495
+ {
496
+ "match": "\\b(folder actions?|scripts?)\\b",
497
+ "name": "support.class.system-events.folder-actions.applescript"
498
+ },
499
+ {
500
+ "match": "\\b(attach action to|attached scripts|edit action of|remove action from)\\b",
501
+ "name": "support.function.system-events.folder-actions.applescript"
502
+ },
503
+ {
504
+ "match": "\\b(movie data|movie file)\\b",
505
+ "name": "support.class.system-events.movie-file.applescript"
506
+ },
507
+ {
508
+ "match": "\\b(log out|restart|shut down|sleep)\\b",
509
+ "name": "support.function.system-events.power.applescript"
510
+ },
511
+ {
512
+ "match": "\\b(((application |desk accessory )?process|(check|combo )?box)(es)?|(action|attribute|browser|(busy|progress|relevance) indicator|color well|column|drawer|group|grow area|image|incrementor|list|menu( bar)?( item)?|(menu |pop up |radio )?button|outline|(radio|tab|splitter) group|row|scroll (area|bar)|sheet|slider|splitter|static text|table|text (area|field)|tool bar|UI element|window)s?)\\b",
513
+ "name": "support.class.system-events.processes.applescript"
514
+ },
515
+ {
516
+ "match": "\\b(click|key code|keystroke|perform|select)\\b",
517
+ "name": "support.function.system-events.processes.applescript"
518
+ },
519
+ {
520
+ "match": "\\b(property list (file|item))\\b",
521
+ "name": "support.class.system-events.property-list.applescript"
522
+ },
523
+ {
524
+ "match": "\\b(annotation|QuickTime (data|file)|track)s?\\b",
525
+ "name": "support.class.system-events.quicktime-file.applescript"
526
+ },
527
+ {
528
+ "match": "\\b((abort|begin|end) transaction)\\b",
529
+ "name": "support.function.system-events.system-events.applescript"
530
+ },
531
+ {
532
+ "match": "\\b(XML (attribute|data|element|file)s?)\\b",
533
+ "name": "support.class.system-events.xml.applescript"
534
+ },
535
+ {
536
+ "match": "\\b(print settings|users?|login items?)\\b",
537
+ "name": "support.class.sytem-events.other.applescript"
538
+ }
539
+ ]
540
+ },
541
+ "tell-blocks": {
542
+ "patterns": [
543
+ {
544
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:textmate)\")(?!.*\\bto\\b)",
545
+ "captures": {
546
+ "1": {
547
+ "name": "keyword.control.applescript"
548
+ }
549
+ },
550
+ "comment": "tell Textmate",
551
+ "end": "^\\s*(end tell)",
552
+ "name": "meta.tell-block.application.textmate.applescript",
553
+ "patterns": [
554
+ {
555
+ "include": "#textmate"
556
+ },
557
+ {
558
+ "include": "#standard-suite"
559
+ },
560
+ {
561
+ "include": "$self"
562
+ }
563
+ ]
564
+ },
565
+ {
566
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:finder)\")(?!.*\\bto\\b)",
567
+ "captures": {
568
+ "1": {
569
+ "name": "keyword.control.applescript"
570
+ }
571
+ },
572
+ "comment": "tell Finder",
573
+ "end": "^\\s*(end tell)",
574
+ "name": "meta.tell-block.application.finder.applescript",
575
+ "patterns": [
576
+ {
577
+ "include": "#finder"
578
+ },
579
+ {
580
+ "include": "#standard-suite"
581
+ },
582
+ {
583
+ "include": "$self"
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:system events)\")(?!.*\\bto\\b)",
589
+ "captures": {
590
+ "1": {
591
+ "name": "keyword.control.applescript"
592
+ }
593
+ },
594
+ "comment": "tell System Events",
595
+ "end": "^\\s*(end tell)",
596
+ "name": "meta.tell-block.application.system-events.applescript",
597
+ "patterns": [
598
+ {
599
+ "include": "#system-events"
600
+ },
601
+ {
602
+ "include": "#standard-suite"
603
+ },
604
+ {
605
+ "include": "$self"
606
+ }
607
+ ]
608
+ },
609
+ {
610
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:itunes)\")(?!.*\\bto\\b)",
611
+ "captures": {
612
+ "1": {
613
+ "name": "keyword.control.applescript"
614
+ }
615
+ },
616
+ "comment": "tell iTunes",
617
+ "end": "^\\s*(end tell)",
618
+ "name": "meta.tell-block.application.itunes.applescript",
619
+ "patterns": [
620
+ {
621
+ "include": "#itunes"
622
+ },
623
+ {
624
+ "include": "#standard-suite"
625
+ },
626
+ {
627
+ "include": "$self"
628
+ }
629
+ ]
630
+ },
631
+ {
632
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\b)(?!.*\\bto\\b)",
633
+ "captures": {
634
+ "1": {
635
+ "name": "keyword.control.applescript"
636
+ }
637
+ },
638
+ "comment": "tell generic application",
639
+ "end": "^\\s*(end tell)",
640
+ "name": "meta.tell-block.application.generic.applescript",
641
+ "patterns": [
642
+ {
643
+ "include": "#standard-suite"
644
+ },
645
+ {
646
+ "include": "$self"
647
+ }
648
+ ]
649
+ },
650
+ {
651
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\b)(?=.*?to tell\\s*(?!.*\\bto\\b))",
652
+ "captures": {
653
+ "1": {
654
+ "name": "keyword.control.applescript"
655
+ }
656
+ },
657
+ "comment": "tell ... to tell generic application",
658
+ "end": "^\\s*(end tell)",
659
+ "name": "meta.tell-block.application.generic.applescript",
660
+ "patterns": [
661
+ {
662
+ "include": "#standard-suite"
663
+ },
664
+ {
665
+ "include": "$self"
666
+ }
667
+ ]
668
+ },
669
+ {
670
+ "begin": "^\\s*(tell)\\s+.*?(to tell)\\s*(?!.*\\bto\\b)",
671
+ "captures": {
672
+ "1": {
673
+ "name": "keyword.control.applescript"
674
+ },
675
+ "2": {
676
+ "name": "keyword.control.applescript"
677
+ }
678
+ },
679
+ "comment": "generic tell ... to tell block",
680
+ "end": "^\\s*(end tell)",
681
+ "name": "meta.tell-block.generic.applescript",
682
+ "patterns": [
683
+ {
684
+ "include": "$self"
685
+ }
686
+ ]
687
+ },
688
+ {
689
+ "begin": "^\\s*(tell)\\s+(?!.*\\bto\\b)",
690
+ "captures": {
691
+ "1": {
692
+ "name": "keyword.control.applescript"
693
+ }
694
+ },
695
+ "comment": "generic tell block",
696
+ "end": "^\\s*(end tell)",
697
+ "name": "meta.tell-block.generic.applescript",
698
+ "patterns": [
699
+ {
700
+ "include": "$self"
701
+ }
702
+ ]
703
+ }
704
+ ]
705
+ },
706
+ "textmate": {
707
+ "patterns": [
708
+ {
709
+ "match": "\\b(print settings)\\b",
710
+ "name": "support.class.textmate.applescript"
711
+ },
712
+ {
713
+ "match": "\\b(get url|insert|reload bundles)\\b",
714
+ "name": "support.function.textmate.applescript"
715
+ }
716
+ ]
717
+ }
718
+ },
719
+ "scopeName": "source.applescript",
720
+ "uuid": "777CF925-14B9-428E-B07B-17FAAB8FA27E"
721
+ }