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
- "ooc"
4
- ],
5
- "foldingStartMarker": "/\\*\\*|\\{\\s*$",
6
- "foldingStopMarker": "\\*\\*/|^\\s*\\}",
7
- "keyEquivalent": "^~O",
8
2
  "name": "ooc",
3
+ "scopeName": "source.ooc",
9
4
  "patterns": [
10
5
  {
11
6
  "include": "#comments"
@@ -46,9 +41,9 @@
46
41
  ],
47
42
  "repository": {
48
43
  "block": {
44
+ "name": "meta.block.ooc",
49
45
  "begin": "\\{",
50
46
  "end": "}",
51
- "name": "meta.block.ooc",
52
47
  "patterns": [
53
48
  {
54
49
  "include": "#comments"
@@ -77,6 +72,8 @@
77
72
  ]
78
73
  },
79
74
  "class_decl": {
75
+ "name": "meta.class.ooc",
76
+ "match": "(?mx)\n ([_A-Z]\\w* \\s*) : \\s* (abstract\\s+)? (class)\n (?:\n \\s*\u003c\\s*([^\u003c]+)\\s*\u003e\\s*\n )?\n\t\t (?:\n \\s* (extends)\n )?\n ",
80
77
  "captures": {
81
78
  "1": {
82
79
  "name": "entity.name.type.class.ooc"
@@ -96,63 +93,63 @@
96
93
  "6": {
97
94
  "name": "entity.other.inherited-class.ooc"
98
95
  }
99
- },
100
- "match": "(?mx)\n ([_A-Z]\\w* \\s*) : \\s* (abstract\\s+)? (class)\n (?:\n \\s*<\\s*([^<]+)\\s*>\\s*\n )?\n\t\t (?:\n \\s* (extends)\n )?\n ",
101
- "name": "meta.class.ooc"
96
+ }
102
97
  },
103
98
  "comments": {
104
99
  "patterns": [
105
100
  {
101
+ "name": "comment.block.ooc",
102
+ "match": "^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",
106
103
  "captures": {
107
104
  "1": {
108
105
  "name": "meta.toc-list.banner.block.ooc"
109
106
  }
110
- },
111
- "match": "^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",
112
- "name": "comment.block.ooc"
107
+ }
113
108
  },
114
109
  {
110
+ "name": "comment.block.ooc",
115
111
  "begin": "/\\*",
112
+ "end": "\\*/",
116
113
  "captures": {
117
114
  "0": {
118
115
  "name": "punctuation.definition.comment.ooc"
119
116
  }
120
- },
121
- "end": "\\*/",
122
- "name": "comment.block.ooc"
117
+ }
123
118
  },
124
119
  {
125
- "match": "\\*/.*\\n",
126
- "name": "invalid.illegal.stray-comment-end.ooc"
120
+ "name": "invalid.illegal.stray-comment-end.ooc",
121
+ "match": "\\*/.*\\n"
127
122
  },
128
123
  {
124
+ "name": "comment.line.banner.ooc",
125
+ "match": "^// =(\\s*.*?)\\s*=\\s*$\\n?",
129
126
  "captures": {
130
127
  "1": {
131
128
  "name": "meta.toc-list.banner.line.ooc"
132
129
  }
133
- },
134
- "match": "^// =(\\s*.*?)\\s*=\\s*$\\n?",
135
- "name": "comment.line.banner.ooc"
130
+ }
136
131
  },
137
132
  {
133
+ "name": "comment.line.double-slash.ooc",
138
134
  "begin": "//",
139
- "beginCaptures": {
140
- "0": {
141
- "name": "punctuation.definition.comment.ooc"
142
- }
143
- },
144
135
  "end": "$\\n?",
145
- "name": "comment.line.double-slash.ooc",
146
136
  "patterns": [
147
137
  {
148
- "match": "(?>\\\\\\s*\\n)",
149
- "name": "punctuation.separator.continuation.ooc"
138
+ "name": "punctuation.separator.continuation.ooc",
139
+ "match": "(?\u003e\\\\\\s*\\n)"
140
+ }
141
+ ],
142
+ "beginCaptures": {
143
+ "0": {
144
+ "name": "punctuation.definition.comment.ooc"
150
145
  }
151
- ]
146
+ }
152
147
  }
153
148
  ]
154
149
  },
155
150
  "cover_decl": {
151
+ "name": "meta.definition.cover.ooc",
152
+ "match": "(?mx)\n ([_A-Z]\\w* \\s*) : \\s* (cover)\n (?:\n (?:\n \\s+(from)\\s+(?:([\\s\\w\\d_\\*]+?)\\s*(?= \\s extends | [/{;] | $) )\n )\n |\n (?:\n \\s+(extends)\\s+([_A-Z]\\w*)\\s*\n )\n )*\n ",
156
153
  "captures": {
157
154
  "1": {
158
155
  "name": "entity.name.type.cover.ooc"
@@ -172,26 +169,16 @@
172
169
  "6": {
173
170
  "name": "entity.other.inherited-class.supertype.ooc"
174
171
  }
175
- },
176
- "match": "(?mx)\n ([_A-Z]\\w* \\s*) : \\s* (cover)\n (?:\n (?:\n \\s+(from)\\s+(?:([\\s\\w\\d_\\*]+?)\\s*(?= \\s extends | [/{;] | $) )\n )\n |\n (?:\n \\s+(extends)\\s+([_A-Z]\\w*)\\s*\n )\n )*\n ",
177
- "name": "meta.definition.cover.ooc"
172
+ }
178
173
  },
179
174
  "escaped_char": {
180
- "match": "\\\\.",
181
- "name": "constant.character.escape.ooc"
175
+ "name": "constant.character.escape.ooc",
176
+ "match": "\\\\."
182
177
  },
183
178
  "function_call": {
179
+ "name": "meta.function.call.ooc",
184
180
  "begin": "(?:((?:\\.[a-z_]\\w*)|(?:[a-z_]\\w*)(?:~[a-z_]\\w*)?))\\(",
185
- "beginCaptures": {
186
- "1": {
187
- "name": "support.function.any-method.ooc"
188
- },
189
- "2": {
190
- "name": "support.function.any-method.ooc"
191
- }
192
- },
193
181
  "end": "\\)",
194
- "name": "meta.function.call.ooc",
195
182
  "patterns": [
196
183
  {
197
184
  "include": "#comments"
@@ -211,18 +198,38 @@
211
198
  {
212
199
  "include": "#member_access"
213
200
  }
214
- ]
201
+ ],
202
+ "beginCaptures": {
203
+ "1": {
204
+ "name": "support.function.any-method.ooc"
205
+ },
206
+ "2": {
207
+ "name": "support.function.any-method.ooc"
208
+ }
209
+ }
215
210
  },
216
211
  "function_decl": {
217
212
  "patterns": [
218
213
  {
219
- "begin": "(?mx)\n \t (operator\\s+(?:(?:[+\\-/\\*=!<>]|\\[\\])=?|\\[\\]|[<>=]|=|as))\n \t [\\s\\w~]*?\n \t \\(",
214
+ "name": "meta.function.operator.ooc",
215
+ "begin": "(?mx)\n \t (operator\\s+(?:(?:[+\\-/\\*=!\u003c\u003e]|\\[\\])=?|\\[\\]|[\u003c\u003e=]|=|as))\n \t [\\s\\w~]*?\n \t \\(",
216
+ "end": "(?mx)\\)\n\n \t\t\t(?:\\s*(-\u003e) \\s*\n \t\t (?:\n\t\t\t\t\t\t(?:(This) |\n \t\t ([A-Z_]\\w*))\n \t\t ([@*]*)\n \t\t ))?",
217
+ "patterns": [
218
+ {
219
+ "include": "#comments"
220
+ },
221
+ {
222
+ "include": "#keywords"
223
+ },
224
+ {
225
+ "include": "#parameters"
226
+ }
227
+ ],
220
228
  "beginCaptures": {
221
229
  "1": {
222
230
  "name": "entity.name.function.ooc"
223
231
  }
224
232
  },
225
- "end": "(?mx)\\)\n\n \t\t\t(?:\\s*(->) \\s*\n \t\t (?:\n\t\t\t\t\t\t(?:(This) |\n \t\t ([A-Z_]\\w*))\n \t\t ([@*]*)\n \t\t ))?",
226
233
  "endCaptures": {
227
234
  "1": {
228
235
  "name": "keyword.other.return-type.ooc"
@@ -236,8 +243,12 @@
236
243
  "4": {
237
244
  "name": "storage.modifier.pointer-arith.ooc"
238
245
  }
239
- },
240
- "name": "meta.function.operator.ooc",
246
+ }
247
+ },
248
+ {
249
+ "name": "meta.function.params.ooc",
250
+ "begin": "(?mx)\n \t\t ([_a-z]\\w*) \\s* : \\s*\n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t (?:(extern|unmangled)(?:\\s*\\(([^\\)]+)\\))?\\s+\n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t )?\n \t\t \n \t\t (func)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t(?:\\s*@)?\n\t\t\t\t\t\t\t\n \t\t (?:\\s*(~[A-Za-z_]\\w*))?\n \n (?:\n \\s*\u003c\\s*([^\u003c]+)\\s*\u003e\n )?\n \n \t\t \\s* \\(",
251
+ "end": "(?mx)\\)\n\t\t\t\t\t(?:\\s*(-\u003e) \\s*\n \t\t (?:\n\t\t\t\t\t\t(?:(This) | \n \t\t ([A-Z_]\\w*))\n \t\t ([@*]*)\n \t\t ))?",
241
252
  "patterns": [
242
253
  {
243
254
  "include": "#comments"
@@ -248,10 +259,7 @@
248
259
  {
249
260
  "include": "#parameters"
250
261
  }
251
- ]
252
- },
253
- {
254
- "begin": "(?mx)\n \t\t ([_a-z]\\w*) \\s* : \\s*\n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t (?:(extern|unmangled)(?:\\s*\\(([^\\)]+)\\))?\\s+\n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t )?\n \t\t \n \t\t (func)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t(?:\\s*@)?\n\t\t\t\t\t\t\t\n \t\t (?:\\s*(~[A-Za-z_]\\w*))?\n \n (?:\n \\s*<\\s*([^<]+)\\s*>\n )?\n \n \t\t \\s* \\(",
262
+ ],
255
263
  "beginCaptures": {
256
264
  "1": {
257
265
  "name": "entity.name.function.ooc"
@@ -287,7 +295,6 @@
287
295
  "name": "keyword.other.return-type.ooc"
288
296
  }
289
297
  },
290
- "end": "(?mx)\\)\n\t\t\t\t\t(?:\\s*(->) \\s*\n \t\t (?:\n\t\t\t\t\t\t(?:(This) | \n \t\t ([A-Z_]\\w*))\n \t\t ([@*]*)\n \t\t ))?",
291
298
  "endCaptures": {
292
299
  "1": {
293
300
  "name": "keyword.other.ooc"
@@ -301,21 +308,11 @@
301
308
  "4": {
302
309
  "name": "storage.modifier.pointer-arith.ooc"
303
310
  }
304
- },
305
- "name": "meta.function.params.ooc",
306
- "patterns": [
307
- {
308
- "include": "#comments"
309
- },
310
- {
311
- "include": "#keywords"
312
- },
313
- {
314
- "include": "#parameters"
315
- }
316
- ]
311
+ }
317
312
  },
318
313
  {
314
+ "name": "meta.function.noparams.ooc",
315
+ "match": "(?mx)\n \t\t ([_a-z]\\w*) \\s* : \\s*\n \t\t \n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t (?:(extern|unmangled)(?:\\s*\\(([^\\)]+)\\))?\\s+\n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t )?\n \t\t \n \t\t (func)\n\n \t\t (?:\\s*(~[A-Za-z_]\\w*))?\n \n (?:\n \\s*\u003c\\s*([^\u003c]+)\\s*\u003e\n )?\n \n (?:\\s*(-\u003e) \\s*\n \t\t (?:\n\t\t\t\t\t\t\t\t(?:(This) |\n \t\t ([A-Z_]\\w*))\n \t\t ([@*]*)\n \t\t ))?\n \t\t ",
319
316
  "captures": {
320
317
  "1": {
321
318
  "name": "entity.name.function.ooc"
@@ -353,16 +350,14 @@
353
350
  "9": {
354
351
  "name": "keyword.other.return-type.ooc"
355
352
  }
356
- },
357
- "match": "(?mx)\n \t\t ([_a-z]\\w*) \\s* : \\s*\n \t\t \n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t (?:(extern|unmangled)(?:\\s*\\(([^\\)]+)\\))?\\s+\n \t\t ((?:(?:static|proto|inline|final|abstract)\\s+)*)\n \t\t )?\n \t\t \n \t\t (func)\n\n \t\t (?:\\s*(~[A-Za-z_]\\w*))?\n \n (?:\n \\s*<\\s*([^<]+)\\s*>\n )?\n \n (?:\\s*(->) \\s*\n \t\t (?:\n\t\t\t\t\t\t\t\t(?:(This) |\n \t\t ([A-Z_]\\w*))\n \t\t ([@*]*)\n \t\t ))?\n \t\t ",
358
- "name": "meta.function.noparams.ooc"
353
+ }
359
354
  }
360
355
  ]
361
356
  },
362
357
  "imports": {
358
+ "name": "keyword.control.import.ooc",
363
359
  "begin": "\\b(?:use|include|import)\\b",
364
360
  "end": ";|$",
365
- "name": "keyword.control.import.ooc",
366
361
  "patterns": [
367
362
  {
368
363
  "include": "#comments"
@@ -370,6 +365,8 @@
370
365
  ]
371
366
  },
372
367
  "interface_decl": {
368
+ "name": "meta.interface.ooc",
369
+ "match": "(?mx)\n ([_A-Z]\\w* \\s*) : \\s* (interface)\n (?:\n \\s*\u003c\\s*([^\u003c]+)\\s*\u003e\\s*\n )?\n ",
373
370
  "captures": {
374
371
  "1": {
375
372
  "name": "entity.name.type.class.ooc"
@@ -389,21 +386,21 @@
389
386
  "6": {
390
387
  "name": "entity.other.inherited-class.ooc"
391
388
  }
392
- },
393
- "match": "(?mx)\n ([_A-Z]\\w* \\s*) : \\s* (interface)\n (?:\n \\s*<\\s*([^<]+)\\s*>\\s*\n )?\n ",
394
- "name": "meta.interface.ooc"
389
+ }
395
390
  },
396
391
  "keywords": {
397
392
  "patterns": [
398
393
  {
399
- "match": "\\b(?:if|else|while|do|for|in|switch|match|case|return|break|continue|default)\\b",
400
- "name": "keyword.control.ooc"
394
+ "name": "keyword.control.ooc",
395
+ "match": "\\b(?:if|else|while|do|for|in|switch|match|case|return|break|continue|default)\\b"
401
396
  },
402
397
  {
403
- "match": "\\bthis\\b",
404
- "name": "variable.language.this.ooc"
398
+ "name": "variable.language.this.ooc",
399
+ "match": "\\bthis\\b"
405
400
  },
406
401
  {
402
+ "name": "meta.type.class.this.ooc",
403
+ "match": "\\b(This)([@\u0026*]*|\\b)",
407
404
  "captures": {
408
405
  "1": {
409
406
  "name": "storage.type.class.this.ooc"
@@ -411,46 +408,46 @@
411
408
  "2": {
412
409
  "name": "storage.modifier.pointer-arith.ooc"
413
410
  }
414
- },
415
- "match": "\\b(This)([@&*]*|\\b)",
416
- "name": "meta.type.class.this.ooc"
411
+ }
417
412
  },
418
413
  {
419
- "match": "(?:&&|\\|\\||\\#|!)",
420
- "name": "keyword.operator.logical.ooc"
414
+ "name": "keyword.operator.logical.ooc",
415
+ "match": "(?:\u0026\u0026|\\|\\||\\#|!)"
421
416
  },
422
417
  {
423
418
  "include": "#return_type"
424
419
  },
425
420
  {
426
- "match": "(?:[<>!=]=|=>|[><])",
427
- "name": "keyword.operator.comparison.ooc"
421
+ "name": "keyword.operator.comparison.ooc",
422
+ "match": "(?:[\u003c\u003e!=]=|=\u003e|[\u003e\u003c])"
428
423
  },
429
424
  {
430
- "match": "(?:[\\*+\\-/|&:]|<{2,3}|>{2,3})?=",
431
- "name": "keyword.operator.assignment.ooc"
425
+ "name": "keyword.operator.assignment.ooc",
426
+ "match": "(?:[\\*+\\-/|\u0026:]|\u003c{2,3}|\u003e{2,3})?="
432
427
  },
433
428
  {
434
- "match": "(?:[\\*\\-\\+/|&]|<{2,3}|>{2,3})",
435
- "name": "keyword.operator.arithmetic.ooc"
429
+ "name": "keyword.operator.arithmetic.ooc",
430
+ "match": "(?:[\\*\\-\\+/|\u0026]|\u003c{2,3}|\u003e{2,3})"
436
431
  },
437
432
  {
438
- "match": "\\b(?:true|false)\\b",
439
- "name": "constant.language.boolean.ooc"
433
+ "name": "constant.language.boolean.ooc",
434
+ "match": "\\b(?:true|false)\\b"
440
435
  },
441
436
  {
442
- "match": "\\bnull\\b",
443
- "name": "constant.language.null.ooc"
437
+ "name": "constant.language.null.ooc",
438
+ "match": "\\bnull\\b"
444
439
  },
445
440
  {
446
- "match": "\\bconst\\b",
447
- "name": "keyword.other.directive.const.ooc"
441
+ "name": "keyword.other.directive.const.ooc",
442
+ "match": "\\bconst\\b"
448
443
  },
449
444
  {
450
- "match": "\\bstatic\\b",
451
- "name": "keyword.other.directive.static.ooc"
445
+ "name": "keyword.other.directive.static.ooc",
446
+ "match": "\\bstatic\\b"
452
447
  },
453
448
  {
449
+ "name": "meta.operator.as.ooc",
450
+ "match": "\\b(as)\\s*([A-Z_]\\w*)([@\u0026]*)",
454
451
  "captures": {
455
452
  "1": {
456
453
  "name": "keyword.operator.logical.as.ooc"
@@ -461,19 +458,12 @@
461
458
  "3": {
462
459
  "name": "storage.modifier.pointer-arith.ooc"
463
460
  }
464
- },
465
- "match": "\\b(as)\\s*([A-Z_]\\w*)([@&]*)",
466
- "name": "meta.operator.as.ooc"
461
+ }
467
462
  },
468
463
  {
464
+ "name": "meta.function.pointer.ooc",
469
465
  "begin": "\\b(Func)\\s*\\(",
470
- "beginCaptures": {
471
- "1": {
472
- "name": "storage.type.function.pointer.ooc"
473
- }
474
- },
475
466
  "end": "\\)",
476
- "name": "meta.function.pointer.ooc",
477
467
  "patterns": [
478
468
  {
479
469
  "include": "#keywords"
@@ -481,16 +471,21 @@
481
471
  {
482
472
  "include": "#parameters"
483
473
  }
484
- ]
474
+ ],
475
+ "beginCaptures": {
476
+ "1": {
477
+ "name": "storage.type.function.pointer.ooc"
478
+ }
479
+ }
485
480
  },
486
481
  {
482
+ "name": "meta.function.pointer.ooc",
483
+ "match": "(?mx)\\bFunc\\b",
487
484
  "captures": {
488
485
  "1": {
489
486
  "name": "storage.type.function.pointer.ooc"
490
487
  }
491
- },
492
- "match": "(?mx)\\bFunc\\b",
493
- "name": "meta.function.pointer.ooc"
488
+ }
494
489
  }
495
490
  ]
496
491
  },
@@ -508,13 +503,13 @@
508
503
  ]
509
504
  },
510
505
  "member_access": {
511
- "match": "([a-zA-Z_]\\w*)\\s+(?=[a-zA-Z_])",
512
- "name": "variable.other.accessed.ooc"
506
+ "name": "variable.other.accessed.ooc",
507
+ "match": "([a-zA-Z_]\\w*)\\s+(?=[a-zA-Z_])"
513
508
  },
514
509
  "ooc_char": {
510
+ "name": "string.quoted.single.ooc",
515
511
  "begin": "'",
516
512
  "end": "'",
517
- "name": "string.quoted.single.ooc",
518
513
  "patterns": [
519
514
  {
520
515
  "include": "#escaped_char"
@@ -524,31 +519,31 @@
524
519
  "ooc_numbers": {
525
520
  "patterns": [
526
521
  {
527
- "match": "(0c[0-7]+)",
528
- "name": "constant.numeric.integer.octal.ooc"
522
+ "name": "constant.numeric.integer.octal.ooc",
523
+ "match": "(0c[0-7]+)"
529
524
  },
530
525
  {
531
- "match": "(0x[0-9a-fA-F]+)",
532
- "name": "constant.numeric.integer.hexadecimal.ooc"
526
+ "name": "constant.numeric.integer.hexadecimal.ooc",
527
+ "match": "(0x[0-9a-fA-F]+)"
533
528
  },
534
529
  {
535
- "match": "(0b[01]+)",
536
- "name": "constant.numeric.integer.binary.ooc"
530
+ "name": "constant.numeric.integer.binary.ooc",
531
+ "match": "(0b[01]+)"
537
532
  },
538
533
  {
539
- "match": "(?x) (?<! 0[bcx] ) (\n (?: (?:[0-9]*)\\.(?:[0-9]+) | (?:[0-9]+)\\.(?:[0-9]*) )\n (?: [eE][+\\-]?\\d+)?\n )",
540
- "name": "constant.numeric.float.ooc"
534
+ "name": "constant.numeric.float.ooc",
535
+ "match": "(?x) (?\u003c! 0[bcx] ) (\n (?: (?:[0-9]*)\\.(?:[0-9]+) | (?:[0-9]+)\\.(?:[0-9]*) )\n (?: [eE][+\\-]?\\d+)?\n )"
541
536
  },
542
537
  {
543
- "match": "(?x)\\b([0-9]+)(?: [eE][+\\-]?\\d+)?",
544
- "name": "constant.numeric.integer.ooc"
538
+ "name": "constant.numeric.integer.ooc",
539
+ "match": "(?x)\\b([0-9]+)(?: [eE][+\\-]?\\d+)?"
545
540
  }
546
541
  ]
547
542
  },
548
543
  "ooc_string": {
544
+ "name": "string.quoted.double.ooc",
549
545
  "begin": "\"",
550
546
  "end": "\"",
551
- "name": "string.quoted.double.ooc",
552
547
  "patterns": [
553
548
  {
554
549
  "include": "#escaped_char"
@@ -564,6 +559,8 @@
564
559
  "include": "#keywords"
565
560
  },
566
561
  {
562
+ "name": "meta.function.nameless-typed.ooc",
563
+ "match": "([_A-Z]\\w*)([\u0026@*]*)",
567
564
  "captures": {
568
565
  "1": {
569
566
  "name": "storage.type.ooc"
@@ -571,11 +568,11 @@
571
568
  "2": {
572
569
  "name": "storage.modifier.pointer-arith.ooc"
573
570
  }
574
- },
575
- "match": "([_A-Z]\\w*)([&@*]*)",
576
- "name": "meta.function.nameless-typed.ooc"
571
+ }
577
572
  },
578
573
  {
574
+ "name": "meta.function.parameter.type.ooc",
575
+ "match": ":\\s*([A-Z_]\\w*([@\u0026*]*))",
579
576
  "captures": {
580
577
  "1": {
581
578
  "name": "storage.type.ooc"
@@ -583,11 +580,11 @@
583
580
  "2": {
584
581
  "name": "storage.modifier.pointer-arith.ooc"
585
582
  }
586
- },
587
- "match": ":\\s*([A-Z_]\\w*([@&*]*))",
588
- "name": "meta.function.parameter.type.ooc"
583
+ }
589
584
  },
590
585
  {
586
+ "name": "meta.function.parameter.name.ooc",
587
+ "match": "([=.])?([a-zA-Z_]\\w*)",
591
588
  "captures": {
592
589
  "1": {
593
590
  "name": "keyword.operator.assignment.parameter.ooc"
@@ -595,13 +592,13 @@
595
592
  "2": {
596
593
  "name": "variable.parameter.ooc"
597
594
  }
598
- },
599
- "match": "([=.])?([a-zA-Z_]\\w*)",
600
- "name": "meta.function.parameter.name.ooc"
595
+ }
601
596
  }
602
597
  ]
603
598
  },
604
599
  "return_type": {
600
+ "name": "meta.function.return-type.ooc",
601
+ "match": "(?mx)\n\t\t (\\-\\\u003e) \\s*\n\t\t (?:\n\t\t\t\t(?:(This) |\n\t\t ([A-Z_]\\w*))\n\t\t ([@*]*)\n\t\t )",
605
602
  "captures": {
606
603
  "1": {
607
604
  "name": "keyword.other.return-type.ooc"
@@ -615,18 +612,26 @@
615
612
  "4": {
616
613
  "name": "storage.modifier.pointer-arith.ooc"
617
614
  }
618
- },
619
- "match": "(?mx)\n\t\t (\\-\\>) \\s*\n\t\t (?:\n\t\t\t\t(?:(This) |\n\t\t ([A-Z_]\\w*))\n\t\t ([@*]*)\n\t\t )",
620
- "name": "meta.function.return-type.ooc"
615
+ }
621
616
  },
622
617
  "var_explicit_decl": {
618
+ "name": "meta.definition.variable.explicit.ooc",
623
619
  "begin": "[_a-zA-Z]\\w*\\s*(?=,|:[^=])",
620
+ "end": "(?mx)(?:\n\t\t\t(?:\n\t\t\t :\\s*\n\t\t\t (?:\n\t\t\t (?:\n\t\t\t (?:\n\t\t\t (static) |\n\t\t\t (const) |\n\t\t\t (extern) (?:\\s* \\( \\s* ([^\\)]+) \\s* \\) )?\n\t\t\t ) \\s+\n\t\t\t )*\n )\n\t\t\t (?: (?: (This) | ([A-Z_]\\w*)) ([@\u0026]*) )\n\t\t\t\t(?: \\s* \\\u003c\\s*([A-Z_]\\w*)\\s*\\\u003e )?\n\t\t\t) | ; | $ )",
621
+ "patterns": [
622
+ {
623
+ "include": "#comments"
624
+ },
625
+ {
626
+ "name": "variable.other.ooc",
627
+ "match": "[_a-zA-Z]\\w*"
628
+ }
629
+ ],
624
630
  "beginCaptures": {
625
631
  "0": {
626
632
  "name": "variable.other.ooc"
627
633
  }
628
634
  },
629
- "end": "(?mx)(?:\n\t\t\t(?:\n\t\t\t :\\s*\n\t\t\t (?:\n\t\t\t (?:\n\t\t\t (?:\n\t\t\t (static) |\n\t\t\t (const) |\n\t\t\t (extern) (?:\\s* \\( \\s* ([^\\)]+) \\s* \\) )?\n\t\t\t ) \\s+\n\t\t\t )*\n )\n\t\t\t (?: (?: (This) | ([A-Z_]\\w*)) ([@&]*) )\n\t\t\t\t(?: \\s* \\<\\s*([A-Z_]\\w*)\\s*\\> )?\n\t\t\t) | ; | $ )",
630
635
  "endCaptures": {
631
636
  "1": {
632
637
  "name": "keyword.other.ooc"
@@ -652,19 +657,11 @@
652
657
  "8": {
653
658
  "name": "support.type.generic.ooc"
654
659
  }
655
- },
656
- "name": "meta.definition.variable.explicit.ooc",
657
- "patterns": [
658
- {
659
- "include": "#comments"
660
- },
661
- {
662
- "match": "[_a-zA-Z]\\w*",
663
- "name": "variable.other.ooc"
664
- }
665
- ]
660
+ }
666
661
  },
667
662
  "var_inferred_decl": {
663
+ "name": "meta.definition.variable.inferred.ooc",
664
+ "match": "(?x)([a-zA-Z_]\\w*)\\s*(?= := )",
668
665
  "captures": {
669
666
  "1": {
670
667
  "name": "variable.other.ooc"
@@ -672,9 +669,7 @@
672
669
  "2": {
673
670
  "name": "storage.type.ooc"
674
671
  }
675
- },
676
- "match": "(?x)([a-zA-Z_]\\w*)\\s*(?= := )",
677
- "name": "meta.definition.variable.inferred.ooc"
672
+ }
678
673
  },
679
674
  "variable_decl": {
680
675
  "patterns": [
@@ -686,7 +681,5 @@
686
681
  }
687
682
  ]
688
683
  }
689
- },
690
- "scopeName": "source.ooc",
691
- "uuid": "EECF47FE-041D-4F42-B64C-414A1EFD807F"
692
- }
684
+ }
685
+ }