textpow 0.10.1 → 1.3.0

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 (193) hide show
  1. data/.travis.yml +7 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +30 -0
  4. data/{History.txt → History.rdoc} +10 -0
  5. data/{README.txt → MIT-LICENSE.txt} +0 -30
  6. data/README.rdoc +82 -0
  7. data/Rakefile +42 -49
  8. data/bin/plist2syntax +0 -0
  9. data/bin/plist2yaml +0 -0
  10. data/examples/benchmark_js.rb +13 -0
  11. data/examples/jquery.js +9046 -0
  12. data/lib/textpow.rb +43 -3
  13. data/lib/textpow/debug_processor.rb +35 -35
  14. data/lib/textpow/recording_processor.rb +13 -0
  15. data/lib/textpow/score_manager.rb +60 -60
  16. data/lib/textpow/syntax.rb +303 -262
  17. data/lib/textpow/syntax/broken/markdown.syntax +519 -0
  18. data/lib/textpow/syntax/broken/php.syntax +1253 -0
  19. data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
  20. data/lib/textpow/syntax/old/YAML.yaml +160 -0
  21. data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
  22. data/lib/textpow/syntax/source.actionscript.syntax +97 -0
  23. data/lib/textpow/syntax/source.active4d.library.syntax +21 -0
  24. data/lib/textpow/syntax/source.active4d.syntax +276 -0
  25. data/lib/textpow/syntax/source.ada.syntax +33 -0
  26. data/lib/textpow/syntax/source.antlr.syntax +151 -0
  27. data/lib/textpow/syntax/source.apache-config.mod_perl.syntax +50 -0
  28. data/lib/textpow/syntax/source.apache-config.syntax +191 -0
  29. data/lib/textpow/syntax/source.applescript.syntax +384 -0
  30. data/lib/textpow/syntax/source.asp.syntax +70 -0
  31. data/lib/textpow/syntax/source.asp.vb.net.syntax +129 -0
  32. data/lib/textpow/syntax/source.c++.qt.syntax +26 -0
  33. data/lib/textpow/syntax/source.c++.syntax +186 -0
  34. data/lib/textpow/syntax/source.c-sharp.syntax +59 -0
  35. data/lib/textpow/syntax/source.c.ragel.syntax +201 -0
  36. data/lib/textpow/syntax/source.c.syntax +414 -0
  37. data/lib/textpow/syntax/source.camlp4.ocaml.syntax +36 -0
  38. data/lib/textpow/syntax/source.cm.syntax +32 -0
  39. data/lib/textpow/syntax/source.coffee.syntax +216 -0
  40. data/lib/textpow/syntax/source.context-free.syntax +176 -0
  41. data/lib/textpow/syntax/source.css.beta.syntax +1925 -0
  42. data/lib/textpow/syntax/source.css.syntax +195 -0
  43. data/lib/textpow/syntax/source.d.syntax +142 -0
  44. data/lib/textpow/syntax/source.diff.syntax +81 -0
  45. data/lib/textpow/syntax/source.dot.syntax +47 -0
  46. data/lib/textpow/syntax/source.dylan.syntax +62 -0
  47. data/lib/textpow/syntax/source.eiffel.syntax +78 -0
  48. data/lib/textpow/syntax/source.erlang.syntax +922 -0
  49. data/lib/textpow/syntax/source.fortran.syntax +141 -0
  50. data/lib/textpow/syntax/source.fscript.syntax +80 -0
  51. data/lib/textpow/syntax/source.fxscript.syntax +142 -0
  52. data/lib/textpow/syntax/source.gri.syntax +83 -0
  53. data/lib/textpow/syntax/source.groovy.groovy.syntax +191 -0
  54. data/lib/textpow/syntax/source.haskell.syntax +88 -0
  55. data/lib/textpow/syntax/source.icalendar.syntax +32 -0
  56. data/lib/textpow/syntax/source.inform.syntax +48 -0
  57. data/lib/textpow/syntax/source.ini.syntax +55 -0
  58. data/lib/textpow/syntax/source.io.syntax +81 -0
  59. data/lib/textpow/syntax/source.java-props.syntax +20 -0
  60. data/lib/textpow/syntax/source.java.syntax +211 -0
  61. data/lib/textpow/syntax/source.js.greasemonkey.syntax +34 -0
  62. data/lib/textpow/syntax/source.js.jquery.syntax +114 -0
  63. data/lib/textpow/syntax/source.js.mootools.syntax +572 -0
  64. data/lib/textpow/syntax/source.js.prototype.bracketed.syntax +140 -0
  65. data/lib/textpow/syntax/source.js.prototype.syntax +72 -0
  66. data/lib/textpow/syntax/source.js.syntax +256 -0
  67. data/lib/textpow/syntax/source.js.yui.syntax +176 -0
  68. data/lib/textpow/syntax/source.json.syntax +136 -0
  69. data/lib/textpow/syntax/source.lex.syntax +219 -0
  70. data/lib/textpow/syntax/source.lighttpd-config.syntax +54 -0
  71. data/lib/textpow/syntax/source.lilypond.syntax +492 -0
  72. data/lib/textpow/syntax/source.lisp.syntax +61 -0
  73. data/lib/textpow/syntax/source.logo.syntax +29 -0
  74. data/lib/textpow/syntax/source.logtalk.syntax +152 -0
  75. data/lib/textpow/syntax/source.lua.syntax +86 -0
  76. data/lib/textpow/syntax/source.makefile.syntax +36 -0
  77. data/lib/textpow/syntax/source.matlab.syntax +142 -0
  78. data/lib/textpow/syntax/source.mel.syntax +92 -0
  79. data/lib/textpow/syntax/source.mips.syntax +66 -0
  80. data/lib/textpow/syntax/source.ml.syntax +121 -0
  81. data/lib/textpow/syntax/source.modula-3.syntax +47 -0
  82. data/lib/textpow/syntax/source.nant-build.syntax +53 -0
  83. data/lib/textpow/syntax/source.objc++.syntax +18 -0
  84. data/lib/textpow/syntax/source.objc.syntax +233 -0
  85. data/lib/textpow/syntax/source.ocaml.syntax +764 -0
  86. data/lib/textpow/syntax/source.ocamllex.syntax +167 -0
  87. data/lib/textpow/syntax/source.ocamlyacc.syntax +184 -0
  88. data/lib/textpow/syntax/source.open-gl.syntax +14 -0
  89. data/lib/textpow/syntax/source.pascal.syntax +77 -0
  90. data/lib/textpow/syntax/source.pascal.vectorscript.syntax +57 -0
  91. data/lib/textpow/syntax/source.perl.syntax +1113 -0
  92. data/lib/textpow/syntax/source.php.cake.syntax +55 -0
  93. data/lib/textpow/syntax/source.plist.tm-grammar.syntax +708 -0
  94. data/lib/textpow/syntax/source.postscript.syntax +114 -0
  95. data/lib/textpow/syntax/source.processing.syntax +106 -0
  96. data/lib/textpow/syntax/source.prolog.syntax +40 -0
  97. data/lib/textpow/syntax/source.python.django.syntax +21 -0
  98. data/lib/textpow/syntax/source.python.syntax +868 -0
  99. data/lib/textpow/syntax/source.qmake.syntax +114 -0
  100. data/lib/textpow/syntax/source.quake-config.syntax +32 -0
  101. data/lib/textpow/syntax/source.r-console.syntax +16 -0
  102. data/lib/textpow/syntax/source.r.syntax +81 -0
  103. data/lib/textpow/syntax/source.regexp.oniguruma.syntax +107 -0
  104. data/lib/textpow/syntax/source.regexp.python.syntax +109 -0
  105. data/lib/textpow/syntax/source.regexp.syntax +50 -0
  106. data/lib/textpow/syntax/source.remind.syntax +253 -0
  107. data/lib/textpow/syntax/source.rez.syntax +80 -0
  108. data/lib/textpow/syntax/source.ruby.experimental.syntax +145 -0
  109. data/lib/textpow/syntax/source.ruby.rails.syntax +88 -0
  110. data/lib/textpow/syntax/source.ruby.syntax +1035 -0
  111. data/lib/textpow/syntax/source.s5.syntax +69 -0
  112. data/lib/textpow/syntax/source.sass.syntax +45 -0
  113. data/lib/textpow/syntax/source.scheme.syntax +347 -0
  114. data/lib/textpow/syntax/source.scilab.syntax +41 -0
  115. data/lib/textpow/syntax/source.scss.syntax +527 -0
  116. data/lib/textpow/syntax/source.shell.syntax +384 -0
  117. data/lib/textpow/syntax/source.slate.syntax +149 -0
  118. data/lib/textpow/syntax/source.smarty.syntax +63 -0
  119. data/lib/textpow/syntax/source.sql.ruby.syntax +18 -0
  120. data/lib/textpow/syntax/source.sql.syntax +237 -0
  121. data/lib/textpow/syntax/source.ssh-config.syntax +33 -0
  122. data/lib/textpow/syntax/source.strings.syntax +39 -0
  123. data/lib/textpow/syntax/source.swig.syntax +57 -0
  124. data/lib/textpow/syntax/source.tcl.macports.syntax +163 -0
  125. data/lib/textpow/syntax/source.tcl.syntax +152 -0
  126. data/lib/textpow/syntax/source.yaml.syntax +160 -0
  127. data/lib/textpow/syntax/text.active4d-ini.syntax +50 -0
  128. data/lib/textpow/syntax/text.bbcode.syntax +287 -0
  129. data/lib/textpow/syntax/text.bibtex.syntax +151 -0
  130. data/lib/textpow/syntax/text.blog.html.syntax +41 -0
  131. data/lib/textpow/syntax/text.blog.markdown.syntax +42 -0
  132. data/lib/textpow/syntax/text.blog.syntax +27 -0
  133. data/lib/textpow/syntax/text.blog.textile.syntax +27 -0
  134. data/lib/textpow/syntax/text.gtdalt.syntax +143 -0
  135. data/lib/textpow/syntax/text.haml.syntax +88 -0
  136. data/lib/textpow/syntax/text.html.asp.net.syntax +424 -0
  137. data/lib/textpow/syntax/text.html.asp.syntax +27 -0
  138. data/lib/textpow/syntax/text.html.basic.syntax +362 -0
  139. data/lib/textpow/syntax/text.html.cfm.syntax +119 -0
  140. data/lib/textpow/syntax/text.html.django.syntax +36 -0
  141. data/lib/textpow/syntax/text.html.dokuwiki.syntax +204 -0
  142. data/lib/textpow/syntax/text.html.doxygen.syntax +43 -0
  143. data/lib/textpow/syntax/text.html.markdown.multimarkdown.syntax +39 -0
  144. data/lib/textpow/syntax/text.html.mason.syntax +119 -0
  145. data/lib/textpow/syntax/text.html.mediawiki.syntax +567 -0
  146. data/lib/textpow/syntax/text.html.mt.syntax +162 -0
  147. data/lib/textpow/syntax/text.html.ruby.syntax +40 -0
  148. data/lib/textpow/syntax/text.html.strict.active4d.syntax +311 -0
  149. data/lib/textpow/syntax/text.html.tcl.syntax +26 -0
  150. data/lib/textpow/syntax/text.html.textile.syntax +215 -0
  151. data/lib/textpow/syntax/text.html.tt.syntax +121 -0
  152. data/lib/textpow/syntax/text.html.twiki.syntax +241 -0
  153. data/lib/textpow/syntax/text.html.xhtml.1-strict.syntax +4027 -0
  154. data/lib/textpow/syntax/text.log.latex.syntax +50 -0
  155. data/lib/textpow/syntax/text.mail.markdown.syntax +118 -0
  156. data/lib/textpow/syntax/text.man.syntax +17 -0
  157. data/lib/textpow/syntax/text.moinmoin.syntax +189 -0
  158. data/lib/textpow/syntax/text.plain.gtd.syntax +22 -0
  159. data/lib/textpow/syntax/text.plain.release-notes.syntax +46 -0
  160. data/lib/textpow/syntax/text.plain.syntax +32 -0
  161. data/lib/textpow/syntax/text.plist.syntax +635 -0
  162. data/lib/textpow/syntax/text.pmwiki.syntax +113 -0
  163. data/lib/textpow/syntax/text.restructuredtext.syntax +250 -0
  164. data/lib/textpow/syntax/text.setext.syntax +147 -0
  165. data/lib/textpow/syntax/text.subversion-commit.syntax +36 -0
  166. data/lib/textpow/syntax/text.tabular.csv.syntax +68 -0
  167. data/lib/textpow/syntax/text.tabular.tsv.syntax +50 -0
  168. data/lib/textpow/syntax/text.tex.latex.beamer.syntax +41 -0
  169. data/lib/textpow/syntax/text.tex.latex.haskell.syntax +24 -0
  170. data/lib/textpow/syntax/text.tex.latex.memoir.syntax +64 -0
  171. data/lib/textpow/syntax/text.tex.latex.rd.syntax +91 -0
  172. data/lib/textpow/syntax/text.tex.latex.sweave.syntax +84 -0
  173. data/lib/textpow/syntax/text.tex.latex.syntax +566 -0
  174. data/lib/textpow/syntax/text.tex.math.syntax +49 -0
  175. data/lib/textpow/syntax/text.tex.syntax +86 -0
  176. data/lib/textpow/syntax/text.txt2tags.syntax +79 -0
  177. data/lib/textpow/syntax/text.xml.apple-dist.syntax +77 -0
  178. data/lib/textpow/syntax/text.xml.strict.syntax +92 -0
  179. data/lib/textpow/syntax/text.xml.syntax +180 -0
  180. data/lib/textpow/syntax/text.xml.xsl.syntax +60 -0
  181. data/lib/textpow/version.rb +3 -0
  182. data/spec/fixtures/objeck.plist +107 -0
  183. data/spec/fixtures/utf8.txt +1 -0
  184. data/spec/spec_helper.rb +2 -0
  185. data/spec/textpow/score_manager_spec.rb +20 -0
  186. data/spec/textpow/syntax_files_spec.rb +26 -0
  187. data/spec/textpow/syntax_spec.rb +225 -0
  188. data/spec/textpow_spec.rb +57 -0
  189. data/textpow.gemspec +19 -0
  190. metadata +246 -68
  191. data/Manifest.txt +0 -13
  192. data/mm/manual.mm +0 -266
  193. data/test/test_textpow.rb +0 -25
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: mod_perl
3
+ fileTypes:
4
+ - conf
5
+ scopeName: source.apache-config.mod_perl
6
+ uuid: 6A616B03-1053-49BF-830F-0F4E63DB2447
7
+ foldingStartMarker: |-
8
+ ^[ ]*(?x)
9
+ (<(?i:FilesMatch|Files|DirectoryMatch|Directory|LocationMatch|Location|VirtualHost|IfModule|IfDefine|Perl)\b.*?>
10
+ )
11
+ patterns:
12
+ - name: comment.block.documentation.apache-config.mod_perl
13
+ captures:
14
+ "0":
15
+ name: punctuation.definition.comment.mod_perl
16
+ begin: ^=
17
+ end: ^=cut
18
+ - name: support.constant.apache-config.mod_perl
19
+ match: \b(PerlAddVar|PerlConfigRequire|PerlLoadModule|PerlModule|PerlOptions|PerlPassEnv|PerlPostConfigRequire|PerlRequire|PerlSetEnv|PerlSetVar|PerlSwitches|SetHandler|PerlOpenLogsHandler|PerlPostConfigHandler|PerlChildInitHandler|PerlChildExitHandler|PerlPreConnectionHandler|PerlProcessConnectionHandler|PerlInputFilterHandler|PerlOutputFilterHandler|PerlSetInputFilter|PerlSetOutputFilter|PerlPostReadRequestHandler|PerlTransHandler|PerlMapToStorageHandler|PerlInitHandler|PerlHeaderParserHandler|PerlAccessHandler|PerlAuthenHandler|PerlAuthzHandler|PerlTypeHandler|PerlFixupHandler|PerlResponseHandler|PerlLogHandler|PerlCleanupHandler|PerlInterpStart|PerlInterpMax|PerlInterpMinSpare|PerlInterpMaxSpare|PerlInterpMaxRequests|PerlInterpScope|PerlTrace)\b
20
+ - name: support.constant.apache-config.mod_perl_1.mod_perl
21
+ match: \b(PerlHandler|PerlScript|PerlSendHeader|PerlSetupEnv|PerlTaintCheck|PerlWarn|PerlFreshRestart)\b
22
+ - name: meta.perl-section.apache-config.mod_perl
23
+ endCaptures:
24
+ "1":
25
+ name: meta.tag.apache-config
26
+ "2":
27
+ name: punctuation.definition.tag.apache-config
28
+ "3":
29
+ name: entity.name.tag.apache-config
30
+ "4":
31
+ name: punctuation.definition.tag.apache-config
32
+ begin: ^\s*((<)(Perl)(>))
33
+ beginCaptures:
34
+ "1":
35
+ name: meta.tag.apache-config
36
+ "2":
37
+ name: punctuation.definition.tag.apache-config
38
+ "3":
39
+ name: entity.name.tag.apache-config
40
+ "4":
41
+ name: punctuation.definition.tag.apache-config
42
+ end: ^\s*((</)(Perl)(>))
43
+ patterns:
44
+ - include: source.perl
45
+ - include: source.apache-config
46
+ foldingStopMarker: |-
47
+ ^[ ]*(?x)
48
+ (</(?i:FilesMatch|Files|DirectoryMatch|Directory|LocationMatch|Location|VirtualHost|IfModule|IfDefine|Perl)>
49
+ )
50
+ keyEquivalent: ^~A
@@ -0,0 +1,191 @@
1
+ ---
2
+ name: Apache
3
+ fileTypes:
4
+ - conf
5
+ - htaccess
6
+ scopeName: source.apache-config
7
+ repository:
8
+ vars:
9
+ patterns:
10
+ - name: support.variable.apache-config
11
+ captures:
12
+ "1":
13
+ name: punctuation.definition.variable.apache-config
14
+ "3":
15
+ name: punctuation.definition.variable.apache-config
16
+ match: (%\{)(?:HTTP_(?:USER_AGENT|REFERER|COOKIE|FORWARDED|HOST|PROXY_CONNECTION|ACCEPT)|REMOTE_(?:ADDR|HOST|USER|IDENT)|REQUEST_(?:METHOD|URI|FILENAME)|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_(?:ADMIN|NAME|ADDR|PORT|PROTOCOL|SOFTWARE)|TIME_(?:YEAR|MON|DAY|HOUR|MIN|SEC|WDAY)|TIME|API_VERSION|THE_REQUEST|IS_SUBREQ|(?:ENV|LA-U|LA-F|HTTP|SSL):[^\}]+)(\})
17
+ - name: invalid.illegal.bad-var.apache-config
18
+ match: "%\\{[^\\}]+\\}"
19
+ uuid: 023D670E-80F1-11D9-9BD1-00039398C572
20
+ foldingStartMarker: |-
21
+ ^[ ]*(?x)
22
+ (<(?i:FilesMatch|Files|DirectoryMatch|Directory|LocationMatch|Location|VirtualHost|IfModule|IfDefine)\b.*?>
23
+ )
24
+ patterns:
25
+ - name: comment.line.number-sign.apache-config
26
+ captures:
27
+ "1":
28
+ name: punctuation.definition.comment.apache-config
29
+ match: (#).*$\n?
30
+ - name: meta.tag.any.html
31
+ captures:
32
+ "6":
33
+ name: punctuation.definition.tag.apache-config
34
+ "1":
35
+ name: punctuation.definition.tag.apache-config
36
+ "2":
37
+ name: entity.name.tag.apache-config
38
+ "3":
39
+ name: punctuation.definition.tag.apache-config
40
+ "4":
41
+ name: meta.scope.between-tag-pair.apache-config
42
+ "5":
43
+ name: entity.name.tag.apache-config
44
+ match: ^[ ]*(<)([a-zA-Z0-9:]+)[^>]*(>(<)/)(\2)(>)
45
+ - name: meta.vhost.apache-config
46
+ endCaptures:
47
+ "1":
48
+ name: meta.tag.apache-config
49
+ "2":
50
+ name: punctuation.definition.tag.apache-config
51
+ "3":
52
+ name: entity.name.tag.apache-config
53
+ "4":
54
+ name: punctuation.definition.tag.apache-config
55
+ begin: ^[ ]*((<)(VirtualHost)(?:[ ]+([^>]+))?(>))
56
+ beginCaptures:
57
+ "1":
58
+ name: meta.tag.apache-config
59
+ "2":
60
+ name: punctuation.definition.tag.apache-config
61
+ "3":
62
+ name: entity.name.tag.apache-config
63
+ "4":
64
+ name: meta.toc-list.virtual-host.apache-config
65
+ "5":
66
+ name: punctuation.definition.tag.apache-config
67
+ end: ^[ ]*((</)(VirtualHost)[^>]*(>))
68
+ patterns:
69
+ - include: $base
70
+ - name: meta.directory.apache-config
71
+ endCaptures:
72
+ "1":
73
+ name: meta.tag.apache-config
74
+ "2":
75
+ name: punctuation.definition.tag.apache-config
76
+ "3":
77
+ name: entity.name.tag.apache-config
78
+ "4":
79
+ name: punctuation.definition.tag.apache-config
80
+ begin: ^[ ]*((<)(Directory(?:Match)?)(?:[ ]+([^>]+))?(>))
81
+ beginCaptures:
82
+ "1":
83
+ name: meta.tag.apache-config
84
+ "2":
85
+ name: punctuation.definition.tag.apache-config
86
+ "3":
87
+ name: entity.name.tag.apache-config
88
+ "4":
89
+ name: meta.toc-list.directory.apache-config
90
+ "5":
91
+ name: punctuation.definition.tag.apache-config
92
+ end: ^[ ]*((</)(Directory(?:Match)?)[^>]*(>))
93
+ patterns:
94
+ - include: $base
95
+ - name: meta.location.apache-config
96
+ endCaptures:
97
+ "1":
98
+ name: meta.tag.apache-config
99
+ "2":
100
+ name: punctuation.definition.tag.apache-config
101
+ "3":
102
+ name: entity.name.tag.apache-config
103
+ "4":
104
+ name: punctuation.definition.tag.apache-config
105
+ begin: ^[ ]*((<)(Location(?:Match)?)(?:[ ]+([^>]+))?(>))
106
+ beginCaptures:
107
+ "1":
108
+ name: meta.tag.apache-config
109
+ "2":
110
+ name: punctuation.definition.tag.apache-config
111
+ "3":
112
+ name: entity.name.tag.apache-config
113
+ "4":
114
+ name: meta.toc-list.location.apache-config
115
+ "5":
116
+ name: punctuation.definition.tag.apache-config
117
+ end: ^[ ]*((</)(Location(?:Match)?)[^>]*(>))
118
+ patterns:
119
+ - include: $base
120
+ - captures:
121
+ "1":
122
+ name: support.constant.rewritecond.apache-config
123
+ begin: ^[ ]*\b(RewriteCond)\b
124
+ end: $
125
+ patterns:
126
+ - begin: "[ ]+"
127
+ end: $
128
+ patterns:
129
+ - include: "#vars"
130
+ - name: string.regexp.rewrite-test.apache-config
131
+ match: "[^ %\\n]+"
132
+ - begin: "[ ]+"
133
+ end: $
134
+ patterns:
135
+ - name: string.other.rewrite-condition.apache-config
136
+ match: "[^ %\\n]+"
137
+ - captures:
138
+ "1":
139
+ name: string.regexp.rewrite-operator.apache-config
140
+ match: "[ ]+(\\[[^\\]]+\\])"
141
+ - captures:
142
+ "1":
143
+ name: support.constant.rewriterule.apache-config
144
+ begin: ^[ ]*\b(RewriteRule)\b
145
+ end: $
146
+ patterns:
147
+ - begin: "[ ]+"
148
+ end: $
149
+ patterns:
150
+ - include: "#vars"
151
+ - name: string.regexp.rewrite-pattern.apache-config
152
+ match: "[^ %]+"
153
+ - begin: "[ ]+"
154
+ end: $
155
+ patterns:
156
+ - include: "#vars"
157
+ - name: string.other.rewrite-substitution.apache-config
158
+ match: "[^ %\\n]+"
159
+ - captures:
160
+ "1":
161
+ name: string.regexp.rewrite-operator.apache-config
162
+ match: "[ ]+(\\[[^\\]]+\\])"
163
+ - name: support.constant.apache-config
164
+ match: \b(R(e(sourceConfig|direct(Match|Temp|Permanent)?|qu(ire|estHeader)|ferer(Ignore|Log)|write(Rule|Map|Base|Cond|Options|Engine|Lo(ck|g(Level)?))|admeName|move(Handler|Charset|Type|InputFilter|OutputFilter|Encoding|Language))|Limit(MEM|NPROC|CPU))|Group|XBitHack|M(MapFile|i(nSpare(Servers|Threads)|meMagicFile)|odMimeUsePathInfo|Cache(RemovalAlgorithm|M(inObjectSize|ax(StreamingBuffer|Object(Size|Count)))|Size)|ultiviewsMatch|eta(Suffix|Dir|Files)|ax(RequestsPer(Child|Thread)|MemFree|Spare(Servers|Threads)|Clients|Threads(PerChild)?|KeepAliveRequests))|B(indAddress|S2000Account|rowserMatch(NoCase)?)|S(hmemUIDisUser|c(oreBoardFile|ript(Sock|InterpreterSource|Log(Buffer|Length)?|Alias(Match)?)?)|tart(Servers|Threads)|S(I(StartTag|TimeFormat|UndefinedEcho|E(ndTag|rrorMsg))|L(R(equire(SSL)?|andomSeed)|Mutex|SessionCache(Timeout)?|C(ipherSuite|ertificate(ChainFile|KeyFile|File)|A(Revocation(Path|File)|Certificate(Path|File)))|Options|P(assPhraseDialog|ro(tocol|xy(MachineCertificate(Path|File)|C(ipherSuite|A(Revocation(Path|File)|Certificate(Path|File)))|Protocol|Engine|Verify(Depth)?)))|Engine|Verify(Client|Depth)))|uexecUserGroup|e(ndBufferSize|cureListen|t(Handler|InputFilter|OutputFilter|Env(If(NoCase)?)?)|rver(Root|Signature|Name|T(ype|okens)|Path|Limit|A(dmin|lias)))|atisfy)|H(ostnameLookups|eader(Name)?)|N(o(Cache|Proxy)|umServers|ameVirtualHost|WSSL(TrustedCerts|Upgradeable))|C(h(ildPerUserID|eckSpelling|arset(SourceEnc|Options|Default))|GI(MapExtension|CommandArgs)|o(ntentDigest|okie(Style|Name|Tracking|Domain|Prefix|Expires|Format|Log)|reDumpDirectory)|ustomLog|learModuleList|ache(Root|Gc(MemUsage|Clean|Interval|Daily|Unused)|M(inFileSize|ax(Expire|FileSize))|Size|NegotiatedDocs|TimeMargin|Ignore(NoLastMod|CacheControl)|D(i(sable|rLe(ngth|vels))|efaultExpire)|E(nable|xpiryCheck)|F(ile|orceCompletion)|LastModifiedFactor))|T(hread(sPerChild|StackSize|Limit)|ypesConfig|ime(out|Out)|ransferLog)|I(n(clude|dex(Ignore|O(ptions|rderDefault)))|SAPI(ReadAheadBuffer|CacheFile|FakeAsync|LogNotSupported|AppendLogTo(Errors|Query))|dentityCheck|f(Module|Define)|map(Menu|Base|Default))|O(ptions|rder)|D(irectory(Match|Slash|Index)?|ocumentRoot|e(ny|f(late(MemLevel|BufferSize|CompressionLevel|FilterNote|WindowSize)|ault(Type|Icon|Language)))|av(MinTimeout|DepthInfinity|LockDB)?)|U(se(CanonicalName|r(Dir)?)|nsetEnv)|P(idFile|ort|assEnv|ro(tocol(ReqCheck|Echo)|xy(Re(ceiveBufferSize|quests|mote(Match)?)|Ma(tch|xForwards)|B(lock|adHeader)|Timeout|IOBufferSize|Domain|P(ass(Reverse)?|reserveHost)|ErrorOverride|Via)?))|E(nable(MMAP|Sendfile|ExceptionHook)|BCDIC(Convert(ByType)?|Kludge)|rror(Header|Document|Log)|x(t(endedStatus|Filter(Options|Define))|pires(ByType|Default|Active)|ample))|Virtual(ScriptAlias(IP)?|Host|DocumentRoot(IP)?)|KeepAlive(Timeout)?|F(ile(s(Match)?|ETag)|or(ce(Type|LanguagePriority)|ensicLog)|ancyIndexing)|Win32DisableAcceptEx|L(i(sten(Back(log|Log))?|mit(Request(Body|Field(s(ize)?|Size)|Line)|XMLRequestBody|InternalRecursion|Except)?)|o(c(kFile|ation(Match)?)|ad(Module|File)|g(Format|Level))|DAP(SharedCache(Size|File)|Cache(TTL|Entries)|TrustedCA(Type)?|OpCache(TTL|Entries))|anguagePriority)|A(ssignUserID|nonymous(_(MustGiveEmail|NoUserID|VerifyEmail|LogEmail|Authoritative))?|c(ce(ss(Config|FileName)|pt(Mutex|PathInfo|Filter))|tion)|dd(Module(Info)?|Handler|Charset|Type|I(nputFilter|con(By(Type|Encoding))?)|OutputFilter(ByType)?|De(scription|faultCharset)|Encoding|Language|Alt(By(Type|Encoding))?)|uth(GroupFile|Name|Type|D(B(GroupFile|M(GroupFile|Type|UserFile|Authoritative)|UserFile|Authoritative)|igest(GroupFile|ShmemSize|N(cCheck|once(Format|Lifetime))|Domain|Qop|File|Algorithm))|UserFile|LDAP(RemoteUserIsDN|GroupAttribute(IsDN)?|Bind(DN|Password)|C(harsetConfig|ompareDNOnServer)|DereferenceAliases|Url|Enabled|FrontPageHack|Authoritative)|Authoritative)|l(ias(Match)?|low(CONNECT|Override|EncodedSlashes)?)|gentLog))\b
165
+ - name: support.class.apache-config
166
+ match: \b(access_module|action_module|alias_module|anon_auth_module|asis_module|auth_module|autoindex_module|cern_meta_module|cgi_module|config_log_module|dav_module|dbm_auth_module|digest_module|dir_module|env_module|expires_module|foo_module|headers_module|hfs_apple_module|imap_module|includes_module|info_module|jk_module|mime_magic_module|mime_module|negotiation_module|perl_module|php4_module|php5_module|proxy_module|rendezvous_apple_module|rendezvous_module|rewrite_module|setenvif_module|speling_module|ssl_module|status_module|unique_id_module|userdir_module|usertrack_module|vhost_alias_module)\b
167
+ - name: string.quoted.double.apache-config
168
+ endCaptures:
169
+ "0":
170
+ name: punctuation.definition.string.end.apache-config
171
+ begin: "\""
172
+ beginCaptures:
173
+ "0":
174
+ name: punctuation.definition.string.begin.apache-config
175
+ end: "\"(?!\")"
176
+ patterns:
177
+ - name: constant.character.escape.apostrophe.apache
178
+ match: "\"\""
179
+ - name: meta.tag.apache-config
180
+ captures:
181
+ "1":
182
+ name: punctuation.definition.tag.apache-config
183
+ "2":
184
+ name: entity.name.tag.apache-config
185
+ begin: (</?)([a-zA-Z]+)
186
+ end: (/?>)
187
+ foldingStopMarker: |-
188
+ ^[ ]*(?x)
189
+ (</(?i:FilesMatch|Files|DirectoryMatch|Directory|LocationMatch|Location|VirtualHost|IfModule|IfDefine)>
190
+ )
191
+ keyEquivalent: ^~A
@@ -0,0 +1,384 @@
1
+ ---
2
+ name: AppleScript
3
+ fileTypes:
4
+ - applescript
5
+ - script editor
6
+ scopeName: source.applescript
7
+ repository:
8
+ textmate:
9
+ patterns:
10
+ - name: support.class.textmate.applescript
11
+ match: \b(print settings)\b
12
+ - name: support.function.textmate.applescript
13
+ match: \b(get url|insert|reload bundles)\b
14
+ standard-suite:
15
+ patterns:
16
+ - name: support.class.standard-suite.applescript
17
+ match: \b(colors?|documents?|items?|windows?)\b
18
+ - name: support.function.standard-suite.applescript
19
+ match: \b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\b
20
+ - name: support.constant.standard-suite.applescript
21
+ match: \b(name|frontmost|version)\b
22
+ - name: support.variable.standard-suite.applescript
23
+ match: \b(selection)\b
24
+ - name: support.class.text-suite.applescript
25
+ match: \b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\b
26
+ tell-blocks:
27
+ patterns:
28
+ - name: meta.tell-block.application.textmate.applescript
29
+ captures:
30
+ "1":
31
+ name: keyword.control.applescript
32
+ begin: ^\s*(tell)\s+(?=app(lication)?\s+"(?i:textmate)")(?!.*\bto\b)
33
+ end: ^\s*(end tell)
34
+ patterns:
35
+ - include: "#textmate"
36
+ - include: "#standard-suite"
37
+ - include: $self
38
+ comment: tell Textmate
39
+ - name: meta.tell-block.application.finder.applescript
40
+ captures:
41
+ "1":
42
+ name: keyword.control.applescript
43
+ begin: ^\s*(tell)\s+(?=app(lication)?\s+"(?i:finder)")(?!.*\bto\b)
44
+ end: ^\s*(end tell)
45
+ patterns:
46
+ - include: "#finder"
47
+ - include: "#standard-suite"
48
+ - include: $self
49
+ comment: tell Finder
50
+ - name: meta.tell-block.application.system-events.applescript
51
+ captures:
52
+ "1":
53
+ name: keyword.control.applescript
54
+ begin: ^\s*(tell)\s+(?=app(lication)?\s+"(?i:system events)")(?!.*\bto\b)
55
+ end: ^\s*(end tell)
56
+ patterns:
57
+ - include: "#system-events"
58
+ - include: "#standard-suite"
59
+ - include: $self
60
+ comment: tell System Events
61
+ - name: meta.tell-block.application.itunes.applescript
62
+ captures:
63
+ "1":
64
+ name: keyword.control.applescript
65
+ begin: ^\s*(tell)\s+(?=app(lication)?\s+"(?i:itunes)")(?!.*\bto\b)
66
+ end: ^\s*(end tell)
67
+ patterns:
68
+ - include: "#itunes"
69
+ - include: "#standard-suite"
70
+ - include: $self
71
+ comment: tell iTunes
72
+ - name: meta.tell-block.application.generic.applescript
73
+ captures:
74
+ "1":
75
+ name: keyword.control.applescript
76
+ begin: ^\s*(tell)\s+(?=app(lication)?\b)(?!.*\bto\b)
77
+ end: ^\s*(end tell)
78
+ patterns:
79
+ - include: "#standard-suite"
80
+ - include: $self
81
+ comment: tell generic application
82
+ - name: meta.tell-block.generic.applescript
83
+ captures:
84
+ "1":
85
+ name: keyword.control.applescript
86
+ begin: ^\s*(tell)\s+(?!.*\bto\b)
87
+ end: ^\s*(end tell)
88
+ patterns:
89
+ - include: $self
90
+ comment: generic tell block
91
+ comments:
92
+ patterns:
93
+ - name: comment.line.double-dash.applescript
94
+ captures:
95
+ "1":
96
+ name: punctuation.definition.comment.applescript
97
+ match: (--).*$\n?
98
+ - name: comment.block.applescript
99
+ captures:
100
+ "0":
101
+ name: punctuation.definition.comment.applescript
102
+ begin: \(\*
103
+ end: \*\)
104
+ inline:
105
+ patterns:
106
+ - include: "#comments"
107
+ - include: "#data-structures"
108
+ - include: "#built-in"
109
+ - include: "#standardadditions"
110
+ data-structures:
111
+ patterns:
112
+ - name: meta.data.array.applescript
113
+ captures:
114
+ "1":
115
+ name: punctuation.section.array.applescript
116
+ begin: (\{)
117
+ end: (\})
118
+ patterns:
119
+ - captures:
120
+ "1":
121
+ name: constant.other.key.applescript
122
+ "2":
123
+ name: meta.identifier.applescript
124
+ "3":
125
+ name: punctuation.definition.identifier.applescript
126
+ "4":
127
+ name: punctuation.definition.identifier.applescript
128
+ "5":
129
+ name: punctuation.separator.key-value.applescript
130
+ match: ([A-Za-z]+|((\|)[^|\n]*(\|)))\s*(:)
131
+ - name: punctuation.separator.key-value.applescript
132
+ match: ":"
133
+ - name: punctuation.separator.array.applescript
134
+ match: ","
135
+ - include: "#inline"
136
+ comment: "\n\
137
+ \t\t\t\t\t\twe cannot necessarily distinguish \"records\" from\n\
138
+ \t\t\t\t\t\t\"arrays\", and so this could be either\n\
139
+ \t\t\t\t\t"
140
+ - name: string.quoted.double.application-name.applescript
141
+ captures:
142
+ "1":
143
+ name: punctuation.definition.string.applescript
144
+ begin: ((?<=application )"|(?<=app )")
145
+ end: (")
146
+ patterns:
147
+ - name: constant.character.escape.applescript
148
+ match: \\.
149
+ - name: string.quoted.double.applescript
150
+ captures:
151
+ "1":
152
+ name: punctuation.definition.string.applescript
153
+ begin: (")
154
+ end: (")
155
+ patterns:
156
+ - name: constant.character.escape.applescript
157
+ match: \\.
158
+ - name: meta.identifier.applescript
159
+ captures:
160
+ "1":
161
+ name: punctuation.definition.identifier.applescript
162
+ "2":
163
+ name: punctuation.definition.identifier.applescript
164
+ match: (\|)[^|\n]*(\|)
165
+ - name: meta.data.applescript
166
+ captures:
167
+ "6":
168
+ name: keyword.operator.applescript
169
+ "7":
170
+ name: support.class.built-in.applescript
171
+ "1":
172
+ name: punctuation.definition.data.applescript
173
+ "2":
174
+ name: support.class.built-in.applescript
175
+ "3":
176
+ name: storage.type.utxt.applescript
177
+ "4":
178
+ name: string.unquoted.data.applescript
179
+ "5":
180
+ name: punctuation.definition.data.applescript
181
+ match: "(\xC2\xAB)(data) (utxt|utf8)([0-9A-Fa-f]*)(\xC2\xBB)(?: (as) (Unicode text))?"
182
+ system-events:
183
+ patterns:
184
+ - name: support.class.system-events.audio-file.applescript
185
+ match: \b(audio (data|file))\b
186
+ - name: support.class.system-events.disk-folder-file.applescript
187
+ match: \b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\b
188
+ - name: support.function.system-events.disk-folder-file.applescript
189
+ match: \b(delete|open|move)\b
190
+ - name: support.class.system-events.folder-actions.applescript
191
+ match: \b(folder actions?|scripts?)\b
192
+ - name: support.function.system-events.folder-actions.applescript
193
+ match: \b(attach action to|attached scripts|edit action of|remove action from)\b
194
+ - name: support.class.system-events.movie-file.applescript
195
+ match: \b(movie data|movie file)\b
196
+ - name: support.function.system-events.power.applescript
197
+ match: \b(log out|restart|shut down|sleep)\b
198
+ - name: support.class.system-events.processes.applescript
199
+ 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
200
+ - name: support.function.system-events.processes.applescript
201
+ match: \b(click|key code|keystroke|perform|select)\b
202
+ - name: support.class.system-events.property-list.applescript
203
+ match: \b(property list (file|item))\b
204
+ - name: support.class.system-events.quicktime-file.applescript
205
+ match: \b(annotation|QuickTime (data|file)|track)s?\b
206
+ - name: support.function.system-events.system-events.applescript
207
+ match: \b((abort|begin|end) transaction)\b
208
+ - name: support.class.system-events.xml.applescript
209
+ match: \b(XML (attribute|data|element|file)s?)\b
210
+ - name: support.class.sytem-events.other.applescript
211
+ match: \b(print settings|users?|login items?)\b
212
+ itunes:
213
+ patterns:
214
+ - name: support.class.itunes.applescript
215
+ 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
216
+ - name: support.function.itunes.applescript
217
+ 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
218
+ - name: support.constant.itunes.applescript
219
+ match: \b(current (playlist|stream (title|URL)|track)|player state)\b
220
+ - name: support.variable.itunes.applescript
221
+ match: \b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\b
222
+ standardadditions:
223
+ patterns:
224
+ - name: support.class.standardadditions.user-interaction.applescript
225
+ match: \b((alert|dialog) reply)\b
226
+ - name: support.class.standardadditions.file.applescript
227
+ match: \b(file information)\b
228
+ - name: support.class.standardadditions.miscellaneous.applescript
229
+ match: \b(POSIX files?|system information|volume settings)\b
230
+ - name: support.class.standardadditions.internet.applescript
231
+ match: \b(URLs?|internet address(es)?|web pages?|FTP items?)\b
232
+ - name: support.function.standardadditions.file.applescript
233
+ match: \b(info for|list (disks|folder)|mount volume|path to( resource)?)\b
234
+ - name: support.function.standardadditions.user-interaction.applescript
235
+ match: \b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\b
236
+ - name: support.function.standardadditions.string.applescript
237
+ match: \b(ASCII (character|number)|localized string|offset|summarize)\b
238
+ - name: support.function.standardadditions.clipboard.applescript
239
+ match: \b(set the clipboard to|the clipboard|clipboard info)\b
240
+ - name: support.function.standardadditions.file-i-o.applescript
241
+ match: \b(open for access|close access|read|write|get eof|set eof)\b
242
+ - name: support.function.standardadditions.scripting.applescript
243
+ match: \b((load|store|run) script|scripting components)\b
244
+ - name: support.function.standardadditions.miscellaneous.applescript
245
+ match: \b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\b
246
+ - name: support.function.standardadditions.folder-actions.applescript
247
+ match: \b(opening folder|(closing|moving) folder window for|adding folder items to|removing folder items from)\b
248
+ - name: support.function.standardadditions.internet.applescript
249
+ match: \b(open location|handle CGI request)\b
250
+ built-in:
251
+ patterns:
252
+ - name: punctuation.separator.continuation.line.applescript
253
+ match: !binary |
254
+ wqw=
255
+
256
+ - name: keyword.operator.applescript
257
+ 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|(\xE2\x89\xA0|\xE2\x89\xA5|\xE2\x89\xA4|>=|<=|\xC3\xB7|&|=|>|<|\\*|\\+|-|/|\\^)"
258
+ - captures:
259
+ "1":
260
+ name: keyword.control.applescript
261
+ match: (?<=^|then|to)\s*\b(return|prop(erty)?)\b
262
+ comment: make sure that "return", "property", and other keywords are not preceded by something else, to disambiguate
263
+ - name: punctuation.separator.key-value.property.applescript
264
+ match: ":"
265
+ comment: "the : in property assignments"
266
+ - name: punctuation.section.group.applescript
267
+ match: "[()]"
268
+ comment: the parentheses in groups
269
+ - name: keyword.control.applescript
270
+ 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
271
+ - name: keyword.control.reference.applescript
272
+ 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
273
+ - name: constant.other.text-styles.applescript
274
+ match: \b(all (caps|lowercase)|bold|condensed|expanded|hidden|italic|outline|plain|shadow|small caps|strikethrough|(sub|super)script|underline)\b
275
+ - name: constant.language.boolean.applescript
276
+ match: \b(?i:true|false|yes|no)\b
277
+ comment: "yes/no can\xE2\x80\x99t always be used as booleans, e.g. in an if() expression. But they work e.g. for boolean arguments."
278
+ - name: constant.language.null.applescript
279
+ match: \b(null)\b
280
+ - name: constant.other.date-time.applescript
281
+ 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
282
+ - name: constant.other.considering-ignoring-attributes.applescript
283
+ match: \b(?<=considering|ignoring) (application responses|current application|case|diacriticals|expansion|hyphens|punctuation|white space)\b
284
+ comment: these are used in considering/ignoring statements
285
+ - name: constant.other.characters.applescript
286
+ match: \b(space|return|tab)\b
287
+ - name: constant.other.miscellaneous.applescript
288
+ match: \b(current application|it|me|version|result|pi|AppleScript)\b
289
+ - name: variable.language.applescript
290
+ match: \b(text item delimiters|print length|print depth)\b
291
+ - name: support.function.built-in.applescript
292
+ match: \b(count (each|every)|number of|error|get|run)\b
293
+ - name: support.class.built-in.applescript
294
+ 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
295
+ - name: constant.numeric.applescript
296
+ match: \b\d+((\.(\d+\b)?)?(?i:e\+?\d*\b)?|\b)
297
+ finder:
298
+ patterns:
299
+ - name: support.class.finder.items.applescript
300
+ match: \b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\b
301
+ - name: support.class.finder.window-classes.applescript
302
+ match: \b((Finder|desktop|information|preferences|clipping) )windows?\b
303
+ - name: support.class.finder.type-definitions.applescript
304
+ match: \b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\b
305
+ - name: support.function.finder.items.applescript
306
+ match: \b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\b
307
+ - name: support.constant.finder.applescript
308
+ match: \b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\b
309
+ - name: support.variable.finder.applescript
310
+ match: \b(visible)\b
311
+ blocks:
312
+ patterns:
313
+ - name: meta.script.applescript
314
+ captures:
315
+ "1":
316
+ name: keyword.control.script.applescript
317
+ "2":
318
+ name: entity.name.type.script-object.applescript
319
+ begin: ^\s*(script)\s+(\w+)
320
+ end: ^\s*(end script)
321
+ patterns:
322
+ - include: $self
323
+ - name: meta.function.with-parentheses.applescript
324
+ captures:
325
+ "1":
326
+ name: keyword.control.on.applescript
327
+ "2":
328
+ name: entity.name.function.handler.applescript
329
+ "3":
330
+ name: punctuation.definition.parameters.applescript
331
+ "4":
332
+ name: variable.parameter.handler.applescript
333
+ "5":
334
+ name: punctuation.definition.parameters.applescript
335
+ begin: "^(?x)\n\
336
+ \t\t\t\t\t\t\\s*(to|on)\\s+ \t\t\t\t\t# \"on\" or \"to\"\n\
337
+ \t\t\t\t\t\t([A-Za-z][A-Za-z0-9_]*)\t\t\t# function name\n\
338
+ \t\t\t\t\t\t(\\()\t\t\t\t\t\t\t# opening paren\n\
339
+ \t\t\t\t\t\t\t(?:(\\w+(?:\\s*,\\s*\\w+)*))?\t# parameters\n\
340
+ \t\t\t\t\t\t(\\))\t\t\t\t\t\t\t# closing paren\n\
341
+ \t\t\t\t\t"
342
+ end: "^\\s*(end)(?: (\\2))?\\s*$"
343
+ patterns:
344
+ - include: $self
345
+ comment: "\n\
346
+ \t\t\t\t\t\tThis is not a very well-designed rule. For now,\n\
347
+ \t\t\t\t\t\twe can leave it like this though, as it sorta works.\n\
348
+ \t\t\t\t\t"
349
+ - name: meta.function.prepositional.applescript
350
+ captures:
351
+ "1":
352
+ name: keyword.control.on.applescript
353
+ "2":
354
+ name: entity.name.function.handler.applescript
355
+ 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+)
356
+ end: "^\\s*(end)(?: (\\2))?\\s*$"
357
+ patterns:
358
+ - captures:
359
+ "1":
360
+ name: keyword.control.preposition.applescript
361
+ "2":
362
+ name: variable.parameter.handler.applescript
363
+ 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
364
+ - include: $self
365
+ - include: "#tell-blocks"
366
+ uuid: 777CF925-14B9-428E-B07B-17FAAB8FA27E
367
+ foldingStartMarker: "(?x)\n\
368
+ \t\t^\\s*\n\
369
+ \t\t(tell \\s+ (?! .* \\bto\\b) .*\n\
370
+ \t\t|using \\s+ terms \\s+ from \\s+ .*\n\
371
+ \t\t|if\\b .* \\bthen\\b .*\n\
372
+ \t\t|repeat\\b .*\n\
373
+ \t\t|( on | to )\\b (?!\\s+ error) .*\n\
374
+ \t\t|try\n\
375
+ \t\t|with \\s+ timeout .*\n\
376
+ \t\t|script\\b .*\n\
377
+ \t\t|( considering | ignoring )\\b .*\n\
378
+ \t\t)\\s*$\n\
379
+ \t"
380
+ patterns:
381
+ - include: "#blocks"
382
+ - include: "#inline"
383
+ foldingStopMarker: ^\s*end\b.*$
384
+ keyEquivalent: ^~A