github-linguist 5.3.3 → 6.0.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 (460) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +5 -2
  3. data/ext/linguist/linguist.c +18 -7
  4. data/grammars/annotation.liquidhaskell.haskell.json +969 -862
  5. data/grammars/config.xcompose.json +22 -25
  6. data/grammars/file.lasso.json +296 -309
  7. data/grammars/hint.haskell.json +867 -766
  8. data/grammars/hint.message.haskell.json +867 -766
  9. data/grammars/hint.type.haskell.json +867 -766
  10. data/grammars/objdump.x86asm.json +20 -24
  11. data/grammars/source.Kotlin.json +220 -225
  12. data/grammars/source.LS.json +36 -55
  13. data/grammars/source.MCPOST.json +24 -38
  14. data/grammars/source.MOD.json +26 -41
  15. data/grammars/source.SASLog.json +9 -16
  16. data/grammars/source.abap.json +48 -56
  17. data/grammars/source.abl.json +8 -14
  18. data/grammars/source.abnf.json +88 -98
  19. data/grammars/source.actionscript.3.json +398 -429
  20. data/grammars/source.acucobol.json +5 -8
  21. data/grammars/source.ada.json +46 -53
  22. data/grammars/source.afm.json +548 -554
  23. data/grammars/source.agc.json +34 -37
  24. data/grammars/source.agda.json +79 -91
  25. data/grammars/source.ahk.json +62 -66
  26. data/grammars/source.alloy.json +16 -20
  27. data/grammars/source.ampl.json +41 -47
  28. data/grammars/source.angelscript.json +71 -80
  29. data/grammars/source.antlr.json +131 -136
  30. data/grammars/source.apache-config.json +93 -99
  31. data/grammars/source.apache-config.mod_perl.json +19 -24
  32. data/grammars/source.apl.json +1038 -1029
  33. data/grammars/source.applescript.json +501 -523
  34. data/grammars/source.apt.json +9 -16
  35. data/grammars/source.asn.json +27 -31
  36. data/grammars/source.asp.json +61 -67
  37. data/grammars/source.aspectj.json +385 -391
  38. data/grammars/source.assembly.json +49 -55
  39. data/grammars/source.ats.json +45 -121
  40. data/grammars/source.autoit.json +64 -69
  41. data/grammars/source.awk.json +172 -176
  42. data/grammars/source.ballerina.json +48 -395
  43. data/grammars/source.batchfile.json +269 -269
  44. data/grammars/source.befunge.json +17 -21
  45. data/grammars/source.bf.json +5 -11
  46. data/grammars/source.bison.json +10 -14
  47. data/grammars/source.blitzmax.json +300 -305
  48. data/grammars/source.boo.json +189 -193
  49. data/grammars/source.brightauthorproject.json +8 -13
  50. data/grammars/source.brightscript.json +37 -47
  51. data/grammars/source.bro.json +134 -140
  52. data/grammars/source.bsl.json +152 -193
  53. data/grammars/source.bsv.json +96 -102
  54. data/grammars/source.c++.json +176 -193
  55. data/grammars/source.c++.qt.json +13 -21
  56. data/grammars/source.c.ec.json +15 -21
  57. data/grammars/source.c.json +237 -251
  58. data/grammars/source.c.platform.json +153 -159
  59. data/grammars/source.c2hs.json +3 -6
  60. data/grammars/source.cabal.json +17 -20
  61. data/grammars/source.cache.cmake.json +18 -23
  62. data/grammars/source.cake.json +4 -7
  63. data/grammars/source.camlp4.ocaml.json +24 -27
  64. data/grammars/source.capnp.json +33 -38
  65. data/grammars/source.ceylon.json +44 -50
  66. data/grammars/source.cfscript.cfc.json +78 -86
  67. data/grammars/source.cfscript.json +513 -520
  68. data/grammars/source.changelogs.rpm-spec.json +8 -16
  69. data/grammars/source.chapel.json +109 -87
  70. data/grammars/source.cirru.json +25 -30
  71. data/grammars/source.clarion.json +41 -54
  72. data/grammars/source.clean.json +90 -95
  73. data/grammars/source.click.json +25 -28
  74. data/grammars/source.clips.json +10 -23
  75. data/grammars/source.clojure.json +151 -168
  76. data/grammars/source.cm.json +14 -19
  77. data/grammars/source.cmake.json +53 -61
  78. data/grammars/source.cobol.json +165 -180
  79. data/grammars/source.coffee.json +454 -462
  80. data/grammars/source.cool.json +36 -43
  81. data/grammars/source.coq.json +17 -21
  82. data/grammars/source.crystal.json +889 -983
  83. data/grammars/source.cs.json +739 -740
  84. data/grammars/source.csound-document.json +69 -73
  85. data/grammars/source.csound-score.json +52 -55
  86. data/grammars/source.csound.json +167 -171
  87. data/grammars/source.css.json +683 -688
  88. data/grammars/source.css.less.json +211 -511
  89. data/grammars/source.css.mss.json +94 -101
  90. data/grammars/source.css.postcss.sugarss.json +260 -0
  91. data/grammars/source.csx.json +4 -7
  92. data/grammars/source.cuda-c++.json +47 -81
  93. data/grammars/source.cwl.json +103 -0
  94. data/grammars/source.cython.json +536 -582
  95. data/grammars/source.d.json +243 -252
  96. data/grammars/source.dart.json +161 -166
  97. data/grammars/source.data-weave.json +901 -905
  98. data/grammars/source.desktop.json +29 -33
  99. data/grammars/source.diff.json +43 -52
  100. data/grammars/source.disasm.json +15 -16
  101. data/grammars/source.ditroff.desc.json +73 -84
  102. data/grammars/source.ditroff.json +60 -61
  103. data/grammars/source.dm.json +202 -213
  104. data/grammars/source.dmf.json +44 -47
  105. data/grammars/source.dockerfile.json +29 -34
  106. data/grammars/source.dot.json +46 -55
  107. data/grammars/source.dylan.json +63 -68
  108. data/grammars/source.ebnf.json +55 -62
  109. data/grammars/source.eiffel.json +57 -62
  110. data/grammars/source.elixir.json +321 -366
  111. data/grammars/source.emacs.lisp.json +458 -249
  112. data/grammars/source.erazor.json +49 -57
  113. data/grammars/source.erlang.json +508 -515
  114. data/grammars/source.essl.json +17 -30
  115. data/grammars/source.factor.json +85 -91
  116. data/grammars/source.fan.json +92 -96
  117. data/grammars/source.fancy.json +93 -118
  118. data/grammars/source.fish.json +74 -98
  119. data/grammars/source.fontforge.json +142 -146
  120. data/grammars/source.forth.json +42 -57
  121. data/grammars/source.fortran.json +193 -231
  122. data/grammars/source.fortran.modern.json +77 -103
  123. data/grammars/source.fsharp.fsi.json +1 -6
  124. data/grammars/source.fsharp.fsl.json +1 -6
  125. data/grammars/source.fsharp.fsx.json +1 -6
  126. data/grammars/source.fsharp.json +148 -153
  127. data/grammars/source.gap.json +60 -70
  128. data/grammars/source.gcode.json +9 -16
  129. data/grammars/source.gdb.json +63 -79
  130. data/grammars/source.gdb.session.json +27 -28
  131. data/grammars/source.gdbregs.json +7 -8
  132. data/grammars/source.gdscript.json +92 -96
  133. data/grammars/source.gerber.json +38 -56
  134. data/grammars/source.gfm.json +447 -462
  135. data/grammars/source.glsl.json +58 -83
  136. data/grammars/source.gn.json +188 -193
  137. data/grammars/source.gnuplot.json +104 -120
  138. data/grammars/source.go.json +169 -181
  139. data/grammars/source.golo.json +82 -87
  140. data/grammars/source.gosu.2.json +58 -68
  141. data/grammars/source.grace.json +266 -270
  142. data/grammars/source.graphql.json +586 -596
  143. data/grammars/source.groovy.gradle.json +18 -22
  144. data/grammars/source.groovy.json +422 -433
  145. data/grammars/source.harbour.json +129 -173
  146. data/grammars/source.haskell.json +871 -772
  147. data/grammars/source.haxe.2.json +402 -413
  148. data/grammars/source.hlsl.json +6 -16
  149. data/grammars/source.hsc2hs.json +1 -4
  150. data/grammars/source.hsig.json +871 -770
  151. data/grammars/source.hss.1.json +122 -144
  152. data/grammars/source.httpspec.json +119 -123
  153. data/grammars/source.hxml.json +8 -15
  154. data/grammars/source.ideal.json +125 -125
  155. data/grammars/source.idl-dlm.json +25 -32
  156. data/grammars/source.idl.json +59 -80
  157. data/grammars/source.idris.json +171 -185
  158. data/grammars/source.inform7.json +117 -121
  159. data/grammars/source.ini.json +37 -43
  160. data/grammars/source.io.json +65 -73
  161. data/grammars/source.ioke.json +72 -78
  162. data/grammars/source.isabelle.root.json +26 -30
  163. data/grammars/source.isabelle.theory.json +46 -50
  164. data/grammars/source.j.json +18 -21
  165. data/grammars/source.jasmin.json +45 -50
  166. data/grammars/source.java-properties.json +31 -41
  167. data/grammars/source.java.json +333 -342
  168. data/grammars/source.jcl.json +15 -18
  169. data/grammars/source.jflex.json +166 -172
  170. data/grammars/source.jison.json +331 -334
  171. data/grammars/source.jisonlex-injection.json +1 -2
  172. data/grammars/source.jisonlex.json +148 -151
  173. data/grammars/source.jolie.json +37 -43
  174. data/grammars/source.jq.json +80 -87
  175. data/grammars/source.js.json +798 -818
  176. data/grammars/source.js.jsx.json +2115 -2225
  177. data/grammars/source.js.objj.json +167 -172
  178. data/grammars/source.js.regexp.json +50 -50
  179. data/grammars/source.js.regexp.replacement.json +7 -7
  180. data/grammars/source.jsdoc.json +94 -94
  181. data/grammars/source.json.json +61 -71
  182. data/grammars/source.julia.console.json +5 -6
  183. data/grammars/source.julia.json +237 -234
  184. data/grammars/source.lean.json +55 -67
  185. data/grammars/source.lid.json +6 -10
  186. data/grammars/source.lilypond.json +181 -195
  187. data/grammars/source.lisp.json +40 -50
  188. data/grammars/source.litcoffee.json +169 -183
  189. data/grammars/source.livescript.json +207 -220
  190. data/grammars/source.llvm.json +28 -38
  191. data/grammars/source.logos.json +7 -14
  192. data/grammars/source.logtalk.json +136 -141
  193. data/grammars/source.loomscript.json +77 -83
  194. data/grammars/source.lsl.json +90 -106
  195. data/grammars/source.lua.json +100 -109
  196. data/grammars/source.makefile.json +181 -188
  197. data/grammars/source.makegen.json +3 -7
  198. data/grammars/source.mask.json +260 -265
  199. data/grammars/source.mata.json +38 -46
  200. data/grammars/source.mathematica.json +155 -167
  201. data/grammars/source.matlab.json +407 -684
  202. data/grammars/source.maxscript.json +293 -281
  203. data/grammars/source.mercury.json +179 -184
  204. data/grammars/source.meson.json +52 -58
  205. data/grammars/source.meta-info.json +64 -74
  206. data/grammars/source.ml.json +107 -113
  207. data/grammars/source.modelica.json +51 -59
  208. data/grammars/source.modula2.json +33 -42
  209. data/grammars/source.monkey.json +234 -241
  210. data/grammars/source.moonscript.json +51 -56
  211. data/grammars/source.mql5.json +74 -101
  212. data/grammars/source.mupad.json +30 -72
  213. data/grammars/source.ncl.json +1 -14
  214. data/grammars/source.ne.json +39 -42
  215. data/grammars/source.nemerle.json +58 -63
  216. data/grammars/source.nesc.json +9 -15
  217. data/grammars/source.netlinx.erb.json +13 -25
  218. data/grammars/source.netlinx.json +231 -292
  219. data/grammars/source.nextflow-groovy.json +1360 -0
  220. data/grammars/source.nextflow.json +74 -0
  221. data/grammars/source.nginx.json +274 -287
  222. data/grammars/source.nim.json +442 -483
  223. data/grammars/source.nim_filter.json +6 -26
  224. data/grammars/source.nimcfg.json +38 -51
  225. data/grammars/source.ninja.json +64 -70
  226. data/grammars/source.nit.json +60 -64
  227. data/grammars/source.nix.json +269 -273
  228. data/grammars/source.nmml.json +31 -37
  229. data/grammars/source.nsis.json +66 -72
  230. data/grammars/source.nu.json +129 -139
  231. data/grammars/source.nut.json +129 -133
  232. data/grammars/source.objc++.json +3 -10
  233. data/grammars/source.objc.json +303 -314
  234. data/grammars/source.objc.platform.json +145 -151
  235. data/grammars/source.ocaml.json +506 -514
  236. data/grammars/source.ocamllex.json +108 -115
  237. data/grammars/source.ocamlyacc.json +116 -123
  238. data/grammars/source.ooc.json +148 -155
  239. data/grammars/source.opa.json +39 -49
  240. data/grammars/source.opal.json +84 -89
  241. data/grammars/source.opalsysdefs.json +9 -13
  242. data/grammars/source.opencobol.json +22 -25
  243. data/grammars/source.opentype.json +148 -152
  244. data/grammars/source.ox.json +36 -44
  245. data/grammars/source.oz.json +31 -38
  246. data/grammars/source.p4.json +49 -59
  247. data/grammars/source.pan.json +273 -278
  248. data/grammars/source.papyrus.skyrim.json +705 -781
  249. data/grammars/source.parrot.pir.json +59 -65
  250. data/grammars/source.pascal.json +54 -61
  251. data/grammars/source.pawn.json +835 -849
  252. data/grammars/source.pcb.board.json +153 -158
  253. data/grammars/source.pcb.schematic.json +134 -138
  254. data/grammars/source.pcb.sexp.json +64 -74
  255. data/grammars/source.pep8.json +28 -32
  256. data/grammars/source.perl.6.json +83 -92
  257. data/grammars/source.perl.json +711 -737
  258. data/grammars/source.perl6fe.json +1204 -1218
  259. data/grammars/source.php.zephir.json +80 -89
  260. data/grammars/source.pic.json +137 -142
  261. data/grammars/source.pig_latin.json +76 -80
  262. data/grammars/source.pike.json +23 -36
  263. data/grammars/source.po.json +74 -84
  264. data/grammars/source.pogoscript.json +23 -29
  265. data/grammars/source.pony.json +98 -108
  266. data/grammars/source.postcss.json +370 -0
  267. data/grammars/source.postscript.json +88 -97
  268. data/grammars/source.pov-ray sdl.json +36 -42
  269. data/grammars/source.powershell.json +175 -197
  270. data/grammars/source.processing.json +236 -249
  271. data/grammars/source.prolog.eclipse.json +33 -38
  272. data/grammars/source.prolog.json +66 -72
  273. data/grammars/source.protobuf.json +88 -94
  274. data/grammars/source.puppet.json +144 -151
  275. data/grammars/source.purescript.json +268 -289
  276. data/grammars/source.pyjade.json +256 -281
  277. data/grammars/source.python.django.json +13 -18
  278. data/grammars/source.python.json +3319 -3367
  279. data/grammars/source.python.salt.json +3 -7
  280. data/grammars/source.qmake.json +83 -90
  281. data/grammars/source.qml.json +57 -78
  282. data/grammars/source.quoting.perl6fe.json +666 -669
  283. data/grammars/source.r.json +75 -84
  284. data/grammars/source.racket.json +17 -38
  285. data/grammars/source.rascal.json +77 -80
  286. data/grammars/source.reason.hover.type.json +1 -1
  287. data/grammars/source.reason.json +1025 -1080
  288. data/grammars/source.rebol.json +167 -177
  289. data/grammars/source.red.json +169 -177
  290. data/grammars/source.regexp.babel.json +74 -77
  291. data/grammars/source.regexp.extended.json +4 -5
  292. data/grammars/source.regexp.json +260 -264
  293. data/grammars/source.regexp.perl6fe.json +108 -111
  294. data/grammars/source.regexp.python.json +210 -215
  295. data/grammars/source.regexp.spin.json +63 -72
  296. data/grammars/source.renpy.json +617 -687
  297. data/grammars/source.rexx.json +25 -32
  298. data/grammars/source.ring.json +84 -114
  299. data/grammars/source.rpm-spec.json +392 -401
  300. data/grammars/source.ruby.gemfile.json +9 -12
  301. data/grammars/source.ruby.json +862 -952
  302. data/grammars/source.ruby.rspec.cucumber.steps.json +90 -103
  303. data/grammars/source.rust.json +223 -281
  304. data/grammars/source.sas.json +88 -105
  305. data/grammars/source.sass.json +100 -108
  306. data/grammars/source.sbt.json +16 -23
  307. data/grammars/source.scad.json +60 -67
  308. data/grammars/source.scala.json +215 -228
  309. data/grammars/source.scaml.json +120 -135
  310. data/grammars/source.scheme.json +119 -136
  311. data/grammars/source.scilab.json +40 -47
  312. data/grammars/source.scss.json +369 -403
  313. data/grammars/source.sdbl.json +14 -25
  314. data/grammars/source.shaderlab.json +24 -27
  315. data/grammars/source.shell.json +409 -440
  316. data/grammars/source.shen.json +75 -94
  317. data/grammars/source.smali.json +232 -293
  318. data/grammars/source.smalltalk.json +60 -75
  319. data/grammars/source.smt.json +67 -82
  320. data/grammars/source.solidity.json +35 -54
  321. data/grammars/source.sp.json +40 -45
  322. data/grammars/source.sparql.json +3 -8
  323. data/grammars/source.spin.json +277 -297
  324. data/grammars/source.sqf.json +34 -44
  325. data/grammars/source.sql.json +142 -156
  326. data/grammars/source.stan.json +201 -160
  327. data/grammars/source.stata.json +57 -68
  328. data/grammars/source.strings.json +26 -30
  329. data/grammars/source.stylus.json +558 -565
  330. data/grammars/source.supercollider.json +33 -40
  331. data/grammars/source.swift.json +999 -1077
  332. data/grammars/source.systemverilog.json +351 -365
  333. data/grammars/source.tcl.json +77 -94
  334. data/grammars/source.tea.json +61 -67
  335. data/grammars/source.terra.json +25 -32
  336. data/grammars/source.terraform.json +68 -88
  337. data/grammars/source.thrift.json +300 -306
  338. data/grammars/source.tl.json +112 -117
  339. data/grammars/source.tla.json +65 -69
  340. data/grammars/source.toc.json +21 -25
  341. data/grammars/source.toml.json +117 -122
  342. data/grammars/source.ts.json +2838 -2774
  343. data/grammars/source.tsx.json +180 -184
  344. data/grammars/source.turing.json +970 -974
  345. data/grammars/source.turtle.json +124 -140
  346. data/grammars/source.txl.json +23 -37
  347. data/grammars/source.ucfconstraints.json +16 -21
  348. data/grammars/source.ur.json +15 -27
  349. data/grammars/source.vala.json +221 -235
  350. data/grammars/source.varnish.vcl.json +117 -129
  351. data/grammars/source.vbnet.json +69 -106
  352. data/grammars/source.verilog.json +101 -107
  353. data/grammars/source.vhdl.json +437 -445
  354. data/grammars/source.viml.json +540 -550
  355. data/grammars/source.wavefront.mtl.json +274 -277
  356. data/grammars/source.wavefront.obj.json +781 -784
  357. data/grammars/source.wdl.json +66 -46
  358. data/grammars/source.webassembly.json +97 -102
  359. data/grammars/source.webidl.json +311 -326
  360. data/grammars/source.x10.json +28 -32
  361. data/grammars/source.x86asm.json +21 -26
  362. data/grammars/source.xc.json +164 -172
  363. data/grammars/source.xq.json +81 -92
  364. data/grammars/source.xtend.json +199 -208
  365. data/grammars/source.yaml-ext.json +118 -124
  366. data/grammars/source.yaml.json +155 -174
  367. data/grammars/source.yaml.salt.json +113 -116
  368. data/grammars/source.yang.json +10 -13
  369. data/grammars/source.yara.json +98 -0
  370. data/grammars/text.bibtex.json +95 -100
  371. data/grammars/text.cfml.basic.json +403 -404
  372. data/grammars/text.elixir.json +18 -23
  373. data/grammars/text.error-list.json +15 -16
  374. data/grammars/text.find-refs.json +487 -488
  375. data/grammars/text.gherkin.feature.json +45 -53
  376. data/grammars/text.haml.json +176 -189
  377. data/grammars/text.hamlc.json +82 -88
  378. data/grammars/text.html.abl.json +16 -21
  379. data/grammars/text.html.asciidoc.json +139 -153
  380. data/grammars/text.html.asdoc.json +145 -155
  381. data/grammars/text.html.asp.json +23 -28
  382. data/grammars/text.html.basic.json +323 -338
  383. data/grammars/text.html.cfm.json +316 -325
  384. data/grammars/text.html.creole.json +177 -189
  385. data/grammars/text.html.django.json +27 -33
  386. data/grammars/text.html.ecr.json +21 -25
  387. data/grammars/text.html.elixir.json +3 -9
  388. data/grammars/text.html.erb.json +81 -85
  389. data/grammars/text.html.erlang.yaws.json +24 -29
  390. data/grammars/text.html.factor.json +5 -11
  391. data/grammars/text.html.ftl.json +16 -25
  392. data/grammars/text.html.handlebars.json +579 -598
  393. data/grammars/text.html.javadoc.json +426 -0
  394. data/grammars/text.html.js.json +11 -17
  395. data/grammars/text.html.jsp.json +377 -384
  396. data/grammars/text.html.liquid.json +8 -18
  397. data/grammars/text.html.mako.json +257 -275
  398. data/grammars/text.html.markdown.source.gfm.apib.json +419 -427
  399. data/grammars/text.html.markdown.source.gfm.mson.json +405 -414
  400. data/grammars/text.html.mediawiki.json +318 -344
  401. data/grammars/text.html.php.blade.json +2134 -2140
  402. data/grammars/text.html.php.json +980 -1013
  403. data/grammars/text.html.slash.json +101 -107
  404. data/grammars/text.html.smarty.json +75 -83
  405. data/grammars/text.html.soy.json +250 -253
  406. data/grammars/text.html.ssp.json +18 -24
  407. data/grammars/text.html.tcl.json +17 -24
  408. data/grammars/text.html.twig.json +712 -718
  409. data/grammars/text.idl-idldoc.json +5 -9
  410. data/grammars/text.jade.json +213 -235
  411. data/grammars/text.junit-test-report.json +25 -28
  412. data/grammars/text.log.latex.json +44 -46
  413. data/grammars/text.marko.json +370 -401
  414. data/grammars/text.python.console.json +3 -7
  415. data/grammars/text.python.traceback.json +2 -5
  416. data/grammars/text.rdoc.json +15 -19
  417. data/grammars/text.restructuredtext.clean.json +8 -11
  418. data/grammars/text.restructuredtext.json +886 -873
  419. data/grammars/text.robot.json +26 -36
  420. data/grammars/text.roff.json +2852 -2915
  421. data/grammars/text.runoff.json +56 -69
  422. data/grammars/text.sfd.json +151 -155
  423. data/grammars/text.shell-session.json +5 -8
  424. data/grammars/text.slim.json +184 -210
  425. data/grammars/text.srt.json +54 -57
  426. data/grammars/text.tex.json +98 -105
  427. data/grammars/text.tex.latex.beamer.json +14 -20
  428. data/grammars/text.tex.latex.haskell.json +883 -782
  429. data/grammars/text.tex.latex.json +281 -291
  430. data/grammars/text.tex.latex.memoir.json +39 -46
  431. data/grammars/text.tex.latex.rd.json +32 -38
  432. data/grammars/text.xml.ant.json +62 -69
  433. data/grammars/text.xml.flex-config.json +1009 -1013
  434. data/grammars/text.xml.genshi.json +10 -16
  435. data/grammars/text.xml.json +117 -130
  436. data/grammars/text.xml.pom.json +235 -240
  437. data/grammars/text.xml.xsl.json +31 -37
  438. data/grammars/text.zone_file.json +24 -29
  439. data/lib/linguist/blob.rb +10 -1
  440. data/lib/linguist/blob_helper.rb +4 -1
  441. data/lib/linguist/file_blob.rb +5 -0
  442. data/lib/linguist/generated.rb +16 -0
  443. data/lib/linguist/heuristics.rb +23 -11
  444. data/lib/linguist/language.rb +3 -6
  445. data/lib/linguist/languages.json +1 -1
  446. data/lib/linguist/languages.yml +74 -12
  447. data/lib/linguist/lazy_blob.rb +15 -1
  448. data/lib/linguist/linguist.bundle +0 -0
  449. data/lib/linguist/samples.json +1666 -3381
  450. data/lib/linguist/shebang.rb +2 -0
  451. data/lib/linguist/strategy/modeline.rb +2 -0
  452. data/lib/linguist/vendor.yml +5 -6
  453. data/lib/linguist/version.rb +1 -1
  454. metadata +12 -11
  455. data/grammars/source.elm.json +0 -381
  456. data/grammars/source.nant-build.json +0 -86
  457. data/grammars/source.octave.json +0 -451
  458. data/grammars/text.html.mediawiki.elm-build-output.json +0 -111
  459. data/grammars/text.html.mediawiki.elm-documentation.json +0 -22
  460. data/grammars/text.html.vue.json +0 -936
@@ -1,11 +1,6 @@
1
1
  {
2
- "fileTypes": [
3
- "applescript",
4
- "script editor"
5
- ],
6
- "firstLineMatch": "^#!.*(osascript)",
7
- "keyEquivalent": "^~A",
8
2
  "name": "AppleScript",
3
+ "scopeName": "source.applescript",
9
4
  "patterns": [
10
5
  {
11
6
  "include": "#blocks"
@@ -18,27 +13,34 @@
18
13
  "attributes.considering-ignoring": {
19
14
  "patterns": [
20
15
  {
21
- "match": ",",
22
- "name": "punctuation.separator.array.attributes.applescript"
16
+ "name": "punctuation.separator.array.attributes.applescript",
17
+ "match": ","
23
18
  },
24
19
  {
25
- "match": "\\b(and)\\b",
26
- "name": "keyword.control.attributes.and.applescript"
20
+ "name": "keyword.control.attributes.and.applescript",
21
+ "match": "\\b(and)\\b"
27
22
  },
28
23
  {
29
- "match": "\\b(?i:case|diacriticals|hyphens|numeric\\s+strings|punctuation|white\\s+space)\\b",
30
- "name": "constant.other.attributes.text.applescript"
24
+ "name": "constant.other.attributes.text.applescript",
25
+ "match": "\\b(?i:case|diacriticals|hyphens|numeric\\s+strings|punctuation|white\\s+space)\\b"
31
26
  },
32
27
  {
33
- "match": "\\b(?i:application\\s+responses)\\b",
34
- "name": "constant.other.attributes.application.applescript"
28
+ "name": "constant.other.attributes.application.applescript",
29
+ "match": "\\b(?i:application\\s+responses)\\b"
35
30
  }
36
31
  ]
37
32
  },
38
33
  "blocks": {
39
34
  "patterns": [
40
35
  {
36
+ "name": "meta.block.script.applescript",
41
37
  "begin": "^\\s*(script)\\s+(\\w+)",
38
+ "end": "^\\s*(end(?:\\s+script)?)(?=\\s*(--.*?)?$)",
39
+ "patterns": [
40
+ {
41
+ "include": "$self"
42
+ }
43
+ ],
42
44
  "beginCaptures": {
43
45
  "1": {
44
46
  "name": "keyword.control.script.applescript"
@@ -47,21 +49,21 @@
47
49
  "name": "entity.name.type.script-object.applescript"
48
50
  }
49
51
  },
50
- "end": "^\\s*(end(?:\\s+script)?)(?=\\s*(--.*?)?$)",
51
52
  "endCaptures": {
52
53
  "1": {
53
54
  "name": "keyword.control.script.applescript"
54
55
  }
55
- },
56
- "name": "meta.block.script.applescript",
56
+ }
57
+ },
58
+ {
59
+ "name": "meta.function.positional.applescript",
60
+ "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(\\w+)\t\t\t\t\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((?:[\\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",
61
+ "end": "^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)",
57
62
  "patterns": [
58
63
  {
59
64
  "include": "$self"
60
65
  }
61
- ]
62
- },
63
- {
64
- "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(\\w+)\t\t\t\t\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((?:[\\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",
66
+ ],
65
67
  "beginCaptures": {
66
68
  "1": {
67
69
  "name": "keyword.control.function.applescript"
@@ -79,22 +81,32 @@
79
81
  "name": "punctuation.definition.parameters.end.applescript"
80
82
  }
81
83
  },
82
- "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",
83
- "end": "^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)",
84
84
  "endCaptures": {
85
85
  "1": {
86
86
  "name": "keyword.control.function.applescript"
87
87
  }
88
- },
89
- "name": "meta.function.positional.applescript",
88
+ }
89
+ },
90
+ {
91
+ "name": "meta.function.prepositional.applescript",
92
+ "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(\\w+)\t\t\t\t\t\t\t# function name\n\t\t\t\t\t\t(?:\\s+\n\t\t\t\t\t\t\t(of|in)\\s+\t\t\t\t\t# \"of\" or \"in\"\n\t\t\t\t\t\t\t(\\w+)\t\t\t\t\t\t# direct parameter\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t(?=\\s+(above|against|apart\\s+from|around|aside\\s+from|at|below|beneath|beside|between|by|for|from|instead\\s+of|into|on|onto|out\\s+of|over|thru|under)\\b)\n\t\t\t\t\t",
93
+ "end": "^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)",
90
94
  "patterns": [
95
+ {
96
+ "match": "\\b(?i:above|against|apart\\s+from|around|aside\\s+from|at|below|beneath|beside|between|by|for|from|instead\\s+of|into|on|onto|out\\s+of|over|thru|under)\\s+(\\w+)\\b",
97
+ "captures": {
98
+ "1": {
99
+ "name": "keyword.control.preposition.applescript"
100
+ },
101
+ "2": {
102
+ "name": "variable.parameter.handler.applescript"
103
+ }
104
+ }
105
+ },
91
106
  {
92
107
  "include": "$self"
93
108
  }
94
- ]
95
- },
96
- {
97
- "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(\\w+)\t\t\t\t\t\t\t# function name\n\t\t\t\t\t\t(?:\\s+\n\t\t\t\t\t\t\t(of|in)\\s+\t\t\t\t\t# \"of\" or \"in\"\n\t\t\t\t\t\t\t(\\w+)\t\t\t\t\t\t# direct parameter\n\t\t\t\t\t\t)?\n\t\t\t\t\t\t(?=\\s+(above|against|apart\\s+from|around|aside\\s+from|at|below|beneath|beside|between|by|for|from|instead\\s+of|into|on|onto|out\\s+of|over|thru|under)\\b)\n\t\t\t\t\t",
109
+ ],
98
110
  "beginCaptures": {
99
111
  "1": {
100
112
  "name": "keyword.control.function.applescript"
@@ -109,33 +121,21 @@
109
121
  "name": "variable.parameter.handler.direct.applescript"
110
122
  }
111
123
  },
112
- "comment": "TODO: match `given` parameters",
113
- "end": "^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)",
114
124
  "endCaptures": {
115
125
  "1": {
116
126
  "name": "keyword.control.function.applescript"
117
127
  }
118
- },
119
- "name": "meta.function.prepositional.applescript",
128
+ }
129
+ },
130
+ {
131
+ "name": "meta.function.parameterless.applescript",
132
+ "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(\\w+)\t\t\t\t\t\t\t# function name\n\t\t\t\t\t\t(?=\\s*(--.*?)?$)\t\t\t\t# nothing else\n\t\t\t\t\t",
133
+ "end": "^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)",
120
134
  "patterns": [
121
- {
122
- "captures": {
123
- "1": {
124
- "name": "keyword.control.preposition.applescript"
125
- },
126
- "2": {
127
- "name": "variable.parameter.handler.applescript"
128
- }
129
- },
130
- "match": "\\b(?i:above|against|apart\\s+from|around|aside\\s+from|at|below|beneath|beside|between|by|for|from|instead\\s+of|into|on|onto|out\\s+of|over|thru|under)\\s+(\\w+)\\b"
131
- },
132
135
  {
133
136
  "include": "$self"
134
137
  }
135
- ]
136
- },
137
- {
138
- "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(\\w+)\t\t\t\t\t\t\t# function name\n\t\t\t\t\t\t(?=\\s*(--.*?)?$)\t\t\t\t# nothing else\n\t\t\t\t\t",
138
+ ],
139
139
  "beginCaptures": {
140
140
  "1": {
141
141
  "name": "keyword.control.function.applescript"
@@ -144,18 +144,11 @@
144
144
  "name": "entity.name.function.handler.applescript"
145
145
  }
146
146
  },
147
- "end": "^\\s*(end)(?:\\s+(\\2))?(?=\\s*(--.*?)?$)",
148
147
  "endCaptures": {
149
148
  "1": {
150
149
  "name": "keyword.control.function.applescript"
151
150
  }
152
- },
153
- "name": "meta.function.parameterless.applescript",
154
- "patterns": [
155
- {
156
- "include": "$self"
157
- }
158
- ]
151
+ }
159
152
  },
160
153
  {
161
154
  "include": "#blocks.tell"
@@ -174,14 +167,14 @@
174
167
  "blocks.other": {
175
168
  "patterns": [
176
169
  {
170
+ "name": "meta.block.considering.applescript",
177
171
  "begin": "^\\s*(considering)\\b",
178
172
  "end": "^\\s*(end(?:\\s+considering)?)(?=\\s*(--.*?)?$)",
179
- "name": "meta.block.considering.applescript",
180
173
  "patterns": [
181
174
  {
182
- "begin": "(?<=considering)",
183
- "end": "(?<!¬)$",
184
175
  "name": "meta.array.attributes.considering.applescript",
176
+ "begin": "(?\u003c=considering)",
177
+ "end": "(?\u003c!¬)$",
185
178
  "patterns": [
186
179
  {
187
180
  "include": "#attributes.considering-ignoring"
@@ -189,9 +182,9 @@
189
182
  ]
190
183
  },
191
184
  {
192
- "begin": "(?<=ignoring)",
193
- "end": "(?<!¬)$",
194
185
  "name": "meta.array.attributes.ignoring.applescript",
186
+ "begin": "(?\u003c=ignoring)",
187
+ "end": "(?\u003c!¬)$",
195
188
  "patterns": [
196
189
  {
197
190
  "include": "#attributes.considering-ignoring"
@@ -199,8 +192,8 @@
199
192
  ]
200
193
  },
201
194
  {
202
- "match": "\\b(but)\\b",
203
- "name": "keyword.control.but.applescript"
195
+ "name": "keyword.control.but.applescript",
196
+ "match": "\\b(but)\\b"
204
197
  },
205
198
  {
206
199
  "include": "$self"
@@ -208,14 +201,14 @@
208
201
  ]
209
202
  },
210
203
  {
204
+ "name": "meta.block.ignoring.applescript",
211
205
  "begin": "^\\s*(ignoring)\\b",
212
206
  "end": "^\\s*(end(?:\\s+ignoring)?)(?=\\s*(--.*?)?$)",
213
- "name": "meta.block.ignoring.applescript",
214
207
  "patterns": [
215
208
  {
216
- "begin": "(?<=considering)",
217
- "end": "(?<!¬)$",
218
209
  "name": "meta.array.attributes.considering.applescript",
210
+ "begin": "(?\u003c=considering)",
211
+ "end": "(?\u003c!¬)$",
219
212
  "patterns": [
220
213
  {
221
214
  "include": "#attributes.considering-ignoring"
@@ -223,9 +216,9 @@
223
216
  ]
224
217
  },
225
218
  {
226
- "begin": "(?<=ignoring)",
227
- "end": "(?<!¬)$",
228
219
  "name": "meta.array.attributes.ignoring.applescript",
220
+ "begin": "(?\u003c=ignoring)",
221
+ "end": "(?\u003c!¬)$",
229
222
  "patterns": [
230
223
  {
231
224
  "include": "#attributes.considering-ignoring"
@@ -233,8 +226,8 @@
233
226
  ]
234
227
  },
235
228
  {
236
- "match": "\\b(but)\\b",
237
- "name": "keyword.control.but.applescript"
229
+ "name": "keyword.control.but.applescript",
230
+ "match": "\\b(but)\\b"
238
231
  },
239
232
  {
240
233
  "include": "$self"
@@ -242,142 +235,149 @@
242
235
  ]
243
236
  },
244
237
  {
238
+ "name": "meta.block.if.applescript",
245
239
  "begin": "^\\s*(if)\\b",
246
- "beginCaptures": {
247
- "1": {
248
- "name": "keyword.control.if.applescript"
249
- }
250
- },
251
240
  "end": "^\\s*(end(?:\\s+if)?)(?=\\s*(--.*?)?$)",
252
- "endCaptures": {
253
- "1": {
254
- "name": "keyword.control.end.applescript"
255
- }
256
- },
257
- "name": "meta.block.if.applescript",
258
241
  "patterns": [
259
242
  {
260
- "match": "\\b(then)\\b",
261
- "name": "keyword.control.then.applescript"
243
+ "name": "keyword.control.then.applescript",
244
+ "match": "\\b(then)\\b"
262
245
  },
263
246
  {
264
- "match": "\\b(else\\s+if)\\b",
265
- "name": "keyword.control.else-if.applescript"
247
+ "name": "keyword.control.else-if.applescript",
248
+ "match": "\\b(else\\s+if)\\b"
266
249
  },
267
250
  {
268
- "match": "\\b(else)\\b",
269
- "name": "keyword.control.else.applescript"
251
+ "name": "keyword.control.else.applescript",
252
+ "match": "\\b(else)\\b"
270
253
  },
271
254
  {
272
255
  "include": "$self"
273
256
  }
274
- ]
275
- },
276
- {
277
- "begin": "^\\s*(try)\\b",
257
+ ],
278
258
  "beginCaptures": {
279
259
  "1": {
280
- "name": "keyword.control.try.applescript"
260
+ "name": "keyword.control.if.applescript"
281
261
  }
282
262
  },
283
- "end": "^\\s*(end(?:\\s+(try|error))?)(?=\\s*(--.*?)?$)",
284
263
  "endCaptures": {
285
264
  "1": {
286
265
  "name": "keyword.control.end.applescript"
287
266
  }
288
- },
267
+ }
268
+ },
269
+ {
289
270
  "name": "meta.block.try.applescript",
271
+ "begin": "^\\s*(try)\\b",
272
+ "end": "^\\s*(end(?:\\s+(try|error))?)(?=\\s*(--.*?)?$)",
290
273
  "patterns": [
291
274
  {
292
- "begin": "^\\s*(on\\s+error)\\b",
293
- "beginCaptures": {
294
- "1": {
295
- "name": "keyword.control.exception.on-error.applescript"
296
- }
297
- },
298
- "end": "(?<!¬)$",
299
275
  "name": "meta.property.error.applescript",
276
+ "begin": "^\\s*(on\\s+error)\\b",
277
+ "end": "(?\u003c!¬)$",
300
278
  "patterns": [
301
279
  {
302
- "match": "\\b(?i:number|partial|from|to)\\b",
303
- "name": "keyword.control.exception.modifier.applescript"
280
+ "name": "keyword.control.exception.modifier.applescript",
281
+ "match": "\\b(?i:number|partial|from|to)\\b"
304
282
  },
305
283
  {
306
284
  "include": "#inline"
307
285
  }
308
- ]
286
+ ],
287
+ "beginCaptures": {
288
+ "1": {
289
+ "name": "keyword.control.exception.on-error.applescript"
290
+ }
291
+ }
309
292
  },
310
293
  {
311
294
  "include": "$self"
312
295
  }
313
- ]
314
- },
315
- {
316
- "begin": "^\\s*(using\\s+terms\\s+from)\\b",
296
+ ],
317
297
  "beginCaptures": {
318
298
  "1": {
319
- "name": "keyword.control.terms.applescript"
299
+ "name": "keyword.control.try.applescript"
320
300
  }
321
301
  },
322
- "end": "^\\s*(end(?:\\s+using\\s+terms\\s+from)?)(?=\\s*(--.*?)?$)",
323
302
  "endCaptures": {
324
303
  "1": {
325
304
  "name": "keyword.control.end.applescript"
326
305
  }
327
- },
306
+ }
307
+ },
308
+ {
328
309
  "name": "meta.block.terms.applescript",
310
+ "begin": "^\\s*(using\\s+terms\\s+from)\\b",
311
+ "end": "^\\s*(end(?:\\s+using\\s+terms\\s+from)?)(?=\\s*(--.*?)?$)",
329
312
  "patterns": [
330
313
  {
331
314
  "include": "$self"
332
315
  }
333
- ]
334
- },
335
- {
336
- "begin": "^\\s*(with\\s+timeout(\\s+of)?)\\b",
316
+ ],
337
317
  "beginCaptures": {
338
318
  "1": {
339
- "name": "keyword.control.timeout.applescript"
319
+ "name": "keyword.control.terms.applescript"
340
320
  }
341
321
  },
342
- "end": "^\\s*(end(?:\\s+timeout)?)(?=\\s*(--.*?)?$)",
343
322
  "endCaptures": {
344
323
  "1": {
345
324
  "name": "keyword.control.end.applescript"
346
325
  }
347
- },
326
+ }
327
+ },
328
+ {
348
329
  "name": "meta.block.timeout.applescript",
330
+ "begin": "^\\s*(with\\s+timeout(\\s+of)?)\\b",
331
+ "end": "^\\s*(end(?:\\s+timeout)?)(?=\\s*(--.*?)?$)",
349
332
  "patterns": [
350
333
  {
351
334
  "include": "$self"
352
335
  }
353
- ]
354
- },
355
- {
356
- "begin": "^\\s*(with\\s+transaction(\\s+of)?)\\b",
336
+ ],
357
337
  "beginCaptures": {
358
338
  "1": {
359
- "name": "keyword.control.transaction.applescript"
339
+ "name": "keyword.control.timeout.applescript"
360
340
  }
361
341
  },
362
- "end": "^\\s*(end(?:\\s+transaction)?)(?=\\s*(--.*?)?$)",
363
342
  "endCaptures": {
364
343
  "1": {
365
344
  "name": "keyword.control.end.applescript"
366
345
  }
367
- },
346
+ }
347
+ },
348
+ {
368
349
  "name": "meta.block.transaction.applescript",
350
+ "begin": "^\\s*(with\\s+transaction(\\s+of)?)\\b",
351
+ "end": "^\\s*(end(?:\\s+transaction)?)(?=\\s*(--.*?)?$)",
369
352
  "patterns": [
370
353
  {
371
354
  "include": "$self"
372
355
  }
373
- ]
356
+ ],
357
+ "beginCaptures": {
358
+ "1": {
359
+ "name": "keyword.control.transaction.applescript"
360
+ }
361
+ },
362
+ "endCaptures": {
363
+ "1": {
364
+ "name": "keyword.control.end.applescript"
365
+ }
366
+ }
374
367
  }
375
368
  ]
376
369
  },
377
370
  "blocks.repeat": {
378
371
  "patterns": [
379
372
  {
373
+ "name": "meta.block.repeat.until.applescript",
380
374
  "begin": "^\\s*(repeat)\\s+(until)\\b",
375
+ "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
376
+ "patterns": [
377
+ {
378
+ "include": "$self"
379
+ }
380
+ ],
381
381
  "beginCaptures": {
382
382
  "1": {
383
383
  "name": "keyword.control.repeat.applescript"
@@ -386,21 +386,21 @@
386
386
  "name": "keyword.control.until.applescript"
387
387
  }
388
388
  },
389
- "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
390
389
  "endCaptures": {
391
390
  "1": {
392
391
  "name": "keyword.control.end.applescript"
393
392
  }
394
- },
395
- "name": "meta.block.repeat.until.applescript",
393
+ }
394
+ },
395
+ {
396
+ "name": "meta.block.repeat.while.applescript",
397
+ "begin": "^\\s*(repeat)\\s+(while)\\b",
398
+ "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
396
399
  "patterns": [
397
400
  {
398
401
  "include": "$self"
399
402
  }
400
- ]
401
- },
402
- {
403
- "begin": "^\\s*(repeat)\\s+(while)\\b",
403
+ ],
404
404
  "beginCaptures": {
405
405
  "1": {
406
406
  "name": "keyword.control.repeat.applescript"
@@ -409,21 +409,29 @@
409
409
  "name": "keyword.control.while.applescript"
410
410
  }
411
411
  },
412
- "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
413
412
  "endCaptures": {
414
413
  "1": {
415
414
  "name": "keyword.control.end.applescript"
416
415
  }
417
- },
418
- "name": "meta.block.repeat.while.applescript",
416
+ }
417
+ },
418
+ {
419
+ "name": "meta.block.repeat.with.applescript",
420
+ "begin": "^\\s*(repeat)\\s+(with)\\s+(\\w+)\\b",
421
+ "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
419
422
  "patterns": [
423
+ {
424
+ "name": "keyword.control.modifier.range.applescript",
425
+ "match": "\\b(from|to|by)\\b"
426
+ },
427
+ {
428
+ "name": "keyword.control.modifier.list.applescript",
429
+ "match": "\\b(in)\\b"
430
+ },
420
431
  {
421
432
  "include": "$self"
422
433
  }
423
- ]
424
- },
425
- {
426
- "begin": "^\\s*(repeat)\\s+(with)\\s+(\\w+)\\b",
434
+ ],
427
435
  "beginCaptures": {
428
436
  "1": {
429
437
  "name": "keyword.control.repeat.applescript"
@@ -435,77 +443,73 @@
435
443
  "name": "variable.parameter.loop.applescript"
436
444
  }
437
445
  },
438
- "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
439
446
  "endCaptures": {
440
447
  "1": {
441
448
  "name": "keyword.control.end.applescript"
442
449
  }
443
- },
444
- "name": "meta.block.repeat.with.applescript",
450
+ }
451
+ },
452
+ {
453
+ "name": "meta.block.repeat.forever.applescript",
454
+ "begin": "^\\s*(repeat)\\b(?=\\s*(--.*?)?$)",
455
+ "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
445
456
  "patterns": [
446
- {
447
- "match": "\\b(from|to|by)\\b",
448
- "name": "keyword.control.modifier.range.applescript"
449
- },
450
- {
451
- "match": "\\b(in)\\b",
452
- "name": "keyword.control.modifier.list.applescript"
453
- },
454
457
  {
455
458
  "include": "$self"
456
459
  }
457
- ]
458
- },
459
- {
460
- "begin": "^\\s*(repeat)\\b(?=\\s*(--.*?)?$)",
460
+ ],
461
461
  "beginCaptures": {
462
462
  "1": {
463
463
  "name": "keyword.control.repeat.applescript"
464
464
  }
465
465
  },
466
- "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
467
466
  "endCaptures": {
468
467
  "1": {
469
468
  "name": "keyword.control.end.applescript"
470
469
  }
471
- },
472
- "name": "meta.block.repeat.forever.applescript",
470
+ }
471
+ },
472
+ {
473
+ "name": "meta.block.repeat.times.applescript",
474
+ "begin": "^\\s*(repeat)\\b",
475
+ "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
473
476
  "patterns": [
477
+ {
478
+ "name": "keyword.control.times.applescript",
479
+ "match": "\\b(times)\\b"
480
+ },
474
481
  {
475
482
  "include": "$self"
476
483
  }
477
- ]
478
- },
479
- {
480
- "begin": "^\\s*(repeat)\\b",
484
+ ],
481
485
  "beginCaptures": {
482
486
  "1": {
483
487
  "name": "keyword.control.repeat.applescript"
484
488
  }
485
489
  },
486
- "end": "^\\s*(end(?:\\s+repeat)?)(?=\\s*(--.*?)?$)",
487
490
  "endCaptures": {
488
491
  "1": {
489
492
  "name": "keyword.control.end.applescript"
490
493
  }
491
- },
492
- "name": "meta.block.repeat.times.applescript",
493
- "patterns": [
494
- {
495
- "match": "\\b(times)\\b",
496
- "name": "keyword.control.times.applescript"
497
- },
498
- {
499
- "include": "$self"
500
- }
501
- ]
494
+ }
502
495
  }
503
496
  ]
504
497
  },
505
498
  "blocks.statement": {
506
499
  "patterns": [
507
500
  {
501
+ "name": "meta.statement.property.applescript",
508
502
  "begin": "\\b(prop(?:erty)?)\\s+(\\w+)\\b",
503
+ "end": "(?\u003c!¬)$",
504
+ "patterns": [
505
+ {
506
+ "name": "punctuation.separator.key-value.property.applescript",
507
+ "match": ":"
508
+ },
509
+ {
510
+ "include": "#inline"
511
+ }
512
+ ],
509
513
  "beginCaptures": {
510
514
  "1": {
511
515
  "name": "keyword.control.def.property.applescript"
@@ -513,21 +517,17 @@
513
517
  "2": {
514
518
  "name": "variable.other.property.applescript"
515
519
  }
516
- },
517
- "end": "(?<!¬)$",
518
- "name": "meta.statement.property.applescript",
520
+ }
521
+ },
522
+ {
523
+ "name": "meta.statement.set.applescript",
524
+ "begin": "\\b(set)\\s+(\\w+)\\s+(to)\\b",
525
+ "end": "(?\u003c!¬)$",
519
526
  "patterns": [
520
- {
521
- "match": ":",
522
- "name": "punctuation.separator.key-value.property.applescript"
523
- },
524
527
  {
525
528
  "include": "#inline"
526
529
  }
527
- ]
528
- },
529
- {
530
- "begin": "\\b(set)\\s+(\\w+)\\s+(to)\\b",
530
+ ],
531
531
  "beginCaptures": {
532
532
  "1": {
533
533
  "name": "keyword.control.def.set.applescript"
@@ -538,109 +538,96 @@
538
538
  "3": {
539
539
  "name": "keyword.control.def.set.applescript"
540
540
  }
541
- },
542
- "end": "(?<!¬)$",
543
- "name": "meta.statement.set.applescript",
544
- "patterns": [
545
- {
546
- "include": "#inline"
547
- }
548
- ]
541
+ }
549
542
  },
550
543
  {
551
- "begin": "\\b(local)\\b",
552
- "beginCaptures": {
553
- "1": {
554
- "name": "keyword.control.def.local.applescript"
555
- }
556
- },
557
- "end": "(?<!¬)$",
558
544
  "name": "meta.statement.local.applescript",
545
+ "begin": "\\b(local)\\b",
546
+ "end": "(?\u003c!¬)$",
559
547
  "patterns": [
560
548
  {
561
- "match": ",",
562
- "name": "punctuation.separator.variables.local.applescript"
549
+ "name": "punctuation.separator.variables.local.applescript",
550
+ "match": ","
563
551
  },
564
552
  {
565
- "match": "\\b\\w+",
566
- "name": "variable.other.readwrite.local.applescript"
553
+ "name": "variable.other.readwrite.local.applescript",
554
+ "match": "\\b\\w+"
567
555
  },
568
556
  {
569
557
  "include": "#inline"
570
558
  }
571
- ]
572
- },
573
- {
574
- "begin": "\\b(global)\\b",
559
+ ],
575
560
  "beginCaptures": {
576
561
  "1": {
577
- "name": "keyword.control.def.global.applescript"
562
+ "name": "keyword.control.def.local.applescript"
578
563
  }
579
- },
580
- "end": "(?<!¬)$",
564
+ }
565
+ },
566
+ {
581
567
  "name": "meta.statement.global.applescript",
568
+ "begin": "\\b(global)\\b",
569
+ "end": "(?\u003c!¬)$",
582
570
  "patterns": [
583
571
  {
584
- "match": ",",
585
- "name": "punctuation.separator.variables.global.applescript"
572
+ "name": "punctuation.separator.variables.global.applescript",
573
+ "match": ","
586
574
  },
587
575
  {
588
- "match": "\\b\\w+",
589
- "name": "variable.other.readwrite.global.applescript"
576
+ "name": "variable.other.readwrite.global.applescript",
577
+ "match": "\\b\\w+"
590
578
  },
591
579
  {
592
580
  "include": "#inline"
593
581
  }
594
- ]
595
- },
596
- {
597
- "begin": "\\b(error)\\b",
582
+ ],
598
583
  "beginCaptures": {
599
584
  "1": {
600
- "name": "keyword.control.exception.error.applescript"
585
+ "name": "keyword.control.def.global.applescript"
601
586
  }
602
- },
603
- "end": "(?<!¬)$",
587
+ }
588
+ },
589
+ {
604
590
  "name": "meta.statement.error.applescript",
591
+ "begin": "\\b(error)\\b",
592
+ "end": "(?\u003c!¬)$",
605
593
  "patterns": [
606
594
  {
607
- "match": "\\b(number|partial|from|to)\\b",
608
- "name": "keyword.control.exception.modifier.applescript"
595
+ "name": "keyword.control.exception.modifier.applescript",
596
+ "match": "\\b(number|partial|from|to)\\b"
609
597
  },
610
598
  {
611
599
  "include": "#inline"
612
600
  }
613
- ]
614
- },
615
- {
616
- "begin": "\\b(if)\\b(?=.*\\bthen\\b(?!\\s*(--.*?)?$))",
601
+ ],
617
602
  "beginCaptures": {
618
603
  "1": {
619
- "name": "keyword.control.if.applescript"
604
+ "name": "keyword.control.exception.error.applescript"
620
605
  }
621
- },
622
- "end": "(?<!¬)$",
606
+ }
607
+ },
608
+ {
623
609
  "name": "meta.statement.if-then.applescript",
610
+ "begin": "\\b(if)\\b(?=.*\\bthen\\b(?!\\s*(--.*?)?$))",
611
+ "end": "(?\u003c!¬)$",
624
612
  "patterns": [
625
613
  {
626
614
  "include": "#inline"
627
615
  }
628
- ]
616
+ ],
617
+ "beginCaptures": {
618
+ "1": {
619
+ "name": "keyword.control.if.applescript"
620
+ }
621
+ }
629
622
  }
630
623
  ]
631
624
  },
632
625
  "blocks.tell": {
633
626
  "patterns": [
634
627
  {
628
+ "name": "meta.block.tell.application.textmate.applescript",
635
629
  "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:textmate)\")(?!.*\\bto(?!\\s+tell)\\b)",
636
- "captures": {
637
- "1": {
638
- "name": "keyword.control.tell.applescript"
639
- }
640
- },
641
- "comment": "tell Textmate",
642
630
  "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
643
- "name": "meta.block.tell.application.textmate.applescript",
644
631
  "patterns": [
645
632
  {
646
633
  "include": "#textmate"
@@ -651,18 +638,17 @@
651
638
  {
652
639
  "include": "$self"
653
640
  }
654
- ]
655
- },
656
- {
657
- "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:finder)\")(?!.*\\bto(?!\\s+tell)\\b)",
641
+ ],
658
642
  "captures": {
659
643
  "1": {
660
644
  "name": "keyword.control.tell.applescript"
661
645
  }
662
- },
663
- "comment": "tell Finder",
664
- "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
646
+ }
647
+ },
648
+ {
665
649
  "name": "meta.block.tell.application.finder.applescript",
650
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:finder)\")(?!.*\\bto(?!\\s+tell)\\b)",
651
+ "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
666
652
  "patterns": [
667
653
  {
668
654
  "include": "#finder"
@@ -673,18 +659,17 @@
673
659
  {
674
660
  "include": "$self"
675
661
  }
676
- ]
677
- },
678
- {
679
- "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:system events)\")(?!.*\\bto(?!\\s+tell)\\b)",
662
+ ],
680
663
  "captures": {
681
664
  "1": {
682
665
  "name": "keyword.control.tell.applescript"
683
666
  }
684
- },
685
- "comment": "tell System Events",
686
- "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
667
+ }
668
+ },
669
+ {
687
670
  "name": "meta.block.tell.application.system-events.applescript",
671
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:system events)\")(?!.*\\bto(?!\\s+tell)\\b)",
672
+ "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
688
673
  "patterns": [
689
674
  {
690
675
  "include": "#system-events"
@@ -695,18 +680,17 @@
695
680
  {
696
681
  "include": "$self"
697
682
  }
698
- ]
699
- },
700
- {
701
- "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:itunes)\")(?!.*\\bto(?!\\s+tell)\\b)",
683
+ ],
702
684
  "captures": {
703
685
  "1": {
704
686
  "name": "keyword.control.tell.applescript"
705
687
  }
706
- },
707
- "comment": "tell iTunes",
708
- "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
688
+ }
689
+ },
690
+ {
709
691
  "name": "meta.block.tell.application.itunes.applescript",
692
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+\"(?i:itunes)\")(?!.*\\bto(?!\\s+tell)\\b)",
693
+ "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
710
694
  "patterns": [
711
695
  {
712
696
  "include": "#itunes"
@@ -717,18 +701,17 @@
717
701
  {
718
702
  "include": "$self"
719
703
  }
720
- ]
721
- },
722
- {
723
- "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+process\\b)(?!.*\\bto(?!\\s+tell)\\b)",
704
+ ],
724
705
  "captures": {
725
706
  "1": {
726
707
  "name": "keyword.control.tell.applescript"
727
708
  }
728
- },
729
- "comment": "tell generic application process",
730
- "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
709
+ }
710
+ },
711
+ {
731
712
  "name": "meta.block.tell.application-process.generic.applescript",
713
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\s+process\\b)(?!.*\\bto(?!\\s+tell)\\b)",
714
+ "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
732
715
  "patterns": [
733
716
  {
734
717
  "include": "#standard-suite"
@@ -736,18 +719,17 @@
736
719
  {
737
720
  "include": "$self"
738
721
  }
739
- ]
740
- },
741
- {
742
- "begin": "^\\s*(tell)\\s+(?=app(lication)?\\b)(?!.*\\bto(?!\\s+tell)\\b)",
722
+ ],
743
723
  "captures": {
744
724
  "1": {
745
725
  "name": "keyword.control.tell.applescript"
746
726
  }
747
- },
748
- "comment": "tell generic application",
749
- "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
727
+ }
728
+ },
729
+ {
750
730
  "name": "meta.block.tell.application.generic.applescript",
731
+ "begin": "^\\s*(tell)\\s+(?=app(lication)?\\b)(?!.*\\bto(?!\\s+tell)\\b)",
732
+ "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
751
733
  "patterns": [
752
734
  {
753
735
  "include": "#standard-suite"
@@ -755,39 +737,42 @@
755
737
  {
756
738
  "include": "$self"
757
739
  }
758
- ]
759
- },
760
- {
761
- "begin": "^\\s*(tell)\\s+(?!.*\\bto(?!\\s+tell)\\b)",
740
+ ],
762
741
  "captures": {
763
742
  "1": {
764
743
  "name": "keyword.control.tell.applescript"
765
744
  }
766
- },
767
- "comment": "generic tell block",
768
- "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
745
+ }
746
+ },
747
+ {
769
748
  "name": "meta.block.tell.generic.applescript",
749
+ "begin": "^\\s*(tell)\\s+(?!.*\\bto(?!\\s+tell)\\b)",
750
+ "end": "^\\s*(end(?:\\s+tell)?)(?=\\s*(--.*?)?$)",
770
751
  "patterns": [
771
752
  {
772
753
  "include": "$self"
773
754
  }
774
- ]
775
- },
776
- {
777
- "begin": "^\\s*(tell)\\s+(?=.*\\bto\\b)",
755
+ ],
778
756
  "captures": {
779
757
  "1": {
780
758
  "name": "keyword.control.tell.applescript"
781
759
  }
782
- },
783
- "comment": "tell … to statement",
784
- "end": "(?<!¬)$",
760
+ }
761
+ },
762
+ {
785
763
  "name": "meta.block.tell.generic.applescript",
764
+ "begin": "^\\s*(tell)\\s+(?=.*\\bto\\b)",
765
+ "end": "(?\u003c!¬)$",
786
766
  "patterns": [
787
767
  {
788
768
  "include": "$self"
789
769
  }
790
- ]
770
+ ],
771
+ "captures": {
772
+ "1": {
773
+ "name": "keyword.control.tell.applescript"
774
+ }
775
+ }
791
776
  }
792
777
  ]
793
778
  },
@@ -810,245 +795,231 @@
810
795
  "built-in.constant": {
811
796
  "patterns": [
812
797
  {
813
- "comment": "yes/no can’t always be used as booleans, e.g. in an if() expression. But they work e.g. for boolean arguments.",
814
- "match": "\\b(?i:true|false|yes|no)\\b",
815
- "name": "constant.language.boolean.applescript"
798
+ "name": "constant.language.boolean.applescript",
799
+ "match": "\\b(?i:true|false|yes|no)\\b"
816
800
  },
817
801
  {
818
- "match": "\\b(?i:null|missing\\s+value)\\b",
819
- "name": "constant.language.null.applescript"
802
+ "name": "constant.language.null.applescript",
803
+ "match": "\\b(?i:null|missing\\s+value)\\b"
820
804
  },
821
805
  {
822
- "match": "-?\\b\\d+((\\.(\\d+\\b)?)?(?i:e\\+?\\d*\\b)?|\\b)",
823
- "name": "constant.numeric.applescript"
806
+ "name": "constant.numeric.applescript",
807
+ "match": "-?\\b\\d+((\\.(\\d+\\b)?)?(?i:e\\+?\\d*\\b)?|\\b)"
824
808
  },
825
809
  {
826
- "match": "\\b(?i:space|tab|return|linefeed|quote)\\b",
827
- "name": "constant.other.text.applescript"
810
+ "name": "constant.other.text.applescript",
811
+ "match": "\\b(?i:space|tab|return|linefeed|quote)\\b"
828
812
  },
829
813
  {
830
- "match": "\\b(?i:all\\s+(caps|lowercase)|bold|condensed|expanded|hidden|italic|outline|plain|shadow|small\\s+caps|strikethrough|(sub|super)script|underline)\\b",
831
- "name": "constant.other.styles.applescript"
814
+ "name": "constant.other.styles.applescript",
815
+ "match": "\\b(?i:all\\s+(caps|lowercase)|bold|condensed|expanded|hidden|italic|outline|plain|shadow|small\\s+caps|strikethrough|(sub|super)script|underline)\\b"
832
816
  },
833
817
  {
834
- "match": "\\b(?i:Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\\b",
835
- "name": "constant.other.time.month.applescript"
818
+ "name": "constant.other.time.month.applescript",
819
+ "match": "\\b(?i:Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\\b"
836
820
  },
837
821
  {
838
- "match": "\\b(?i:Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(rsday)?|Fri(day)?|Sat(urday)?|Sun(day)?)\\b",
839
- "name": "constant.other.time.weekday.applescript"
822
+ "name": "constant.other.time.weekday.applescript",
823
+ "match": "\\b(?i:Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(rsday)?|Fri(day)?|Sat(urday)?|Sun(day)?)\\b"
840
824
  },
841
825
  {
842
- "match": "\\b(?i:AppleScript|pi|result|version|current\\s+application|its?|m[ey])\\b",
843
- "name": "constant.other.miscellaneous.applescript"
826
+ "name": "constant.other.miscellaneous.applescript",
827
+ "match": "\\b(?i:AppleScript|pi|result|version|current\\s+application|its?|m[ey])\\b"
844
828
  },
845
829
  {
846
- "match": "\\b(?i:text\\s+item\\s+delimiters|print\\s+(length|depth))\\b",
847
- "name": "variable.language.applescript"
830
+ "name": "variable.language.applescript",
831
+ "match": "\\b(?i:text\\s+item\\s+delimiters|print\\s+(length|depth))\\b"
848
832
  }
849
833
  ]
850
834
  },
851
835
  "built-in.keyword": {
852
836
  "patterns": [
853
837
  {
854
- "match": "(&|\\*|\\+|-|/|÷|\\^)",
855
- "name": "keyword.operator.arithmetic.applescript"
838
+ "name": "keyword.operator.arithmetic.applescript",
839
+ "match": "(\u0026|\\*|\\+|-|/|÷|\\^)"
856
840
  },
857
841
  {
858
- "match": "(=|≠|>|<|≥|>=|≤|<=)",
859
- "name": "keyword.operator.comparison.applescript"
842
+ "name": "keyword.operator.comparison.applescript",
843
+ "match": "(=|≠|\u003e|\u003c|≥|\u003e=|≤|\u003c=)"
860
844
  },
861
845
  {
862
- "match": "(?ix)\\b\n\t\t\t\t\t\t(and|or|div|mod|as|not\n\t\t\t\t\t\t|(a\\s+)?(ref(\\s+to)?|reference\\s+to)\n\t\t\t\t\t\t|equal(s|\\s+to)|contains?|comes\\s+(after|before)|(start|begin|end)s?\\s+with\n\t\t\t\t\t\t)\n\t\t\t\t\t\\b",
863
- "name": "keyword.operator.word.applescript"
846
+ "name": "keyword.operator.word.applescript",
847
+ "match": "(?ix)\\b\n\t\t\t\t\t\t(and|or|div|mod|as|not\n\t\t\t\t\t\t|(a\\s+)?(ref(\\s+to)?|reference\\s+to)\n\t\t\t\t\t\t|equal(s|\\s+to)|contains?|comes\\s+(after|before)|(start|begin|end)s?\\s+with\n\t\t\t\t\t\t)\n\t\t\t\t\t\\b"
864
848
  },
865
849
  {
866
- "comment": "In double quotes so we can use a single quote in the keywords.",
867
- "match": "(?ix)\\b\n\t\t\t\t\t\t(is(n't|\\s+not)?(\\s+(equal(\\s+to)?|(less|greater)\\s+than(\\s+or\\s+equal(\\s+to)?)?|in|contained\\s+by))?\n\t\t\t\t\t\t|does(n't|\\s+not)\\s+(equal|come\\s+(before|after)|contain)\n\t\t\t\t\t\t)\n\t\t\t\t\t\\b",
868
- "name": "keyword.operator.word.applescript"
850
+ "name": "keyword.operator.word.applescript",
851
+ "match": "(?ix)\\b\n\t\t\t\t\t\t(is(n't|\\s+not)?(\\s+(equal(\\s+to)?|(less|greater)\\s+than(\\s+or\\s+equal(\\s+to)?)?|in|contained\\s+by))?\n\t\t\t\t\t\t|does(n't|\\s+not)\\s+(equal|come\\s+(before|after)|contain)\n\t\t\t\t\t\t)\n\t\t\t\t\t\\b"
869
852
  },
870
853
  {
871
- "match": "\\b(?i:some|every|whose|where|that|id|index|\\d+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|front|back|middle|named|beginning|end|from|to|thr(u|ough)|before|(front|back|beginning|end)\\s+of|after|behind|in\\s+(front|back|beginning|end)\\s+of)\\b",
872
- "name": "keyword.operator.reference.applescript"
854
+ "name": "keyword.operator.reference.applescript",
855
+ "match": "\\b(?i:some|every|whose|where|that|id|index|\\d+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|front|back|middle|named|beginning|end|from|to|thr(u|ough)|before|(front|back|beginning|end)\\s+of|after|behind|in\\s+(front|back|beginning|end)\\s+of)\\b"
873
856
  },
874
857
  {
875
- "match": "\\b(?i:continue|return|exit(\\s+repeat)?)\\b",
876
- "name": "keyword.control.loop.applescript"
858
+ "name": "keyword.control.loop.applescript",
859
+ "match": "\\b(?i:continue|return|exit(\\s+repeat)?)\\b"
877
860
  },
878
861
  {
879
- "match": "\\b(?i:about|above|after|against|and|apart\\s+from|around|as|aside\\s+from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contain|contains|contains|copy|div|does|eighth|else|end|equal|equals|error|every|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead\\s+of|into|is|it|its|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|out\\s+of|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b",
880
- "name": "keyword.other.applescript"
862
+ "name": "keyword.other.applescript",
863
+ "match": "\\b(?i:about|above|after|against|and|apart\\s+from|around|as|aside\\s+from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contain|contains|contains|copy|div|does|eighth|else|end|equal|equals|error|every|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead\\s+of|into|is|it|its|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|out\\s+of|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b"
881
864
  }
882
865
  ]
883
866
  },
884
867
  "built-in.punctuation": {
885
868
  "patterns": [
886
869
  {
887
- "match": "¬",
888
- "name": "punctuation.separator.continuation.line.applescript"
870
+ "name": "punctuation.separator.continuation.line.applescript",
871
+ "match": "¬"
889
872
  },
890
873
  {
891
- "comment": "the : in property assignments",
892
- "match": ":",
893
- "name": "punctuation.separator.key-value.property.applescript"
874
+ "name": "punctuation.separator.key-value.property.applescript",
875
+ "match": ":"
894
876
  },
895
877
  {
896
- "comment": "the parentheses in groups",
897
- "match": "[()]",
898
- "name": "punctuation.section.group.applescript"
878
+ "name": "punctuation.section.group.applescript",
879
+ "match": "[()]"
899
880
  }
900
881
  ]
901
882
  },
902
883
  "built-in.support": {
903
884
  "patterns": [
904
885
  {
905
- "match": "\\b(?i:POSIX\\s+path|frontmost|id|name|running|version|days?|weekdays?|months?|years?|time|date\\s+string|time\\s+string|length|rest|reverse|items?|contents|quoted\\s+form|characters?|paragraphs?|words?)\\b",
906
- "name": "support.function.built-in.property.applescript"
886
+ "name": "support.function.built-in.property.applescript",
887
+ "match": "\\b(?i:POSIX\\s+path|frontmost|id|name|running|version|days?|weekdays?|months?|years?|time|date\\s+string|time\\s+string|length|rest|reverse|items?|contents|quoted\\s+form|characters?|paragraphs?|words?)\\b"
907
888
  },
908
889
  {
909
- "match": "\\b(?i:activate|log|clipboard\\s+info|set\\s+the\\s+clipboard\\s+to|the\\s+clipboard|info\\s+for|list\\s+(disks|folder)|mount\\s+volume|path\\s+to(\\s+resource)?|close\\s+access|get\\s+eof|open\\s+for\\s+access|read|set\\s+eof|write|open\\s+location|current\\s+date|do\\s+shell\\s+script|get\\s+volume\\s+settings|random\\s+number|round|set\\s+volume|system\\s+(attribute|info)|time\\s+to\\s+GMT|load\\s+script|run\\s+script|scripting\\s+components|store\\s+script|copy|count|get|launch|run|set|ASCII\\s+(character|number)|localized\\s+string|offset|summarize|beep|choose\\s+(application|color|file(\\s+name)?|folder|from\\s+list|remote\\s+application|URL)|delay|display\\s+(alert|dialog)|say)\\b",
910
- "name": "support.function.built-in.command.applescript"
890
+ "name": "support.function.built-in.command.applescript",
891
+ "match": "\\b(?i:activate|log|clipboard\\s+info|set\\s+the\\s+clipboard\\s+to|the\\s+clipboard|info\\s+for|list\\s+(disks|folder)|mount\\s+volume|path\\s+to(\\s+resource)?|close\\s+access|get\\s+eof|open\\s+for\\s+access|read|set\\s+eof|write|open\\s+location|current\\s+date|do\\s+shell\\s+script|get\\s+volume\\s+settings|random\\s+number|round|set\\s+volume|system\\s+(attribute|info)|time\\s+to\\s+GMT|load\\s+script|run\\s+script|scripting\\s+components|store\\s+script|copy|count|get|launch|run|set|ASCII\\s+(character|number)|localized\\s+string|offset|summarize|beep|choose\\s+(application|color|file(\\s+name)?|folder|from\\s+list|remote\\s+application|URL)|delay|display\\s+(alert|dialog)|say)\\b"
911
892
  },
912
893
  {
913
- "match": "\\b(?i:get|run)\\b",
914
- "name": "support.function.built-in.applescript"
894
+ "name": "support.function.built-in.applescript",
895
+ "match": "\\b(?i:get|run)\\b"
915
896
  },
916
897
  {
917
- "match": "\\b(?i:anything|data|text|upper\\s+case|propert(y|ies))\\b",
918
- "name": "support.class.built-in.applescript"
898
+ "name": "support.class.built-in.applescript",
899
+ "match": "\\b(?i:anything|data|text|upper\\s+case|propert(y|ies))\\b"
919
900
  },
920
901
  {
921
- "match": "\\b(?i:alias|class)(es)?\\b",
922
- "name": "support.class.built-in.applescript"
902
+ "name": "support.class.built-in.applescript",
903
+ "match": "\\b(?i:alias|class)(es)?\\b"
923
904
  },
924
905
  {
925
- "match": "\\b(?i:app(lication)?|boolean|character|constant|date|event|file(\\s+specification)?|handler|integer|item|keystroke|linked\\s+list|list|machine|number|picture|preposition|POSIX\\s+file|real|record|reference(\\s+form)?|RGB\\s+color|script|sound|text\\s+item|type\\s+class|vector|writing\\s+code(\\s+info)?|zone|((international|styled(\\s+(Clipboard|Unicode))?|Unicode)\\s+)?text|((C|encoded|Pascal)\\s+)?string)s?\\b",
926
- "name": "support.class.built-in.applescript"
906
+ "name": "support.class.built-in.applescript",
907
+ "match": "\\b(?i:app(lication)?|boolean|character|constant|date|event|file(\\s+specification)?|handler|integer|item|keystroke|linked\\s+list|list|machine|number|picture|preposition|POSIX\\s+file|real|record|reference(\\s+form)?|RGB\\s+color|script|sound|text\\s+item|type\\s+class|vector|writing\\s+code(\\s+info)?|zone|((international|styled(\\s+(Clipboard|Unicode))?|Unicode)\\s+)?text|((C|encoded|Pascal)\\s+)?string)s?\\b"
927
908
  },
928
909
  {
929
- "match": "(?ix)\\b\n\t\t\t\t\t\t(\t(cubic\\s+(centi)?|square\\s+(kilo)?|centi|kilo)met(er|re)s\n\t\t\t\t\t\t|\tsquare\\s+(yards|feet|miles)|cubic\\s+(yards|feet|inches)|miles|inches\n\t\t\t\t\t\t|\tlit(re|er)s|gallons|quarts\n\t\t\t\t\t\t|\t(kilo)?grams|ounces|pounds\n\t\t\t\t\t\t|\tdegrees\\s+(Celsius|Fahrenheit|Kelvin)\n\t\t\t\t\t\t)\n\t\t\t\t\t\\b",
930
- "name": "support.class.built-in.unit.applescript"
910
+ "name": "support.class.built-in.unit.applescript",
911
+ "match": "(?ix)\\b\n\t\t\t\t\t\t(\t(cubic\\s+(centi)?|square\\s+(kilo)?|centi|kilo)met(er|re)s\n\t\t\t\t\t\t|\tsquare\\s+(yards|feet|miles)|cubic\\s+(yards|feet|inches)|miles|inches\n\t\t\t\t\t\t|\tlit(re|er)s|gallons|quarts\n\t\t\t\t\t\t|\t(kilo)?grams|ounces|pounds\n\t\t\t\t\t\t|\tdegrees\\s+(Celsius|Fahrenheit|Kelvin)\n\t\t\t\t\t\t)\n\t\t\t\t\t\\b"
931
912
  },
932
913
  {
933
- "match": "\\b(?i:seconds|minutes|hours|days)\\b",
934
- "name": "support.class.built-in.time.applescript"
914
+ "name": "support.class.built-in.time.applescript",
915
+ "match": "\\b(?i:seconds|minutes|hours|days)\\b"
935
916
  }
936
917
  ]
937
918
  },
938
919
  "comments": {
939
920
  "patterns": [
940
921
  {
922
+ "name": "comment.line.number-sign.applescript",
941
923
  "begin": "^\\s*(#!)",
924
+ "end": "\\n",
942
925
  "captures": {
943
926
  "1": {
944
927
  "name": "punctuation.definition.comment.applescript"
945
928
  }
946
- },
947
- "end": "\\n",
948
- "name": "comment.line.number-sign.applescript"
929
+ }
949
930
  },
950
931
  {
951
932
  "begin": "(^[ \\t]+)?(?=#)",
952
- "beginCaptures": {
953
- "1": {
954
- "name": "punctuation.whitespace.comment.leading.applescript"
955
- }
956
- },
957
933
  "end": "(?!\\G)",
958
934
  "patterns": [
959
935
  {
936
+ "name": "comment.line.number-sign.applescript",
960
937
  "begin": "#",
938
+ "end": "\\n",
961
939
  "beginCaptures": {
962
940
  "0": {
963
941
  "name": "punctuation.definition.comment.applescript"
964
942
  }
965
- },
966
- "end": "\\n",
967
- "name": "comment.line.number-sign.applescript"
943
+ }
968
944
  }
969
- ]
970
- },
971
- {
972
- "begin": "(^[ \\t]+)?(?=--)",
945
+ ],
973
946
  "beginCaptures": {
974
947
  "1": {
975
948
  "name": "punctuation.whitespace.comment.leading.applescript"
976
949
  }
977
- },
950
+ }
951
+ },
952
+ {
953
+ "begin": "(^[ \\t]+)?(?=--)",
978
954
  "end": "(?!\\G)",
979
955
  "patterns": [
980
956
  {
957
+ "name": "comment.line.double-dash.applescript",
981
958
  "begin": "--",
959
+ "end": "\\n",
982
960
  "beginCaptures": {
983
961
  "0": {
984
962
  "name": "punctuation.definition.comment.applescript"
985
963
  }
986
- },
987
- "end": "\\n",
988
- "name": "comment.line.double-dash.applescript"
964
+ }
989
965
  }
990
- ]
966
+ ],
967
+ "beginCaptures": {
968
+ "1": {
969
+ "name": "punctuation.whitespace.comment.leading.applescript"
970
+ }
971
+ }
991
972
  },
992
973
  {
974
+ "name": "comment.block.applescript",
993
975
  "begin": "\\(\\*",
994
- "captures": {
995
- "0": {
996
- "name": "punctuation.definition.comment.applescript"
997
- }
998
- },
999
976
  "end": "\\*\\)",
1000
- "name": "comment.block.applescript",
1001
977
  "patterns": [
1002
978
  {
1003
979
  "include": "#comments.nested"
1004
980
  }
1005
- ]
981
+ ],
982
+ "captures": {
983
+ "0": {
984
+ "name": "punctuation.definition.comment.applescript"
985
+ }
986
+ }
1006
987
  }
1007
988
  ]
1008
989
  },
1009
990
  "comments.nested": {
1010
991
  "patterns": [
1011
992
  {
993
+ "name": "comment.block.applescript",
1012
994
  "begin": "\\(\\*",
995
+ "end": "\\*\\)",
996
+ "patterns": [
997
+ {
998
+ "include": "#comments.nested"
999
+ }
1000
+ ],
1013
1001
  "beginCaptures": {
1014
1002
  "0": {
1015
1003
  "name": "punctuation.definition.comment.begin.applescript"
1016
1004
  }
1017
1005
  },
1018
- "end": "\\*\\)",
1019
1006
  "endCaptures": {
1020
1007
  "0": {
1021
1008
  "name": "punctuation.definition.comment.end.applescript"
1022
1009
  }
1023
- },
1024
- "name": "comment.block.applescript",
1025
- "patterns": [
1026
- {
1027
- "include": "#comments.nested"
1028
- }
1029
- ]
1010
+ }
1030
1011
  }
1031
1012
  ]
1032
1013
  },
1033
1014
  "data-structures": {
1034
1015
  "patterns": [
1035
1016
  {
1017
+ "name": "meta.array.applescript",
1036
1018
  "begin": "\\{",
1037
- "beginCaptures": {
1038
- "0": {
1039
- "name": "punctuation.definition.array.begin.applescript"
1040
- }
1041
- },
1042
- "comment": "We cannot necessarily distinguish \"records\" from \"arrays\", and so this could be either.",
1043
1019
  "end": "\\}",
1044
- "endCaptures": {
1045
- "0": {
1046
- "name": "punctuation.definition.array.end.applescript"
1047
- }
1048
- },
1049
- "name": "meta.array.applescript",
1050
1020
  "patterns": [
1051
1021
  {
1022
+ "match": "(\\w+|((\\|)[^|\\n]*(\\|)))\\s*(:)",
1052
1023
  "captures": {
1053
1024
  "1": {
1054
1025
  "name": "constant.other.key.applescript"
@@ -1065,55 +1036,66 @@
1065
1036
  "5": {
1066
1037
  "name": "punctuation.separator.key-value.applescript"
1067
1038
  }
1068
- },
1069
- "match": "(\\w+|((\\|)[^|\\n]*(\\|)))\\s*(:)"
1039
+ }
1070
1040
  },
1071
1041
  {
1072
- "match": ":",
1073
- "name": "punctuation.separator.key-value.applescript"
1042
+ "name": "punctuation.separator.key-value.applescript",
1043
+ "match": ":"
1074
1044
  },
1075
1045
  {
1076
- "match": ",",
1077
- "name": "punctuation.separator.array.applescript"
1046
+ "name": "punctuation.separator.array.applescript",
1047
+ "match": ","
1078
1048
  },
1079
1049
  {
1080
1050
  "include": "#inline"
1081
1051
  }
1082
- ]
1083
- },
1084
- {
1085
- "begin": "(?:(?<=application )|(?<=app ))(\")",
1086
- "captures": {
1087
- "1": {
1088
- "name": "punctuation.definition.string.applescript"
1052
+ ],
1053
+ "beginCaptures": {
1054
+ "0": {
1055
+ "name": "punctuation.definition.array.begin.applescript"
1089
1056
  }
1090
1057
  },
1091
- "end": "(\")",
1058
+ "endCaptures": {
1059
+ "0": {
1060
+ "name": "punctuation.definition.array.end.applescript"
1061
+ }
1062
+ }
1063
+ },
1064
+ {
1092
1065
  "name": "string.quoted.double.application-name.applescript",
1066
+ "begin": "(?:(?\u003c=application )|(?\u003c=app ))(\")",
1067
+ "end": "(\")",
1093
1068
  "patterns": [
1094
1069
  {
1095
- "match": "\\\\.",
1096
- "name": "constant.character.escape.applescript"
1070
+ "name": "constant.character.escape.applescript",
1071
+ "match": "\\\\."
1097
1072
  }
1098
- ]
1099
- },
1100
- {
1101
- "begin": "(\")",
1073
+ ],
1102
1074
  "captures": {
1103
1075
  "1": {
1104
1076
  "name": "punctuation.definition.string.applescript"
1105
1077
  }
1106
- },
1107
- "end": "(\")",
1078
+ }
1079
+ },
1080
+ {
1108
1081
  "name": "string.quoted.double.applescript",
1082
+ "begin": "(\")",
1083
+ "end": "(\")",
1109
1084
  "patterns": [
1110
1085
  {
1111
- "match": "\\\\.",
1112
- "name": "constant.character.escape.applescript"
1086
+ "name": "constant.character.escape.applescript",
1087
+ "match": "\\\\."
1113
1088
  }
1114
- ]
1089
+ ],
1090
+ "captures": {
1091
+ "1": {
1092
+ "name": "punctuation.definition.string.applescript"
1093
+ }
1094
+ }
1115
1095
  },
1116
1096
  {
1097
+ "name": "meta.identifier.applescript",
1098
+ "match": "(\\|)[^|\\n]*(\\|)",
1117
1099
  "captures": {
1118
1100
  "1": {
1119
1101
  "name": "punctuation.definition.identifier.applescript"
@@ -1121,11 +1103,11 @@
1121
1103
  "2": {
1122
1104
  "name": "punctuation.definition.identifier.applescript"
1123
1105
  }
1124
- },
1125
- "match": "(\\|)[^|\\n]*(\\|)",
1126
- "name": "meta.identifier.applescript"
1106
+ }
1127
1107
  },
1128
1108
  {
1109
+ "name": "constant.other.data.utxt.applescript",
1110
+ "match": "(«)(data) (utxt|utf8)([[:xdigit:]]*)(»)(?:\\s+(as)\\s+(?i:Unicode\\s+text))?",
1129
1111
  "captures": {
1130
1112
  "1": {
1131
1113
  "name": "punctuation.definition.data.applescript"
@@ -1148,12 +1130,12 @@
1148
1130
  "7": {
1149
1131
  "name": "support.class.built-in.applescript"
1150
1132
  }
1151
- },
1152
- "match": "(«)(data) (utxt|utf8)([[:xdigit:]]*)(»)(?:\\s+(as)\\s+(?i:Unicode\\s+text))?",
1153
- "name": "constant.other.data.utxt.applescript"
1133
+ }
1154
1134
  },
1155
1135
  {
1136
+ "name": "constant.other.data.raw.applescript",
1156
1137
  "begin": "(«)(\\w+)\\b(?=\\s)",
1138
+ "end": "(»)",
1157
1139
  "beginCaptures": {
1158
1140
  "1": {
1159
1141
  "name": "punctuation.definition.data.applescript"
@@ -1162,15 +1144,15 @@
1162
1144
  "name": "support.class.built-in.applescript"
1163
1145
  }
1164
1146
  },
1165
- "end": "(»)",
1166
1147
  "endCaptures": {
1167
1148
  "1": {
1168
1149
  "name": "punctuation.definition.data.applescript"
1169
1150
  }
1170
- },
1171
- "name": "constant.other.data.raw.applescript"
1151
+ }
1172
1152
  },
1173
1153
  {
1154
+ "name": "invalid.illegal.data.applescript",
1155
+ "match": "(«)[^»]*(»)",
1174
1156
  "captures": {
1175
1157
  "1": {
1176
1158
  "name": "punctuation.definition.data.applescript"
@@ -1178,37 +1160,35 @@
1178
1160
  "2": {
1179
1161
  "name": "punctuation.definition.data.applescript"
1180
1162
  }
1181
- },
1182
- "match": "(«)[^»]*(»)",
1183
- "name": "invalid.illegal.data.applescript"
1163
+ }
1184
1164
  }
1185
1165
  ]
1186
1166
  },
1187
1167
  "finder": {
1188
1168
  "patterns": [
1189
1169
  {
1190
- "match": "\\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\\b",
1191
- "name": "support.class.finder.items.applescript"
1170
+ "name": "support.class.finder.items.applescript",
1171
+ "match": "\\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\\b"
1192
1172
  },
1193
1173
  {
1194
- "match": "\\b((Finder|desktop|information|preferences|clipping) )windows?\\b",
1195
- "name": "support.class.finder.window-classes.applescript"
1174
+ "name": "support.class.finder.window-classes.applescript",
1175
+ "match": "\\b((Finder|desktop|information|preferences|clipping) )windows?\\b"
1196
1176
  },
1197
1177
  {
1198
- "match": "\\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\\b",
1199
- "name": "support.class.finder.type-definitions.applescript"
1178
+ "name": "support.class.finder.type-definitions.applescript",
1179
+ "match": "\\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\\b"
1200
1180
  },
1201
1181
  {
1202
- "match": "\\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\\b",
1203
- "name": "support.function.finder.items.applescript"
1182
+ "name": "support.function.finder.items.applescript",
1183
+ "match": "\\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\\b"
1204
1184
  },
1205
1185
  {
1206
- "match": "\\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\\b",
1207
- "name": "support.constant.finder.applescript"
1186
+ "name": "support.constant.finder.applescript",
1187
+ "match": "\\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\\b"
1208
1188
  },
1209
1189
  {
1210
- "match": "\\b(visible)\\b",
1211
- "name": "support.variable.finder.applescript"
1190
+ "name": "support.variable.finder.applescript",
1191
+ "match": "\\b(visible)\\b"
1212
1192
  }
1213
1193
  ]
1214
1194
  },
@@ -1231,176 +1211,174 @@
1231
1211
  "itunes": {
1232
1212
  "patterns": [
1233
1213
  {
1234
- "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",
1235
- "name": "support.class.itunes.applescript"
1214
+ "name": "support.class.itunes.applescript",
1215
+ "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"
1236
1216
  },
1237
1217
  {
1238
- "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",
1239
- "name": "support.function.itunes.applescript"
1218
+ "name": "support.function.itunes.applescript",
1219
+ "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"
1240
1220
  },
1241
1221
  {
1242
- "match": "\\b(current (playlist|stream (title|URL)|track)|player state)\\b",
1243
- "name": "support.constant.itunes.applescript"
1222
+ "name": "support.constant.itunes.applescript",
1223
+ "match": "\\b(current (playlist|stream (title|URL)|track)|player state)\\b"
1244
1224
  },
1245
1225
  {
1246
- "match": "\\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\\b",
1247
- "name": "support.variable.itunes.applescript"
1226
+ "name": "support.variable.itunes.applescript",
1227
+ "match": "\\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\\b"
1248
1228
  }
1249
1229
  ]
1250
1230
  },
1251
1231
  "standard-suite": {
1252
1232
  "patterns": [
1253
1233
  {
1254
- "match": "\\b(colors?|documents?|items?|windows?)\\b",
1255
- "name": "support.class.standard-suite.applescript"
1234
+ "name": "support.class.standard-suite.applescript",
1235
+ "match": "\\b(colors?|documents?|items?|windows?)\\b"
1256
1236
  },
1257
1237
  {
1258
- "match": "\\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\\b",
1259
- "name": "support.function.standard-suite.applescript"
1238
+ "name": "support.function.standard-suite.applescript",
1239
+ "match": "\\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\\b"
1260
1240
  },
1261
1241
  {
1262
- "match": "\\b(name|frontmost|version)\\b",
1263
- "name": "support.constant.standard-suite.applescript"
1242
+ "name": "support.constant.standard-suite.applescript",
1243
+ "match": "\\b(name|frontmost|version)\\b"
1264
1244
  },
1265
1245
  {
1266
- "match": "\\b(selection)\\b",
1267
- "name": "support.variable.standard-suite.applescript"
1246
+ "name": "support.variable.standard-suite.applescript",
1247
+ "match": "\\b(selection)\\b"
1268
1248
  },
1269
1249
  {
1270
- "match": "\\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\\b",
1271
- "name": "support.class.text-suite.applescript"
1250
+ "name": "support.class.text-suite.applescript",
1251
+ "match": "\\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\\b"
1272
1252
  }
1273
1253
  ]
1274
1254
  },
1275
1255
  "standardadditions": {
1276
1256
  "patterns": [
1277
1257
  {
1278
- "match": "\\b((alert|dialog) reply)\\b",
1279
- "name": "support.class.standardadditions.user-interaction.applescript"
1258
+ "name": "support.class.standardadditions.user-interaction.applescript",
1259
+ "match": "\\b((alert|dialog) reply)\\b"
1280
1260
  },
1281
1261
  {
1282
- "match": "\\b(file information)\\b",
1283
- "name": "support.class.standardadditions.file.applescript"
1262
+ "name": "support.class.standardadditions.file.applescript",
1263
+ "match": "\\b(file information)\\b"
1284
1264
  },
1285
1265
  {
1286
- "match": "\\b(POSIX files?|system information|volume settings)\\b",
1287
- "name": "support.class.standardadditions.miscellaneous.applescript"
1266
+ "name": "support.class.standardadditions.miscellaneous.applescript",
1267
+ "match": "\\b(POSIX files?|system information|volume settings)\\b"
1288
1268
  },
1289
1269
  {
1290
- "match": "\\b(URLs?|internet address(es)?|web pages?|FTP items?)\\b",
1291
- "name": "support.class.standardadditions.internet.applescript"
1270
+ "name": "support.class.standardadditions.internet.applescript",
1271
+ "match": "\\b(URLs?|internet address(es)?|web pages?|FTP items?)\\b"
1292
1272
  },
1293
1273
  {
1294
- "match": "\\b(info for|list (disks|folder)|mount volume|path to( resource)?)\\b",
1295
- "name": "support.function.standardadditions.file.applescript"
1274
+ "name": "support.function.standardadditions.file.applescript",
1275
+ "match": "\\b(info for|list (disks|folder)|mount volume|path to( resource)?)\\b"
1296
1276
  },
1297
1277
  {
1298
- "match": "\\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\\b",
1299
- "name": "support.function.standardadditions.user-interaction.applescript"
1278
+ "name": "support.function.standardadditions.user-interaction.applescript",
1279
+ "match": "\\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\\b"
1300
1280
  },
1301
1281
  {
1302
- "match": "\\b(ASCII (character|number)|localized string|offset|summarize)\\b",
1303
- "name": "support.function.standardadditions.string.applescript"
1282
+ "name": "support.function.standardadditions.string.applescript",
1283
+ "match": "\\b(ASCII (character|number)|localized string|offset|summarize)\\b"
1304
1284
  },
1305
1285
  {
1306
- "match": "\\b(set the clipboard to|the clipboard|clipboard info)\\b",
1307
- "name": "support.function.standardadditions.clipboard.applescript"
1286
+ "name": "support.function.standardadditions.clipboard.applescript",
1287
+ "match": "\\b(set the clipboard to|the clipboard|clipboard info)\\b"
1308
1288
  },
1309
1289
  {
1310
- "match": "\\b(open for access|close access|read|write|get eof|set eof)\\b",
1311
- "name": "support.function.standardadditions.file-i-o.applescript"
1290
+ "name": "support.function.standardadditions.file-i-o.applescript",
1291
+ "match": "\\b(open for access|close access|read|write|get eof|set eof)\\b"
1312
1292
  },
1313
1293
  {
1314
- "match": "\\b((load|store|run) script|scripting components)\\b",
1315
- "name": "support.function.standardadditions.scripting.applescript"
1294
+ "name": "support.function.standardadditions.scripting.applescript",
1295
+ "match": "\\b((load|store|run) script|scripting components)\\b"
1316
1296
  },
1317
1297
  {
1318
- "match": "\\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\\b",
1319
- "name": "support.function.standardadditions.miscellaneous.applescript"
1298
+ "name": "support.function.standardadditions.miscellaneous.applescript",
1299
+ "match": "\\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\\b"
1320
1300
  },
1321
1301
  {
1322
- "match": "\\b(opening folder|(closing|moving) folder window for|adding folder items to|removing folder items from)\\b",
1323
- "name": "support.function.standardadditions.folder-actions.applescript"
1302
+ "name": "support.function.standardadditions.folder-actions.applescript",
1303
+ "match": "\\b(opening folder|(closing|moving) folder window for|adding folder items to|removing folder items from)\\b"
1324
1304
  },
1325
1305
  {
1326
- "match": "\\b(open location|handle CGI request)\\b",
1327
- "name": "support.function.standardadditions.internet.applescript"
1306
+ "name": "support.function.standardadditions.internet.applescript",
1307
+ "match": "\\b(open location|handle CGI request)\\b"
1328
1308
  }
1329
1309
  ]
1330
1310
  },
1331
1311
  "system-events": {
1332
1312
  "patterns": [
1333
1313
  {
1334
- "match": "\\b(audio (data|file))\\b",
1335
- "name": "support.class.system-events.audio-file.applescript"
1314
+ "name": "support.class.system-events.audio-file.applescript",
1315
+ "match": "\\b(audio (data|file))\\b"
1336
1316
  },
1337
1317
  {
1338
- "match": "\\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\\b",
1339
- "name": "support.class.system-events.disk-folder-file.applescript"
1318
+ "name": "support.class.system-events.disk-folder-file.applescript",
1319
+ "match": "\\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\\b"
1340
1320
  },
1341
1321
  {
1342
- "match": "\\b(delete|open|move)\\b",
1343
- "name": "support.function.system-events.disk-folder-file.applescript"
1322
+ "name": "support.function.system-events.disk-folder-file.applescript",
1323
+ "match": "\\b(delete|open|move)\\b"
1344
1324
  },
1345
1325
  {
1346
- "match": "\\b(folder actions?|scripts?)\\b",
1347
- "name": "support.class.system-events.folder-actions.applescript"
1326
+ "name": "support.class.system-events.folder-actions.applescript",
1327
+ "match": "\\b(folder actions?|scripts?)\\b"
1348
1328
  },
1349
1329
  {
1350
- "match": "\\b(attach action to|attached scripts|edit action of|remove action from)\\b",
1351
- "name": "support.function.system-events.folder-actions.applescript"
1330
+ "name": "support.function.system-events.folder-actions.applescript",
1331
+ "match": "\\b(attach action to|attached scripts|edit action of|remove action from)\\b"
1352
1332
  },
1353
1333
  {
1354
- "match": "\\b(movie data|movie file)\\b",
1355
- "name": "support.class.system-events.movie-file.applescript"
1334
+ "name": "support.class.system-events.movie-file.applescript",
1335
+ "match": "\\b(movie data|movie file)\\b"
1356
1336
  },
1357
1337
  {
1358
- "match": "\\b(log out|restart|shut down|sleep)\\b",
1359
- "name": "support.function.system-events.power.applescript"
1338
+ "name": "support.function.system-events.power.applescript",
1339
+ "match": "\\b(log out|restart|shut down|sleep)\\b"
1360
1340
  },
1361
1341
  {
1362
- "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",
1363
- "name": "support.class.system-events.processes.applescript"
1342
+ "name": "support.class.system-events.processes.applescript",
1343
+ "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"
1364
1344
  },
1365
1345
  {
1366
- "match": "\\b(click|key code|keystroke|perform|select)\\b",
1367
- "name": "support.function.system-events.processes.applescript"
1346
+ "name": "support.function.system-events.processes.applescript",
1347
+ "match": "\\b(click|key code|keystroke|perform|select)\\b"
1368
1348
  },
1369
1349
  {
1370
- "match": "\\b(property list (file|item))\\b",
1371
- "name": "support.class.system-events.property-list.applescript"
1350
+ "name": "support.class.system-events.property-list.applescript",
1351
+ "match": "\\b(property list (file|item))\\b"
1372
1352
  },
1373
1353
  {
1374
- "match": "\\b(annotation|QuickTime (data|file)|track)s?\\b",
1375
- "name": "support.class.system-events.quicktime-file.applescript"
1354
+ "name": "support.class.system-events.quicktime-file.applescript",
1355
+ "match": "\\b(annotation|QuickTime (data|file)|track)s?\\b"
1376
1356
  },
1377
1357
  {
1378
- "match": "\\b((abort|begin|end) transaction)\\b",
1379
- "name": "support.function.system-events.system-events.applescript"
1358
+ "name": "support.function.system-events.system-events.applescript",
1359
+ "match": "\\b((abort|begin|end) transaction)\\b"
1380
1360
  },
1381
1361
  {
1382
- "match": "\\b(XML (attribute|data|element|file)s?)\\b",
1383
- "name": "support.class.system-events.xml.applescript"
1362
+ "name": "support.class.system-events.xml.applescript",
1363
+ "match": "\\b(XML (attribute|data|element|file)s?)\\b"
1384
1364
  },
1385
1365
  {
1386
- "match": "\\b(print settings|users?|login items?)\\b",
1387
- "name": "support.class.sytem-events.other.applescript"
1366
+ "name": "support.class.sytem-events.other.applescript",
1367
+ "match": "\\b(print settings|users?|login items?)\\b"
1388
1368
  }
1389
1369
  ]
1390
1370
  },
1391
1371
  "textmate": {
1392
1372
  "patterns": [
1393
1373
  {
1394
- "match": "\\b(print settings)\\b",
1395
- "name": "support.class.textmate.applescript"
1374
+ "name": "support.class.textmate.applescript",
1375
+ "match": "\\b(print settings)\\b"
1396
1376
  },
1397
1377
  {
1398
- "match": "\\b(get url|insert|reload bundles)\\b",
1399
- "name": "support.function.textmate.applescript"
1378
+ "name": "support.function.textmate.applescript",
1379
+ "match": "\\b(get url|insert|reload bundles)\\b"
1400
1380
  }
1401
1381
  ]
1402
1382
  }
1403
- },
1404
- "scopeName": "source.applescript",
1405
- "uuid": "777CF925-14B9-428E-B07B-17FAAB8FA27E"
1406
- }
1383
+ }
1384
+ }