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,29 +1,14 @@
1
1
  {
2
- "fileTypes": [
3
- "cfm",
4
- "cfml"
5
- ],
6
- "firstLineMatch": "<!(?i:DOCTYPE)|<(?i:html)|<\\?(?i:php)",
7
- "foldingStartMarker": "(?x)\n\t\t(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)\\b.*?>\n\t\t|<!--(?!.*--\\s*>)\n\t\t|^<!--\\ \\#tminclude\\ (?>.*?-->)$\n\t\t|<\\?(?:php)?.*\\b(if|for(each)?|while)\\b.+:\n\t\t|\\{\\{?(if|foreach|capture|literal|foreach|php|section|strip)\n\t\t|\\{\\s*($|\\?>\\s*$|//|/\\*(.*\\*/\\s*$|(?!.*?\\*/)))\n\t\t)",
8
- "foldingStopMarker": "(?x)\n\t\t(</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)>\n\t\t|^(?!.*?<!--).*?--\\s*>\n\t\t|^<!--\\ end\\ tminclude\\ -->$\n\t\t|<\\?(?:php)?.*\\bend(if|for(each)?|while)\\b\n\t\t|\\{\\{?/(if|foreach|capture|literal|foreach|php|section|strip)\n\t\t|^[^{]*\\}\n\t\t)",
9
- "keyEquivalent": "^~H",
10
2
  "name": "ColdFusion Markup",
3
+ "scopeName": "text.html.cfm",
11
4
  "patterns": [
12
5
  {
13
6
  "include": "text.cfml.basic"
14
7
  },
15
8
  {
16
- "begin": "(<\\?)(xml)",
17
- "captures": {
18
- "1": {
19
- "name": "punctuation.definition.tag.html"
20
- },
21
- "2": {
22
- "name": "entity.name.tag.xml.html"
23
- }
24
- },
25
- "end": "(\\?>)",
26
9
  "name": "meta.tag.preprocessor.xml.html",
10
+ "begin": "(\u003c\\?)(xml)",
11
+ "end": "(\\?\u003e)",
27
12
  "patterns": [
28
13
  {
29
14
  "include": "#tag-generic-attribute"
@@ -34,94 +19,86 @@
34
19
  {
35
20
  "include": "#string-single-quoted"
36
21
  }
37
- ]
38
- },
39
- {
40
- "begin": "<!--+",
22
+ ],
41
23
  "captures": {
42
- "0": {
43
- "name": "punctuation.definition.comment.html"
24
+ "1": {
25
+ "name": "punctuation.definition.tag.html"
26
+ },
27
+ "2": {
28
+ "name": "entity.name.tag.xml.html"
44
29
  }
45
- },
46
- "end": "--+\\s*>",
30
+ }
31
+ },
32
+ {
47
33
  "name": "comment.block.html",
34
+ "begin": "\u003c!--+",
35
+ "end": "--+\\s*\u003e",
48
36
  "patterns": [
49
37
  {
50
- "match": "--",
51
- "name": "invalid.illegal.bad-comments-or-CDATA.html"
38
+ "name": "invalid.illegal.bad-comments-or-CDATA.html",
39
+ "match": "--"
52
40
  },
53
41
  {
54
42
  "include": "#embedded-code"
55
43
  }
56
- ]
57
- },
58
- {
59
- "begin": "<!",
44
+ ],
60
45
  "captures": {
61
46
  "0": {
62
- "name": "punctuation.definition.tag.html"
47
+ "name": "punctuation.definition.comment.html"
63
48
  }
64
- },
65
- "end": ">",
49
+ }
50
+ },
51
+ {
66
52
  "name": "meta.tag.sgml.html",
53
+ "begin": "\u003c!",
54
+ "end": "\u003e",
67
55
  "patterns": [
68
56
  {
57
+ "name": "meta.tag.sgml.doctype.html",
69
58
  "begin": "(?i:DOCTYPE)",
59
+ "end": "(?=\u003e)",
60
+ "patterns": [
61
+ {
62
+ "name": "string.quoted.double.doctype.identifiers-and-DTDs.html",
63
+ "match": "\"[^\"\u003e]*\""
64
+ }
65
+ ],
70
66
  "captures": {
71
67
  "1": {
72
68
  "name": "entity.name.tag.doctype.html"
73
69
  }
74
- },
75
- "end": "(?=>)",
76
- "name": "meta.tag.sgml.doctype.html",
77
- "patterns": [
78
- {
79
- "match": "\"[^\">]*\"",
80
- "name": "string.quoted.double.doctype.identifiers-and-DTDs.html"
81
- }
82
- ]
70
+ }
83
71
  },
84
72
  {
73
+ "name": "constant.other.inline-data.html",
85
74
  "begin": "\\[CDATA\\[",
86
- "end": "]](?=>)",
87
- "name": "constant.other.inline-data.html"
75
+ "end": "]](?=\u003e)"
88
76
  },
89
77
  {
90
- "match": "(\\s*)(?!--|>)\\S(\\s*)",
91
- "name": "invalid.illegal.bad-comments-or-CDATA.html"
78
+ "name": "invalid.illegal.bad-comments-or-CDATA.html",
79
+ "match": "(\\s*)(?!--|\u003e)\\S(\\s*)"
92
80
  }
93
- ]
81
+ ],
82
+ "captures": {
83
+ "0": {
84
+ "name": "punctuation.definition.tag.html"
85
+ }
86
+ }
94
87
  },
95
88
  {
96
89
  "include": "#embedded-code"
97
90
  },
98
91
  {
99
- "begin": "(?:^\\s+)?(<)((?i:style))\\b(?![^>]*/>)",
100
- "captures": {
101
- "1": {
102
- "name": "punctuation.definition.tag.html"
103
- },
104
- "2": {
105
- "name": "entity.name.tag.style.html"
106
- },
107
- "3": {
108
- "name": "punctuation.definition.tag.html"
109
- }
110
- },
111
- "end": "(</)((?i:style))(>)(?:\\s*\\n)?",
112
92
  "name": "source.css.embedded.html",
93
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?![^\u003e]*/\u003e)",
94
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
113
95
  "patterns": [
114
96
  {
115
97
  "include": "#tag-stuff"
116
98
  },
117
99
  {
118
- "begin": "(>)",
119
- "beginCaptures": {
120
- "1": {
121
- "name": "punctuation.definition.tag.html"
122
- }
123
- },
124
- "end": "(?=</(?i:style))",
100
+ "begin": "(\u003e)",
101
+ "end": "(?=\u003c/(?i:style))",
125
102
  "patterns": [
126
103
  {
127
104
  "include": "text.html.cfm"
@@ -132,61 +109,56 @@
132
109
  {
133
110
  "include": "source.css"
134
111
  }
135
- ]
112
+ ],
113
+ "beginCaptures": {
114
+ "1": {
115
+ "name": "punctuation.definition.tag.html"
116
+ }
117
+ }
136
118
  }
137
- ]
138
- },
139
- {
140
- "begin": "(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>)",
141
- "beginCaptures": {
119
+ ],
120
+ "captures": {
142
121
  "1": {
143
122
  "name": "punctuation.definition.tag.html"
144
123
  },
145
124
  "2": {
146
- "name": "entity.name.tag.script.html"
147
- }
148
- },
149
- "end": "(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?",
150
- "endCaptures": {
151
- "2": {
125
+ "name": "entity.name.tag.style.html"
126
+ },
127
+ "3": {
152
128
  "name": "punctuation.definition.tag.html"
153
129
  }
154
- },
130
+ }
131
+ },
132
+ {
155
133
  "name": "source.js.embedded.html",
134
+ "begin": "(?:^\\s+)?(\u003c)((?i:script))\\b(?![^\u003e]*/\u003e)",
135
+ "end": "(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?",
156
136
  "patterns": [
157
137
  {
158
138
  "include": "#tag-stuff"
159
139
  },
160
140
  {
161
- "begin": "(?<!</(?:script|SCRIPT))(>)",
162
- "captures": {
163
- "1": {
164
- "name": "punctuation.definition.tag.html"
165
- },
166
- "2": {
167
- "name": "entity.name.tag.script.html"
168
- }
169
- },
170
- "end": "(</)((?i:script))",
141
+ "begin": "(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)",
142
+ "end": "(\u003c/)((?i:script))",
171
143
  "patterns": [
172
144
  {
145
+ "name": "comment.line.double-slash.js",
146
+ "match": "(//).*?((?=\u003c/script)|$\\n?)",
173
147
  "captures": {
174
148
  "1": {
175
149
  "name": "punctuation.definition.comment.js"
176
150
  }
177
- },
178
- "match": "(//).*?((?=</script)|$\\n?)",
179
- "name": "comment.line.double-slash.js"
151
+ }
180
152
  },
181
153
  {
154
+ "name": "comment.block.js",
182
155
  "begin": "/\\*",
156
+ "end": "\\*/|(?=\u003c/script)",
183
157
  "captures": {
184
158
  "0": {
185
159
  "name": "punctuation.definition.comment.js"
186
160
  }
187
- },
188
- "end": "\\*/|(?=</script)",
189
- "name": "comment.block.js"
161
+ }
190
162
  },
191
163
  {
192
164
  "include": "text.cfml.basic"
@@ -200,12 +172,40 @@
200
172
  {
201
173
  "include": "source.js"
202
174
  }
203
- ]
175
+ ],
176
+ "captures": {
177
+ "1": {
178
+ "name": "punctuation.definition.tag.html"
179
+ },
180
+ "2": {
181
+ "name": "entity.name.tag.script.html"
182
+ }
183
+ }
204
184
  }
205
- ]
185
+ ],
186
+ "beginCaptures": {
187
+ "1": {
188
+ "name": "punctuation.definition.tag.html"
189
+ },
190
+ "2": {
191
+ "name": "entity.name.tag.script.html"
192
+ }
193
+ },
194
+ "endCaptures": {
195
+ "2": {
196
+ "name": "punctuation.definition.tag.html"
197
+ }
198
+ }
206
199
  },
207
200
  {
208
- "begin": "(</?)((?i:body|head|html)\\b)",
201
+ "name": "meta.tag.structure.any.html",
202
+ "begin": "(\u003c/?)((?i:body|head|html)\\b)",
203
+ "end": "(\u003e)",
204
+ "patterns": [
205
+ {
206
+ "include": "#tag-stuff"
207
+ }
208
+ ],
209
209
  "captures": {
210
210
  "1": {
211
211
  "name": "punctuation.definition.tag.begin.html"
@@ -214,21 +214,21 @@
214
214
  "name": "entity.name.tag.structure.any.html"
215
215
  }
216
216
  },
217
- "end": "(>)",
218
217
  "endCaptures": {
219
218
  "1": {
220
219
  "name": "punctuation.definition.tag.end.html"
221
220
  }
222
- },
223
- "name": "meta.tag.structure.any.html",
221
+ }
222
+ },
223
+ {
224
+ "name": "meta.tag.block.form.html",
225
+ "begin": "(\u003c/?)((?i:form|fieldset|textarea)\\b)",
226
+ "end": "(\u003e)",
224
227
  "patterns": [
225
228
  {
226
229
  "include": "#tag-stuff"
227
230
  }
228
- ]
229
- },
230
- {
231
- "begin": "(</?)((?i:form|fieldset|textarea)\\b)",
231
+ ],
232
232
  "beginCaptures": {
233
233
  "1": {
234
234
  "name": "punctuation.definition.tag.begin.html"
@@ -237,21 +237,21 @@
237
237
  "name": "entity.name.tag.block.form.html"
238
238
  }
239
239
  },
240
- "end": "(>)",
241
240
  "endCaptures": {
242
241
  "1": {
243
242
  "name": "punctuation.definition.tag.end.html"
244
243
  }
245
- },
246
- "name": "meta.tag.block.form.html",
244
+ }
245
+ },
246
+ {
247
+ "name": "meta.tag.block.object.html",
248
+ "begin": "(\u003c/?)((?i:object|applet)\\b)",
249
+ "end": "(\u003e)",
247
250
  "patterns": [
248
251
  {
249
252
  "include": "#tag-stuff"
250
253
  }
251
- ]
252
- },
253
- {
254
- "begin": "(</?)((?i:object|applet)\\b)",
254
+ ],
255
255
  "beginCaptures": {
256
256
  "1": {
257
257
  "name": "punctuation.definition.tag.begin.html"
@@ -260,21 +260,21 @@
260
260
  "name": "entity.name.tag.block.object.html"
261
261
  }
262
262
  },
263
- "end": "(>)",
264
263
  "endCaptures": {
265
264
  "1": {
266
265
  "name": "punctuation.definition.tag.end.html"
267
266
  }
268
- },
269
- "name": "meta.tag.block.object.html",
267
+ }
268
+ },
269
+ {
270
+ "name": "meta.tag.block.any.html",
271
+ "begin": "(\u003c/?)((?i:address|blockquote|dd|div|dl|dt|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|ol|p|ul|center|dir|hr|menu|pre)\\b)",
272
+ "end": "(\u003e)",
270
273
  "patterns": [
271
274
  {
272
275
  "include": "#tag-stuff"
273
276
  }
274
- ]
275
- },
276
- {
277
- "begin": "(</?)((?i:address|blockquote|dd|div|dl|dt|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|ol|p|ul|center|dir|hr|menu|pre)\\b)",
277
+ ],
278
278
  "beginCaptures": {
279
279
  "1": {
280
280
  "name": "punctuation.definition.tag.begin.html"
@@ -283,21 +283,21 @@
283
283
  "name": "entity.name.tag.block.any.html"
284
284
  }
285
285
  },
286
- "end": "(>)",
287
286
  "endCaptures": {
288
287
  "1": {
289
288
  "name": "punctuation.definition.tag.end.html"
290
289
  }
291
- },
292
- "name": "meta.tag.block.any.html",
290
+ }
291
+ },
292
+ {
293
+ "name": "meta.tag.inline.img.html",
294
+ "begin": "(\u003c/?)((?i:img|area|map|param)\\b)",
295
+ "end": "((?: ?/)?\u003e)",
293
296
  "patterns": [
294
297
  {
295
298
  "include": "#tag-stuff"
296
299
  }
297
- ]
298
- },
299
- {
300
- "begin": "(</?)((?i:img|area|map|param)\\b)",
300
+ ],
301
301
  "beginCaptures": {
302
302
  "1": {
303
303
  "name": "punctuation.definition.tag.begin.html"
@@ -306,21 +306,21 @@
306
306
  "name": "entity.name.tag.img.html"
307
307
  }
308
308
  },
309
- "end": "((?: ?/)?>)",
310
309
  "endCaptures": {
311
310
  "1": {
312
311
  "name": "punctuation.definition.tag.end.html"
313
312
  }
314
- },
315
- "name": "meta.tag.inline.img.html",
313
+ }
314
+ },
315
+ {
316
+ "name": "meta.tag.inline.link.html",
317
+ "begin": "(\u003c/?)((?i:a|base)\\b)",
318
+ "end": "((?: ?/)?\u003e)",
316
319
  "patterns": [
317
320
  {
318
321
  "include": "#tag-stuff"
319
322
  }
320
- ]
321
- },
322
- {
323
- "begin": "(</?)((?i:a|base)\\b)",
323
+ ],
324
324
  "beginCaptures": {
325
325
  "1": {
326
326
  "name": "punctuation.definition.tag.begin.html"
@@ -329,21 +329,21 @@
329
329
  "name": "entity.name.tag.link.html"
330
330
  }
331
331
  },
332
- "end": "((?: ?/)?>)",
333
332
  "endCaptures": {
334
333
  "1": {
335
334
  "name": "punctuation.definition.tag.end.html"
336
335
  }
337
- },
338
- "name": "meta.tag.inline.link.html",
336
+ }
337
+ },
338
+ {
339
+ "name": "meta.tag.inline.table.html",
340
+ "begin": "(\u003c/?)((?i:table|tr|td|th|tbody|thead|tfoot|col|colgroup|caption)\\b)",
341
+ "end": "((?: ?/)?\u003e)",
339
342
  "patterns": [
340
343
  {
341
344
  "include": "#tag-stuff"
342
345
  }
343
- ]
344
- },
345
- {
346
- "begin": "(</?)((?i:table|tr|td|th|tbody|thead|tfoot|col|colgroup|caption)\\b)",
346
+ ],
347
347
  "beginCaptures": {
348
348
  "1": {
349
349
  "name": "punctuation.definition.tag.begin.html"
@@ -352,21 +352,21 @@
352
352
  "name": "entity.name.tag.table.html"
353
353
  }
354
354
  },
355
- "end": "((?: ?/)?>)",
356
355
  "endCaptures": {
357
356
  "1": {
358
357
  "name": "punctuation.definition.tag.end.html"
359
358
  }
360
- },
361
- "name": "meta.tag.inline.table.html",
359
+ }
360
+ },
361
+ {
362
+ "name": "meta.tag.inline.form.html",
363
+ "begin": "(\u003c/?)((?i:input|select|option|optgroup|button|label|legend)\\b)",
364
+ "end": "((?: ?/)?\u003e)",
362
365
  "patterns": [
363
366
  {
364
367
  "include": "#tag-stuff"
365
368
  }
366
- ]
367
- },
368
- {
369
- "begin": "(</?)((?i:input|select|option|optgroup|button|label|legend)\\b)",
369
+ ],
370
370
  "beginCaptures": {
371
371
  "1": {
372
372
  "name": "punctuation.definition.tag.begin.html"
@@ -375,21 +375,21 @@
375
375
  "name": "entity.name.tag.form.html"
376
376
  }
377
377
  },
378
- "end": "((?: ?/)?>)",
379
378
  "endCaptures": {
380
379
  "1": {
381
380
  "name": "punctuation.definition.tag.end.html"
382
381
  }
383
- },
384
- "name": "meta.tag.inline.form.html",
382
+ }
383
+ },
384
+ {
385
+ "name": "meta.tag.inline.any.html",
386
+ "begin": "(\u003c/?)((?i:abbr|acronym|b|basefont|bdo|big|br|cite|code|del|dfn|em|font|head|html|i|ins|isindex|kbd|li|link|meta|noscript|q|s|samp|script|small|span|strike|strong|style|sub|sup|title|tt|u|var)\\b)",
387
+ "end": "((?: ?/)?\u003e)",
385
388
  "patterns": [
386
389
  {
387
390
  "include": "#tag-stuff"
388
391
  }
389
- ]
390
- },
391
- {
392
- "begin": "(</?)((?i:abbr|acronym|b|basefont|bdo|big|br|cite|code|del|dfn|em|font|head|html|i|ins|isindex|kbd|li|link|meta|noscript|q|s|samp|script|small|span|strike|strong|style|sub|sup|title|tt|u|var)\\b)",
392
+ ],
393
393
  "beginCaptures": {
394
394
  "1": {
395
395
  "name": "punctuation.definition.tag.begin.html"
@@ -398,21 +398,21 @@
398
398
  "name": "entity.name.tag.inline.any.html"
399
399
  }
400
400
  },
401
- "end": "((?: ?/)?>)",
402
401
  "endCaptures": {
403
402
  "1": {
404
403
  "name": "punctuation.definition.tag.end.html"
405
404
  }
406
- },
407
- "name": "meta.tag.inline.any.html",
405
+ }
406
+ },
407
+ {
408
+ "name": "meta.tag.other.html",
409
+ "begin": "(\u003c/?)([a-zA-Z0-9:]+)",
410
+ "end": "(\u003e)",
408
411
  "patterns": [
409
412
  {
410
413
  "include": "#tag-stuff"
411
414
  }
412
- ]
413
- },
414
- {
415
- "begin": "(</?)([a-zA-Z0-9:]+)",
415
+ ],
416
416
  "beginCaptures": {
417
417
  "1": {
418
418
  "name": "punctuation.definition.tag.begin.html"
@@ -421,21 +421,21 @@
421
421
  "name": "entity.name.tag.other.html"
422
422
  }
423
423
  },
424
- "end": "(>)",
425
424
  "endCaptures": {
426
425
  "1": {
427
426
  "name": "punctuation.definition.tag.end.html"
428
427
  }
429
- },
430
- "name": "meta.tag.other.html",
428
+ }
429
+ },
430
+ {
431
+ "name": "meta.tag.any.html",
432
+ "begin": "(\u003c)([a-zA-Z0-9:]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)",
433
+ "end": "(\u003e)(\u003c)(/)(\\2)(\u003e)",
431
434
  "patterns": [
432
435
  {
433
436
  "include": "#tag-stuff"
434
437
  }
435
- ]
436
- },
437
- {
438
- "begin": "(<)([a-zA-Z0-9:]++)(?=[^>]*></\\2>)",
438
+ ],
439
439
  "beginCaptures": {
440
440
  "1": {
441
441
  "name": "punctuation.definition.tag.begin.html"
@@ -444,7 +444,6 @@
444
444
  "name": "entity.name.tag.html"
445
445
  }
446
446
  },
447
- "end": "(>)(<)(/)(\\2)(>)",
448
447
  "endCaptures": {
449
448
  "1": {
450
449
  "name": "punctuation.definition.tag.end.html"
@@ -461,27 +460,44 @@
461
460
  "5": {
462
461
  "name": "punctuation.definition.tag.end.html"
463
462
  }
464
- },
465
- "name": "meta.tag.any.html",
466
- "patterns": [
467
- {
468
- "include": "#tag-stuff"
469
- }
470
- ]
463
+ }
471
464
  },
472
465
  {
473
466
  "include": "#entities"
474
467
  },
475
468
  {
476
- "match": "<>",
477
- "name": "invalid.illegal.incomplete.html"
469
+ "name": "invalid.illegal.incomplete.html",
470
+ "match": "\u003c\u003e"
478
471
  },
479
472
  {
480
- "match": "<",
481
- "name": "invalid.illegal.bad-angle-bracket.html"
473
+ "name": "invalid.illegal.bad-angle-bracket.html",
474
+ "match": "\u003c"
482
475
  }
483
476
  ],
484
477
  "repository": {
478
+ "cfcomments": {
479
+ "patterns": [
480
+ {
481
+ "name": "comment.line.cfml",
482
+ "match": "\u003c!---.*?---\u003e"
483
+ },
484
+ {
485
+ "name": "comment.block.cfml",
486
+ "begin": "\u003c!---",
487
+ "end": "---\u003e",
488
+ "patterns": [
489
+ {
490
+ "include": "#cfcomments"
491
+ }
492
+ ],
493
+ "captures": {
494
+ "0": {
495
+ "name": "punctuation.definition.comment.cfml"
496
+ }
497
+ }
498
+ }
499
+ ]
500
+ },
485
501
  "embedded-code": {
486
502
  "patterns": [
487
503
  {
@@ -498,6 +514,8 @@
498
514
  "entities": {
499
515
  "patterns": [
500
516
  {
517
+ "name": "constant.character.entity.html",
518
+ "match": "(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
501
519
  "captures": {
502
520
  "1": {
503
521
  "name": "punctuation.definition.entity.html"
@@ -505,29 +523,60 @@
505
523
  "3": {
506
524
  "name": "punctuation.definition.entity.html"
507
525
  }
508
- },
509
- "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
510
- "name": "constant.character.entity.html"
526
+ }
527
+ },
528
+ {
529
+ "name": "invalid.illegal.bad-ampersand.html",
530
+ "match": "\u0026"
531
+ }
532
+ ]
533
+ },
534
+ "nest-hash": {
535
+ "patterns": [
536
+ {
537
+ "name": "string.escaped.hash.html",
538
+ "match": "##"
539
+ },
540
+ {
541
+ "name": "invalid.illegal.unescaped.hash.html",
542
+ "match": "(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?!\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/\u0026]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*\u0026\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)"
511
543
  },
512
544
  {
513
- "match": "&",
514
- "name": "invalid.illegal.bad-ampersand.html"
545
+ "name": "meta.name.interpolated.hash.html",
546
+ "contentName": "source.cfscript.embedded.html",
547
+ "begin": "(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?=\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/\u0026]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*\u0026\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)",
548
+ "end": "(#)",
549
+ "patterns": [
550
+ {
551
+ "include": "source.cfscript"
552
+ }
553
+ ],
554
+ "beginCaptures": {
555
+ "1": {
556
+ "name": "punctuation.definition.hash.begin.html"
557
+ }
558
+ },
559
+ "endCaptures": {
560
+ "1": {
561
+ "name": "punctuation.definition.hash.end.html"
562
+ }
563
+ }
515
564
  }
516
565
  ]
517
566
  },
518
567
  "php": {
519
- "begin": "(?=(^\\s*)?<\\?)",
520
- "end": "(?!(^\\s*)?<\\?)",
568
+ "begin": "(?=(^\\s*)?\u003c\\?)",
569
+ "end": "(?!(^\\s*)?\u003c\\?)",
521
570
  "patterns": [
522
571
  {
523
- "include": "source.php"
572
+ "include": "text.html.php"
524
573
  }
525
574
  ]
526
575
  },
527
576
  "python": {
528
- "begin": "(?:^\\s*)<\\?python(?!.*\\?>)",
529
- "end": "\\?>(?:\\s*$\\n)?",
530
577
  "name": "source.python.embedded.html",
578
+ "begin": "(?:^\\s*)\u003c\\?python(?!.*\\?\u003e)",
579
+ "end": "\\?\u003e(?:\\s*$\\n)?",
531
580
  "patterns": [
532
581
  {
533
582
  "include": "source.python"
@@ -537,79 +586,69 @@
537
586
  "ruby": {
538
587
  "patterns": [
539
588
  {
540
- "begin": "<%+#",
589
+ "name": "comment.block.erb",
590
+ "begin": "\u003c%+#",
591
+ "end": "%\u003e",
541
592
  "captures": {
542
593
  "0": {
543
594
  "name": "punctuation.definition.comment.erb"
544
595
  }
545
- },
546
- "end": "%>",
547
- "name": "comment.block.erb"
596
+ }
548
597
  },
549
598
  {
550
- "begin": "<%+(?!>)=?",
551
- "captures": {
552
- "0": {
553
- "name": "punctuation.section.embedded.ruby"
554
- }
555
- },
556
- "end": "-?%>",
557
599
  "name": "source.ruby.embedded.html",
600
+ "begin": "\u003c%+(?!\u003e)=?",
601
+ "end": "-?%\u003e",
558
602
  "patterns": [
559
603
  {
604
+ "name": "comment.line.number-sign.ruby",
605
+ "match": "(#).*?(?=-?%\u003e)",
560
606
  "captures": {
561
607
  "1": {
562
608
  "name": "punctuation.definition.comment.ruby"
563
609
  }
564
- },
565
- "match": "(#).*?(?=-?%>)",
566
- "name": "comment.line.number-sign.ruby"
610
+ }
567
611
  },
568
612
  {
569
613
  "include": "source.ruby"
570
614
  }
571
- ]
572
- },
573
- {
574
- "begin": "<\\?r(?!>)=?",
615
+ ],
575
616
  "captures": {
576
617
  "0": {
577
- "name": "punctuation.section.embedded.ruby.nitro"
618
+ "name": "punctuation.section.embedded.ruby"
578
619
  }
579
- },
580
- "end": "-?\\?>",
620
+ }
621
+ },
622
+ {
581
623
  "name": "source.ruby.nitro.embedded.html",
624
+ "begin": "\u003c\\?r(?!\u003e)=?",
625
+ "end": "-?\\?\u003e",
582
626
  "patterns": [
583
627
  {
628
+ "name": "comment.line.number-sign.ruby.nitro",
629
+ "match": "(#).*?(?=-?\\?\u003e)",
584
630
  "captures": {
585
631
  "1": {
586
632
  "name": "punctuation.definition.comment.ruby.nitro"
587
633
  }
588
- },
589
- "match": "(#).*?(?=-?\\?>)",
590
- "name": "comment.line.number-sign.ruby.nitro"
634
+ }
591
635
  },
592
636
  {
593
637
  "include": "source.ruby"
594
638
  }
595
- ]
639
+ ],
640
+ "captures": {
641
+ "0": {
642
+ "name": "punctuation.section.embedded.ruby.nitro"
643
+ }
644
+ }
596
645
  }
597
646
  ]
598
647
  },
599
648
  "string-double-quoted": {
649
+ "name": "string.quoted.double.html",
600
650
  "begin": "\"",
601
- "beginCaptures": {
602
- "0": {
603
- "name": "punctuation.definition.string.begin.html"
604
- }
605
- },
606
651
  "end": "\"",
607
- "endCaptures": {
608
- "0": {
609
- "name": "punctuation.definition.string.end.html"
610
- }
611
- },
612
- "name": "string.quoted.double.html",
613
652
  "patterns": [
614
653
  {
615
654
  "include": "#embedded-code"
@@ -620,22 +659,22 @@
620
659
  {
621
660
  "include": "#nest-hash"
622
661
  }
623
- ]
624
- },
625
- "string-single-quoted": {
626
- "begin": "'",
662
+ ],
627
663
  "beginCaptures": {
628
664
  "0": {
629
665
  "name": "punctuation.definition.string.begin.html"
630
666
  }
631
667
  },
632
- "end": "'",
633
668
  "endCaptures": {
634
669
  "0": {
635
670
  "name": "punctuation.definition.string.end.html"
636
671
  }
637
- },
672
+ }
673
+ },
674
+ "string-single-quoted": {
638
675
  "name": "string.quoted.single.html",
676
+ "begin": "'",
677
+ "end": "'",
639
678
  "patterns": [
640
679
  {
641
680
  "include": "#embedded-code"
@@ -646,40 +685,32 @@
646
685
  {
647
686
  "include": "#nest-hash"
648
687
  }
649
- ]
688
+ ],
689
+ "beginCaptures": {
690
+ "0": {
691
+ "name": "punctuation.definition.string.begin.html"
692
+ }
693
+ },
694
+ "endCaptures": {
695
+ "0": {
696
+ "name": "punctuation.definition.string.end.html"
697
+ }
698
+ }
650
699
  },
651
700
  "tag-generic-attribute": {
652
- "match": "\\b([a-zA-Z\\-:]+)",
653
- "name": "entity.other.attribute-name.html"
701
+ "name": "entity.other.attribute-name.html",
702
+ "match": "\\b([a-zA-Z\\-:]+)"
654
703
  },
655
704
  "tag-id-attribute": {
656
- "begin": "\\b(id)\\b\\s*(=)",
657
- "captures": {
658
- "1": {
659
- "name": "entity.other.attribute-name.id.html"
660
- },
661
- "2": {
662
- "name": "punctuation.separator.key-value.html"
663
- }
664
- },
665
- "end": "(?<='|\")",
666
705
  "name": "meta.attribute-with-value.id.html",
706
+ "begin": "\\b(id)\\b\\s*(=)",
707
+ "end": "(?\u003c='|\")",
667
708
  "patterns": [
668
709
  {
669
- "begin": "\"",
670
- "beginCaptures": {
671
- "0": {
672
- "name": "punctuation.definition.string.begin.html"
673
- }
674
- },
710
+ "name": "string.quoted.double.html",
675
711
  "contentName": "meta.toc-list.id.html",
712
+ "begin": "\"",
676
713
  "end": "\"",
677
- "endCaptures": {
678
- "0": {
679
- "name": "punctuation.definition.string.end.html"
680
- }
681
- },
682
- "name": "string.quoted.double.html",
683
714
  "patterns": [
684
715
  {
685
716
  "include": "#embedded-code"
@@ -690,23 +721,23 @@
690
721
  {
691
722
  "include": "#nest-hash"
692
723
  }
693
- ]
694
- },
695
- {
696
- "begin": "'",
724
+ ],
697
725
  "beginCaptures": {
698
726
  "0": {
699
727
  "name": "punctuation.definition.string.begin.html"
700
728
  }
701
729
  },
702
- "contentName": "meta.toc-list.id.html",
703
- "end": "'",
704
730
  "endCaptures": {
705
731
  "0": {
706
732
  "name": "punctuation.definition.string.end.html"
707
733
  }
708
- },
734
+ }
735
+ },
736
+ {
709
737
  "name": "string.quoted.single.html",
738
+ "contentName": "meta.toc-list.id.html",
739
+ "begin": "'",
740
+ "end": "'",
710
741
  "patterns": [
711
742
  {
712
743
  "include": "#embedded-code"
@@ -717,32 +748,27 @@
717
748
  {
718
749
  "include": "#nest-hash"
719
750
  }
720
- ]
721
- }
722
- ]
723
- },
724
- "cfcomments": {
725
- "patterns": [
726
- {
727
- "match": "<!---.*?--->",
728
- "name": "comment.line.cfml"
729
- },
730
- {
731
- "begin": "<!---",
732
- "captures": {
751
+ ],
752
+ "beginCaptures": {
733
753
  "0": {
734
- "name": "punctuation.definition.comment.cfml"
754
+ "name": "punctuation.definition.string.begin.html"
735
755
  }
736
756
  },
737
- "end": "--->",
738
- "name": "comment.block.cfml",
739
- "patterns": [
740
- {
741
- "include": "#cfcomments"
757
+ "endCaptures": {
758
+ "0": {
759
+ "name": "punctuation.definition.string.end.html"
742
760
  }
743
- ]
761
+ }
744
762
  }
745
- ]
763
+ ],
764
+ "captures": {
765
+ "1": {
766
+ "name": "entity.other.attribute-name.id.html"
767
+ },
768
+ "2": {
769
+ "name": "punctuation.separator.key-value.html"
770
+ }
771
+ }
746
772
  },
747
773
  "tag-stuff": {
748
774
  "patterns": [
@@ -771,41 +797,6 @@
771
797
  "include": "#embedded-code"
772
798
  }
773
799
  ]
774
- },
775
- "nest-hash": {
776
- "patterns": [
777
- {
778
- "match": "##",
779
- "name": "string.escaped.hash.html"
780
- },
781
- {
782
- "match": "(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?!\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/&]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*&\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)",
783
- "name": "invalid.illegal.unescaped.hash.html"
784
- },
785
- {
786
- "begin": "(?x)\n\t\t\t\t\t\t\t(\\#)\n\t\t\t\t\t\t\t(?=\t\t# zero width negative lookahead assertion\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t([\\w$]+\t# assertion for plain variables or function names including currency symbol \"$\"\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(\\[.*\\])\t\t\t\t# asserts a match for anything in square brackets\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\(.*\\))\t\t\t\t# or anything in parens\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\.[\\w$]+)\t\t\t\t# or zero or more \"dot\" notated variables\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*[\\+\\-\\*\\/&]\\s*[\\w$]+)\t# or simple arithmentic operators + concatenation\n\t\t\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t\t\t(\\s*&\\s*[\"|'].+[\"|']) \t# or concatenation with a quoted string\n\t\t\t\t\t\t\t\t\t\t)*\t\t# asserts preceeding square brackets, parens, dot notated vars or arithmetic zero or more times\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\t\t\t\t\t(\\(.*\\))\t # asserts a match for anything in parens\n\t\t\t\t\t\t\t\t)\\#\t\t# asserts closing hash\n\t\t\t\t\t\t\t)",
787
- "beginCaptures": {
788
- "1": {
789
- "name": "punctuation.definition.hash.begin.html"
790
- }
791
- },
792
- "end": "(#)",
793
- "endCaptures": {
794
- "1": {
795
- "name": "punctuation.definition.hash.end.html"
796
- }
797
- },
798
- "contentName": "source.cfscript.embedded.html",
799
- "name": "meta.name.interpolated.hash.html",
800
- "patterns": [
801
- {
802
- "include": "source.cfscript"
803
- }
804
- ]
805
- }
806
- ]
807
800
  }
808
- },
809
- "scopeName": "text.html.cfm",
810
- "uuid": "b2e03230-b205-4546-884e-ba107e964e46"
811
- }
801
+ }
802
+ }