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,17 +1,6 @@
1
1
  {
2
- "fileTypes": [
3
- "soy"
4
- ],
5
- "injections": {
6
- "meta.tag": {
7
- "patterns": [
8
- {
9
- "include": "#body"
10
- }
11
- ]
12
- }
13
- },
14
2
  "name": "Closure Templates",
3
+ "scopeName": "text.html.soy",
15
4
  "patterns": [
16
5
  {
17
6
  "include": "#alias"
@@ -58,33 +47,6 @@
58
47
  }
59
48
  }
60
49
  },
61
- "variant": {
62
- "begin": "(variant)=(\")",
63
- "beginCaptures": {
64
- "1": {
65
- "name": "storage.other.attribute.soy"
66
- },
67
- "2": {
68
- "name": "string.double.quoted.soy"
69
- }
70
- },
71
- "contentName": "string.double.quoted.soy",
72
- "end": "(\")",
73
- "endCaptures": {
74
- "1": {
75
- "name": "string.double.quoted.soy"
76
- }
77
- },
78
- "patterns": [
79
- {
80
- "include": "#expression"
81
- }
82
- ]
83
- },
84
- "boolean": {
85
- "match": "true|false",
86
- "name": "language.constant.boolean.soy"
87
- },
88
50
  "body": {
89
51
  "patterns": [
90
52
  {
@@ -128,24 +90,15 @@
128
90
  }
129
91
  ]
130
92
  },
93
+ "boolean": {
94
+ "name": "language.constant.boolean.soy",
95
+ "match": "true|false"
96
+ },
131
97
  "call": {
132
98
  "patterns": [
133
99
  {
134
100
  "begin": "{((?:del)?call)\\s+([\\w\\.]+)(?=[^/]*?})",
135
- "beginCaptures": {
136
- "1": {
137
- "name": "storage.type.function.soy"
138
- },
139
- "2": {
140
- "name": "entity.name.function.soy"
141
- }
142
- },
143
101
  "end": "{/(\\1)}",
144
- "endCaptures": {
145
- "1": {
146
- "name": "storage.type.function.soy"
147
- }
148
- },
149
102
  "patterns": [
150
103
  {
151
104
  "include": "#comment"
@@ -159,10 +112,7 @@
159
112
  {
160
113
  "include": "#param"
161
114
  }
162
- ]
163
- },
164
- {
165
- "begin": "{((?:del)?call)(\\s+[\\w\\.]+)",
115
+ ],
166
116
  "beginCaptures": {
167
117
  "1": {
168
118
  "name": "storage.type.function.soy"
@@ -171,6 +121,14 @@
171
121
  "name": "entity.name.function.soy"
172
122
  }
173
123
  },
124
+ "endCaptures": {
125
+ "1": {
126
+ "name": "storage.type.function.soy"
127
+ }
128
+ }
129
+ },
130
+ {
131
+ "begin": "{((?:del)?call)(\\s+[\\w\\.]+)",
174
132
  "end": "/}",
175
133
  "patterns": [
176
134
  {
@@ -179,16 +137,24 @@
179
137
  {
180
138
  "include": "#attribute"
181
139
  }
182
- ]
140
+ ],
141
+ "beginCaptures": {
142
+ "1": {
143
+ "name": "storage.type.function.soy"
144
+ },
145
+ "2": {
146
+ "name": "entity.name.function.soy"
147
+ }
148
+ }
183
149
  }
184
150
  ]
185
151
  },
186
152
  "comment": {
187
153
  "patterns": [
188
154
  {
155
+ "name": "comment.block.documentation.soy",
189
156
  "begin": "/\\*",
190
157
  "end": "\\*/",
191
- "name": "comment.block.documentation.soy",
192
158
  "patterns": [
193
159
  {
194
160
  "match": "(@param\\??)\\s+(\\S+)",
@@ -204,24 +170,49 @@
204
170
  ]
205
171
  },
206
172
  {
207
- "match": "^\\s*(\\/\\/.*)$",
208
- "name": "comment.line.double-slash.soy"
173
+ "name": "comment.line.double-slash.soy",
174
+ "match": "^\\s*(\\/\\/.*)$"
209
175
  }
210
176
  ]
211
177
  },
212
- "css": {
213
- "begin": "{(css)\\s+",
178
+ "condition": {
179
+ "begin": "{/?(if|elseif|switch|case)\\s*",
180
+ "end": "}",
181
+ "patterns": [
182
+ {
183
+ "include": "#attribute"
184
+ },
185
+ {
186
+ "include": "#expression"
187
+ }
188
+ ],
214
189
  "beginCaptures": {
215
190
  "1": {
216
- "name": "keyword.other.soy"
191
+ "name": "keyword.control.soy"
217
192
  }
218
- },
193
+ }
194
+ },
195
+ "condition-control": {
196
+ "match": "{(else|ifempty|default)}",
197
+ "captures": {
198
+ "1": {
199
+ "name": "keyword.control.soy"
200
+ }
201
+ }
202
+ },
203
+ "css": {
204
+ "begin": "{(css)\\s+",
219
205
  "end": "}",
220
206
  "patterns": [
221
207
  {
222
208
  "include": "#expression"
223
209
  }
224
- ]
210
+ ],
211
+ "beginCaptures": {
212
+ "1": {
213
+ "name": "keyword.other.soy"
214
+ }
215
+ }
225
216
  },
226
217
  "delpackage": {
227
218
  "match": "{(delpackage)\\s+([\\w\\.]+)}",
@@ -261,16 +252,11 @@
261
252
  },
262
253
  "for": {
263
254
  "begin": "{/?(foreach|for)(?=\\s|})",
264
- "beginCaptures": {
265
- "1": {
266
- "name": "keyword.control.soy"
267
- }
268
- },
269
255
  "end": "}",
270
256
  "patterns": [
271
257
  {
272
- "match": "in",
273
- "name": "keyword.control.soy"
258
+ "name": "keyword.control.soy",
259
+ "match": "in"
274
260
  },
275
261
  {
276
262
  "include": "#expression"
@@ -278,61 +264,104 @@
278
264
  {
279
265
  "include": "#body"
280
266
  }
281
- ]
282
- },
283
- "function": {
284
- "begin": "(\\w+)\\(",
267
+ ],
285
268
  "beginCaptures": {
286
269
  "1": {
287
- "name": "support.function.soy"
270
+ "name": "keyword.control.soy"
288
271
  }
289
- },
272
+ }
273
+ },
274
+ "function": {
275
+ "begin": "(\\w+)\\(",
290
276
  "end": "\\)",
291
277
  "patterns": [
292
278
  {
293
279
  "include": "#expression"
294
280
  }
295
- ]
296
- },
297
- "condition": {
298
- "begin": "{/?(if|elseif|switch|case)\\s*",
281
+ ],
299
282
  "beginCaptures": {
300
283
  "1": {
301
- "name": "keyword.control.soy"
284
+ "name": "support.function.soy"
302
285
  }
303
- },
304
- "end": "}",
286
+ }
287
+ },
288
+ "let": {
305
289
  "patterns": [
306
290
  {
307
- "include": "#attribute"
291
+ "begin": "{(let)\\s+(\\$\\w+\\s*:)",
292
+ "end": "/}",
293
+ "patterns": [
294
+ {
295
+ "include": "#comment"
296
+ },
297
+ {
298
+ "include": "#expression"
299
+ }
300
+ ],
301
+ "beginCaptures": {
302
+ "1": {
303
+ "name": "storage.type.soy"
304
+ },
305
+ "2": {
306
+ "name": "variable.soy"
307
+ }
308
+ }
308
309
  },
309
310
  {
310
- "include": "#expression"
311
+ "begin": "{(let)\\s+(\\$\\w+)",
312
+ "end": "{/(\\1)}",
313
+ "patterns": [
314
+ {
315
+ "include": "#attribute"
316
+ },
317
+ {
318
+ "include": "#body"
319
+ }
320
+ ],
321
+ "beginCaptures": {
322
+ "1": {
323
+ "name": "storage.type.soy"
324
+ },
325
+ "2": {
326
+ "name": "variable.soy"
327
+ }
328
+ },
329
+ "endCaptures": {
330
+ "1": {
331
+ "name": "storage.type.soy"
332
+ }
333
+ }
311
334
  }
312
335
  ]
313
336
  },
314
- "condition-control": {
315
- "match": "{(else|ifempty|default)}",
316
- "captures": {
317
- "1": {
318
- "name": "keyword.control.soy"
319
- }
320
- }
321
- },
322
337
  "literal": {
338
+ "name": "meta.literal",
323
339
  "begin": "{(literal)}",
340
+ "end": "{/(\\1)}",
324
341
  "beginCaptures": {
325
342
  "1": {
326
343
  "name": "keyword.other.soy"
327
344
  }
328
345
  },
329
- "end": "{/(\\1)}",
330
346
  "endCaptures": {
331
347
  "1": {
332
348
  "name": "keyword.other.soy"
333
349
  }
334
- },
335
- "name": "meta.literal"
350
+ }
351
+ },
352
+ "msg": {
353
+ "match": "{/?(msg|fallbackmsg)",
354
+ "end": "}",
355
+ "patterns": [
356
+ {
357
+ "include": "#attribute"
358
+ }
359
+ ],
360
+ "captures": {
361
+ "1": {
362
+ "name": "keyword.other.soy"
363
+ }
364
+ }
336
365
  },
337
366
  "namespace": {
338
367
  "match": "{(namespace)\\s+([\\w\\.]+)}",
@@ -345,18 +374,28 @@
345
374
  }
346
375
  }
347
376
  },
377
+ "null": {
378
+ "name": "language.constant.null.soy",
379
+ "match": "null"
380
+ },
348
381
  "number": {
349
- "match": "-?\\.?\\d+|\\d[\\.\\d]*",
350
- "name": "language.constant.numeric"
382
+ "name": "language.constant.numeric",
383
+ "match": "-?\\.?\\d+|\\d[\\.\\d]*"
351
384
  },
352
- "null": {
353
- "match": "null",
354
- "name": "language.constant.null.soy"
385
+ "operator": {
386
+ "name": "keyword.operator.soy",
387
+ "match": "-|not|\\*|\\/|%|\\+|\u003c=|\u003e=|\u003c|\u003e|==|!=|and|or|\\?:|\\?|:"
355
388
  },
356
389
  "param": {
357
390
  "patterns": [
358
391
  {
359
392
  "begin": "{(param)\\s+(\\w+\\s*\\:)",
393
+ "end": "/}",
394
+ "patterns": [
395
+ {
396
+ "include": "#expression"
397
+ }
398
+ ],
360
399
  "beginCaptures": {
361
400
  "1": {
362
401
  "name": "storage.type.soy"
@@ -364,16 +403,19 @@
364
403
  "2": {
365
404
  "name": "variable.parameter.soy"
366
405
  }
367
- },
368
- "end": "/}",
369
- "patterns": [
370
- {
371
- "include": "#expression"
372
- }
373
- ]
406
+ }
374
407
  },
375
408
  {
376
409
  "begin": "{(param)\\s+(\\w+)",
410
+ "end": "{/(\\1)}",
411
+ "patterns": [
412
+ {
413
+ "include": "#attribute"
414
+ },
415
+ {
416
+ "include": "#body"
417
+ }
418
+ ],
377
419
  "beginCaptures": {
378
420
  "1": {
379
421
  "name": "storage.type.soy"
@@ -382,53 +424,68 @@
382
424
  "name": "variable.parameter.soy"
383
425
  }
384
426
  },
385
- "end": "{/(\\1)}",
386
427
  "endCaptures": {
387
428
  "1": {
388
429
  "name": "storage.type.soy"
389
430
  }
390
- },
391
- "patterns": [
392
- {
393
- "include": "#attribute"
394
- },
395
- {
396
- "include": "#body"
397
- }
398
- ]
431
+ }
399
432
  }
400
433
  ]
401
434
  },
435
+ "print": {
436
+ "begin": "{(print)?\\s*",
437
+ "end": "}",
438
+ "patterns": [
439
+ {
440
+ "match": "\\|\\s*(changeNewlineToBr|truncate|bidiSpanWrap|bidiUnicodeWrap)",
441
+ "captures": {
442
+ "1": {
443
+ "name": "support.function.soy"
444
+ }
445
+ }
446
+ },
447
+ {
448
+ "include": "#expression"
449
+ }
450
+ ],
451
+ "beginCaptures": {
452
+ "1": {
453
+ "name": "keyword.other.soy"
454
+ }
455
+ }
456
+ },
457
+ "special-character": {
458
+ "match": "{(sp|nil|\\\\r|\\\\n|\\\\t|lb|rb)}",
459
+ "captures": {
460
+ "1": {
461
+ "name": "language.support.constant"
462
+ }
463
+ }
464
+ },
402
465
  "string": {
466
+ "name": "string.quoted.single.soy",
403
467
  "begin": "'",
404
468
  "end": "'",
405
- "name": "string.quoted.single.soy",
406
469
  "patterns": [
407
470
  {
408
- "match": "\\\\(?:[\\\\'\"nrtbf]|u[0-9a-fA-F]{4})",
409
- "name": "constant.character.escape.soy"
471
+ "name": "constant.character.escape.soy",
472
+ "match": "\\\\(?:[\\\\'\"nrtbf]|u[0-9a-fA-F]{4})"
410
473
  }
411
474
  ]
412
475
  },
413
476
  "template": {
414
477
  "begin": "{(template|deltemplate)\\s([\\w\\.]+)",
415
- "beginCaptures": {
416
- "1": {
417
- "name": "storage.type.soy"
418
- },
419
- "2": {
420
- "name": "entity.name.function.soy"
421
- }
422
- },
423
478
  "end": "{(/\\1)}",
424
- "endCaptures": {
425
- "1": {
426
- "name": "storage.type.soy"
427
- }
428
- },
429
479
  "patterns": [
430
480
  {
481
+ "name": "meta.parameter.soy",
431
482
  "begin": "{(@param)(\\??)\\s+(\\S+\\s*:)",
483
+ "end": "}",
484
+ "patterns": [
485
+ {
486
+ "include": "#type"
487
+ }
488
+ ],
432
489
  "beginCaptures": {
433
490
  "1": {
434
491
  "name": "keyword.parameter.soy"
@@ -439,14 +496,7 @@
439
496
  "3": {
440
497
  "name": "variable.parameter.soy"
441
498
  }
442
- },
443
- "end": "}",
444
- "name": "meta.parameter.soy",
445
- "patterns": [
446
- {
447
- "include": "#type"
448
- }
449
- ]
499
+ }
450
500
  },
451
501
  {
452
502
  "include": "#variant"
@@ -457,153 +507,100 @@
457
507
  {
458
508
  "include": "#attribute"
459
509
  }
460
- ]
510
+ ],
511
+ "beginCaptures": {
512
+ "1": {
513
+ "name": "storage.type.soy"
514
+ },
515
+ "2": {
516
+ "name": "entity.name.function.soy"
517
+ }
518
+ },
519
+ "endCaptures": {
520
+ "1": {
521
+ "name": "storage.type.soy"
522
+ }
523
+ }
461
524
  },
462
- "let": {
525
+ "type": {
463
526
  "patterns": [
464
527
  {
465
- "begin": "{(let)\\s+(\\$\\w+\\s*:)",
466
- "beginCaptures": {
467
- "1": {
468
- "name": "storage.type.soy"
469
- },
470
- "2": {
471
- "name": "variable.soy"
472
- }
473
- },
474
- "end": "/}",
528
+ "name": "support.type.soy",
529
+ "match": "any|null|\\?|string|bool|int|float|number|html|uri|js|css|attributes"
530
+ },
531
+ {
532
+ "begin": "(list|map)(\u003c)",
533
+ "end": "(\u003e)",
475
534
  "patterns": [
476
535
  {
477
- "include": "#comment"
478
- },
479
- {
480
- "include": "#expression"
536
+ "include": "#type"
481
537
  }
482
- ]
483
- },
484
- {
485
- "begin": "{(let)\\s+(\\$\\w+)",
538
+ ],
486
539
  "beginCaptures": {
487
540
  "1": {
488
- "name": "storage.type.soy"
541
+ "name": "support.type.soy"
489
542
  },
490
543
  "2": {
491
- "name": "variable.soy"
544
+ "name": "support.type.punctuation.soy"
492
545
  }
493
546
  },
494
- "end": "{/(\\1)}",
495
547
  "endCaptures": {
496
548
  "1": {
497
- "name": "storage.type.soy"
498
- }
499
- },
500
- "patterns": [
501
- {
502
- "include": "#attribute"
503
- },
504
- {
505
- "include": "#body"
549
+ "name": "support.type.modifier.soy"
506
550
  }
507
- ]
551
+ }
508
552
  }
509
553
  ]
510
554
  },
511
- "msg": {
512
- "match": "{/?(msg|fallbackmsg)",
513
- "captures": {
514
- "1": {
515
- "name": "keyword.other.soy"
516
- }
517
- },
518
- "end": "}",
555
+ "variable-ref": {
556
+ "name": "variable.other.soy",
557
+ "match": "\\$[\\a-zA-Z_][\\w\\.]*"
558
+ },
559
+ "variant": {
560
+ "contentName": "string.double.quoted.soy",
561
+ "begin": "(variant)=(\")",
562
+ "end": "(\")",
519
563
  "patterns": [
520
564
  {
521
- "include": "#attribute"
565
+ "include": "#expression"
522
566
  }
523
- ]
524
- },
525
- "operator": {
526
- "match": "-|not|\\*|\\/|%|\\+|<=|>=|<|>|==|!=|and|or|\\?:|\\?|:",
527
- "name": "keyword.operator.soy"
528
- },
529
- "print": {
530
- "begin": "{(print)?\\s*",
567
+ ],
531
568
  "beginCaptures": {
532
569
  "1": {
533
- "name": "keyword.other.soy"
534
- }
535
- },
536
- "end": "}",
537
- "patterns": [
538
- {
539
- "match": "\\|\\s*(changeNewlineToBr|truncate|bidiSpanWrap|bidiUnicodeWrap)",
540
- "captures": {
541
- "1": {
542
- "name": "support.function.soy"
543
- }
544
- }
570
+ "name": "storage.other.attribute.soy"
545
571
  },
546
- {
547
- "include": "#expression"
572
+ "2": {
573
+ "name": "string.double.quoted.soy"
548
574
  }
549
- ]
550
- },
551
- "special-character": {
552
- "match": "{(sp|nil|\\\\r|\\\\n|\\\\t|lb|rb)}",
553
- "captures": {
575
+ },
576
+ "endCaptures": {
554
577
  "1": {
555
- "name": "language.support.constant"
578
+ "name": "string.double.quoted.soy"
556
579
  }
557
580
  }
558
581
  },
559
- "type": {
582
+ "xid": {
583
+ "begin": "{(xid)\\s+",
584
+ "end": "}",
560
585
  "patterns": [
561
586
  {
562
- "match": "any|null|\\?|string|bool|int|float|number|html|uri|js|css|attributes",
563
- "name": "support.type.soy"
564
- },
565
- {
566
- "begin": "(list|map)(<)",
567
- "beginCaptures": {
568
- "1": {
569
- "name": "support.type.soy"
570
- },
571
- "2": {
572
- "name": "support.type.punctuation.soy"
573
- }
574
- },
575
- "end": "(>)",
576
- "endCaptures": {
577
- "1": {
578
- "name": "support.type.modifier.soy"
579
- }
580
- },
581
- "patterns": [
582
- {
583
- "include": "#type"
584
- }
585
- ]
587
+ "include": "#expression"
586
588
  }
587
- ]
588
- },
589
- "xid": {
590
- "begin": "{(xid)\\s+",
589
+ ],
591
590
  "beginCaptures": {
592
591
  "1": {
593
592
  "name": "keyword.other.soy"
594
593
  }
595
- },
596
- "end": "}",
594
+ }
595
+ }
596
+ },
597
+ "injections": {
598
+ "meta.tag": {
597
599
  "patterns": [
598
600
  {
599
- "include": "#expression"
601
+ "include": "#body"
600
602
  }
601
603
  ]
602
- },
603
- "variable-ref": {
604
- "match": "\\$[\\a-zA-Z_][\\w\\.]*",
605
- "name": "variable.other.soy"
606
604
  }
607
- },
608
- "scopeName": "text.html.soy"
609
- }
605
+ }
606
+ }