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,14 +1,10 @@
1
1
  {
2
- "fileTypes": [
3
- "idldoc"
4
- ],
5
2
  "name": "IDLdoc file",
3
+ "scopeName": "text.idl-idldoc",
6
4
  "patterns": [
7
5
  {
8
- "match": ".*",
9
- "name": "comment.idl.idldoc"
6
+ "name": "comment.idl.idldoc",
7
+ "match": ".*"
10
8
  }
11
- ],
12
- "scopeName": "text.idl-idldoc",
13
- "uuid": "E18B4441-7323-45BF-B481-DA48DC11C65A"
14
- }
9
+ ]
10
+ }
@@ -1,54 +1,47 @@
1
1
  {
2
- "fileTypes": [
3
- "jade"
4
- ],
5
2
  "name": "Jade",
3
+ "scopeName": "text.jade",
6
4
  "patterns": [
7
5
  {
8
- "comment": "Doctype declaration.",
9
- "match": "^(!!!|doctype)(\\s*[a-zA-Z0-9-_]+)?",
10
- "name": "meta.tag.sgml.doctype.html"
6
+ "name": "meta.tag.sgml.doctype.html",
7
+ "match": "^(!!!|doctype)(\\s*[a-zA-Z0-9-_]+)?"
11
8
  },
12
9
  {
10
+ "name": "comment.unbuffered.block.jade",
13
11
  "begin": "^(\\s*)//-",
14
- "comment": "Unbuffered (jade-only) comments.",
15
- "end": "^(?!(\\1\\s)|\\s*$)",
16
- "name": "comment.unbuffered.block.jade"
12
+ "end": "^(?!(\\1\\s)|\\s*$)"
17
13
  },
18
14
  {
15
+ "name": "string.comment.buffered.block.jade",
19
16
  "begin": "^(\\s*)//",
20
- "comment": "Buffered (html) comments.",
21
17
  "end": "^(?!(\\1\\s)|\\s*$)",
22
- "name": "string.comment.buffered.block.jade",
23
18
  "patterns": [
24
19
  {
20
+ "name": "string.comment.buffered.block.jade",
21
+ "match": "^\\s*(//)(?!-)",
25
22
  "captures": {
26
23
  "1": {
27
24
  "name": "invalid.illegal.comment.comment.block.jade"
28
25
  }
29
- },
30
- "comment": "Buffered comments inside buffered comments will generate invalid html.",
31
- "match": "^\\s*(//)(?!-)",
32
- "name": "string.comment.buffered.block.jade"
26
+ }
33
27
  }
34
28
  ]
35
29
  },
36
30
  {
37
- "begin": "<!--",
38
- "end": "--\\s*>",
39
31
  "name": "comment.unbuffered.block.jade",
32
+ "begin": "\u003c!--",
33
+ "end": "--\\s*\u003e",
40
34
  "patterns": [
41
35
  {
42
- "match": "--",
43
- "name": "invalid.illegal.comment.comment.block.jade"
36
+ "name": "invalid.illegal.comment.comment.block.jade",
37
+ "match": "--"
44
38
  }
45
39
  ]
46
40
  },
47
41
  {
42
+ "name": "source.js",
48
43
  "begin": "^(\\s*)-$",
49
- "comment": "Unbuffered code block.",
50
44
  "end": "^(?!(\\1\\s)|\\s*$)",
51
- "name": "source.js",
52
45
  "patterns": [
53
46
  {
54
47
  "include": "source.js"
@@ -56,15 +49,9 @@
56
49
  ]
57
50
  },
58
51
  {
52
+ "name": "meta.tag.other",
59
53
  "begin": "^(\\s*)(script)((\\.$)|(?=[^\\n]*(text|application)/javascript.*\\.$))",
60
- "beginCaptures": {
61
- "2": {
62
- "name": "entity.name.tag.jade"
63
- }
64
- },
65
- "comment": "Script tag with JavaScript code.",
66
54
  "end": "^(?!(\\1\\s)|\\s*$)",
67
- "name": "meta.tag.other",
68
55
  "patterns": [
69
56
  {
70
57
  "begin": "\\G(?=\\()",
@@ -87,18 +74,17 @@
87
74
  {
88
75
  "include": "source.js"
89
76
  }
90
- ]
91
- },
92
- {
93
- "begin": "^(\\s*)(style)((\\.$)|(?=[.#(].*\\.$))",
77
+ ],
94
78
  "beginCaptures": {
95
79
  "2": {
96
80
  "name": "entity.name.tag.jade"
97
81
  }
98
- },
99
- "comment": "Style tag with CSS code.",
100
- "end": "^(?!(\\1\\s)|\\s*$)",
82
+ }
83
+ },
84
+ {
101
85
  "name": "meta.tag.other",
86
+ "begin": "^(\\s*)(style)((\\.$)|(?=[.#(].*\\.$))",
87
+ "end": "^(?!(\\1\\s)|\\s*$)",
102
88
  "patterns": [
103
89
  {
104
90
  "begin": "\\G(?=\\()",
@@ -121,17 +107,17 @@
121
107
  {
122
108
  "include": "source.css"
123
109
  }
124
- ]
125
- },
126
- {
127
- "begin": "^(\\s*):(sass)(?=\\(|$)",
110
+ ],
128
111
  "beginCaptures": {
129
112
  "2": {
130
- "name": "constant.language.name.sass.filter.jade"
113
+ "name": "entity.name.tag.jade"
131
114
  }
132
- },
133
- "end": "^(?!(\\1\\s)|\\s*$)",
115
+ }
116
+ },
117
+ {
134
118
  "name": "source.sass.filter.jade",
119
+ "begin": "^(\\s*):(sass)(?=\\(|$)",
120
+ "end": "^(?!(\\1\\s)|\\s*$)",
135
121
  "patterns": [
136
122
  {
137
123
  "include": "#tag_attributes"
@@ -139,33 +125,33 @@
139
125
  {
140
126
  "include": "source.sass"
141
127
  }
142
- ]
143
- },
144
- {
145
- "begin": "^(\\s*):(less)(?=\\(|$)",
128
+ ],
146
129
  "beginCaptures": {
147
130
  "2": {
148
- "name": "constant.language.name.less.filter.jade"
131
+ "name": "constant.language.name.sass.filter.jade"
149
132
  }
150
- },
151
- "end": "^(?!(\\1\\s)|\\s*$)",
133
+ }
134
+ },
135
+ {
152
136
  "name": "source.less.filter.jade",
137
+ "begin": "^(\\s*):(less)(?=\\(|$)",
138
+ "end": "^(?!(\\1\\s)|\\s*$)",
153
139
  "patterns": [
154
140
  {
155
141
  "include": "#tag_attributes"
156
142
  },
157
143
  {
158
- "include": "source.less"
144
+ "include": "source.css.less"
159
145
  }
160
- ]
161
- },
162
- {
163
- "begin": "^(\\s*):(stylus)(?=\\(|$)",
146
+ ],
164
147
  "beginCaptures": {
165
148
  "2": {
166
- "name": "constant.language.name.stylus.filter.jade"
149
+ "name": "constant.language.name.less.filter.jade"
167
150
  }
168
- },
151
+ }
152
+ },
153
+ {
154
+ "begin": "^(\\s*):(stylus)(?=\\(|$)",
169
155
  "end": "^(?!(\\1\\s)|\\s*$)",
170
156
  "patterns": [
171
157
  {
@@ -174,17 +160,17 @@
174
160
  {
175
161
  "include": "source.stylus"
176
162
  }
177
- ]
178
- },
179
- {
180
- "begin": "^(\\s*):(coffee(-?script)?)(?=\\(|$)",
163
+ ],
181
164
  "beginCaptures": {
182
165
  "2": {
183
- "name": "constant.language.name.coffeescript.filter.jade"
166
+ "name": "constant.language.name.stylus.filter.jade"
184
167
  }
185
- },
186
- "end": "^(?!(\\1\\s)|\\s*$)",
168
+ }
169
+ },
170
+ {
187
171
  "name": "source.coffeescript.filter.jade",
172
+ "begin": "^(\\s*):(coffee(-?script)?)(?=\\(|$)",
173
+ "end": "^(?!(\\1\\s)|\\s*$)",
188
174
  "patterns": [
189
175
  {
190
176
  "include": "#tag_attributes"
@@ -192,56 +178,48 @@
192
178
  {
193
179
  "include": "source.coffee"
194
180
  }
195
- ]
181
+ ],
182
+ "beginCaptures": {
183
+ "2": {
184
+ "name": "constant.language.name.coffeescript.filter.jade"
185
+ }
186
+ }
196
187
  },
197
188
  {
198
189
  "begin": "^(\\s*)((:(?=.))|(:$))",
199
- "beginCaptures": {
200
- "4": {
201
- "name": "invalid.illegal.empty.generic.filter.jade"
202
- }
203
- },
204
- "comment": "Generic Jade filter.",
205
190
  "end": "^(?!(\\1\\s)|\\s*$)",
206
191
  "patterns": [
207
192
  {
208
- "begin": "\\G(?<=:)(?=.)",
209
- "end": "$",
210
193
  "name": "name.generic.filter.jade",
194
+ "begin": "\\G(?\u003c=:)(?=.)",
195
+ "end": "$",
211
196
  "patterns": [
212
197
  {
213
- "match": "\\G\\(",
214
- "name": "invalid.illegal.name.generic.filter.jade"
198
+ "name": "invalid.illegal.name.generic.filter.jade",
199
+ "match": "\\G\\("
215
200
  },
216
201
  {
217
- "match": "[\\w-]",
218
- "name": "constant.language.name.generic.filter.jade"
202
+ "name": "constant.language.name.generic.filter.jade",
203
+ "match": "[\\w-]"
219
204
  },
220
205
  {
221
206
  "include": "#tag_attributes"
222
207
  },
223
208
  {
224
- "match": "\\W",
225
- "name": "invalid.illegal.name.generic.filter.jade"
209
+ "name": "invalid.illegal.name.generic.filter.jade",
210
+ "match": "\\W"
226
211
  }
227
212
  ]
228
213
  }
229
- ]
230
- },
231
- {
232
- "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-]*)))))",
214
+ ],
233
215
  "beginCaptures": {
234
- "2": {
235
- "name": "entity.other.attribute-name.id.jade"
236
- },
237
- "3": {
238
- "name": "entity.other.attribute-name.class.jade"
239
- },
240
216
  "4": {
241
- "name": "meta.tag.other entity.name.tag.jade"
217
+ "name": "invalid.illegal.empty.generic.filter.jade"
242
218
  }
243
- },
244
- "comment": "Generated from dot_block_tag.py",
219
+ }
220
+ },
221
+ {
222
+ "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-]*)))))",
245
223
  "end": "^(?!(\\1\\s)|\\s*$)",
246
224
  "patterns": [
247
225
  {
@@ -251,9 +229,9 @@
251
229
  "include": "#complete_tag"
252
230
  },
253
231
  {
232
+ "name": "text.block.jade",
254
233
  "begin": "^(?=.)",
255
234
  "end": "$",
256
- "name": "text.block.jade",
257
235
  "patterns": [
258
236
  {
259
237
  "include": "#inline_jade"
@@ -272,11 +250,21 @@
272
250
  }
273
251
  ]
274
252
  }
275
- ]
253
+ ],
254
+ "beginCaptures": {
255
+ "2": {
256
+ "name": "entity.other.attribute-name.id.jade"
257
+ },
258
+ "3": {
259
+ "name": "entity.other.attribute-name.class.jade"
260
+ },
261
+ "4": {
262
+ "name": "meta.tag.other entity.name.tag.jade"
263
+ }
264
+ }
276
265
  },
277
266
  {
278
267
  "begin": "^\\s*",
279
- "comment": "All constructs that generally span a single line starting with any number of white-spaces.",
280
268
  "end": "$",
281
269
  "patterns": [
282
270
  {
@@ -301,10 +289,9 @@
301
289
  "include": "#case_conds"
302
290
  },
303
291
  {
292
+ "name": "text.block.pipe.jade",
304
293
  "begin": "\\|",
305
- "comment": "Tag pipe text line.",
306
294
  "end": "$",
307
- "name": "text.block.pipe.jade",
308
295
  "patterns": [
309
296
  {
310
297
  "include": "#inline_jade"
@@ -328,12 +315,11 @@
328
315
  },
329
316
  {
330
317
  "begin": "\\G(?=(#[^\\{\\w-])|[^\\w.#])",
331
- "comment": "Line starting with characters incompatible with tag name/id/class is standalone text.",
332
318
  "end": "$",
333
319
  "patterns": [
334
320
  {
335
- "begin": "</?(?=[!#])",
336
- "end": ">|$",
321
+ "begin": "\u003c/?(?=[!#])",
322
+ "end": "\u003e|$",
337
323
  "patterns": [
338
324
  {
339
325
  "include": "#inline_jade"
@@ -383,6 +369,8 @@
383
369
  ]
384
370
  },
385
371
  "blocks_and_includes": {
372
+ "name": "meta.first-class.jade",
373
+ "match": "(extends|include|yield|append|prepend|block( (append|prepend))?)\\s+(.*)$",
386
374
  "captures": {
387
375
  "1": {
388
376
  "name": "storage.type.import.include.jade"
@@ -390,26 +378,17 @@
390
378
  "4": {
391
379
  "name": "variable.control.import.include.jade"
392
380
  }
393
- },
394
- "comment": "Template blocks and includes.",
395
- "match": "(extends|include|yield|append|prepend|block( (append|prepend))?)\\s+(.*)$",
396
- "name": "meta.first-class.jade"
381
+ }
397
382
  },
398
383
  "case_conds": {
384
+ "name": "meta.control.flow.jade",
399
385
  "begin": "(default|when)((\\s+|(?=:))|$)",
400
- "captures": {
401
- "1": {
402
- "name": "storage.type.function.jade"
403
- }
404
- },
405
- "comment": "Jade case conditionals.",
406
386
  "end": "$",
407
- "name": "meta.control.flow.jade",
408
387
  "patterns": [
409
388
  {
389
+ "name": "js.embedded.control.flow.jade",
410
390
  "begin": "\\G(?!:)",
411
391
  "end": "(?=:\\s+)|$",
412
- "name": "js.embedded.control.flow.jade",
413
392
  "patterns": [
414
393
  {
415
394
  "include": "#case_when_paren"
@@ -420,28 +399,33 @@
420
399
  ]
421
400
  },
422
401
  {
402
+ "name": "tag.case.control.flow.jade",
423
403
  "begin": ":\\s+",
424
404
  "end": "$",
425
- "name": "tag.case.control.flow.jade",
426
405
  "patterns": [
427
406
  {
428
407
  "include": "#complete_tag"
429
408
  }
430
409
  ]
431
410
  }
432
- ]
411
+ ],
412
+ "captures": {
413
+ "1": {
414
+ "name": "storage.type.function.jade"
415
+ }
416
+ }
433
417
  },
434
418
  "case_when_paren": {
419
+ "name": "js.when.control.flow.jade",
435
420
  "begin": "\\(",
436
421
  "end": "\\)",
437
- "name": "js.when.control.flow.jade",
438
422
  "patterns": [
439
423
  {
440
424
  "include": "#case_when_paren"
441
425
  },
442
426
  {
443
- "match": ":",
444
- "name": "invalid.illegal.name.tag.jade"
427
+ "name": "invalid.illegal.name.tag.jade",
428
+ "match": ":"
445
429
  },
446
430
  {
447
431
  "include": "source.js"
@@ -465,8 +449,8 @@
465
449
  "include": "#flow_control"
466
450
  },
467
451
  {
468
- "match": "(?<=:)\\w.*$",
469
- "name": "invalid.illegal.name.tag.jade"
452
+ "name": "invalid.illegal.name.tag.jade",
453
+ "match": "(?\u003c=:)\\w.*$"
470
454
  },
471
455
  {
472
456
  "include": "#tag_name"
@@ -484,6 +468,7 @@
484
468
  "include": "#tag_mixin_attributes"
485
469
  },
486
470
  {
471
+ "match": "((\\.)\\s+$)|((:)\\s*$)",
487
472
  "captures": {
488
473
  "2": {
489
474
  "name": "invalid.illegal.end.tag.jade"
@@ -491,8 +476,7 @@
491
476
  "4": {
492
477
  "name": "invalid.illegal.end.tag.jade"
493
478
  }
494
- },
495
- "match": "((\\.)\\s+$)|((:)\\s*$)"
479
+ }
496
480
  },
497
481
  {
498
482
  "include": "#printed_expression"
@@ -503,9 +487,9 @@
503
487
  ]
504
488
  },
505
489
  "embedded_html": {
506
- "begin": "(?=<[^>]*>)",
507
- "end": "$|(?=>)",
508
490
  "name": "html",
491
+ "begin": "(?=\u003c[^\u003e]*\u003e)",
492
+ "end": "$|(?=\u003e)",
509
493
  "patterns": [
510
494
  {
511
495
  "include": "text.html.basic"
@@ -519,52 +503,42 @@
519
503
  ]
520
504
  },
521
505
  "flow_control": {
506
+ "name": "meta.control.flow.jade",
522
507
  "begin": "(for|if|else if|else|each|until|while|unless|case)(\\s+|$)",
523
- "captures": {
524
- "1": {
525
- "name": "storage.type.function.jade"
526
- }
527
- },
528
- "comment": "Jade control flow.",
529
508
  "end": "$",
530
- "name": "meta.control.flow.jade",
531
509
  "patterns": [
532
510
  {
533
- "begin": "",
534
- "end": "$",
535
511
  "name": "js.embedded.control.flow.jade",
512
+ "end": "$",
536
513
  "patterns": [
537
514
  {
538
515
  "include": "source.js"
539
516
  }
540
517
  ]
541
518
  }
542
- ]
519
+ ],
520
+ "captures": {
521
+ "1": {
522
+ "name": "storage.type.function.jade"
523
+ }
524
+ }
543
525
  },
544
526
  "html_entity": {
545
527
  "patterns": [
546
528
  {
547
- "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
548
- "name": "constant.character.entity.html.text.jade"
529
+ "name": "constant.character.entity.html.text.jade",
530
+ "match": "(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
549
531
  },
550
532
  {
551
- "match": "[<>&]",
552
- "name": "invalid.illegal.html_entity.text.jade"
533
+ "name": "invalid.illegal.html_entity.text.jade",
534
+ "match": "[\u003c\u003e\u0026]"
553
535
  }
554
536
  ]
555
537
  },
556
538
  "inline_jade": {
557
- "begin": "(?<!\\\\)(#\\[)",
558
- "captures": {
559
- "1": {
560
- "name": "entity.name.function.jade"
561
- },
562
- "2": {
563
- "name": "entity.name.function.jade"
564
- }
565
- },
566
- "end": "(\\])",
567
539
  "name": "inline.jade",
540
+ "begin": "(?\u003c!\\\\)(#\\[)",
541
+ "end": "(\\])",
568
542
  "patterns": [
569
543
  {
570
544
  "include": "#inline_jade"
@@ -573,9 +547,9 @@
573
547
  "include": "#mixin_call"
574
548
  },
575
549
  {
576
- "begin": "(?<!\\])(?=[\\w.#])|(:\\s*)",
577
- "end": "(?=\\]|(:.)|=|\\s)",
578
550
  "name": "tag.inline.jade",
551
+ "begin": "(?\u003c!\\])(?=[\\w.#])|(:\\s*)",
552
+ "end": "(?=\\]|(:.)|=|\\s)",
579
553
  "patterns": [
580
554
  {
581
555
  "include": "#tag_name"
@@ -596,8 +570,8 @@
596
570
  "include": "#inline_jade"
597
571
  },
598
572
  {
599
- "match": "\\[",
600
- "name": "invalid.illegal.tag.jade"
573
+ "name": "invalid.illegal.tag.jade",
574
+ "match": "\\["
601
575
  }
602
576
  ]
603
577
  },
@@ -608,16 +582,23 @@
608
582
  "include": "#printed_expression"
609
583
  },
610
584
  {
611
- "match": "\\[",
612
- "name": "invalid.illegal.tag.jade"
585
+ "name": "invalid.illegal.tag.jade",
586
+ "match": "\\["
613
587
  },
614
588
  {
615
589
  "include": "#inline_jade_text"
616
590
  }
617
- ]
591
+ ],
592
+ "captures": {
593
+ "1": {
594
+ "name": "entity.name.function.jade"
595
+ },
596
+ "2": {
597
+ "name": "entity.name.function.jade"
598
+ }
599
+ }
618
600
  },
619
601
  "inline_jade_text": {
620
- "begin": "",
621
602
  "end": "(?=\\])",
622
603
  "patterns": [
623
604
  {
@@ -647,17 +628,17 @@
647
628
  ]
648
629
  },
649
630
  "interpolated_error": {
650
- "match": "(?<!\\\\)[#!]\\{(?=[^}]*$)",
651
- "name": "invalid.illegal.tag.jade"
631
+ "name": "invalid.illegal.tag.jade",
632
+ "match": "(?\u003c!\\\\)[#!]\\{(?=[^}]*$)"
652
633
  },
653
634
  "interpolated_value": {
654
- "begin": "(?<!\\\\)[#!]\\{(?=.*?\\})",
655
- "end": "\\}",
656
635
  "name": "string.interpolated.jade",
636
+ "begin": "(?\u003c!\\\\)[#!]\\{(?=.*?\\})",
637
+ "end": "\\}",
657
638
  "patterns": [
658
639
  {
659
- "match": "{",
660
- "name": "invalid.illegal.tag.jade"
640
+ "name": "invalid.illegal.tag.jade",
641
+ "match": "{"
661
642
  },
662
643
  {
663
644
  "include": "source.js"
@@ -702,20 +683,12 @@
702
683
  },
703
684
  "mixin_call": {
704
685
  "begin": "((?:mixin\\s+)|\\+)([\\w-]+)",
705
- "beginCaptures": {
706
- "1": {
707
- "name": "storage.type.function.jade"
708
- },
709
- "2": {
710
- "name": "meta.tag.other entity.name.function.jade"
711
- }
712
- },
713
686
  "end": "(?!\\()|$",
714
687
  "patterns": [
715
688
  {
716
- "begin": "(?<!\\))\\(",
717
- "end": "\\)",
718
689
  "name": "args.mixin.jade",
690
+ "begin": "(?\u003c!\\))\\(",
691
+ "end": "\\)",
719
692
  "patterns": [
720
693
  {
721
694
  "include": "#js_parens"
@@ -724,12 +697,12 @@
724
697
  "include": "#string"
725
698
  },
726
699
  {
700
+ "match": "([^\\s(),=/]+)\\s*=\\s*",
727
701
  "captures": {
728
702
  "1": {
729
703
  "name": "meta.tag.other entity.other.attribute-name.tag.jade"
730
704
  }
731
- },
732
- "match": "([^\\s(),=/]+)\\s*=\\s*"
705
+ }
733
706
  },
734
707
  {
735
708
  "include": "source.js"
@@ -739,9 +712,18 @@
739
712
  {
740
713
  "include": "#tag_attributes"
741
714
  }
742
- ]
715
+ ],
716
+ "beginCaptures": {
717
+ "1": {
718
+ "name": "storage.type.function.jade"
719
+ },
720
+ "2": {
721
+ "name": "meta.tag.other entity.name.function.jade"
722
+ }
723
+ }
743
724
  },
744
725
  "mixin_definition": {
726
+ "match": "(mixin\\s+)([\\w-]+)(?:(\\()\\s*((?:[a-zA-Z_]\\w*\\s*)(?:,\\s*[a-zA-Z_]\\w*\\s*)*)(\\)))?$",
745
727
  "captures": {
746
728
  "1": {
747
729
  "name": "storage.type.function.jade"
@@ -758,18 +740,12 @@
758
740
  "5": {
759
741
  "name": "punctuation.definition.parameters.begin.js"
760
742
  }
761
- },
762
- "match": "(mixin\\s+)([\\w-]+)(?:(\\()\\s*((?:[a-zA-Z_]\\w*\\s*)(?:,\\s*[a-zA-Z_]\\w*\\s*)*)(\\)))?$"
743
+ }
763
744
  },
764
745
  "printed_expression": {
746
+ "name": "source.js",
765
747
  "begin": "(!?\\=)\\s*",
766
- "captures": {
767
- "1": {
768
- "name": "constant"
769
- }
770
- },
771
748
  "end": "(?=\\])|$",
772
- "name": "source.js",
773
749
  "patterns": [
774
750
  {
775
751
  "include": "#js_brackets"
@@ -777,16 +753,21 @@
777
753
  {
778
754
  "include": "source.js"
779
755
  }
780
- ]
756
+ ],
757
+ "captures": {
758
+ "1": {
759
+ "name": "constant"
760
+ }
761
+ }
781
762
  },
782
763
  "string": {
783
- "begin": "(['\"])",
784
- "end": "(?<!\\\\)\\1",
785
764
  "name": "string.quoted.jade",
765
+ "begin": "(['\"])",
766
+ "end": "(?\u003c!\\\\)\\1",
786
767
  "patterns": [
787
768
  {
788
- "match": "\\\\((x[0-9a-fA-F]{2})|(u[0-9]{4})|.)",
789
- "name": "constant.character.quoted.jade"
769
+ "name": "constant.character.quoted.jade",
770
+ "match": "\\\\((x[0-9a-fA-F]{2})|(u[0-9]{4})|.)"
790
771
  },
791
772
  {
792
773
  "include": "#interpolated_value"
@@ -797,17 +778,17 @@
797
778
  ]
798
779
  },
799
780
  "tag_attribute_name": {
781
+ "match": "([^\\s(),=/!]+)\\s*",
800
782
  "captures": {
801
783
  "1": {
802
784
  "name": "entity.other.attribute-name.tag.jade"
803
785
  }
804
- },
805
- "match": "([^\\s(),=/!]+)\\s*"
786
+ }
806
787
  },
807
788
  "tag_attribute_name_paren": {
789
+ "name": "entity.other.attribute-name.tag.jade",
808
790
  "begin": "\\(\\s*",
809
791
  "end": "\\)",
810
- "name": "entity.other.attribute-name.tag.jade",
811
792
  "patterns": [
812
793
  {
813
794
  "include": "#tag_attribute_name_paren"
@@ -818,14 +799,9 @@
818
799
  ]
819
800
  },
820
801
  "tag_attributes": {
802
+ "name": "meta.tag.other",
821
803
  "begin": "(\\(\\s*)",
822
- "captures": {
823
- "1": {
824
- "name": "constant.name.attribute.tag.jade"
825
- }
826
- },
827
804
  "end": "(\\))",
828
- "name": "meta.tag.other",
829
805
  "patterns": [
830
806
  {
831
807
  "include": "#tag_attribute_name_paren"
@@ -834,13 +810,13 @@
834
810
  "include": "#tag_attribute_name"
835
811
  },
836
812
  {
837
- "match": "!(?!=)",
838
- "name": "invalid.illegal.tag.jade"
813
+ "name": "invalid.illegal.tag.jade",
814
+ "match": "!(?!=)"
839
815
  },
840
816
  {
841
- "begin": "=\\s*",
842
- "end": "$|(?=,|(?:\\s+[^!%&*-+~|<>:?/])|\\))",
843
817
  "name": "attribute_value",
818
+ "begin": "=\\s*",
819
+ "end": "$|(?=,|(?:\\s+[^!%\u0026*-+~|\u003c\u003e:?/])|\\))",
844
820
  "patterns": [
845
821
  {
846
822
  "include": "#string"
@@ -860,9 +836,9 @@
860
836
  ]
861
837
  },
862
838
  {
863
- "begin": "(?<=[%&*-+~|<>:?/])\\s+",
864
- "end": "$|(?=,|(?:\\s+[^!%&*-+~|<>:?/])|\\))",
865
839
  "name": "attribute_value2",
840
+ "begin": "(?\u003c=[%\u0026*-+~|\u003c\u003e:?/])\\s+",
841
+ "end": "$|(?=,|(?:\\s+[^!%\u0026*-+~|\u003c\u003e:?/])|\\))",
866
842
  "patterns": [
867
843
  {
868
844
  "include": "#string"
@@ -881,53 +857,58 @@
881
857
  }
882
858
  ]
883
859
  }
884
- ]
860
+ ],
861
+ "captures": {
862
+ "1": {
863
+ "name": "constant.name.attribute.tag.jade"
864
+ }
865
+ }
885
866
  },
886
867
  "tag_classes": {
868
+ "name": "entity.other.attribute-name.class.jade",
869
+ "match": "\\.([^\\w-])?[\\w-]*",
887
870
  "captures": {
888
871
  "1": {
889
872
  "name": "invalid.illegal.tag.jade"
890
873
  }
891
- },
892
- "match": "\\.([^\\w-])?[\\w-]*",
893
- "name": "entity.other.attribute-name.class.jade"
874
+ }
894
875
  },
895
876
  "tag_id": {
896
- "match": "#[\\w-]+",
897
- "name": "entity.other.attribute-name.id.jade"
877
+ "name": "entity.other.attribute-name.id.jade",
878
+ "match": "#[\\w-]+"
898
879
  },
899
880
  "tag_mixin_attributes": {
900
- "begin": "(&attributes\\()",
901
- "captures": {
902
- "1": {
903
- "name": "entity.name.function.jade"
904
- }
905
- },
906
- "end": "(\\))",
907
881
  "name": "meta.tag.other",
882
+ "begin": "(\u0026attributes\\()",
883
+ "end": "(\\))",
908
884
  "patterns": [
909
885
  {
910
- "match": "attributes(?=\\))",
911
- "name": "storage.type.keyword.jade"
886
+ "name": "storage.type.keyword.jade",
887
+ "match": "attributes(?=\\))"
912
888
  },
913
889
  {
914
890
  "include": "source.js"
915
891
  }
916
- ]
892
+ ],
893
+ "captures": {
894
+ "1": {
895
+ "name": "entity.name.function.jade"
896
+ }
897
+ }
917
898
  },
918
899
  "tag_name": {
919
- "begin": "([#!]\\{(?=.*?\\}))|(\\w(([\\w:-]+[\\w-])|([\\w-]*)))",
920
- "end": "(\\G(?<!\\5[^\\w-]))|\\}|$",
921
900
  "name": "meta.tag.other entity.name.tag.jade",
901
+ "begin": "([#!]\\{(?=.*?\\}))|(\\w(([\\w:-]+[\\w-])|([\\w-]*)))",
902
+ "end": "(\\G(?\u003c!\\5[^\\w-]))|\\}|$",
922
903
  "patterns": [
923
904
  {
924
- "begin": "\\G(?<=\\{)",
925
- "end": "(?=\\})",
926
905
  "name": "meta.tag.other entity.name.tag.jade",
906
+ "begin": "\\G(?\u003c=\\{)",
907
+ "end": "(?=\\})",
927
908
  "patterns": [
928
909
  {
929
- "match": "{",
930
- "name": "invalid.illegal.tag.jade"
910
+ "name": "invalid.illegal.tag.jade",
911
+ "match": "{"
931
912
  },
932
913
  {
933
914
  "include": "source.js"
@@ -958,15 +939,9 @@
958
939
  ]
959
940
  },
960
941
  "unbuffered_code": {
942
+ "name": "source.js",
961
943
  "begin": "(-|(([a-zA-Z0-9_]+)\\s+=))",
962
- "beginCaptures": {
963
- "3": {
964
- "name": "variable.parameter.javascript.embedded.jade"
965
- }
966
- },
967
- "comment": "name = function() {}",
968
944
  "end": "(?=\\])|(({\\s*)?$)",
969
- "name": "source.js",
970
945
  "patterns": [
971
946
  {
972
947
  "include": "#js_brackets"
@@ -977,9 +952,12 @@
977
952
  {
978
953
  "include": "source.js"
979
954
  }
980
- ]
955
+ ],
956
+ "beginCaptures": {
957
+ "3": {
958
+ "name": "variable.parameter.javascript.embedded.jade"
959
+ }
960
+ }
981
961
  }
982
- },
983
- "scopeName": "text.jade",
984
- "uuid": "eee6ba25-6ac2-4f7e-9c70-cddf2bd3448b"
985
- }
962
+ }
963
+ }