github-linguist 5.3.3 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,87 +1,82 @@
1
1
  {
2
- "fileTypes": [
3
- "mo"
4
- ],
5
2
  "name": "Modelica",
3
+ "scopeName": "source.modelica",
6
4
  "patterns": [
7
5
  {
6
+ "name": "comment.block",
8
7
  "begin": "/\\*",
9
- "end": "\\*/",
10
- "name": "comment.block"
8
+ "end": "\\*/"
11
9
  },
12
10
  {
13
- "match": "(//).*$\\n?",
14
- "name": "comment.line"
11
+ "name": "comment.line",
12
+ "match": "(//).*$\\n?"
15
13
  },
16
14
  {
17
- "match": "\\b(true|false)\\b",
18
- "name": "constant.language"
15
+ "name": "constant.language",
16
+ "match": "\\b(true|false)\\b"
19
17
  },
20
18
  {
21
- "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",
22
- "name": "constant.numeric"
19
+ "name": "constant.numeric",
20
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"
23
21
  },
24
22
  {
25
- "match": "\\b(Real|Integer|Boolean|String)\\b",
26
- "name": "storage.type"
23
+ "name": "storage.type",
24
+ "match": "\\b(Real|Integer|Boolean|String)\\b"
27
25
  },
28
26
  {
29
- "match": "\\b(constant|final|parameter|expandable|replaceable|redeclare|constrainedby|import|flow|stream|input|output|discrete|connector)\\b",
30
- "name": "storage.modifier"
27
+ "name": "storage.modifier",
28
+ "match": "\\b(constant|final|parameter|expandable|replaceable|redeclare|constrainedby|import|flow|stream|input|output|discrete|connector)\\b"
31
29
  },
32
30
  {
33
- "match": "\\b\\s*([A-Z])(?:([^ ;$]+)(;)?)([.]([A-Z])(?:([^ ;$]+)(;)?)?)++\\b",
34
- "name": "keyword"
31
+ "name": "keyword",
32
+ "match": "\\b\\s*([A-Z])(?:([^ ;$]+)(;)?)([.]([A-Z])(?:([^ ;$]+)(;)?)?)++\\b"
35
33
  },
36
34
  {
37
- "match": "\\b(for|if|when|while|then|loop|end if|end when|end for|end while|else|elsewhen|and|break|each|elseif)\\b",
38
- "name": "keyword.control"
35
+ "name": "keyword.control",
36
+ "match": "\\b(for|if|when|while|then|loop|end if|end when|end for|end while|else|elsewhen|and|break|each|elseif)\\b"
39
37
  },
40
38
  {
41
- "match": "\\b(and|or|not)\\b",
42
- "name": "keyword.operator.logical"
39
+ "name": "keyword.operator.logical",
40
+ "match": "\\b(and|or|not)\\b"
43
41
  },
44
42
  {
45
- "match": "<|<\\=|>|>\\=|\\=\\=|<>",
46
- "name": "keyword.operator.comparison"
43
+ "name": "keyword.operator.comparison",
44
+ "match": "\u003c|\u003c\\=|\u003e|\u003e\\=|\\=\\=|\u003c\u003e"
47
45
  },
48
46
  {
49
- "match": "\\+|\\-|\\.\\+|\\.\\-|\\*|\\.\\*|/|\\./|\\^",
50
- "name": "keyword.operator.arithmetic"
47
+ "name": "keyword.operator.arithmetic",
48
+ "match": "\\+|\\-|\\.\\+|\\.\\-|\\*|\\.\\*|/|\\./|\\^"
51
49
  },
52
50
  {
53
- "match": "\\=|\\:\\=",
54
- "name": "keyword.operator.assignment"
51
+ "name": "keyword.operator.assignment",
52
+ "match": "\\=|\\:\\="
55
53
  },
56
54
  {
57
- "match": "\\b(algorithm|equation|initial equation|protected|public|register|end)\\b",
58
- "name": "keyword"
55
+ "name": "keyword",
56
+ "match": "\\b(algorithm|equation|initial equation|protected|public|register|end)\\b"
59
57
  },
60
58
  {
61
- "match": "\\b(inner|outer)\\b",
62
- "name": "keyword.other"
59
+ "name": "support.function.mathematical",
60
+ "match": "\\b(acos|asin|atan|atan2|cos|cosh|exp|log|log10|sin|sinh|tan|tanh|abs|sign|sqrt|max|min|product|sum)\\b"
63
61
  },
64
62
  {
65
- "match": "\\b(acos|asin|atan|atan2|cos|cosh|exp|log|log10|sin|sinh|tan|tanh|abs|sign|sqrt|max|min|product|sum)\\b",
66
- "name": "support.function.mathematical"
63
+ "name": "support.function.array",
64
+ "match": "\\b(scalar|vector|matrix|identity|diagonal|zeros|ones|fill|linspace|transpose|outerProduct|symmetric|cross|skew)\\b"
67
65
  },
68
66
  {
69
- "match": "\\b(scalar|vector|matrix|identity|diagonal|zeros|ones|fill|linspace|transpose|outerProduct|symmetric|cross|skew)\\b",
70
- "name": "support.function.array"
67
+ "name": "support.function.event",
68
+ "match": "\\b(ceil|div|fill|floor|integer|max|min|mod|rem|pre|noEvent|change|edge|initial|terminal|reinit|sample|smooth|terminate)\\b"
71
69
  },
72
70
  {
73
- "match": "\\b(ceil|div|fill|floor|integer|max|min|mod|rem|pre|noEvent|change|edge|initial|terminal|reinit|sample|smooth|terminate)\\b",
74
- "name": "support.function.event"
71
+ "name": "support.function.special",
72
+ "match": "\\b(connect|der|inStream|actualStream|semiLinear|spatialDistribution|getInstanceName|homotopy|delay|assert|ndims|size|cardinality|isPresent)\\b"
75
73
  },
76
74
  {
77
- "match": "\\b(connect|der|inStream|actualStream|semiLinear|spatialDistribution|getInstanceName|homotopy|delay|assert|ndims|size|cardinality|isPresent)\\b",
78
- "name": "support.function.special"
79
- },
80
- {
81
- "match": "\\b(extends|partial|within)\\b",
82
- "name": "support.type"
75
+ "name": "support.type",
76
+ "match": "\\b(extends|partial|within)\\b"
83
77
  },
84
78
  {
79
+ "match": "\\b((model|class|record|block|package)\\s+\\w+\\s*(\".*\")*)",
85
80
  "captures": {
86
81
  "1": {
87
82
  "name": "entity.name.type"
@@ -92,10 +87,10 @@
92
87
  "3": {
93
88
  "name": "comment.line"
94
89
  }
95
- },
96
- "match": "\\b((model|class|record|block|package)\\s+\\w+\\s*(\".*\")*)"
90
+ }
97
91
  },
98
92
  {
93
+ "match": "((function)\\s+\\w+\\s*(\".*\")*)",
99
94
  "captures": {
100
95
  "1": {
101
96
  "name": "entity.name.function"
@@ -106,41 +101,38 @@
106
101
  "3": {
107
102
  "name": "comment.line"
108
103
  }
109
- },
110
- "match": "((function)\\s+\\w+\\s*(\".*\")*)"
104
+ }
111
105
  },
112
106
  {
107
+ "name": "comment.block",
113
108
  "begin": "annotation",
114
109
  "end": ";\\s*\\n",
115
- "name": "comment.block",
116
110
  "patterns": [
117
111
  {
112
+ "name": "comment.block",
118
113
  "begin": "\"",
119
- "end": "\"",
120
- "name": "comment.block"
114
+ "end": "\""
121
115
  }
122
116
  ]
123
117
  },
124
118
  {
119
+ "match": "[\"\\w\\)](\\s+\".*\"\\s*);",
125
120
  "captures": {
126
121
  "1": {
127
122
  "name": "constant.string"
128
123
  }
129
- },
130
- "match": "[\"\\w\\)](\\s+\".*\"\\s*);"
124
+ }
131
125
  },
132
126
  {
127
+ "name": "constant.string",
133
128
  "begin": "\"",
134
129
  "end": "\"",
135
- "name": "constant.string",
136
130
  "patterns": [
137
131
  {
138
- "match": "\\\\.",
139
- "name": "constant.character.escaped"
132
+ "name": "constant.character.escaped",
133
+ "match": "\\\\."
140
134
  }
141
135
  ]
142
136
  }
143
- ],
144
- "scopeName": "source.modelica",
145
- "uuid": "43df6fac-7928-42e2-9890-f5073aaddb14"
146
- }
137
+ ]
138
+ }
@@ -1,11 +1,9 @@
1
1
  {
2
- "fileTypes": [
3
- "mod",
4
- "def"
5
- ],
6
2
  "name": "Modula-2",
3
+ "scopeName": "source.modula2",
7
4
  "patterns": [
8
5
  {
6
+ "match": "\\b(PROCEDURE|DEFINITION MODULE|IMPLEMENTATION MODULE|MODULE)\\b\\s+(\\w+(\\.\\w+)?)",
9
7
  "captures": {
10
8
  "1": {
11
9
  "name": "storage.type.function.modula2"
@@ -13,11 +11,10 @@
13
11
  "2": {
14
12
  "name": "entity.name.function.modula2"
15
13
  }
16
- },
17
- "comment": "Reconocimiento de las palabras de inicio.",
18
- "match": "\\b(PROCEDURE|DEFINITION MODULE|IMPLEMENTATION MODULE|MODULE)\\b\\s+(\\w+(\\.\\w+)?)"
14
+ }
19
15
  },
20
16
  {
17
+ "match": "\\b(END)\\b\\s+(\\w+(\\.\\w+)?)",
21
18
  "captures": {
22
19
  "1": {
23
20
  "name": "keyword.control.modula2"
@@ -25,11 +22,11 @@
25
22
  "2": {
26
23
  "name": "entity.name.function.end.modula2"
27
24
  }
28
- },
29
- "comment": "Reconocimiento de las palabras de fin.",
30
- "match": "\\b(END)\\b\\s+(\\w+(\\.\\w+)?)"
25
+ }
31
26
  },
32
27
  {
28
+ "name": "meta.function.modula2",
29
+ "match": "\\b(ABS|ADDRES|ADR|BITSET|BOOLEAN|BYTE|CAP|CARDINAL|CHAR|CHR|DEC|DISPOSE|EXCL|FALSE|FLOAT|HALT|HIGH|INC|INCL|INTEGER|LONGCARD|LONGINT|LONGREAL|LONGWORD|NEW|NULLPROC|ODD|ORD|PROC|REAL|SHORTADDR|SHORTCARD|SHORTINT|SIZE|TRUE|TRUNC|VAL|VSIZE|WORD)\\b",
33
30
  "captures": {
34
31
  "1": {
35
32
  "name": "storage.type.function.modula2"
@@ -37,67 +34,61 @@
37
34
  "2": {
38
35
  "name": "entity.name.function.modula2"
39
36
  }
40
- },
41
- "comment": "Definicion de identificadores predefinidos.",
42
- "match": "\\b(ABS|ADDRES|ADR|BITSET|BOOLEAN|BYTE|CAP|CARDINAL|CHAR|CHR|DEC|DISPOSE|EXCL|FALSE|FLOAT|HALT|HIGH|INC|INCL|INTEGER|LONGCARD|LONGINT|LONGREAL|LONGWORD|NEW|NULLPROC|ODD|ORD|PROC|REAL|SHORTADDR|SHORTCARD|SHORTINT|SIZE|TRUE|TRUNC|VAL|VSIZE|WORD)\\b",
43
- "name": "meta.function.modula2"
37
+ }
44
38
  },
45
39
  {
46
- "comment": "Definicion de palabras reservadas.",
47
- "match": "\\b(AND|ARRAY|BEGIN|BY|CASE|CONST|DIV|DO|ELSE|ELSIF|END|EXIT|EXPORT|FOR|FORWARD|FROM|GOTO|IF|IMPORT|IN|LABEL|LOOP|MOD|NOT|OF|OR|POINTER|QUALIFIED|RECORD|REPEAT|RETURN|SET|THEN|TO|DOWNTO|TYPE|UNTIL|VAR|WHILE|WITH|NIL)\\b",
48
- "name": "keyword.control.modula2"
40
+ "name": "keyword.control.modula2",
41
+ "match": "\\b(AND|ARRAY|BEGIN|BY|CASE|CONST|DIV|DO|ELSE|ELSIF|END|EXIT|EXPORT|FOR|FORWARD|FROM|GOTO|IF|IMPORT|IN|LABEL|LOOP|MOD|NOT|OF|OR|POINTER|QUALIFIED|RECORD|REPEAT|RETURN|SET|THEN|TO|DOWNTO|TYPE|UNTIL|VAR|WHILE|WITH|NIL)\\b"
49
42
  },
50
43
  {
51
44
  "include": "#block_comment"
52
45
  },
53
46
  {
47
+ "name": "string.quoted.double.modula2",
54
48
  "begin": "\"",
49
+ "end": "\"",
50
+ "patterns": [
51
+ {
52
+ "name": "constant.character.escape.modula2",
53
+ "match": "\\."
54
+ }
55
+ ],
55
56
  "beginCaptures": {
56
57
  "0": {
57
58
  "name": "punctuation.definition.string.begin.modula2"
58
59
  }
59
60
  },
60
- "end": "\"",
61
61
  "endCaptures": {
62
62
  "0": {
63
63
  "name": "punctuation.definition.string.end.modula2"
64
64
  }
65
- },
66
- "name": "string.quoted.double.modula2",
67
- "patterns": [
68
- {
69
- "match": "\\.",
70
- "name": "constant.character.escape.modula2"
71
- }
72
- ]
65
+ }
73
66
  },
74
67
  {
75
- "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b",
76
- "name": "constant.numeric.modula2"
68
+ "name": "constant.numeric.modula2",
69
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"
77
70
  },
78
71
  {
79
- "match": "(\\(|\\)|\\+|-|\\*|/|:|;|\\.|\\^|=|:=|<|>|#)",
80
- "name": "variable.parameter.function.modula2"
72
+ "name": "variable.parameter.function.modula2",
73
+ "match": "(\\(|\\)|\\+|-|\\*|/|:|;|\\.|\\^|=|:=|\u003c|\u003e|#)"
81
74
  }
82
75
  ],
83
76
  "repository": {
84
77
  "block_comment": {
85
- "applyEndPatternLast": 1,
78
+ "name": "comment.block.modula2.one",
86
79
  "begin": "\\(\\*",
87
- "captures": {
88
- "0": {
89
- "name": "punctuation.definition.comment.modula2"
90
- }
91
- },
80
+ "end": "\\*\\)",
92
81
  "patterns": [
93
82
  {
94
83
  "include": "#block_comment"
95
84
  }
96
85
  ],
97
- "end": "\\*\\)",
98
- "name": "comment.block.modula2.one"
86
+ "captures": {
87
+ "0": {
88
+ "name": "punctuation.definition.comment.modula2"
89
+ }
90
+ },
91
+ "applyEndPatternLast": true
99
92
  }
100
- },
101
- "scopeName": "source.modula2",
102
- "uuid": "c01a654e-2960-44f2-aeae-5909f5043d35"
103
- }
93
+ }
94
+ }
@@ -1,15 +1,10 @@
1
1
  {
2
- "fileTypes": [
3
- "monkey"
4
- ],
5
- "foldingStartMarker": "(?xi)\n\t^\\s*(\n\t\t(?<!end|end\\s)(function|class|method|select|while) |\n\t\t\\#rem | for | repeat | '\\#region\n\t)\\b",
6
- "foldingStopMarker": "(?xi)\n\t^\\s*(\n\t# end <keyword>\n\t\tend\\s?(function|class|method|select|while) |\n\t\t\\#end | '\\#end\\s?region\n\t)\\b",
7
- "keyEquivalent": "^~M",
8
2
  "name": "Monkey",
3
+ "scopeName": "source.monkey",
9
4
  "patterns": [
10
5
  {
11
- "match": ";",
12
- "name": "punctuation.terminator.line.monkey"
6
+ "name": "punctuation.terminator.line.monkey",
7
+ "match": ";"
13
8
  },
14
9
  {
15
10
  "include": "#mnky_comment_quote"
@@ -39,6 +34,8 @@
39
34
  "include": "#mnky_method"
40
35
  },
41
36
  {
37
+ "name": "import.module.monkey",
38
+ "match": "(?i)\\b(import)\\s+((?:[a-zA-Z_]\\w*\\.?)+)",
42
39
  "captures": {
43
40
  "1": {
44
41
  "name": "keyword.other.import.monkey"
@@ -46,12 +43,18 @@
46
43
  "2": {
47
44
  "name": "string.unquoted.module.monkey"
48
45
  }
49
- },
50
- "match": "(?i)\\b(import)\\s+((?:[a-zA-Z_]\\w*\\.?)+)",
51
- "name": "import.module.monkey"
46
+ }
52
47
  },
53
48
  {
49
+ "name": "import.file.monkey",
50
+ "contentName": "string.quoted.double.monkey",
54
51
  "begin": "(?i)\\b(import)\\s+((\"))",
52
+ "end": "(\")",
53
+ "patterns": [
54
+ {
55
+ "include": "#mnky_string_content"
56
+ }
57
+ ],
55
58
  "beginCaptures": {
56
59
  "1": {
57
60
  "name": "keyword.other.import.monkey"
@@ -63,8 +66,6 @@
63
66
  "name": "string.quoted.double.monkey"
64
67
  }
65
68
  },
66
- "contentName": "string.quoted.double.monkey",
67
- "end": "(\")",
68
69
  "endCaptures": {
69
70
  "0": {
70
71
  "name": "punctuation.definition.string.end.monkey"
@@ -72,40 +73,12 @@
72
73
  "1": {
73
74
  "name": "string.quoted.double.monkey"
74
75
  }
75
- },
76
- "name": "import.file.monkey",
77
- "patterns": [
78
- {
79
- "include": "#mnky_string_content"
80
- }
81
- ]
76
+ }
82
77
  },
83
78
  {
79
+ "name": "type.monkey",
84
80
  "begin": "(?i)\\b(class)\\s+([a-zA-Z_]\\w*)(?:\\s+(extends)\\s+([a-zA-Z_]\\w*))?(?:\\s+(final|abstract))?",
85
- "beginCaptures": {
86
- "1": {
87
- "name": "storage.type.class.monkey"
88
- },
89
- "2": {
90
- "name": "entity.name.type.monkey"
91
- },
92
- "3": {
93
- "name": "storage.modifier.extends.monkey"
94
- },
95
- "4": {
96
- "name": "entity.other.inherited-class.monkey"
97
- },
98
- "5": {
99
- "name": "storage.modifier.class.monkey"
100
- }
101
- },
102
81
  "end": "(?i)\\b(end(\\s?class)?)\\b",
103
- "endCaptures": {
104
- "1": {
105
- "name": "storage.type.class.monkey"
106
- }
107
- },
108
- "name": "type.monkey",
109
82
  "patterns": [
110
83
  {
111
84
  "include": "#mnky_comment_quote"
@@ -152,200 +125,222 @@
152
125
  {
153
126
  "include": "#mnky_constructor"
154
127
  }
155
- ]
128
+ ],
129
+ "beginCaptures": {
130
+ "1": {
131
+ "name": "storage.type.class.monkey"
132
+ },
133
+ "2": {
134
+ "name": "entity.name.type.monkey"
135
+ },
136
+ "3": {
137
+ "name": "storage.modifier.extends.monkey"
138
+ },
139
+ "4": {
140
+ "name": "entity.other.inherited-class.monkey"
141
+ },
142
+ "5": {
143
+ "name": "storage.modifier.class.monkey"
144
+ }
145
+ },
146
+ "endCaptures": {
147
+ "1": {
148
+ "name": "storage.type.class.monkey"
149
+ }
150
+ }
156
151
  },
157
152
  {
158
- "match": "\\s*\\b(c(ase|ontinue)|do|e(lse(\\s?if)?|nd(class|for(each)?|function|if|method|select|while)|xit)|for(\\s?each)?|if|return|select|then|wend|while)\\b",
159
- "name": "control.keywords.monkey"
153
+ "name": "control.keywords.monkey",
154
+ "match": "\\s*\\b(c(ase|ontinue)|do|e(lse(\\s?if)?|nd(class|for(each)?|function|if|method|select|while)|xit)|for(\\s?each)?|if|return|select|then|wend|while)\\b"
160
155
  },
161
156
  {
162
157
  "include": "#mnky_control_keywords"
163
158
  },
164
159
  {
160
+ "name": "control.while.monkey",
165
161
  "begin": "(?i)\\b(while)\\b",
166
- "beginCaptures": {
167
- "1": {
168
- "name": "keyword.control.while.monkey"
169
- }
170
- },
171
162
  "end": "(?i)\\b(end(\\s?while)?|wend)\\b",
172
- "endCaptures": {
173
- "1": {
174
- "name": "keyword.control.while.end.monkey"
175
- }
176
- },
177
- "name": "control.while.monkey",
178
163
  "patterns": [
179
164
  {
180
165
  "include": "$self"
181
166
  }
182
- ]
183
- },
184
- {
185
- "begin": "(?i)\\b(if|then|else|else(\\s?if)?)\\b",
167
+ ],
186
168
  "beginCaptures": {
187
169
  "1": {
188
- "name": "keyword.control.if.monkey"
170
+ "name": "keyword.control.while.monkey"
189
171
  }
190
172
  },
191
- "end": "(?i)\\b(end(\\s?if)?)\\b",
192
173
  "endCaptures": {
193
174
  "1": {
194
- "name": "keyword.control.if.end.monkey"
175
+ "name": "keyword.control.while.end.monkey"
195
176
  }
196
- },
177
+ }
178
+ },
179
+ {
197
180
  "name": "control.if.monkey",
181
+ "begin": "(?i)\\b(if|then|else|else(\\s?if)?)\\b",
182
+ "end": "(?i)\\b(end(\\s?if)?)\\b",
198
183
  "patterns": [
199
184
  {
200
- "match": "(?i)\\b(then)\\b",
201
- "name": "keyword.control.then.monkey"
185
+ "name": "keyword.control.then.monkey",
186
+ "match": "(?i)\\b(then)\\b"
202
187
  },
203
188
  {
204
- "match": "(?i)\\b(else(\\s?if)?)\\b",
205
- "name": "keyword.control.else-if.monkey"
189
+ "name": "keyword.control.else-if.monkey",
190
+ "match": "(?i)\\b(else(\\s?if)?)\\b"
206
191
  },
207
192
  {
208
- "match": "(?i)\\b(else)\\b",
209
- "name": "keyword.control.else.monkey"
193
+ "name": "keyword.control.else.monkey",
194
+ "match": "(?i)\\b(else)\\b"
210
195
  },
211
196
  {
212
197
  "include": "$self"
213
198
  }
214
- ]
215
- },
216
- {
217
- "begin": "(?i)\\b(if)\\b",
199
+ ],
218
200
  "beginCaptures": {
219
201
  "1": {
220
202
  "name": "keyword.control.if.monkey"
221
203
  }
222
204
  },
223
- "end": "$",
224
205
  "endCaptures": {
225
206
  "1": {
226
207
  "name": "keyword.control.if.end.monkey"
227
208
  }
228
- },
209
+ }
210
+ },
211
+ {
229
212
  "name": "control.if-then.monkey",
213
+ "begin": "(?i)\\b(if)\\b",
214
+ "end": "$",
230
215
  "patterns": [
231
216
  {
232
- "match": "(?i)\\b(then)\\b",
233
- "name": "keyword.control.then.monkey"
217
+ "name": "keyword.control.then.monkey",
218
+ "match": "(?i)\\b(then)\\b"
234
219
  },
235
220
  {
236
221
  "include": "$self"
237
222
  }
238
- ]
239
- },
240
- {
241
- "begin": "(?i)\\b(for)\\b",
223
+ ],
242
224
  "beginCaptures": {
243
225
  "1": {
244
- "name": "keyword.control.for.monkey"
226
+ "name": "keyword.control.if.monkey"
245
227
  }
246
228
  },
247
- "end": "(?i)\\b(next)\\b",
248
229
  "endCaptures": {
249
230
  "1": {
250
- "name": "keyword.control.for.end.monkey"
231
+ "name": "keyword.control.if.end.monkey"
251
232
  }
252
- },
233
+ }
234
+ },
235
+ {
253
236
  "name": "control.for.monkey",
237
+ "begin": "(?i)\\b(for)\\b",
238
+ "end": "(?i)\\b(next)\\b",
254
239
  "patterns": [
255
240
  {
256
- "match": "(?i)\\beachin\\b",
257
- "name": "keyword.control.for.eachin.monkey"
241
+ "name": "keyword.control.for.eachin.monkey",
242
+ "match": "(?i)\\beachin\\b"
258
243
  },
259
244
  {
260
- "match": "(?i)\\bto\\b",
261
- "name": "keyword.control.for.to.monkey"
245
+ "name": "keyword.control.for.to.monkey",
246
+ "match": "(?i)\\bto\\b"
262
247
  },
263
248
  {
264
- "match": "(?i)\\buntil\\b",
265
- "name": "keyword.control.for.until.monkey"
249
+ "name": "keyword.control.for.until.monkey",
250
+ "match": "(?i)\\buntil\\b"
266
251
  },
267
252
  {
268
- "match": "(?i)\\bstep\\b",
269
- "name": "keyword.control.for.step.monkey"
253
+ "name": "keyword.control.for.step.monkey",
254
+ "match": "(?i)\\bstep\\b"
270
255
  },
271
256
  {
272
257
  "include": "$self"
273
258
  }
274
- ]
275
- },
276
- {
277
- "begin": "(?i)\\b(repeat)\\b",
259
+ ],
278
260
  "beginCaptures": {
279
261
  "1": {
280
- "name": "keyword.control.repeat.monkey"
262
+ "name": "keyword.control.for.monkey"
281
263
  }
282
264
  },
283
- "end": "(?i)\\b(until|forever)\\b",
284
265
  "endCaptures": {
285
266
  "1": {
286
- "name": "keyword.control.repeat.end.monkey"
267
+ "name": "keyword.control.for.end.monkey"
287
268
  }
288
- },
269
+ }
270
+ },
271
+ {
289
272
  "name": "control.repeat.monkey",
273
+ "begin": "(?i)\\b(repeat)\\b",
274
+ "end": "(?i)\\b(until|forever)\\b",
290
275
  "patterns": [
291
276
  {
292
277
  "include": "$self"
293
278
  }
294
- ]
295
- },
296
- {
297
- "begin": "(?i)\\b(select)\\b",
279
+ ],
298
280
  "beginCaptures": {
299
281
  "1": {
300
- "name": "keyword.control.select.monkey"
282
+ "name": "keyword.control.repeat.monkey"
301
283
  }
302
284
  },
303
- "end": "(?i)\\b(end(\\s?select)?)\\b",
304
285
  "endCaptures": {
305
286
  "1": {
306
- "name": "keyword.control.select.end.monkey"
287
+ "name": "keyword.control.repeat.end.monkey"
307
288
  }
308
- },
289
+ }
290
+ },
291
+ {
309
292
  "name": "control.select.monkey",
293
+ "begin": "(?i)\\b(select)\\b",
294
+ "end": "(?i)\\b(end(\\s?select)?)\\b",
310
295
  "patterns": [
311
296
  {
297
+ "name": "control.select.case.monkey",
298
+ "match": "(?i)\\b(case)\\b",
312
299
  "captures": {
313
300
  "1": {
314
301
  "name": "keyword.control.select.case.monkey"
315
302
  }
316
- },
317
- "match": "(?i)\\b(case)\\b",
318
- "name": "control.select.case.monkey"
303
+ }
319
304
  },
320
305
  {
306
+ "name": "control.select.default.monkey",
307
+ "match": "(?i)\\b(default)\\b",
321
308
  "captures": {
322
309
  "1": {
323
310
  "name": "keyword.control.select.default.monkey"
324
311
  }
325
- },
326
- "match": "(?i)\\b(default)\\b",
327
- "name": "control.select.default.monkey"
312
+ }
328
313
  },
329
314
  {
330
315
  "include": "$self"
331
316
  }
332
- ]
317
+ ],
318
+ "beginCaptures": {
319
+ "1": {
320
+ "name": "keyword.control.select.monkey"
321
+ }
322
+ },
323
+ "endCaptures": {
324
+ "1": {
325
+ "name": "keyword.control.select.end.monkey"
326
+ }
327
+ }
333
328
  },
334
329
  {
335
- "match": "(?i)\\b(mod|shl|shr|and|or|not)\\b",
336
- "name": "keyword.operator.monkey"
330
+ "name": "keyword.operator.monkey",
331
+ "match": "(?i)\\b(mod|shl|shr|and|or|not)\\b"
337
332
  },
338
333
  {
339
- "match": ":?[\\^+\\-&~|=><]",
340
- "name": "keyword.operator.monkey"
334
+ "name": "keyword.operator.monkey",
335
+ "match": ":?[\\^+\\-\u0026~|=\u003e\u003c]"
341
336
  },
342
337
  {
343
- "match": "(?i)\\b(private|public)\\b",
344
- "name": "keyword.other.scope.monkey"
338
+ "name": "keyword.other.scope.monkey",
339
+ "match": "(?i)\\b(private|public)\\b"
345
340
  },
346
341
  {
347
- "match": "(?i)\\b(strict)\\b",
348
- "name": "keyword.other.strictness.monkey"
342
+ "name": "keyword.other.strictness.monkey",
343
+ "match": "(?i)\\b(strict)\\b"
349
344
  },
350
345
  {
351
346
  "include": "#mnky_null"
@@ -360,12 +355,12 @@
360
355
  "include": "#mnky_string_quoted"
361
356
  },
362
357
  {
363
- "match": "(?i)\\b(self)\\b",
364
- "name": "variable.language.self.monkey"
358
+ "name": "variable.language.self.monkey",
359
+ "match": "(?i)\\b(self)\\b"
365
360
  },
366
361
  {
367
- "match": "(?i)\\b(super)\\b",
368
- "name": "variable.language.super.monkey"
362
+ "name": "variable.language.super.monkey",
363
+ "match": "(?i)\\b(super)\\b"
369
364
  },
370
365
  {
371
366
  "include": "#mnky_constructor"
@@ -379,49 +374,34 @@
379
374
  ],
380
375
  "repository": {
381
376
  "mnky_array": {
377
+ "name": "array.monkey",
382
378
  "begin": "(\\[)",
383
- "beginCaptures": {
384
- "1": {
385
- "name": "keyword.operator.array.monkey"
386
- }
387
- },
388
379
  "end": "(\\])",
389
- "endCaptures": {
390
- "1": {
391
- "name": "keyword.operator.array.monkey"
392
- }
393
- },
394
- "name": "array.monkey",
395
380
  "patterns": [
396
381
  {
397
382
  "include": "$self"
398
383
  }
399
- ]
400
- },
401
- "mnky_attributes": {
402
- "begin": "(\\{)",
384
+ ],
403
385
  "beginCaptures": {
404
386
  "1": {
405
- "name": "storage.modifier.attributes.braces.monkey"
387
+ "name": "keyword.operator.array.monkey"
406
388
  }
407
389
  },
408
- "end": "(\\})",
409
390
  "endCaptures": {
410
391
  "1": {
411
- "name": "storage.modifier.attributes.braces.monkey"
392
+ "name": "keyword.operator.array.monkey"
412
393
  }
413
- },
394
+ }
395
+ },
396
+ "mnky_attributes": {
414
397
  "name": "attributes.monkey",
398
+ "begin": "(\\{)",
399
+ "end": "(\\})",
415
400
  "patterns": [
416
401
  {
402
+ "name": "attribute.monkey",
417
403
  "begin": "\\b([a-zA-Z_]\\w*)\\s*(=)\\s*",
418
- "beginCaptures": {
419
- "1": {
420
- "name": "entity.other.attribute-name.monkey"
421
- }
422
- },
423
404
  "end": "(?=\\s|\\}|[a-zA-Z_])",
424
- "name": "attribute.monkey",
425
405
  "patterns": [
426
406
  {
427
407
  "include": "#mnky_string_quoted"
@@ -429,35 +409,50 @@
429
409
  {
430
410
  "include": "#mnky_numbers"
431
411
  }
432
- ]
412
+ ],
413
+ "beginCaptures": {
414
+ "1": {
415
+ "name": "entity.other.attribute-name.monkey"
416
+ }
417
+ }
433
418
  },
434
419
  {
420
+ "name": "attribute.monkey",
421
+ "match": "\\b([a-zA-Z_]\\w*)(?:\\s*((?!=)|(?=\\})))",
435
422
  "captures": {
436
423
  "1": {
437
424
  "name": "entity.other.attribute-name.monkey"
438
425
  }
439
- },
440
- "match": "\\b([a-zA-Z_]\\w*)(?:\\s*((?!=)|(?=\\})))",
441
- "name": "attribute.monkey"
426
+ }
442
427
  }
443
- ]
428
+ ],
429
+ "beginCaptures": {
430
+ "1": {
431
+ "name": "storage.modifier.attributes.braces.monkey"
432
+ }
433
+ },
434
+ "endCaptures": {
435
+ "1": {
436
+ "name": "storage.modifier.attributes.braces.monkey"
437
+ }
438
+ }
444
439
  },
445
440
  "mnky_boolean": {
446
- "match": "(?i)\\b(true|false)\\b",
447
- "name": "constant.language.boolean.monkey"
441
+ "name": "constant.language.boolean.monkey",
442
+ "match": "(?i)\\b(true|false)\\b"
448
443
  },
449
444
  "mnky_char": {
450
- "match": "\\b(CHAR_(TAB|BACKSPACE|ENTER|ESCAPE|PAGE(UP|DOWN)|END|HOME|LEFT|UP|RIGHT|DOWN|INSERT|DELETE))\\b",
451
- "name": "constant.language.char.monkey"
445
+ "name": "constant.language.char.monkey",
446
+ "match": "\\b(CHAR_(TAB|BACKSPACE|ENTER|ESCAPE|PAGE(UP|DOWN)|END|HOME|LEFT|UP|RIGHT|DOWN|INSERT|DELETE))\\b"
452
447
  },
453
448
  "mnky_commands": {
454
- "match": "(?i)\\b(A(bstract|Cos|Sin|Tan|Tan2|bs|ccel(X|Y|Z)|dd(First|Last)|pp|rray)|B(ackwards|ool)|C(ase|eil|hannelState|l(amp|s)|o(mpare|nst|nt(ains|inue)|py|s|unt)|lear)|D(e(faultFlags|vice(Height|Width))|iscard|raw(Circle|Ellipse|Image|ImageRect|Line|Oval|Point|Poly|Rect|Text))|E(achin|xt(ends|ern)|nd|ndsWith|rror|xit)|F(alse|i(eld|nd|ndLast|rst)|loat(Map|Set)|loor|or(ever)|rames|romChar)|G(et|et(Alpha|Blend|Char|Color|Font|Matrix|Scissor)|lobal|rabImage)|H(andle(X|Y)|eight)|I(m(age|p(lements|ort))|n(clude|line|t(erface|Map|Set))|sEmpty)|Jo(in|y(Down|Hit|X|Y|Z))|Key|Key(Down|Hit|s)|L(ast|ength|ist|o(g|ad(Image|Sound|State|String)|cal))|M(ap|ax|ethod|i(llisecs|n)|o(d(ule)|use(Down|Hit|X|Y))|in)|N(ative|e(w|xt)|o(de)|ull)|O(bject(Enumerator)|n(Create|Loading|Render|Resume|Suspend|Update))|P(laySound|o(pMatrix|w)|r(i(nt|vate)|operty)|u(blic|shMatrix))|R(e(move|move(Each|First|Last)|p(eat|lace)|turn)|nd|otate)|S(aveState|cale|e(ed|lect|lf|t(Alpha|Blend|Channel(Pan|Rate|Volume)|Color|Font|Handle|Image|List|Matrix|Scissor|UpdateRate))|gn|h(l|r)|in|ound|plit|qrt|t(artsWith|ep|opChannel|ri(ct|ng(Map|Set)))|uper)|T(an|hen|o(Lower|Upper|uch(Down|Hit|X|Y))|r(ans(form|late)|im|ue))|Until|V(alue|alue(ForKey|s)|oid)|Width)\\b",
455
- "name": "keyword.other.commands.monkey"
449
+ "name": "keyword.other.commands.monkey",
450
+ "match": "(?i)\\b(A(bstract|Cos|Sin|Tan|Tan2|bs|ccel(X|Y|Z)|dd(First|Last)|pp|rray)|B(ackwards|ool)|C(ase|eil|hannelState|l(amp|s)|o(mpare|nst|nt(ains|inue)|py|s|unt)|lear)|D(e(faultFlags|vice(Height|Width))|iscard|raw(Circle|Ellipse|Image|ImageRect|Line|Oval|Point|Poly|Rect|Text))|E(achin|xt(ends|ern)|nd|ndsWith|rror|xit)|F(alse|i(eld|nd|ndLast|rst)|loat(Map|Set)|loor|or(ever)|rames|romChar)|G(et|et(Alpha|Blend|Char|Color|Font|Matrix|Scissor)|lobal|rabImage)|H(andle(X|Y)|eight)|I(m(age|p(lements|ort))|n(clude|line|t(erface|Map|Set))|sEmpty)|Jo(in|y(Down|Hit|X|Y|Z))|Key|Key(Down|Hit|s)|L(ast|ength|ist|o(g|ad(Image|Sound|State|String)|cal))|M(ap|ax|ethod|i(llisecs|n)|o(d(ule)|use(Down|Hit|X|Y))|in)|N(ative|e(w|xt)|o(de)|ull)|O(bject(Enumerator)|n(Create|Loading|Render|Resume|Suspend|Update))|P(laySound|o(pMatrix|w)|r(i(nt|vate)|operty)|u(blic|shMatrix))|R(e(move|move(Each|First|Last)|p(eat|lace)|turn)|nd|otate)|S(aveState|cale|e(ed|lect|lf|t(Alpha|Blend|Channel(Pan|Rate|Volume)|Color|Font|Handle|Image|List|Matrix|Scissor|UpdateRate))|gn|h(l|r)|in|ound|plit|qrt|t(artsWith|ep|opChannel|ri(ct|ng(Map|Set)))|uper)|T(an|hen|o(Lower|Upper|uch(Down|Hit|X|Y))|r(ans(form|late)|im|ue))|Until|V(alue|alue(ForKey|s)|oid)|Width)\\b"
456
451
  },
457
452
  "mnky_comment_block": {
458
- "begin": "(?i)(?<=\\s|^|;)\\#rem\\b",
459
- "end": "(?i)(?<=\\s|^|;)\\#end\\b",
460
453
  "name": "comment.block.rem.monkey",
454
+ "begin": "(?i)(?\u003c=\\s|^|;)\\#rem\\b",
455
+ "end": "(?i)(?\u003c=\\s|^|;)\\#end\\b",
461
456
  "patterns": [
462
457
  {
463
458
  "include": "#mnky_url_content"
@@ -465,9 +460,9 @@
465
460
  ]
466
461
  },
467
462
  "mnky_comment_quote": {
463
+ "name": "comment.line.apostrophe.monkey",
468
464
  "begin": "'",
469
465
  "end": "$",
470
- "name": "comment.line.apostrophe.monkey",
471
466
  "patterns": [
472
467
  {
473
468
  "include": "#mnky_url_content"
@@ -475,6 +470,8 @@
475
470
  ]
476
471
  },
477
472
  "mnky_constant": {
473
+ "name": "constant.monkey",
474
+ "match": "(?i)\\b(const)\\s+([a-zA-Z_]\\w*)\\b",
478
475
  "captures": {
479
476
  "1": {
480
477
  "name": "keyword.other.new.monkey"
@@ -482,9 +479,7 @@
482
479
  "2": {
483
480
  "name": "constant.monkey"
484
481
  }
485
- },
486
- "match": "(?i)\\b(const)\\s+([a-zA-Z_]\\w*)\\b",
487
- "name": "constant.monkey"
482
+ }
488
483
  },
489
484
  "mnky_constants": {
490
485
  "name": "constants.monkey",
@@ -516,6 +511,8 @@
516
511
  ]
517
512
  },
518
513
  "mnky_constructor": {
514
+ "name": "call.constructor.monkey",
515
+ "match": "(?i)\\b(new)\\s+([a-zA-Z_]\\w*)\\b",
519
516
  "captures": {
520
517
  "1": {
521
518
  "name": "keyword.other.new.monkey"
@@ -523,29 +520,34 @@
523
520
  "2": {
524
521
  "name": "storage.type.class.monkey"
525
522
  }
526
- },
527
- "match": "(?i)\\b(new)\\s+([a-zA-Z_]\\w*)\\b",
528
- "name": "call.constructor.monkey"
523
+ }
529
524
  },
530
525
  "mnky_control_keywords": {
531
- "match": "(?i)\\b(throw|return|exit|continue)\\b",
532
- "name": "keyword.control.monkey"
526
+ "name": "keyword.control.monkey",
527
+ "match": "(?i)\\b(throw|return|exit|continue)\\b"
533
528
  },
534
529
  "mnky_env": {
535
- "match": "\\b(TARGET|LANG)\\b",
536
- "name": "constant.language.env.monkey"
530
+ "name": "constant.language.env.monkey",
531
+ "match": "\\b(TARGET|LANG)\\b"
537
532
  },
538
533
  "mnky_field": {
534
+ "name": "variable.field.monkey",
535
+ "match": "(?i)\\b(field)\\s+([a-zA-Z_]\\w*)+\\b",
539
536
  "captures": {
540
537
  "1": {
541
538
  "name": "keyword.other.variable.field.monkey"
542
539
  }
543
- },
544
- "match": "(?i)\\b(field)\\s+([a-zA-Z_]\\w*)+\\b",
545
- "name": "variable.field.monkey"
540
+ }
546
541
  },
547
542
  "mnky_function": {
543
+ "name": "function.monkey",
548
544
  "begin": "(?i)\\b(function)\\s+([a-zA-Z_]\\w*)\\b",
545
+ "end": "(?i)\\b(end(\\s?function)?)\\b",
546
+ "patterns": [
547
+ {
548
+ "include": "$self"
549
+ }
550
+ ],
549
551
  "beginCaptures": {
550
552
  "1": {
551
553
  "name": "storage.type.function.monkey"
@@ -554,47 +556,47 @@
554
556
  "name": "entity.name.function.monkey"
555
557
  }
556
558
  },
557
- "end": "(?i)\\b(end(\\s?function)?)\\b",
558
559
  "endCaptures": {
559
560
  "1": {
560
561
  "name": "storage.type.function.monkey"
561
562
  }
562
- },
563
- "name": "function.monkey",
564
- "patterns": [
565
- {
566
- "include": "$self"
567
- }
568
- ]
563
+ }
569
564
  },
570
565
  "mnky_global_variable": {
566
+ "name": "variable.monkey",
567
+ "match": "(?i)\\b(global)\\s+([a-zA-Z_]\\w*)\\b",
571
568
  "captures": {
572
569
  "1": {
573
570
  "name": "storage.modifier.global.monkey"
574
571
  }
575
- },
576
- "match": "(?i)\\b(global)\\s+([a-zA-Z_]\\w*)\\b",
577
- "name": "variable.monkey"
572
+ }
578
573
  },
579
574
  "mnky_joy": {
580
- "match": "\\bJOY_(A|B|X|Y|LB|RB|BACK|START|LEFT|UP|RIGHT|DOWN)\\b",
581
- "name": "constant.language.joy.monkey"
575
+ "name": "constant.language.joy.monkey",
576
+ "match": "\\bJOY_(A|B|X|Y|LB|RB|BACK|START|LEFT|UP|RIGHT|DOWN)\\b"
582
577
  },
583
578
  "mnky_key": {
584
- "match": "\\bKEY_(BACKSPACE|TAB|ENTER|ESCAPE|SPACE|SHIFT|CONTROL|PAGEUP|PAGEDOWN|END|HOME|LEFT|UP|RIGHT|DOWN|INSERT|DELETE|F([0-9]|1[0-2])|[0-9]|[A-Z]|TILDE|MINUS|EQUALS|OPENBRACKET|CLOSEBRACKET|BACKSLASH|SEMICOLON|QUOTES|COMMA|PERIOD|SLASH|(L|R|M)MB)|TOUCH([0-9]|[1-2][0-9]|3[0-2])\\b",
585
- "name": "constant.language.key.monkey"
579
+ "name": "constant.language.key.monkey",
580
+ "match": "\\bKEY_(BACKSPACE|TAB|ENTER|ESCAPE|SPACE|SHIFT|CONTROL|PAGEUP|PAGEDOWN|END|HOME|LEFT|UP|RIGHT|DOWN|INSERT|DELETE|F([0-9]|1[0-2])|[0-9]|[A-Z]|TILDE|MINUS|EQUALS|OPENBRACKET|CLOSEBRACKET|BACKSLASH|SEMICOLON|QUOTES|COMMA|PERIOD|SLASH|(L|R|M)MB)|TOUCH([0-9]|[1-2][0-9]|3[0-2])\\b"
586
581
  },
587
582
  "mnky_local_variable": {
583
+ "name": "variable.monkey",
584
+ "match": "(?i)\\b(local)\\s+([a-zA-Z_]\\w*)\\b",
588
585
  "captures": {
589
586
  "1": {
590
587
  "name": "keyword.other.variable.local.monkey"
591
588
  }
592
- },
593
- "match": "(?i)\\b(local)\\s+([a-zA-Z_]\\w*)\\b",
594
- "name": "variable.monkey"
589
+ }
595
590
  },
596
591
  "mnky_method": {
592
+ "name": "method.monkey",
597
593
  "begin": "(?i)\\b(method)\\s+([a-zA-Z_]\\w*)\\b",
594
+ "end": "(?i)\\b(end(\\s?method)?)\\b",
595
+ "patterns": [
596
+ {
597
+ "include": "$self"
598
+ }
599
+ ],
598
600
  "beginCaptures": {
599
601
  "1": {
600
602
  "name": "storage.type.method.monkey"
@@ -603,52 +605,45 @@
603
605
  "name": "entity.name.method.monkey"
604
606
  }
605
607
  },
606
- "end": "(?i)\\b(end(\\s?method)?)\\b",
607
608
  "endCaptures": {
608
609
  "1": {
609
610
  "name": "storage.type.method.monkey"
610
611
  }
611
- },
612
- "name": "method.monkey",
613
- "patterns": [
614
- {
615
- "include": "$self"
616
- }
617
- ]
612
+ }
618
613
  },
619
614
  "mnky_mouse": {
620
- "match": "\\bMOUSE_(LEFT|RIGHT|MIDDLE)\\b",
621
- "name": "constant.language.mouse.monkey"
615
+ "name": "constant.language.mouse.monkey",
616
+ "match": "\\bMOUSE_(LEFT|RIGHT|MIDDLE)\\b"
622
617
  },
623
618
  "mnky_null": {
624
- "match": "(?i)\\bnull\\b",
625
- "name": "constant.language.null.monkey"
619
+ "name": "constant.language.null.monkey",
620
+ "match": "(?i)\\bnull\\b"
626
621
  },
627
622
  "mnky_numbers": {
628
623
  "patterns": [
629
624
  {
630
- "match": "(\\$[0-9a-fA-F]{1,16})",
631
- "name": "constant.numeric.integer.hexadecimal.monkey"
625
+ "name": "constant.numeric.integer.hexadecimal.monkey",
626
+ "match": "(\\$[0-9a-fA-F]{1,16})"
632
627
  },
633
628
  {
634
- "match": "(?x) (?<! \\$ ) (\n\t\t\t\t\t\t\t\\b ([0-9]+ \\. [0-9]+) |\n\t\t\t\t\t\t\t(\\. [0-9]+)\n\t\t\t\t\t\t)",
635
- "name": "constant.numeric.float.monkey"
629
+ "name": "constant.numeric.float.monkey",
630
+ "match": "(?x) (?\u003c! \\$ ) (\n\t\t\t\t\t\t\t\\b ([0-9]+ \\. [0-9]+) |\n\t\t\t\t\t\t\t(\\. [0-9]+)\n\t\t\t\t\t\t)"
636
631
  },
637
632
  {
638
- "match": "(?x)\\b(([0-9]+))",
639
- "name": "constant.numeric.integer.monkey"
633
+ "name": "constant.numeric.integer.monkey",
634
+ "match": "(?x)\\b(([0-9]+))"
640
635
  }
641
636
  ]
642
637
  },
643
638
  "mnky_pi": {
644
- "match": "\\b(HALF|TWO)?PI\\b",
645
- "name": "constant.language.monkey"
639
+ "name": "constant.language.monkey",
640
+ "match": "\\b(HALF|TWO)?PI\\b"
646
641
  },
647
642
  "mnky_string_content": {
648
643
  "patterns": [
649
644
  {
650
- "match": "\\~[^\"]",
651
- "name": "constant.character.escape.monkey"
645
+ "name": "constant.character.escape.monkey",
646
+ "match": "\\~[^\"]"
652
647
  },
653
648
  {
654
649
  "include": "#mnky_url_content"
@@ -656,26 +651,28 @@
656
651
  ]
657
652
  },
658
653
  "mnky_string_quoted": {
654
+ "name": "string.quoted.double.monkey",
659
655
  "begin": "\"",
656
+ "end": "\"",
657
+ "patterns": [
658
+ {
659
+ "include": "#mnky_string_content"
660
+ }
661
+ ],
660
662
  "beginCaptures": {
661
663
  "0": {
662
664
  "name": "punctuation.definition.string.begin.monkey"
663
665
  }
664
666
  },
665
- "end": "\"",
666
667
  "endCaptures": {
667
668
  "0": {
668
669
  "name": "punctuation.definition.string.end.monkey"
669
670
  }
670
- },
671
- "name": "string.quoted.double.monkey",
672
- "patterns": [
673
- {
674
- "include": "#mnky_string_content"
675
- }
676
- ]
671
+ }
677
672
  },
678
673
  "mnky_typename": {
674
+ "name": "typename.monkey",
675
+ "match": "(?xi)(?: \\: \\s* ([a-zA-Z_]\\w*) | ([!#%]|@{1,2}|\\$[zw]?) )",
679
676
  "captures": {
680
677
  "1": {
681
678
  "name": "storage.type.monkey"
@@ -683,19 +680,15 @@
683
680
  "2": {
684
681
  "name": "storage.type.monkey"
685
682
  }
686
- },
687
- "match": "(?xi)(?: \\: \\s* ([a-zA-Z_]\\w*) | ([!#%]|@{1,2}|\\$[zw]?) )",
688
- "name": "typename.monkey"
683
+ }
689
684
  },
690
685
  "mnky_types": {
691
- "match": "(?i)\\b(array|bool|int|float|string)\\b",
692
- "name": "storage.type.monkey"
686
+ "name": "storage.type.monkey",
687
+ "match": "(?i)\\b(array|bool|int|float|string)\\b"
693
688
  },
694
689
  "mnky_url_content": {
695
- "match": "[a-zA-Z_]\\w*://[^ \"'()\\[\\]]*(?=$|\\b)",
696
- "name": "url.monkey"
690
+ "name": "url.monkey",
691
+ "match": "[a-zA-Z_]\\w*://[^ \"'()\\[\\]]*(?=$|\\b)"
697
692
  }
698
- },
699
- "scopeName": "source.monkey",
700
- "uuid": "622229C4-3E96-47AE-9C2C-235DB5BC068C"
701
- }
693
+ }
694
+ }