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,16 +1,6 @@
1
1
  {
2
- "scopeName": "source.xq",
3
- "fileTypes": [
4
- "xq",
5
- "xql",
6
- "xqm",
7
- "xqy",
8
- "xquery"
9
- ],
10
- "firstLineMatch": "^\\bxquery\\s+version\\b.*",
11
- "foldingStartMarker": "^\\s*(<[^!?%/](?!.+?(/>|</.+?>))|<[!%]--(?!.+?--%?>)|<%[!]?(?!.+?%>))|(declare|.*\\{\\s*(//.*)?$)",
12
- "foldingStopMarker": "^\\s*(</[^>]+>|[/%]>|-->)\\s*$|(.*\\}\\s*;?\\s*|.*;)",
13
2
  "name": "XQuery",
3
+ "scopeName": "source.xq",
14
4
  "patterns": [
15
5
  {
16
6
  "begin": "^(?=jsoniq\\s+version\\s+)",
@@ -22,14 +12,14 @@
22
12
  ]
23
13
  },
24
14
  {
15
+ "name": "constant.xquery",
25
16
  "begin": "\\(#",
26
- "end": "#\\)",
27
- "name": "constant.xquery"
17
+ "end": "#\\)"
28
18
  },
29
19
  {
20
+ "name": "comment.doc.xquery",
30
21
  "begin": "\\(:~",
31
22
  "end": ":\\)",
32
- "name": "comment.doc.xquery",
33
23
  "patterns": [
34
24
  {
35
25
  "name": "constant.language.xquery",
@@ -50,23 +40,23 @@
50
40
  "include": "#CharRef"
51
41
  },
52
42
  {
53
- "begin": "<\\?",
54
- "end": "\\?>",
55
- "name": "comment.xquery"
43
+ "name": "comment.xquery",
44
+ "begin": "\u003c\\?",
45
+ "end": "\\?\u003e"
56
46
  },
57
47
  {
48
+ "name": "comment.xquery",
58
49
  "begin": "\\(:",
59
- "end": ":\\)",
60
- "name": "comment.xquery"
50
+ "end": ":\\)"
61
51
  },
62
52
  {
53
+ "name": "string.xquery",
63
54
  "begin": "\"",
64
55
  "end": "\"(?!\")",
65
- "name": "string.xquery",
66
56
  "patterns": [
67
57
  {
68
- "match": "\"\"",
69
- "name": "constant.xquery"
58
+ "name": "constant.xquery",
59
+ "match": "\"\""
70
60
  },
71
61
  {
72
62
  "include": "#PredefinedEntityRef"
@@ -77,13 +67,13 @@
77
67
  ]
78
68
  },
79
69
  {
70
+ "name": "string.xquery",
80
71
  "begin": "'",
81
72
  "end": "'(?!')",
82
- "name": "string.xquery",
83
73
  "patterns": [
84
74
  {
85
- "match": "''",
86
- "name": "constant.xquery"
75
+ "name": "constant.xquery",
76
+ "match": "''"
87
77
  },
88
78
  {
89
79
  "include": "#PredefinedEntityRef"
@@ -94,45 +84,44 @@
94
84
  ]
95
85
  },
96
86
  {
97
- "match": "%([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*)",
98
- "name": "meta.declaration.annotation.xquery"
87
+ "name": "meta.declaration.annotation.xquery",
88
+ "match": "%([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*)"
99
89
  },
100
90
  {
101
- "match": "@(\\* | ([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*))",
102
- "name": "support.type.xquery"
91
+ "name": "support.type.xquery",
92
+ "match": "@(\\* | ([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*))"
103
93
  },
104
94
  {
105
- "match": "\\$([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*)",
106
- "name": "meta.definition.variable.name.xquery"
95
+ "name": "meta.definition.variable.name.xquery",
96
+ "match": "\\$([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*)"
107
97
  },
108
98
  {
109
- "match": "\\b(\\.[0-9]+|[0-9]+(\\.[0-9]*)?)[Ee][+#x002D]?[0-9]+\\b",
110
- "name": "constant.numeric.jsoniq"
99
+ "name": "constant.numeric.jsoniq",
100
+ "match": "\\b(\\.[0-9]+|[0-9]+(\\.[0-9]*)?)[Ee][+#x002D]?[0-9]+\\b"
111
101
  },
112
102
  {
113
- "match": "\\b(\\.[0-9]+|[0-9]+\\.[0-9]*)\\b",
114
- "name": "constant.numeric.jsoniq"
103
+ "name": "constant.numeric.jsoniq",
104
+ "match": "\\b(\\.[0-9]+|[0-9]+\\.[0-9]*)\\b"
115
105
  },
116
106
  {
117
- "match": "\\b[0-9]+\\b",
118
- "name": "constant.numeric.jsoniq"
107
+ "name": "constant.numeric.jsoniq",
108
+ "match": "\\b[0-9]+\\b"
119
109
  },
120
110
  {
121
- "match": "\\b(NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit)(?!(:|\\-))\\b",
122
- "name": "keyword.xquery"
111
+ "name": "keyword.xquery",
112
+ "match": "\\b(NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit)(?!(:|\\-))\\b"
123
113
  },
124
114
  {
125
- "comment": "EQName",
126
- "match": "([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)(?=\\s*\\()",
127
- "name": "support.function.xquery"
115
+ "name": "support.function.xquery",
116
+ "match": "([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)(?=\\s*\\()"
128
117
  },
129
118
  {
130
- "match": "\\(",
131
- "name": "lparen.xquery"
119
+ "name": "lparen.xquery",
120
+ "match": "\\("
132
121
  },
133
122
  {
134
- "match": "\\)",
135
- "name": "rparent.xquery"
123
+ "name": "rparent.xquery",
124
+ "match": "\\)"
136
125
  },
137
126
  {
138
127
  "include": "#OpenTag"
@@ -142,27 +131,50 @@
142
131
  }
143
132
  ],
144
133
  "repository": {
134
+ "CDATA": {
135
+ "name": "constant.language.xquery",
136
+ "begin": "\u003c!\\[CDATA\\[",
137
+ "end": "\\]\\]\u003e"
138
+ },
139
+ "CharRef": {
140
+ "name": "constant.language.escape.xquery",
141
+ "match": "\u0026#([0-9]+|x[0-9A-Fa-f]+);"
142
+ },
143
+ "CloseTag": {
144
+ "name": "punctuation.definition.tag.xquery",
145
+ "match": "\u003c\\/([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)\u003e"
146
+ },
147
+ "EnclosedExpr": {
148
+ "name": "source.xq",
149
+ "begin": "{",
150
+ "end": "}",
151
+ "patterns": [
152
+ {
153
+ "include": "$self"
154
+ }
155
+ ]
156
+ },
145
157
  "OpenTag": {
146
- "begin": "<([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)",
147
- "end": "(\\/>|>)",
148
158
  "name": "punctuation.definition.tag.xquery",
159
+ "begin": "\u003c([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)",
160
+ "end": "(\\/\u003e|\u003e)",
149
161
  "patterns": [
150
162
  {
151
- "match": "([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)",
152
- "name": "entity.other.attribute-name.xquery"
163
+ "name": "entity.other.attribute-name.xquery",
164
+ "match": "([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)"
153
165
  },
154
166
  {
155
- "match": "=",
156
- "name": "source.jq"
167
+ "name": "source.jq",
168
+ "match": "="
157
169
  },
158
170
  {
171
+ "name": "string.xquery",
159
172
  "begin": "'",
160
173
  "end": "'(?!')",
161
- "name": "string.xquery",
162
174
  "patterns": [
163
175
  {
164
- "match": "''",
165
- "name": "constant.xquery"
176
+ "name": "constant.xquery",
177
+ "match": "''"
166
178
  },
167
179
  {
168
180
  "include": "#PredefinedEntityRef"
@@ -171,8 +183,8 @@
171
183
  "include": "#CharRef"
172
184
  },
173
185
  {
174
- "match": "({{|}})",
175
- "name": "string.xquery"
186
+ "name": "string.xquery",
187
+ "match": "({{|}})"
176
188
  },
177
189
  {
178
190
  "include": "#EnclosedExpr"
@@ -180,13 +192,13 @@
180
192
  ]
181
193
  },
182
194
  {
195
+ "name": "string.xquery",
183
196
  "begin": "\"",
184
197
  "end": "\"(?!\")",
185
- "name": "string.xquery",
186
198
  "patterns": [
187
199
  {
188
- "match": "\"\"",
189
- "name": "constant.xquery"
200
+ "name": "constant.xquery",
201
+ "match": "\"\""
190
202
  },
191
203
  {
192
204
  "include": "#PredefinedEntityRef"
@@ -195,8 +207,8 @@
195
207
  "include": "#CharRef"
196
208
  },
197
209
  {
198
- "match": "({{|}})",
199
- "name": "constant.xquery"
210
+ "name": "constant.xquery",
211
+ "match": "({{|}})"
200
212
  },
201
213
  {
202
214
  "include": "#EnclosedExpr"
@@ -205,37 +217,14 @@
205
217
  }
206
218
  ]
207
219
  },
208
- "CloseTag": {
209
- "match": "<\\/([\\-_a-zA-Z0-9][\\-\\._a-zA-Z0-9]*:)?([\\-_a-zA-Z0-9][\\-_a-zA-Z0-9]*)>",
210
- "name": "punctuation.definition.tag.xquery"
211
- },
212
- "XMLComment": {
213
- "begin": "<!--",
214
- "end": "-->",
215
- "name": "comment.xquery"
216
- },
217
- "CDATA": {
218
- "begin": "<!\\[CDATA\\[",
219
- "end": "\\]\\]>",
220
- "name": "constant.language.xquery"
221
- },
222
220
  "PredefinedEntityRef": {
223
- "match": "&(lt|gt|amp|quot|apos);",
224
- "name": "constant.language.escape.xquery"
221
+ "name": "constant.language.escape.xquery",
222
+ "match": "\u0026(lt|gt|amp|quot|apos);"
225
223
  },
226
- "CharRef": {
227
- "match": "&#([0-9]+|x[0-9A-Fa-f]+);",
228
- "name": "constant.language.escape.xquery"
229
- },
230
- "EnclosedExpr": {
231
- "begin": "{",
232
- "end": "}",
233
- "name": "source.xq",
234
- "patterns": [
235
- {
236
- "include": "$self"
237
- }
238
- ]
224
+ "XMLComment": {
225
+ "name": "comment.xquery",
226
+ "begin": "\u003c!--",
227
+ "end": "--\u003e"
239
228
  }
240
229
  }
241
- }
230
+ }
@@ -1,13 +1,10 @@
1
1
  {
2
- "fileTypes": [
3
- "xtend"
4
- ],
5
- "foldingStartMarker": "(\\{\\s*(//.*)?$|^\\s*// \\{\\{\\{)",
6
- "foldingStopMarker": "^\\s*(\\}|// \\}\\}\\}$)",
7
- "keyEquivalent": "^~J",
8
2
  "name": "Xtend",
3
+ "scopeName": "source.xtend",
9
4
  "patterns": [
10
5
  {
6
+ "name": "meta.package.xtend",
7
+ "match": "^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?",
11
8
  "captures": {
12
9
  "1": {
13
10
  "name": "keyword.other.package.xtend"
@@ -18,11 +15,11 @@
18
15
  "3": {
19
16
  "name": "punctuation.terminator.xtend"
20
17
  }
21
- },
22
- "match": "^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?",
23
- "name": "meta.package.xtend"
18
+ }
24
19
  },
25
20
  {
21
+ "name": "meta.import.xtend",
22
+ "match": "^\\s*(import)\\s+(?:\\s*([^ ;$]+)\\s*(;)?)?$",
26
23
  "captures": {
27
24
  "1": {
28
25
  "name": "keyword.other.import.xtend"
@@ -33,11 +30,11 @@
33
30
  "3": {
34
31
  "name": "punctuation.terminator.xtend"
35
32
  }
36
- },
37
- "match": "^\\s*(import)\\s+(?:\\s*([^ ;$]+)\\s*(;)?)?$",
38
- "name": "meta.import.xtend"
33
+ }
39
34
  },
40
35
  {
36
+ "name": "meta.import.static.xtend",
37
+ "match": "^\\s*(import)\\s+(static)\\s+(?:\\s*([^ ;$]+)\\s*(;)?)?$",
41
38
  "captures": {
42
39
  "1": {
43
40
  "name": "keyword.other.import.xtend"
@@ -51,11 +48,11 @@
51
48
  "4": {
52
49
  "name": "punctuation.terminator.xtend"
53
50
  }
54
- },
55
- "match": "^\\s*(import)\\s+(static)\\s+(?:\\s*([^ ;$]+)\\s*(;)?)?$",
56
- "name": "meta.import.static.xtend"
51
+ }
57
52
  },
58
53
  {
54
+ "name": "meta.import.static.extension.xtend",
55
+ "match": "^\\s*(import)\\s+(static)\\s+(extension)\\s+(?:\\s*([^ ;$]+)\\s*(;)?)?$",
59
56
  "captures": {
60
57
  "1": {
61
58
  "name": "keyword.other.import.xtend"
@@ -72,9 +69,7 @@
72
69
  "5": {
73
70
  "name": "punctuation.terminator.xtend"
74
71
  }
75
- },
76
- "match": "^\\s*(import)\\s+(static)\\s+(extension)\\s+(?:\\s*([^ ;$]+)\\s*(;)?)?$",
77
- "name": "meta.import.static.extension.xtend"
72
+ }
78
73
  },
79
74
  {
80
75
  "include": "#code"
@@ -97,24 +92,12 @@
97
92
  "annotations": {
98
93
  "patterns": [
99
94
  {
95
+ "name": "meta.tag.annotation.xtend",
100
96
  "begin": "(@[^ (]+)(\\()",
101
- "beginCaptures": {
102
- "1": {
103
- "name": "meta.tag.annotation.name.xtend"
104
- },
105
- "2": {
106
- "name": "meta.tag.annotation-arguments.begin.xtend"
107
- }
108
- },
109
97
  "end": "(\\))",
110
- "endCaptures": {
111
- "1": {
112
- "name": "meta.tag.annotation-arguments.end.xtend"
113
- }
114
- },
115
- "name": "meta.tag.annotation.xtend",
116
98
  "patterns": [
117
99
  {
100
+ "match": "(\\w*)\\s*(=)",
118
101
  "captures": {
119
102
  "1": {
120
103
  "name": "constant.other.key.xtend"
@@ -122,68 +105,63 @@
122
105
  "2": {
123
106
  "name": "keyword.operator.assignment.xtend"
124
107
  }
125
- },
126
- "match": "(\\w*)\\s*(=)"
108
+ }
127
109
  },
128
110
  {
129
111
  "include": "#code"
130
112
  },
131
113
  {
132
- "match": ",",
133
- "name": "punctuation.seperator.property.xtend"
114
+ "name": "punctuation.seperator.property.xtend",
115
+ "match": ","
134
116
  }
135
- ]
136
- },
137
- {
138
- "match": "@\\w*",
139
- "name": "meta.tag.annotation.xtend"
140
- }
141
- ]
142
- },
143
- "lambdas": {
144
- "patterns": [
145
- {
146
- "match": "(\\[)(?:\\s)",
147
- "name": "meta.tag.lambda-start.xtend"
117
+ ],
118
+ "beginCaptures": {
119
+ "1": {
120
+ "name": "meta.tag.annotation.name.xtend"
121
+ },
122
+ "2": {
123
+ "name": "meta.tag.annotation-arguments.begin.xtend"
124
+ }
125
+ },
126
+ "endCaptures": {
127
+ "1": {
128
+ "name": "meta.tag.annotation-arguments.end.xtend"
129
+ }
130
+ }
148
131
  },
149
132
  {
150
- "match": "(?:\\s)(\\[)",
151
- "name": "meta.tag.lambda-end.xtend"
133
+ "name": "meta.tag.annotation.xtend",
134
+ "match": "@\\w*"
152
135
  }
153
136
  ]
154
137
  },
155
138
  "assertions": {
156
139
  "patterns": [
157
140
  {
141
+ "name": "meta.declaration.assertion.xtend",
158
142
  "begin": "\\b(assert)\\s",
159
- "beginCaptures": {
160
- "1": {
161
- "name": "keyword.control.assert.xtend"
162
- }
163
- },
164
143
  "end": "$",
165
- "name": "meta.declaration.assertion.xtend",
166
144
  "patterns": [
167
145
  {
168
- "match": ":",
169
- "name": "keyword.operator.assert.expression-seperator.xtend"
146
+ "name": "keyword.operator.assert.expression-seperator.xtend",
147
+ "match": ":"
170
148
  },
171
149
  {
172
150
  "include": "#code"
173
151
  }
174
- ]
152
+ ],
153
+ "beginCaptures": {
154
+ "1": {
155
+ "name": "keyword.control.assert.xtend"
156
+ }
157
+ }
175
158
  }
176
159
  ]
177
160
  },
178
161
  "class": {
162
+ "name": "meta.class.xtend",
179
163
  "begin": "(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum)\\s+\\w+)",
180
164
  "end": "}",
181
- "endCaptures": {
182
- "0": {
183
- "name": "punctuation.section.class.end.xtend"
184
- }
185
- },
186
- "name": "meta.class.xtend",
187
165
  "patterns": [
188
166
  {
189
167
  "include": "#storage-modifiers"
@@ -192,6 +170,8 @@
192
170
  "include": "#comments"
193
171
  },
194
172
  {
173
+ "name": "meta.class.identifier.xtend",
174
+ "match": "(class|(?:@)?interface|enum)\\s+(\\w+)",
195
175
  "captures": {
196
176
  "1": {
197
177
  "name": "storage.modifier.xtend"
@@ -199,19 +179,12 @@
199
179
  "2": {
200
180
  "name": "entity.name.type.class.xtend"
201
181
  }
202
- },
203
- "match": "(class|(?:@)?interface|enum)\\s+(\\w+)",
204
- "name": "meta.class.identifier.xtend"
182
+ }
205
183
  },
206
184
  {
185
+ "name": "meta.definition.class.inherited.classes.xtend",
207
186
  "begin": "extends",
208
- "beginCaptures": {
209
- "0": {
210
- "name": "storage.modifier.extends.xtend"
211
- }
212
- },
213
187
  "end": "(?={|implements)",
214
- "name": "meta.definition.class.inherited.classes.xtend",
215
188
  "patterns": [
216
189
  {
217
190
  "include": "#object-types-inherited"
@@ -219,17 +192,17 @@
219
192
  {
220
193
  "include": "#comments"
221
194
  }
222
- ]
195
+ ],
196
+ "beginCaptures": {
197
+ "0": {
198
+ "name": "storage.modifier.extends.xtend"
199
+ }
200
+ }
223
201
  },
224
202
  {
203
+ "name": "meta.definition.class.implemented.interfaces.xtend",
225
204
  "begin": "(implements)\\s",
226
- "beginCaptures": {
227
- "1": {
228
- "name": "storage.modifier.implements.xtend"
229
- }
230
- },
231
205
  "end": "(?=\\s*extends|\\{)",
232
- "name": "meta.definition.class.implemented.interfaces.xtend",
233
206
  "patterns": [
234
207
  {
235
208
  "include": "#object-types-inherited"
@@ -237,19 +210,29 @@
237
210
  {
238
211
  "include": "#comments"
239
212
  }
240
- ]
213
+ ],
214
+ "beginCaptures": {
215
+ "1": {
216
+ "name": "storage.modifier.implements.xtend"
217
+ }
218
+ }
241
219
  },
242
220
  {
221
+ "name": "meta.class.body.xtend",
243
222
  "begin": "{",
244
223
  "end": "(?=})",
245
- "name": "meta.class.body.xtend",
246
224
  "patterns": [
247
225
  {
248
226
  "include": "#class-body"
249
227
  }
250
228
  ]
251
229
  }
252
- ]
230
+ ],
231
+ "endCaptures": {
232
+ "0": {
233
+ "name": "punctuation.section.class.end.xtend"
234
+ }
235
+ }
253
236
  },
254
237
  "class-body": {
255
238
  "patterns": [
@@ -319,13 +302,13 @@
319
302
  "comments": {
320
303
  "patterns": [
321
304
  {
305
+ "name": "comment.block.empty.xtend",
306
+ "match": "/\\*\\*/",
322
307
  "captures": {
323
308
  "0": {
324
309
  "name": "punctuation.definition.comment.xtend"
325
310
  }
326
- },
327
- "match": "/\\*\\*/",
328
- "name": "comment.block.empty.xtend"
311
+ }
329
312
  },
330
313
  {
331
314
  "include": "text.html.javadoc"
@@ -338,16 +321,17 @@
338
321
  "comments-inline": {
339
322
  "patterns": [
340
323
  {
324
+ "name": "comment.block.xtend",
341
325
  "begin": "/\\*",
326
+ "end": "\\*/",
342
327
  "captures": {
343
328
  "0": {
344
329
  "name": "punctuation.definition.comment.xtend"
345
330
  }
346
- },
347
- "end": "\\*/",
348
- "name": "comment.block.xtend"
331
+ }
349
332
  },
350
333
  {
334
+ "match": "\\s*((//).*$\\n?)",
351
335
  "captures": {
352
336
  "1": {
353
337
  "name": "comment.line.double-slash.xtend"
@@ -355,33 +339,32 @@
355
339
  "2": {
356
340
  "name": "punctuation.definition.comment.xtend"
357
341
  }
358
- },
359
- "match": "\\s*((//).*$\\n?)"
342
+ }
360
343
  }
361
344
  ]
362
345
  },
363
346
  "constants-and-special-vars": {
364
347
  "patterns": [
365
348
  {
366
- "match": "\\b(true|false|null)\\b",
367
- "name": "constant.language.xtend"
349
+ "name": "constant.language.xtend",
350
+ "match": "\\b(true|false|null)\\b"
368
351
  },
369
352
  {
370
- "match": "\\b(this|new|super|it)\\b",
371
- "name": "variable.language.xtend"
353
+ "name": "variable.language.xtend",
354
+ "match": "\\b(this|new|super|it)\\b"
372
355
  },
373
356
  {
374
- "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b",
375
- "name": "constant.numeric.xtend"
357
+ "name": "constant.numeric.xtend",
358
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"
376
359
  },
377
360
  {
361
+ "name": "constant.other.xtend",
362
+ "match": "(\\.)?\\b([A-Z][A-Z0-9_]+)(?!\u003c|\\.class|\\s*\\w+\\s*=)\\b",
378
363
  "captures": {
379
364
  "1": {
380
365
  "name": "keyword.operator.dereference.xtend"
381
366
  }
382
- },
383
- "match": "(\\.)?\\b([A-Z][A-Z0-9_]+)(?!<|\\.class|\\s*\\w+\\s*=)\\b",
384
- "name": "constant.other.xtend"
367
+ }
385
368
  }
386
369
  ]
387
370
  },
@@ -390,14 +373,9 @@
390
373
  "end": "(?=;|})",
391
374
  "patterns": [
392
375
  {
376
+ "name": "meta.enum.xtend",
393
377
  "begin": "\\w+",
394
- "beginCaptures": {
395
- "0": {
396
- "name": "constant.other.enum.xtend"
397
- }
398
- },
399
378
  "end": "(?=,|;|})",
400
- "name": "meta.enum.xtend",
401
379
  "patterns": [
402
380
  {
403
381
  "include": "#parens"
@@ -411,90 +389,102 @@
411
389
  }
412
390
  ]
413
391
  }
414
- ]
392
+ ],
393
+ "beginCaptures": {
394
+ "0": {
395
+ "name": "constant.other.enum.xtend"
396
+ }
397
+ }
415
398
  }
416
399
  ]
417
400
  },
418
401
  "keywords": {
419
402
  "patterns": [
420
403
  {
421
- "match": "\\b(try|catch|finally|throw)\\b",
422
- "name": "keyword.control.catch-exception.xtend"
404
+ "name": "keyword.control.catch-exception.xtend",
405
+ "match": "\\b(try|catch|finally|throw)\\b"
423
406
  },
424
407
  {
425
- "match": "\\?|:",
426
- "name": "keyword.control.xtend"
408
+ "name": "keyword.control.xtend",
409
+ "match": "\\?|:"
427
410
  },
428
411
  {
429
- "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b",
430
- "name": "keyword.control.xtend"
412
+ "name": "keyword.control.xtend",
413
+ "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b"
431
414
  },
432
415
  {
433
- "match": "\\b(instanceof)\\b",
434
- "name": "keyword.operator.xtend"
416
+ "name": "keyword.operator.xtend",
417
+ "match": "\\b(instanceof)\\b"
435
418
  },
436
419
  {
437
- "match": "(==|===|!==|!=|<=|>=|<>|<|>)",
438
- "name": "keyword.operator.comparison.xtend"
420
+ "name": "keyword.operator.comparison.xtend",
421
+ "match": "(==|===|!==|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"
439
422
  },
440
423
  {
441
- "match": "(=)",
442
- "name": "keyword.operator.assignment.xtend"
424
+ "name": "keyword.operator.assignment.xtend",
425
+ "match": "(=)"
443
426
  },
444
427
  {
445
- "match": "(\\-\\-|\\+\\+)",
446
- "name": "keyword.operator.increment-decrement.xtend"
428
+ "name": "keyword.operator.increment-decrement.xtend",
429
+ "match": "(\\-\\-|\\+\\+)"
447
430
  },
448
431
  {
449
- "match": "(\\-|\\+|\\*|\\/|%)",
450
- "name": "keyword.operator.arithmetic.xtend"
432
+ "name": "keyword.operator.arithmetic.xtend",
433
+ "match": "(\\-|\\+|\\*|\\/|%)"
451
434
  },
452
435
  {
453
- "match": "(!|&&|\\|\\|)",
454
- "name": "keyword.operator.logical.xtend"
436
+ "name": "keyword.operator.logical.xtend",
437
+ "match": "(!|\u0026\u0026|\\|\\|)"
455
438
  },
456
439
  {
457
- "match": "(?<=\\S)\\.(?=\\S)",
458
- "name": "keyword.operator.dereference.xtend"
440
+ "name": "keyword.operator.dereference.xtend",
441
+ "match": "(?\u003c=\\S)\\.(?=\\S)"
459
442
  },
460
443
  {
461
- "match": ";",
462
- "name": "punctuation.terminator.xtend"
444
+ "name": "punctuation.terminator.xtend",
445
+ "match": ";"
446
+ }
447
+ ]
448
+ },
449
+ "lambdas": {
450
+ "patterns": [
451
+ {
452
+ "name": "meta.tag.lambda-start.xtend",
453
+ "match": "(\\[)(?:\\s)"
454
+ },
455
+ {
456
+ "name": "meta.tag.lambda-end.xtend",
457
+ "match": "(?:\\s)(\\[)"
463
458
  }
464
459
  ]
465
460
  },
466
461
  "methods": {
462
+ "name": "meta.method.xtend",
467
463
  "begin": "(def|override)\\s+(?!new)(?=\\w.*\\s+)(?=[^=]+\\()",
468
- "beginCaptures": {
469
- "1": {
470
- "name": "entity.name.function.keyword.xtend"
471
- }
472
- },
473
464
  "end": "}|(?=;)",
474
- "name": "meta.method.xtend",
475
465
  "patterns": [
476
466
  {
477
467
  "include": "#storage-modifiers"
478
468
  },
479
469
  {
470
+ "name": "meta.method.identifier.xtend",
480
471
  "begin": "(\\w+)\\s*\\(",
481
- "beginCaptures": {
482
- "1": {
483
- "name": "entity.name.function.xtend"
484
- }
485
- },
486
472
  "end": "\\)",
487
- "name": "meta.method.identifier.xtend",
488
473
  "patterns": [
489
474
  {
490
475
  "include": "#parameters"
491
476
  }
492
- ]
477
+ ],
478
+ "beginCaptures": {
479
+ "1": {
480
+ "name": "entity.name.function.xtend"
481
+ }
482
+ }
493
483
  },
494
484
  {
485
+ "name": "meta.method.return-type.xtend",
495
486
  "begin": "(?=\\w.*\\s+\\w+\\s*\\()",
496
487
  "end": "(?=\\w+\\s*\\()",
497
- "name": "meta.method.return-type.xtend",
498
488
  "patterns": [
499
489
  {
500
490
  "include": "#all-types"
@@ -505,39 +495,43 @@
505
495
  "include": "#throws"
506
496
  },
507
497
  {
498
+ "name": "meta.method.body.xtend",
508
499
  "begin": "{",
509
500
  "end": "(?=})",
510
- "name": "meta.method.body.xtend",
511
501
  "patterns": [
512
502
  {
513
503
  "include": "#code"
514
504
  }
515
505
  ]
516
506
  }
517
- ]
507
+ ],
508
+ "beginCaptures": {
509
+ "1": {
510
+ "name": "entity.name.function.keyword.xtend"
511
+ }
512
+ }
518
513
  },
519
514
  "object-types": {
520
515
  "patterns": [
521
516
  {
522
- "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)<",
523
- "end": ">|[^\\w\\s,\\?<\\[\\]]",
524
517
  "name": "storage.type.generic.xtend",
518
+ "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c",
519
+ "end": "\u003e|[^\\w\\s,\\?\u003c\\[\\]]",
525
520
  "patterns": [
526
521
  {
527
522
  "include": "#object-types"
528
523
  },
529
524
  {
530
- "begin": "<",
531
- "comment": "This is just to support <>'s with no actual type prefix",
532
- "end": ">|[^\\w\\s,\\[\\]<]",
533
- "name": "storage.type.generic.xtend"
525
+ "name": "storage.type.generic.xtend",
526
+ "begin": "\u003c",
527
+ "end": "\u003e|[^\\w\\s,\\[\\]\u003c]"
534
528
  }
535
529
  ]
536
530
  },
537
531
  {
532
+ "name": "storage.type.object.array.xtend",
538
533
  "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)(?=\\[)",
539
534
  "end": "(?=[^\\]\\s])",
540
- "name": "storage.type.object.array.xtend",
541
535
  "patterns": [
542
536
  {
543
537
  "begin": "\\[",
@@ -551,59 +545,58 @@
551
545
  ]
552
546
  },
553
547
  {
548
+ "name": "entity.name.type.class.xtend",
549
+ "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b",
554
550
  "captures": {
555
551
  "1": {
556
552
  "name": "keyword.operator.dereference.xtend"
557
553
  }
558
- },
559
- "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b",
560
- "name": "entity.name.type.class.xtend"
554
+ }
561
555
  },
562
556
  {
557
+ "name": "storage.type.xtend",
558
+ "match": "^\\s*(\\.)(?=\\w+\\b)",
563
559
  "captures": {
564
560
  "1": {
565
561
  "name": "keyword.operator.dereference.xtend"
566
562
  }
567
- },
568
- "match": "^\\s*(\\.)(?=\\w+\\b)",
569
- "name": "storage.type.xtend"
563
+ }
570
564
  }
571
565
  ]
572
566
  },
573
567
  "object-types-inherited": {
574
568
  "patterns": [
575
569
  {
576
- "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)<",
577
- "end": ">|[^\\w\\s,<]",
578
570
  "name": "entity.other.inherited-class.xtend",
571
+ "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c",
572
+ "end": "\u003e|[^\\w\\s,\u003c]",
579
573
  "patterns": [
580
574
  {
581
575
  "include": "#object-types"
582
576
  },
583
577
  {
584
- "begin": "<",
585
- "comment": "This is just to support <>'s with no actual type prefix",
586
- "end": ">|[^\\w\\s,<]",
587
- "name": "storage.type.generic.xtend"
578
+ "name": "storage.type.generic.xtend",
579
+ "begin": "\u003c",
580
+ "end": "\u003e|[^\\w\\s,\u003c]"
588
581
  }
589
582
  ]
590
583
  },
591
584
  {
585
+ "name": "entity.other.inherited-class.xtend",
586
+ "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*",
592
587
  "captures": {
593
588
  "1": {
594
589
  "name": "keyword.operator.dereference.xtend"
595
590
  }
596
- },
597
- "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*",
598
- "name": "entity.other.inherited-class.xtend"
591
+ }
599
592
  }
600
593
  ]
601
594
  },
602
595
  "parameters": {
603
596
  "patterns": [
604
597
  {
605
- "match": "(final|var|val)",
606
- "name": "storage.modifier.xtend"
598
+ "name": "storage.modifier.xtend",
599
+ "match": "(final|var|val)"
607
600
  },
608
601
  {
609
602
  "include": "#primitive-arrays"
@@ -615,8 +608,8 @@
615
608
  "include": "#object-types"
616
609
  },
617
610
  {
618
- "match": "\\w+",
619
- "name": "variable.parameter.xtend"
611
+ "name": "variable.parameter.xtend",
612
+ "match": "\\w+"
620
613
  }
621
614
  ]
622
615
  },
@@ -632,87 +625,87 @@
632
625
  "primitive-arrays": {
633
626
  "patterns": [
634
627
  {
635
- "match": "\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\[\\])*\\b",
636
- "name": "storage.type.primitive.array.xtend"
628
+ "name": "storage.type.primitive.array.xtend",
629
+ "match": "\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\[\\])*\\b"
637
630
  }
638
631
  ]
639
632
  },
640
633
  "primitive-types": {
641
634
  "patterns": [
642
635
  {
643
- "match": "\\b(?:void|boolean|byte|char|short|int|float|long|double)\\b",
644
- "name": "storage.type.primitive.xtend"
636
+ "name": "storage.type.primitive.xtend",
637
+ "match": "\\b(?:void|boolean|byte|char|short|int|float|long|double)\\b"
645
638
  }
646
639
  ]
647
640
  },
648
641
  "storage-modifiers": {
642
+ "match": "\\b(public|private|protected|package|static|var|val|final|native|synchronized|abstract|threadsafe|transient)\\b",
649
643
  "captures": {
650
644
  "1": {
651
645
  "name": "storage.modifier.xtend"
652
646
  }
653
- },
654
- "match": "\\b(public|private|protected|package|static|var|val|final|native|synchronized|abstract|threadsafe|transient)\\b"
647
+ }
655
648
  },
656
649
  "strings": {
657
650
  "patterns": [
658
651
  {
652
+ "name": "string.quoted.double.xtend",
659
653
  "begin": "\"",
654
+ "end": "\"",
655
+ "patterns": [
656
+ {
657
+ "name": "constant.character.escape.xtend",
658
+ "match": "\\\\."
659
+ }
660
+ ],
660
661
  "beginCaptures": {
661
662
  "0": {
662
663
  "name": "punctuation.definition.string.begin.xtend"
663
664
  }
664
665
  },
665
- "end": "\"",
666
666
  "endCaptures": {
667
667
  "0": {
668
668
  "name": "punctuation.definition.string.end.xtend"
669
669
  }
670
- },
671
- "name": "string.quoted.double.xtend",
672
- "patterns": [
673
- {
674
- "match": "\\\\.",
675
- "name": "constant.character.escape.xtend"
676
- }
677
- ]
670
+ }
678
671
  },
679
672
  {
673
+ "name": "string.quoted.single.xtend",
680
674
  "begin": "'",
675
+ "end": "'",
676
+ "patterns": [
677
+ {
678
+ "name": "constant.character.escape.xtend",
679
+ "match": "\\\\."
680
+ }
681
+ ],
681
682
  "beginCaptures": {
682
683
  "0": {
683
684
  "name": "punctuation.definition.string.begin.xtend"
684
685
  }
685
686
  },
686
- "end": "'",
687
687
  "endCaptures": {
688
688
  "0": {
689
689
  "name": "punctuation.definition.string.end.xtend"
690
690
  }
691
- },
692
- "name": "string.quoted.single.xtend",
693
- "patterns": [
694
- {
695
- "match": "\\\\.",
696
- "name": "constant.character.escape.xtend"
697
- }
698
- ]
691
+ }
699
692
  }
700
693
  ]
701
694
  },
702
695
  "throws": {
696
+ "name": "meta.throwables.xtend",
703
697
  "begin": "throws",
704
- "beginCaptures": {
705
- "0": {
706
- "name": "storage.modifier.xtend"
707
- }
708
- },
709
698
  "end": "(?={|;)",
710
- "name": "meta.throwables.xtend",
711
699
  "patterns": [
712
700
  {
713
701
  "include": "#object-types"
714
702
  }
715
- ]
703
+ ],
704
+ "beginCaptures": {
705
+ "0": {
706
+ "name": "storage.modifier.xtend"
707
+ }
708
+ }
716
709
  },
717
710
  "values": {
718
711
  "patterns": [
@@ -727,7 +720,5 @@
727
720
  }
728
721
  ]
729
722
  }
730
- },
731
- "scopeName": "source.xtend",
732
- "uuid": "2B449DF6-6B1D-11D9-94EC-000D93589AF6"
733
- }
723
+ }
724
+ }