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,55 +1,47 @@
1
1
  {
2
- "fileTypes": [
3
- "py.jade",
4
- "pyjade"
5
- ],
6
2
  "name": "Jade (Python)",
3
+ "scopeName": "source.pyjade",
7
4
  "patterns": [
8
5
  {
9
- "comment": "Doctype declaration.",
10
- "match": "^(!!!|doctype)(\\s*[a-zA-Z0-9-_]+)?",
11
- "name": "comment.other.doctype.jade"
6
+ "name": "comment.other.doctype.jade",
7
+ "match": "^(!!!|doctype)(\\s*[a-zA-Z0-9-_]+)?"
12
8
  },
13
9
  {
10
+ "name": "comment.unbuffered.block.jade",
14
11
  "begin": "^(\\s*)//-",
15
- "comment": "Unbuffered (jade-only) comments.",
16
- "end": "^(?!(\\1\\s)|\\s*$)",
17
- "name": "comment.unbuffered.block.jade"
12
+ "end": "^(?!(\\1\\s)|\\s*$)"
18
13
  },
19
14
  {
20
- "begin": "<!--",
21
- "end": "--\\s*>",
22
15
  "name": "comment.buffered.block.jade",
16
+ "begin": "\u003c!--",
17
+ "end": "--\\s*\u003e",
23
18
  "patterns": [
24
19
  {
25
- "match": "--",
26
- "name": "invalid.illegal.comment.comment.block.jade"
20
+ "name": "invalid.illegal.comment.comment.block.jade",
21
+ "match": "--"
27
22
  }
28
23
  ]
29
24
  },
30
25
  {
26
+ "name": "string.comment.buffered.block.jade",
31
27
  "begin": "^(\\s*)//",
32
- "comment": "Buffered (html) comments.",
33
28
  "end": "^(?!(\\1\\s)|\\s*$)",
34
- "name": "string.comment.buffered.block.jade",
35
29
  "patterns": [
36
30
  {
31
+ "name": "string.comment.buffered.block.jade",
32
+ "match": "^\\s*(//)(?!-)",
37
33
  "captures": {
38
34
  "1": {
39
35
  "name": "invalid.illegal.comment.comment.block.jade"
40
36
  }
41
- },
42
- "comment": "Buffered comments inside buffered comments will generate invalid html.",
43
- "match": "^\\s*(//)(?!-)",
44
- "name": "string.comment.buffered.block.jade"
37
+ }
45
38
  }
46
39
  ]
47
40
  },
48
41
  {
42
+ "name": "javascript.embedded.jade",
49
43
  "begin": "^(\\s*)-$",
50
- "comment": "Unbuffered code block.",
51
44
  "end": "^(?!(\\1\\s)|\\s*$)",
52
- "name": "javascript.embedded.jade",
53
45
  "patterns": [
54
46
  {
55
47
  "include": "source.python"
@@ -57,20 +49,14 @@
57
49
  ]
58
50
  },
59
51
  {
52
+ "name": "source.script.jade",
60
53
  "begin": "^(\\s*)(script)(?=[.#(\\s])((?![^\\n]*type=)|(?=[^\\n]*(text|application)/javascript))",
61
- "beginCaptures": {
62
- "2": {
63
- "name": "entity.name.tag.script.jade"
64
- }
65
- },
66
- "comment": "Script tag with JavaScript code.",
67
54
  "end": "^(?!(\\1\\s)|\\s*$)",
68
- "name": "source.script.jade",
69
55
  "patterns": [
70
56
  {
57
+ "name": "stuff.tag.script.jade",
71
58
  "begin": "\\G(?=\\()",
72
59
  "end": "$",
73
- "name": "stuff.tag.script.jade",
74
60
  "patterns": [
75
61
  {
76
62
  "include": "#tag_attributes"
@@ -78,9 +64,9 @@
78
64
  ]
79
65
  },
80
66
  {
67
+ "name": "stuff.tag.script.jade",
81
68
  "begin": "\\G(?=[.#])",
82
69
  "end": "$",
83
- "name": "stuff.tag.script.jade",
84
70
  "patterns": [
85
71
  {
86
72
  "include": "#complete_tag"
@@ -90,23 +76,22 @@
90
76
  {
91
77
  "include": "source.python"
92
78
  }
93
- ]
94
- },
95
- {
96
- "begin": "^(\\s*)(style)(?=[.#(\\s])",
79
+ ],
97
80
  "beginCaptures": {
98
81
  "2": {
99
82
  "name": "entity.name.tag.script.jade"
100
83
  }
101
- },
102
- "comment": "Style tag with CSS code.",
103
- "end": "^(?!(\\1\\s)|\\s*$)",
84
+ }
85
+ },
86
+ {
104
87
  "name": "source.style.jade",
88
+ "begin": "^(\\s*)(style)(?=[.#(\\s])",
89
+ "end": "^(?!(\\1\\s)|\\s*$)",
105
90
  "patterns": [
106
91
  {
92
+ "name": "stuff.tag.style.jade",
107
93
  "begin": "\\G(?=\\()",
108
94
  "end": "$",
109
- "name": "stuff.tag.style.jade",
110
95
  "patterns": [
111
96
  {
112
97
  "include": "#tag_attributes"
@@ -114,9 +99,9 @@
114
99
  ]
115
100
  },
116
101
  {
102
+ "name": "stuff.tag.style.jade",
117
103
  "begin": "\\G(?=[.#])",
118
104
  "end": "$",
119
- "name": "stuff.tag.style.jade",
120
105
  "patterns": [
121
106
  {
122
107
  "include": "#complete_tag"
@@ -126,35 +111,35 @@
126
111
  {
127
112
  "include": "source.css"
128
113
  }
129
- ]
130
- },
131
- {
132
- "begin": "^(\\s*):(markdown)(?=\\(|$)$",
114
+ ],
133
115
  "beginCaptures": {
134
116
  "2": {
135
- "name": "constant.language.name.markdown.filter.jade"
117
+ "name": "entity.name.tag.script.jade"
136
118
  }
137
- },
138
- "end": "^(?!(\\1\\s)|\\s*$)",
119
+ }
120
+ },
121
+ {
139
122
  "name": "text.markdown.filter.jade",
123
+ "begin": "^(\\s*):(markdown)(?=\\(|$)$",
124
+ "end": "^(?!(\\1\\s)|\\s*$)",
140
125
  "patterns": [
141
126
  {
142
127
  "include": "#filter_args"
143
128
  },
144
129
  {
145
- "include": "text.html.markdown"
130
+ "include": "source.gfm"
146
131
  }
147
- ]
148
- },
149
- {
150
- "begin": "^(\\s*):(sass)(?=\\(|$)$",
132
+ ],
151
133
  "beginCaptures": {
152
134
  "2": {
153
- "name": "constant.language.name.sass.filter.jade"
135
+ "name": "constant.language.name.markdown.filter.jade"
154
136
  }
155
- },
156
- "end": "^(?!(\\1\\s)|\\s*$)",
137
+ }
138
+ },
139
+ {
157
140
  "name": "source.sass.filter.jade",
141
+ "begin": "^(\\s*):(sass)(?=\\(|$)$",
142
+ "end": "^(?!(\\1\\s)|\\s*$)",
158
143
  "patterns": [
159
144
  {
160
145
  "include": "#filter_args"
@@ -162,35 +147,35 @@
162
147
  {
163
148
  "include": "source.sass"
164
149
  }
165
- ]
166
- },
167
- {
168
- "begin": "^(\\s*):(less)(?=\\(|$)$",
150
+ ],
169
151
  "beginCaptures": {
170
152
  "2": {
171
- "name": "constant.language.name.less.filter.jade"
153
+ "name": "constant.language.name.sass.filter.jade"
172
154
  }
173
- },
174
- "end": "^(?!(\\1\\s)|\\s*$)",
155
+ }
156
+ },
157
+ {
175
158
  "name": "source.less.filter.jade",
159
+ "begin": "^(\\s*):(less)(?=\\(|$)$",
160
+ "end": "^(?!(\\1\\s)|\\s*$)",
176
161
  "patterns": [
177
162
  {
178
163
  "include": "#filter_args"
179
164
  },
180
165
  {
181
- "include": "source.less"
166
+ "include": "source.css.less"
182
167
  }
183
- ]
184
- },
185
- {
186
- "begin": "^(\\s*):(stylus)(?=\\(|$)$",
168
+ ],
187
169
  "beginCaptures": {
188
170
  "2": {
189
- "name": "constant.language.name.stylus.filter.jade"
171
+ "name": "constant.language.name.less.filter.jade"
190
172
  }
191
- },
192
- "end": "^(?!(\\1\\s)|\\s*$)",
173
+ }
174
+ },
175
+ {
193
176
  "name": "source.stylus.filter.jade",
177
+ "begin": "^(\\s*):(stylus)(?=\\(|$)$",
178
+ "end": "^(?!(\\1\\s)|\\s*$)",
194
179
  "patterns": [
195
180
  {
196
181
  "include": "#filter_args"
@@ -198,17 +183,17 @@
198
183
  {
199
184
  "include": "source.stylus"
200
185
  }
201
- ]
202
- },
203
- {
204
- "begin": "^(\\s*):(coffee(-?script)?)(?=\\(|$)",
186
+ ],
205
187
  "beginCaptures": {
206
188
  "2": {
207
- "name": "constant.language.name.coffeescript.filter.jade"
189
+ "name": "constant.language.name.stylus.filter.jade"
208
190
  }
209
- },
210
- "end": "^(?!(\\1\\s)|\\s*$)",
191
+ }
192
+ },
193
+ {
211
194
  "name": "source.coffeescript.filter.jade",
195
+ "begin": "^(\\s*):(coffee(-?script)?)(?=\\(|$)",
196
+ "end": "^(?!(\\1\\s)|\\s*$)",
212
197
  "patterns": [
213
198
  {
214
199
  "include": "#filter_args"
@@ -216,59 +201,51 @@
216
201
  {
217
202
  "include": "source.coffee"
218
203
  }
219
- ]
204
+ ],
205
+ "beginCaptures": {
206
+ "2": {
207
+ "name": "constant.language.name.coffeescript.filter.jade"
208
+ }
209
+ }
220
210
  },
221
211
  {
212
+ "name": "text.generic.filter.jade",
222
213
  "begin": "^(\\s*)((:(?=.))|(:$))",
223
- "beginCaptures": {
224
- "4": {
225
- "name": "invalid.illegal.empty.generic.filter.jade"
226
- }
227
- },
228
- "comment": "Generic Jade filter.",
229
214
  "end": "^(?!(\\1\\s)|\\s*$)",
230
- "name": "text.generic.filter.jade",
231
215
  "patterns": [
232
216
  {
233
- "begin": "\\G(?<=:)(?=.)",
234
- "end": "$",
235
217
  "name": "name.generic.filter.jade",
218
+ "begin": "\\G(?\u003c=:)(?=.)",
219
+ "end": "$",
236
220
  "patterns": [
237
221
  {
238
- "match": "\\G\\(",
239
- "name": "invalid.illegal.name.generic.filter.jade"
222
+ "name": "invalid.illegal.name.generic.filter.jade",
223
+ "match": "\\G\\("
240
224
  },
241
225
  {
242
- "match": "\\w",
243
- "name": "constant.language.name.generic.filter.jade"
226
+ "name": "constant.language.name.generic.filter.jade",
227
+ "match": "\\w"
244
228
  },
245
229
  {
246
230
  "include": "#filter_args"
247
231
  },
248
232
  {
249
- "match": "\\W",
250
- "name": "invalid.illegal.name.generic.filter.jade"
233
+ "name": "invalid.illegal.name.generic.filter.jade",
234
+ "match": "\\W"
251
235
  }
252
236
  ]
253
237
  }
254
- ]
255
- },
256
- {
257
- "begin": "^(\\s*)(?=[\\w.#].*?\\.$)(?=(?:(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\\"]*(?:(?:\\'(?:[^\\']|(?:(?<!\\\\)\\\\\\'))*\\')|(?:\\\"(?:[^\\\"]|(?:(?<!\\\\)\\\\\\\"))*\\\")))*[^()]*\\))*)*)(?:(?:(?::\\s+)|(?<=\\)))(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\\"]*(?:(?:\\'(?:[^\\']|(?:(?<!\\\\)\\\\\\'))*\\')|(?:\\\"(?:[^\\\"]|(?:(?<!\\\\)\\\\\\\"))*\\\")))*[^()]*\\))*)*))*)\\.$)(?:(?:(#[\\w-]+)|(\\.[\\w-]+))|((?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))",
238
+ ],
258
239
  "beginCaptures": {
259
- "2": {
260
- "name": "constant.id.tag.jade"
261
- },
262
- "3": {
263
- "name": "constant.language.js"
264
- },
265
240
  "4": {
266
- "name": "entity.name.tag.jade"
241
+ "name": "invalid.illegal.empty.generic.filter.jade"
267
242
  }
268
- },
269
- "comment": "Generated from dot_block_tag.py",
270
- "end": "^(?!(\\1\\s)|\\s*$)",
243
+ }
244
+ },
245
+ {
271
246
  "name": "text.block.dot.tag.jade",
247
+ "begin": "^(\\s*)(?=[\\w.#].*?\\.$)(?=(?:(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\\"]*(?:(?:\\'(?:[^\\']|(?:(?\u003c!\\\\)\\\\\\'))*\\')|(?:\\\"(?:[^\\\"]|(?:(?\u003c!\\\\)\\\\\\\"))*\\\")))*[^()]*\\))*)*)(?:(?:(?::\\s+)|(?\u003c=\\)))(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\\"]*(?:(?:\\'(?:[^\\']|(?:(?\u003c!\\\\)\\\\\\'))*\\')|(?:\\\"(?:[^\\\"]|(?:(?\u003c!\\\\)\\\\\\\"))*\\\")))*[^()]*\\))*)*))*)\\.$)(?:(?:(#[\\w-]+)|(\\.[\\w-]+))|((?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))",
248
+ "end": "^(?!(\\1\\s)|\\s*$)",
272
249
  "patterns": [
273
250
  {
274
251
  "include": "#tag_attributes"
@@ -277,9 +254,9 @@
277
254
  "include": "#complete_tag"
278
255
  },
279
256
  {
257
+ "name": "text.block.jade",
280
258
  "begin": "^(?=.)",
281
259
  "end": "$",
282
- "name": "text.block.jade",
283
260
  "patterns": [
284
261
  {
285
262
  "include": "#inline_jade"
@@ -298,13 +275,23 @@
298
275
  }
299
276
  ]
300
277
  }
301
- ]
278
+ ],
279
+ "beginCaptures": {
280
+ "2": {
281
+ "name": "constant.id.tag.jade"
282
+ },
283
+ "3": {
284
+ "name": "constant.language.js"
285
+ },
286
+ "4": {
287
+ "name": "entity.name.tag.jade"
288
+ }
289
+ }
302
290
  },
303
291
  {
292
+ "name": "tag.jade",
304
293
  "begin": "^\\s*",
305
- "comment": "All constructs that generally span a single line starting with any number of white-spaces.",
306
294
  "end": "$",
307
- "name": "tag.jade",
308
295
  "patterns": [
309
296
  {
310
297
  "include": "#inline_jade"
@@ -325,10 +312,9 @@
325
312
  "include": "#case_conds"
326
313
  },
327
314
  {
315
+ "name": "text.block.pipe.jade",
328
316
  "begin": "\\|",
329
- "comment": "Tag pipe text line.",
330
317
  "end": "$",
331
- "name": "text.block.pipe.jade",
332
318
  "patterns": [
333
319
  {
334
320
  "include": "#inline_jade"
@@ -351,14 +337,13 @@
351
337
  "include": "#printed_expression"
352
338
  },
353
339
  {
340
+ "name": "text.jade",
354
341
  "begin": "\\G(?=(#[^\\{\\w-])|[^\\w.#])",
355
- "comment": "Line starting with characters incompatible with tag name/id/class is standalone text.",
356
342
  "end": "$",
357
- "name": "text.jade",
358
343
  "patterns": [
359
344
  {
360
- "begin": "</?(?=[!#])",
361
- "end": ">|$",
345
+ "begin": "\u003c/?(?=[!#])",
346
+ "end": "\u003e|$",
362
347
  "patterns": [
363
348
  {
364
349
  "include": "#inline_jade"
@@ -396,6 +381,8 @@
396
381
  ],
397
382
  "repository": {
398
383
  "blocks_and_includes": {
384
+ "name": "meta.first-class.jade",
385
+ "match": "(extends|include|yield|append|prepend|block( (append|prepend))?)\\s+(.*)$",
399
386
  "captures": {
400
387
  "1": {
401
388
  "name": "storage.type.import.include.jade"
@@ -403,15 +390,12 @@
403
390
  "4": {
404
391
  "name": "variable.control.import.include.jade"
405
392
  }
406
- },
407
- "comment": "Template blocks and includes.",
408
- "match": "(extends|include|yield|append|prepend|block( (append|prepend))?)\\s+(.*)$",
409
- "name": "meta.first-class.jade"
393
+ }
410
394
  },
411
395
  "brackets_js": {
396
+ "name": "js.value.attribute.tag.jade",
412
397
  "begin": "\\[",
413
398
  "end": "\\]",
414
- "name": "js.value.attribute.tag.jade",
415
399
  "patterns": [
416
400
  {
417
401
  "include": "#brackets_js"
@@ -422,20 +406,14 @@
422
406
  ]
423
407
  },
424
408
  "case_conds": {
409
+ "name": "meta.control.flow.jade",
425
410
  "begin": "(default|when)((\\s+|(?=:))|$)",
426
- "captures": {
427
- "1": {
428
- "name": "storage.type.function.jade"
429
- }
430
- },
431
- "comment": "Jade case conditionals.",
432
411
  "end": "$",
433
- "name": "meta.control.flow.jade",
434
412
  "patterns": [
435
413
  {
414
+ "name": "js.embedded.control.flow.jade",
436
415
  "begin": "\\G(?!:)",
437
416
  "end": "(?=:\\s+)|$",
438
- "name": "js.embedded.control.flow.jade",
439
417
  "patterns": [
440
418
  {
441
419
  "include": "#case_when_paren"
@@ -446,28 +424,33 @@
446
424
  ]
447
425
  },
448
426
  {
427
+ "name": "tag.case.control.flow.jade",
449
428
  "begin": ":\\s+",
450
429
  "end": "$",
451
- "name": "tag.case.control.flow.jade",
452
430
  "patterns": [
453
431
  {
454
432
  "include": "#complete_tag"
455
433
  }
456
434
  ]
457
435
  }
458
- ]
436
+ ],
437
+ "captures": {
438
+ "1": {
439
+ "name": "storage.type.function.jade"
440
+ }
441
+ }
459
442
  },
460
443
  "case_when_paren": {
444
+ "name": "js.when.control.flow.jade",
461
445
  "begin": "\\(",
462
446
  "end": "\\)",
463
- "name": "js.when.control.flow.jade",
464
447
  "patterns": [
465
448
  {
466
449
  "include": "#case_when_paren"
467
450
  },
468
451
  {
469
- "match": ":",
470
- "name": "invalid.illegal.name.tag.jade"
452
+ "name": "invalid.illegal.name.tag.jade",
453
+ "match": ":"
471
454
  },
472
455
  {
473
456
  "include": "source.python"
@@ -475,9 +458,9 @@
475
458
  ]
476
459
  },
477
460
  "complete_tag": {
461
+ "name": "complete_tag.jade",
478
462
  "begin": "(?=[\\w.#])|(:\\s*)",
479
463
  "end": "(\\.?$)|(?=:.)",
480
- "name": "complete_tag.jade",
481
464
  "patterns": [
482
465
  {
483
466
  "include": "#blocks_and_includes"
@@ -492,8 +475,8 @@
492
475
  "include": "#flow_control"
493
476
  },
494
477
  {
495
- "match": "(?<=:)\\w.*$",
496
- "name": "invalid.illegal.name.tag.jade"
478
+ "name": "invalid.illegal.name.tag.jade",
479
+ "match": "(?\u003c=:)\\w.*$"
497
480
  },
498
481
  {
499
482
  "include": "#tag_name"
@@ -511,6 +494,7 @@
511
494
  "include": "#tag_mixin_attributes"
512
495
  },
513
496
  {
497
+ "match": "((\\.)\\s+$)|((:)\\s*$)",
514
498
  "captures": {
515
499
  "2": {
516
500
  "name": "invalid.illegal.end.tag.jade"
@@ -518,8 +502,7 @@
518
502
  "4": {
519
503
  "name": "invalid.illegal.end.tag.jade"
520
504
  }
521
- },
522
- "match": "((\\.)\\s+$)|((:)\\s*$)"
505
+ }
523
506
  },
524
507
  {
525
508
  "include": "#printed_expression"
@@ -530,9 +513,9 @@
530
513
  ]
531
514
  },
532
515
  "embedded_html": {
533
- "begin": "(?=<[^>]*>)",
534
- "end": "$|(?=>)",
535
516
  "name": "html",
517
+ "begin": "(?=\u003c[^\u003e]*\u003e)",
518
+ "end": "$|(?=\u003e)",
536
519
  "patterns": [
537
520
  {
538
521
  "include": "text.html.basic"
@@ -546,20 +529,20 @@
546
529
  ]
547
530
  },
548
531
  "filter_args": {
532
+ "name": "args.filter.jade",
549
533
  "begin": "\\G(\\()",
550
- "captures": {
551
- "1": {
552
- "name": "meta.args.filter.jade"
553
- },
554
- "2": {
555
- "name": "invalid.illegal.extra.args.filter.jade"
556
- }
557
- },
558
534
  "end": "(\\))(.*?$)",
559
- "name": "args.filter.jade",
560
535
  "patterns": [
561
536
  {
537
+ "name": "attributes.tag.jade",
538
+ "contentName": "string.value.args.filter.jade",
562
539
  "begin": "([^\\s(),=]+)(=?)",
540
+ "end": "((?=\\))|,|$)",
541
+ "patterns": [
542
+ {
543
+ "include": "#filter_args_paren"
544
+ }
545
+ ],
563
546
  "beginCaptures": {
564
547
  "1": {
565
548
  "name": "entity.other.attribute-name.tag.jade"
@@ -567,17 +550,17 @@
567
550
  "2": {
568
551
  "name": "punctuation.separator.key-value.jade"
569
552
  }
570
- },
571
- "contentName": "string.value.args.filter.jade",
572
- "end": "((?=\\))|,|$)",
573
- "name": "attributes.tag.jade",
574
- "patterns": [
575
- {
576
- "include": "#filter_args_paren"
577
- }
578
- ]
553
+ }
579
554
  }
580
- ]
555
+ ],
556
+ "captures": {
557
+ "1": {
558
+ "name": "meta.args.filter.jade"
559
+ },
560
+ "2": {
561
+ "name": "invalid.illegal.extra.args.filter.jade"
562
+ }
563
+ }
581
564
  },
582
565
  "filter_args_paren": {
583
566
  "begin": "\\(",
@@ -589,52 +572,42 @@
589
572
  ]
590
573
  },
591
574
  "flow_control": {
575
+ "name": "meta.control.flow.jade",
592
576
  "begin": "(for|if|else if|else|each|until|while|unless|case)(\\s+|$)",
593
- "captures": {
594
- "1": {
595
- "name": "storage.type.function.jade"
596
- }
597
- },
598
- "comment": "Jade control flow.",
599
577
  "end": "$",
600
- "name": "meta.control.flow.jade",
601
578
  "patterns": [
602
579
  {
603
- "begin": "",
604
- "end": "$",
605
580
  "name": "js.embedded.control.flow.jade",
581
+ "end": "$",
606
582
  "patterns": [
607
583
  {
608
584
  "include": "source.python"
609
585
  }
610
586
  ]
611
587
  }
612
- ]
588
+ ],
589
+ "captures": {
590
+ "1": {
591
+ "name": "storage.type.function.jade"
592
+ }
593
+ }
613
594
  },
614
595
  "html_entity": {
615
596
  "patterns": [
616
597
  {
617
- "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
618
- "name": "constant.character.entity.html.text.jade"
598
+ "name": "constant.character.entity.html.text.jade",
599
+ "match": "(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
619
600
  },
620
601
  {
621
- "match": "[<>&]",
622
- "name": "invalid.illegal.html_entity.text.jade"
602
+ "name": "invalid.illegal.html_entity.text.jade",
603
+ "match": "[\u003c\u003e\u0026]"
623
604
  }
624
605
  ]
625
606
  },
626
607
  "inline_jade": {
627
- "begin": "(?<!\\\\)(#\\[)",
628
- "captures": {
629
- "1": {
630
- "name": "entity.name.function.jade"
631
- },
632
- "2": {
633
- "name": "entity.name.function.jade"
634
- }
635
- },
636
- "end": "(\\])",
637
608
  "name": "inline.jade",
609
+ "begin": "(?\u003c!\\\\)(#\\[)",
610
+ "end": "(\\])",
638
611
  "patterns": [
639
612
  {
640
613
  "include": "#inline_jade"
@@ -643,9 +616,9 @@
643
616
  "include": "#mixins"
644
617
  },
645
618
  {
646
- "begin": "(?<!\\])(?=[\\w.#])|(:\\s*)",
647
- "end": "(?=\\]|(:.)|=|\\s)",
648
619
  "name": "tag.inline.jade",
620
+ "begin": "(?\u003c!\\])(?=[\\w.#])|(:\\s*)",
621
+ "end": "(?=\\]|(:.)|=|\\s)",
649
622
  "patterns": [
650
623
  {
651
624
  "include": "#tag_name"
@@ -666,8 +639,8 @@
666
639
  "include": "#inline_jade"
667
640
  },
668
641
  {
669
- "match": "\\[",
670
- "name": "invalid.illegal.tag.jade"
642
+ "name": "invalid.illegal.tag.jade",
643
+ "match": "\\["
671
644
  }
672
645
  ]
673
646
  },
@@ -678,18 +651,25 @@
678
651
  "include": "#printed_expression"
679
652
  },
680
653
  {
681
- "match": "\\[",
682
- "name": "invalid.illegal.tag.jade"
654
+ "name": "invalid.illegal.tag.jade",
655
+ "match": "\\["
683
656
  },
684
657
  {
685
658
  "include": "#inline_jade_text"
686
659
  }
687
- ]
660
+ ],
661
+ "captures": {
662
+ "1": {
663
+ "name": "entity.name.function.jade"
664
+ },
665
+ "2": {
666
+ "name": "entity.name.function.jade"
667
+ }
668
+ }
688
669
  },
689
670
  "inline_jade_text": {
690
- "begin": "",
691
- "end": "(?=\\])",
692
671
  "name": "text.jade",
672
+ "end": "(?=\\])",
693
673
  "patterns": [
694
674
  {
695
675
  "begin": "\\[",
@@ -718,17 +698,17 @@
718
698
  ]
719
699
  },
720
700
  "interpolated_error": {
721
- "match": "(?<!\\\\)[#!]\\{(?=[^}]*$)",
722
- "name": "invalid.illegal.tag.jade"
701
+ "name": "invalid.illegal.tag.jade",
702
+ "match": "(?\u003c!\\\\)[#!]\\{(?=[^}]*$)"
723
703
  },
724
704
  "interpolated_value": {
725
- "begin": "(?<!\\\\)[#!]\\{(?=.*?\\})",
726
- "end": "\\}",
727
705
  "name": "string.interpolated.jade",
706
+ "begin": "(?\u003c!\\\\)[#!]\\{(?=.*?\\})",
707
+ "end": "\\}",
728
708
  "patterns": [
729
709
  {
730
- "match": "{",
731
- "name": "invalid.illegal.tag.jade"
710
+ "name": "invalid.illegal.tag.jade",
711
+ "match": "{"
732
712
  },
733
713
  {
734
714
  "include": "source.python"
@@ -736,23 +716,13 @@
736
716
  ]
737
717
  },
738
718
  "mixins": {
719
+ "name": "meta.mixin.jade",
739
720
  "begin": "(((mixin\\s+)|\\+)([\\w-]+))\\s*",
740
- "beginCaptures": {
741
- "2": {
742
- "name": "storage.type.function.jade"
743
- },
744
- "4": {
745
- "name": "entity.name.function.jade"
746
- }
747
- },
748
- "comment": "Mixin declaration and use, including the new '+' syntax.",
749
721
  "end": "(?=\\])|$",
750
- "name": "meta.mixin.jade",
751
722
  "patterns": [
752
723
  {
753
- "begin": "",
754
- "end": "(?=\\])|$",
755
724
  "name": "args.mixin.jade",
725
+ "end": "(?=\\])|$",
756
726
  "patterns": [
757
727
  {
758
728
  "include": "#tag_attribute_value_paren"
@@ -768,15 +738,18 @@
768
738
  }
769
739
  ]
770
740
  }
771
- ]
741
+ ],
742
+ "beginCaptures": {
743
+ "2": {
744
+ "name": "storage.type.function.jade"
745
+ },
746
+ "4": {
747
+ "name": "entity.name.function.jade"
748
+ }
749
+ }
772
750
  },
773
751
  "printed_expression": {
774
752
  "begin": "(!?\\=)\\s*",
775
- "captures": {
776
- "1": {
777
- "name": "constant"
778
- }
779
- },
780
753
  "end": "(?=\\])|$",
781
754
  "patterns": [
782
755
  {
@@ -785,16 +758,21 @@
785
758
  {
786
759
  "include": "source.python"
787
760
  }
788
- ]
761
+ ],
762
+ "captures": {
763
+ "1": {
764
+ "name": "constant"
765
+ }
766
+ }
789
767
  },
790
768
  "string": {
791
- "begin": "(['\"])",
792
- "end": "(?<!\\\\)\\1",
793
769
  "name": "string.quoted.jade",
770
+ "begin": "(['\"])",
771
+ "end": "(?\u003c!\\\\)\\1",
794
772
  "patterns": [
795
773
  {
796
- "match": "\\\\((x[0-9a-fA-F]{2})|(u[0-9]{4})|.)",
797
- "name": "constant.character.quoted.jade"
774
+ "name": "constant.character.quoted.jade",
775
+ "match": "\\\\((x[0-9a-fA-F]{2})|(u[0-9]{4})|.)"
798
776
  },
799
777
  {
800
778
  "include": "#interpolated_value"
@@ -805,9 +783,9 @@
805
783
  ]
806
784
  },
807
785
  "tag_attribute_value_braces": {
786
+ "name": "js.value.attribute.tag.jade",
808
787
  "begin": "\\{",
809
788
  "end": "\\}",
810
- "name": "js.value.attribute.tag.jade",
811
789
  "patterns": [
812
790
  {
813
791
  "include": "#tag_attribute_value_paren"
@@ -827,9 +805,9 @@
827
805
  ]
828
806
  },
829
807
  "tag_attribute_value_brackets": {
808
+ "name": "js.value.attribute.tag.jade",
830
809
  "begin": "\\[",
831
810
  "end": "\\]",
832
- "name": "js.value.attribute.tag.jade",
833
811
  "patterns": [
834
812
  {
835
813
  "include": "#tag_attribute_value_paren"
@@ -849,9 +827,9 @@
849
827
  ]
850
828
  },
851
829
  "tag_attribute_value_paren": {
830
+ "name": "js.value.attribute.tag.jade",
852
831
  "begin": "\\(",
853
832
  "end": "\\)",
854
- "name": "js.value.attribute.tag.jade",
855
833
  "patterns": [
856
834
  {
857
835
  "include": "#tag_attribute_value_paren"
@@ -871,36 +849,23 @@
871
849
  ]
872
850
  },
873
851
  "tag_attributes": {
852
+ "name": "attributes.tag.jade",
874
853
  "begin": "(\\()",
875
- "captures": {
876
- "1": {
877
- "name": "constant.name.attribute.tag.jade"
878
- }
879
- },
880
854
  "end": "(\\))",
881
- "name": "attributes.tag.jade",
882
855
  "patterns": [
883
856
  {
857
+ "name": "attributes.tag.jade",
858
+ "match": "([^\\s(),=/]+)\\s*((?=\\))|,|\\s+|$)(?!\\!?\\=)",
884
859
  "captures": {
885
860
  "1": {
886
861
  "name": "entity.other.attribute-name.tag.jade"
887
862
  }
888
- },
889
- "match": "([^\\s(),=/]+)\\s*((?=\\))|,|\\s+|$)(?!\\!?\\=)",
890
- "name": "attributes.tag.jade"
863
+ }
891
864
  },
892
865
  {
893
- "begin": "([^\\s(),=/]*[^\\s(),=!/])\\s*(!?\\=)",
894
- "beginCaptures": {
895
- "1": {
896
- "name": "entity.other.attribute-name.tag.jade"
897
- },
898
- "2": {
899
- "name": "punctuation.separator.key-value.jade"
900
- }
901
- },
902
- "end": "(,|$|(?=\\)|((?<![+/*|&=:^~!?<>%-])\\s+[^+/*|&=:^~!?<>%-])))",
903
866
  "name": "attributes.tag.jade",
867
+ "begin": "([^\\s(),=/]*[^\\s(),=!/])\\s*(!?\\=)",
868
+ "end": "(,|$|(?=\\)|((?\u003c![+/*|\u0026=:^~!?\u003c\u003e%-])\\s+[^+/*|\u0026=:^~!?\u003c\u003e%-])))",
904
869
  "patterns": [
905
870
  {
906
871
  "include": "#tag_attribute_value_paren"
@@ -917,55 +882,68 @@
917
882
  {
918
883
  "include": "source.python"
919
884
  }
920
- ]
885
+ ],
886
+ "beginCaptures": {
887
+ "1": {
888
+ "name": "entity.other.attribute-name.tag.jade"
889
+ },
890
+ "2": {
891
+ "name": "punctuation.separator.key-value.jade"
892
+ }
893
+ }
921
894
  }
922
- ]
895
+ ],
896
+ "captures": {
897
+ "1": {
898
+ "name": "constant.name.attribute.tag.jade"
899
+ }
900
+ }
923
901
  },
924
902
  "tag_classes": {
903
+ "name": "constant.language.js",
904
+ "match": "\\.([^\\w-])?[\\w-]*",
925
905
  "captures": {
926
906
  "1": {
927
907
  "name": "invalid.illegal.tag.jade"
928
908
  }
929
- },
930
- "match": "\\.([^\\w-])?[\\w-]*",
931
- "name": "constant.language.js"
909
+ }
932
910
  },
933
911
  "tag_id": {
934
- "match": "#[\\w-]+",
935
- "name": "constant.id.tag.jade"
912
+ "name": "constant.id.tag.jade",
913
+ "match": "#[\\w-]+"
936
914
  },
937
915
  "tag_mixin_attributes": {
938
- "begin": "(&attributes\\()",
939
- "captures": {
940
- "1": {
941
- "name": "entity.name.function.jade"
942
- }
943
- },
944
- "end": "(\\))",
945
916
  "name": "attributes.tag.jade",
917
+ "begin": "(\u0026attributes\\()",
918
+ "end": "(\\))",
946
919
  "patterns": [
947
920
  {
948
- "match": "attributes(?=\\))",
949
- "name": "storage.type.keyword.jade"
921
+ "name": "storage.type.keyword.jade",
922
+ "match": "attributes(?=\\))"
950
923
  },
951
924
  {
952
925
  "include": "source.python"
953
926
  }
954
- ]
927
+ ],
928
+ "captures": {
929
+ "1": {
930
+ "name": "entity.name.function.jade"
931
+ }
932
+ }
955
933
  },
956
934
  "tag_name": {
957
- "begin": "([#!]\\{(?=.*?\\}))|(\\w(([\\w:-]+[\\w-])|([\\w-]*)))",
958
- "end": "(\\G(?<!\\5[^\\w-]))|\\}|$",
959
935
  "name": "entity.name.tag.jade",
936
+ "begin": "([#!]\\{(?=.*?\\}))|(\\w(([\\w:-]+[\\w-])|([\\w-]*)))",
937
+ "end": "(\\G(?\u003c!\\5[^\\w-]))|\\}|$",
960
938
  "patterns": [
961
939
  {
962
- "begin": "\\G(?<=\\{)",
963
- "end": "(?=\\})",
964
940
  "name": "entity.name.tag.jade",
941
+ "begin": "\\G(?\u003c=\\{)",
942
+ "end": "(?=\\})",
965
943
  "patterns": [
966
944
  {
967
- "match": "{",
968
- "name": "invalid.illegal.tag.jade"
945
+ "name": "invalid.illegal.tag.jade",
946
+ "match": "{"
969
947
  },
970
948
  {
971
949
  "include": "source.python"
@@ -975,9 +953,9 @@
975
953
  ]
976
954
  },
977
955
  "tag_text": {
956
+ "name": "text.jade",
978
957
  "begin": "(?=.)",
979
958
  "end": "$",
980
- "name": "text.jade",
981
959
  "patterns": [
982
960
  {
983
961
  "include": "#inline_jade"
@@ -997,15 +975,9 @@
997
975
  ]
998
976
  },
999
977
  "unbuffered_code": {
978
+ "name": "javascript.embedded.jade",
1000
979
  "begin": "(-|(([a-zA-Z0-9_]+)\\s+=))",
1001
- "beginCaptures": {
1002
- "3": {
1003
- "name": "variable.parameter.javascript.embedded.jade"
1004
- }
1005
- },
1006
- "comment": "name = function() {}",
1007
980
  "end": "(?=\\])|$",
1008
- "name": "javascript.embedded.jade",
1009
981
  "patterns": [
1010
982
  {
1011
983
  "include": "#brackets_js"
@@ -1013,9 +985,12 @@
1013
985
  {
1014
986
  "include": "source.python"
1015
987
  }
1016
- ]
988
+ ],
989
+ "beginCaptures": {
990
+ "3": {
991
+ "name": "variable.parameter.javascript.embedded.jade"
992
+ }
993
+ }
1017
994
  }
1018
- },
1019
- "scopeName": "source.pyjade",
1020
- "uuid": "2af009be-05cb-4536-812d-0d6a3f517e31"
1021
- }
995
+ }
996
+ }