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,12 +1,6 @@
1
1
  {
2
- "fileTypes": [
3
- "feature"
4
- ],
5
- "firstLineMatch": "기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Свойство|Особина|Могућност|Özellik|Właściwość|Tính năng|Trajto|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalitéit|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Funcţionalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Feature|Eiginleiki|Egenskap|Egenskab|Crikey|Característica|Arwedd|Ahoy matey!(.*)",
6
- "foldingStartMarker": "^\\s*\\b(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子|例|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примеры|Примери|Пример|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Örnekler|Założenia|Yo-ho-ho|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Skenario|Situācija|Shiver me timbers|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenaro|Scenariusz|Scenariu|Scenarios|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri|Primer|Pozadí|Pozadina|Pozadie|Plang vum Szenario|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Lýsing Dæma|Lýsing Atburðarásar|Kịch bản|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Heave to|Hannergrond|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Fono|Exemplos|Exemples|Exemple|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario|Escenari|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dæmi|Dis is what went down|Dead men tell no tales|Dasar|Contoh|Contexto|Contexte|Context|Contesto|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiller|Beispiele|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Atburðarásir|Atburðarás|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario)",
7
- "foldingStopMarker": "^\\s*$",
8
- "keyEquivalent": "^~C",
9
2
  "name": "Gherkin",
3
+ "scopeName": "text.gherkin.feature",
10
4
  "patterns": [
11
5
  {
12
6
  "include": "#feature_element_keyword"
@@ -41,25 +35,26 @@
41
35
  ],
42
36
  "repository": {
43
37
  "comments": {
38
+ "match": "\\s*(#.*)",
44
39
  "captures": {
45
40
  "0": {
46
41
  "name": "comment.line.number-sign"
47
42
  }
48
- },
49
- "match": "\\s*(#.*)"
43
+ }
50
44
  },
51
- "table": {
52
- "begin": "^\\s*\\|",
53
- "end": "\\|\\s*$",
54
- "name": "keyword.control.cucumber.table",
55
- "patterns": [
56
- {
57
- "match": "\\w",
58
- "name": "source"
45
+ "feature_element_keyword": {
46
+ "match": "^\\s*(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子|例|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примеры|Примери|Пример|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Örnekler|Założenia|Yo-ho-ho|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Skenario|Situācija|Shiver me timbers|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenaro|Scenariusz|Scenariu|Scenarios|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri|Primer|Pozadí|Pozadina|Pozadie|Plang vum Szenario|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Lýsing Dæma|Lýsing Atburðarásar|Kịch bản|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Heave to|Hannergrond|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Fono|Exemplos|Exemples|Exemple|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario|Escenari|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dæmi|Dis is what went down|Dead men tell no tales|Dasar|Contoh|Contexto|Contexte|Context|Contesto|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiller|Beispiele|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Atburðarásir|Atburðarás|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario):(.*)",
47
+ "captures": {
48
+ "1": {
49
+ "name": "keyword.language.gherkin.feature.scenario"
50
+ },
51
+ "2": {
52
+ "name": "string.language.gherkin.scenario.title.title"
59
53
  }
60
- ]
54
+ }
61
55
  },
62
56
  "feature_keyword": {
57
+ "match": "^\\s*(기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Свойство|Особина|Могућност|Özellik|Właściwość|Tính năng|Trajto|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalitéit|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Funcţionalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Feature|Eiginleiki|Egenskap|Egenskab|Crikey|Característica|Arwedd|Ahoy matey!):(.*)\\b",
63
58
  "captures": {
64
59
  "1": {
65
60
  "name": "keyword.language.gherkin.feature"
@@ -67,69 +62,66 @@
67
62
  "2": {
68
63
  "name": "string.language.gherkin.feature.title"
69
64
  }
70
- },
71
- "match": "^\\s*(기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Свойство|Особина|Могућност|Özellik|Właściwość|Tính năng|Trajto|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalitéit|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Funcţionalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Feature|Eiginleiki|Egenskap|Egenskab|Crikey|Característica|Arwedd|Ahoy matey!):(.*)\\b"
65
+ }
66
+ },
67
+ "scenario_outline_variable": {
68
+ "name": "variable.other",
69
+ "begin": "\u003c",
70
+ "end": "\u003e"
72
71
  },
73
72
  "step_keyword": {
73
+ "match": "^\\s*(하지만|조건|먼저|만일|만약|단|그리고|그러면|那麼|那么|而且|當|当|前提|假設|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|و |متى |لكن |عندما |ثم |بفرض |اذاً |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Унда |Тоді |Тогда |То |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Лекин |Коли |Когда |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А також |А |І |Și |Şi |Þá |Þegar |Étant donnés |Étant données |Étant donnée |Étant donné |És |wann |ugeholl |mä |dann |awer |an |a |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |Then y'all |Then |Tapi |Tak |Tada |Tad |Så |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Når |När |Niin |Nhưng |N |Mutta |Men |Mas |Maka |Mając |Majd |Mais |Maar |Ma |Lorsque |Lorsqu'|Let go and haul |Kun |Kuid |Kui |Khi |Keď |Ketika |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben sei |Gangway! |Fakat |Eğer ki |Etant donnés |Etant données |Etant donnée |Etant donné |Et |Então |Entonces |Entao |En |Ef |Eeldades |E |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dați fiind |Daţi fiind |Dato |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |Dan |Dados |Dado |Dadas |Dada |DEN |Când |Cuando |Cho |Cept |Cand |Cal |But y'all |But |Buh |Blimey! |Biết |Bet |BUT |Aye |Avast! |Atès |Atunci |Atesa |Anrhegedig a |Angenommen |And y'all |And |An |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Adott |Aber |AN |A také |A |\\* )",
74
74
  "captures": {
75
75
  "1": {
76
76
  "name": "keyword.language.gherkin.feature.step"
77
77
  }
78
- },
79
- "match": "^\\s*(하지만|조건|먼저|만일|만약|단|그리고|그러면|那麼|那么|而且|當|当|前提|假設|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|و |متى |لكن |عندما |ثم |بفرض |اذاً |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Унда |Тоді |Тогда |То |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Лекин |Коли |Когда |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А також |А |І |Și |Şi |Þá |Þegar |Étant donnés |Étant données |Étant donnée |Étant donné |És |wann |ugeholl |mä |dann |awer |an |a |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |Then y'all |Then |Tapi |Tak |Tada |Tad |Så |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Når |När |Niin |Nhưng |N |Mutta |Men |Mas |Maka |Mając |Majd |Mais |Maar |Ma |Lorsque |Lorsqu'|Let go and haul |Kun |Kuid |Kui |Khi |Keď |Ketika |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben sei |Gangway! |Fakat |Eğer ki |Etant donnés |Etant données |Etant donnée |Etant donné |Et |Então |Entonces |Entao |En |Ef |Eeldades |E |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dați fiind |Daţi fiind |Dato |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |Dan |Dados |Dado |Dadas |Dada |DEN |Când |Cuando |Cho |Cept |Cand |Cal |But y'all |But |Buh |Blimey! |Biết |Bet |BUT |Aye |Avast! |Atès |Atunci |Atesa |Anrhegedig a |Angenommen |And y'all |And |An |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Adott |Aber |AN |A také |A |\\* )"
80
- },
81
- "feature_element_keyword": {
82
- "captures": {
83
- "1": {
84
- "name": "keyword.language.gherkin.feature.scenario"
85
- },
86
- "2": {
87
- "name": "string.language.gherkin.scenario.title.title"
88
- }
89
- },
90
- "match": "^\\s*(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子|例|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примеры|Примери|Пример|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Örnekler|Założenia|Yo-ho-ho|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Skenario|Situācija|Shiver me timbers|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenaro|Scenariusz|Scenariu|Scenarios|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri|Primer|Pozadí|Pozadina|Pozadie|Plang vum Szenario|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Lýsing Dæma|Lýsing Atburðarásar|Kịch bản|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Heave to|Hannergrond|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Fono|Exemplos|Exemples|Exemple|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario|Escenari|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dæmi|Dis is what went down|Dead men tell no tales|Dasar|Contoh|Contexto|Contexte|Context|Contesto|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiller|Beispiele|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Atburðarásir|Atburðarás|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario):(.*)"
91
- },
92
- "scenario_outline_variable": {
93
- "begin": "<",
94
- "end": ">",
95
- "name": "variable.other"
78
+ }
96
79
  },
97
80
  "strings_double_quote": {
81
+ "name": "string.quoted.double",
98
82
  "begin": "\"",
99
83
  "end": "\"",
100
- "name": "string.quoted.double",
101
84
  "patterns": [
102
85
  {
103
- "match": "\\\\.",
104
- "name": "constant.character.escape.untitled"
86
+ "name": "constant.character.escape.untitled",
87
+ "match": "\\\\."
105
88
  }
106
89
  ]
107
90
  },
108
91
  "strings_single_quote": {
109
- "begin": "(?<![a-zA-Z\"])'",
110
- "end": "'(?![a-zA-Z])",
111
92
  "name": "string.quoted.single",
93
+ "begin": "(?\u003c![a-zA-Z\"])'",
94
+ "end": "'(?![a-zA-Z])",
112
95
  "patterns": [
113
96
  {
114
- "match": "\\\\.",
115
- "name": "constant.character.escape"
97
+ "name": "constant.character.escape",
98
+ "match": "\\\\."
116
99
  }
117
100
  ]
118
101
  },
119
102
  "strings_triple_quote": {
103
+ "name": "string.quoted.single",
120
104
  "begin": "\"\"\"",
121
- "end": "\"\"\"",
122
- "name": "string.quoted.single"
105
+ "end": "\"\"\""
106
+ },
107
+ "table": {
108
+ "name": "keyword.control.cucumber.table",
109
+ "begin": "^\\s*\\|",
110
+ "end": "\\|\\s*$",
111
+ "patterns": [
112
+ {
113
+ "name": "source",
114
+ "match": "\\w"
115
+ }
116
+ ]
123
117
  },
124
118
  "tags": {
119
+ "match": "(@[^@\\r\\n\\t ]+)",
125
120
  "captures": {
126
121
  "0": {
127
122
  "name": "storage.type.tag.cucumber"
128
123
  }
129
- },
130
- "match": "(@[^@\\r\\n\\t ]+)"
124
+ }
131
125
  }
132
- },
133
- "scopeName": "text.gherkin.feature",
134
- "uuid": "85E2C52C-9B16-4A54-81E7-6D8D3ADAEFA8"
135
- }
126
+ }
127
+ }
@@ -1,31 +1,27 @@
1
1
  {
2
- "fileTypes": [
3
- "haml"
4
- ],
5
- "foldingStartMarker": "^\\s*([-%#\\:\\.\\w\\=].*)\\s$",
6
- "foldingStopMarker": "^\\s*$",
7
2
  "name": "Ruby Haml",
3
+ "scopeName": "text.haml",
8
4
  "patterns": [
9
5
  {
10
6
  "begin": "^\\s*==",
11
7
  "end": "$\\n?",
12
- "captures": {
13
- "1": {
14
- "name": "string.quoted.double.ruby"
15
- }
16
- },
17
8
  "patterns": [
18
9
  {
19
10
  "include": "#interpolated_ruby"
20
11
  }
21
- ]
12
+ ],
13
+ "captures": {
14
+ "1": {
15
+ "name": "string.quoted.double.ruby"
16
+ }
17
+ }
22
18
  },
23
19
  {
24
20
  "include": "#continuation"
25
21
  },
26
22
  {
27
- "match": "^(!!!)($|\\s.*)",
28
23
  "name": "meta.prolog.haml",
24
+ "match": "^(!!!)($|\\s.*)",
29
25
  "captures": {
30
26
  "1": {
31
27
  "name": "punctuation.definition.prolog.haml"
@@ -33,21 +29,19 @@
33
29
  }
34
30
  },
35
31
  {
36
- "match": "(?<=\\#\\{)([^#]+)(?=\\})",
37
32
  "name": "meta.embedded.ruby",
33
+ "match": "(?\u003c=\\#\\{)([^#]+)(?=\\})",
38
34
  "captures": {
39
35
  "1": {
40
36
  "patterns": [
41
- {
42
- "include": "source.ruby.rails"
43
- }
37
+ {}
44
38
  ]
45
39
  }
46
40
  }
47
41
  },
48
42
  {
49
- "match": "^(\\s*)(\\/\\[[^\\]].*?$\\n?)",
50
43
  "name": "comment.line.slash.haml",
44
+ "match": "^(\\s*)(\\/\\[[^\\]].*?$\\n?)",
51
45
  "captures": {
52
46
  "1": {
53
47
  "name": "punctuation.section.comment.haml"
@@ -55,9 +49,9 @@
55
49
  }
56
50
  },
57
51
  {
52
+ "name": "comment.line.slash.haml",
58
53
  "begin": "^(\\s*)(\\-\\#|\\/|\\-\\s*\\/\\*+)",
59
54
  "end": "^(?!\\1\\s+|$\\n?)",
60
- "name": "comment.line.slash.haml",
61
55
  "captures": {
62
56
  "2": {
63
57
  "name": "punctuation.section.comment.haml"
@@ -66,24 +60,13 @@
66
60
  },
67
61
  {
68
62
  "begin": "^\\s*(?:((%)([-\\w:]+))|(?=\\.|#))",
69
- "end": "$|(?!\\.|#|\\{|\\(|\\[|&amp;|=|-|~|!=|&=|/)",
70
- "captures": {
71
- "1": {
72
- "name": "meta.tag.haml"
73
- },
74
- "2": {
75
- "name": "punctuation.definition.tag.haml"
76
- },
77
- "3": {
78
- "name": "entity.name.tag.haml"
79
- }
80
- },
63
+ "end": "$|(?!\\.|#|\\{|\\(|\\[|\u0026amp;|=|-|~|!=|\u0026=|/)",
81
64
  "patterns": [
82
65
  {
83
- "begin": "==",
84
- "end": "$\\n?",
85
66
  "name": "string.quoted.double.ruby",
86
67
  "contentName": "string.quoted.double.ruby",
68
+ "begin": "==",
69
+ "end": "$\\n?",
87
70
  "patterns": [
88
71
  {
89
72
  "include": "#interpolated_ruby"
@@ -91,53 +74,51 @@
91
74
  ]
92
75
  },
93
76
  {
94
- "match": "\\.[\\w-]+",
95
- "name": "entity.name.tag.class.haml"
77
+ "name": "entity.name.tag.class.haml",
78
+ "match": "\\.[\\w-]+"
96
79
  },
97
80
  {
98
- "match": "#[\\w-]+",
99
- "name": "entity.name.tag.id.haml"
81
+ "name": "entity.name.tag.id.haml",
82
+ "match": "#[\\w-]+"
100
83
  },
101
84
  {
102
- "begin": "(?<!\\#)\\{(?=.+(,|(do)|\\{|\\}|\\||(\\#.*))\\s*)",
103
- "end": "\\s*\\}(?!,)",
104
85
  "name": "meta.section.attributes.haml",
86
+ "begin": "(?\u003c!\\#)\\{(?=.+(,|(do)|\\{|\\}|\\||(\\#.*))\\s*)",
87
+ "end": "\\s*\\}(?!,)",
105
88
  "patterns": [
106
89
  {
107
90
  "include": "#continuation"
108
91
  },
109
- {
110
- "include": "source.ruby.rails"
111
- },
92
+ {},
112
93
  {
113
94
  "include": "#rubyline"
114
95
  }
115
96
  ]
116
97
  },
117
98
  {
99
+ "name": "meta.section.attributes.haml",
118
100
  "begin": "\\(",
119
101
  "end": "\\)",
120
- "name": "meta.section.attributes.haml",
121
102
  "patterns": [
122
103
  {
123
- "match": "([\\w-]+)",
124
- "name": "constant.other.symbol.ruby"
104
+ "name": "constant.other.symbol.ruby",
105
+ "match": "([\\w-]+)"
125
106
  },
126
107
  {
127
- "match": "\\=",
128
- "name": "punctuation"
108
+ "name": "punctuation",
109
+ "match": "\\="
129
110
  },
130
111
  {
131
112
  "include": "#variables"
132
113
  },
133
114
  {
115
+ "name": "string.quoted.double.ruby",
134
116
  "begin": "\"",
135
117
  "end": "\"",
136
- "name": "string.quoted.double.ruby",
137
118
  "patterns": [
138
119
  {
139
- "match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",
140
- "name": "constant.character.escape.ruby"
120
+ "name": "constant.character.escape.ruby",
121
+ "match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
141
122
  },
142
123
  {
143
124
  "include": "#interpolated_ruby"
@@ -145,13 +126,13 @@
145
126
  ]
146
127
  },
147
128
  {
129
+ "name": "string.quoted.double.ruby",
148
130
  "begin": "'",
149
131
  "end": "'",
150
- "name": "string.quoted.double.ruby",
151
132
  "patterns": [
152
133
  {
153
- "match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",
154
- "name": "constant.character.escape.ruby"
134
+ "name": "constant.character.escape.ruby",
135
+ "match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
155
136
  },
156
137
  {
157
138
  "include": "#interpolated_ruby"
@@ -164,16 +145,14 @@
164
145
  ]
165
146
  },
166
147
  {
148
+ "name": "meta.section.object.haml",
167
149
  "begin": "\\[(?=.+(,|\\[|\\]|\\||(\\#.*))\\s*)",
168
150
  "end": "\\s*\\](?!.*(?!\\#\\[)\\])",
169
- "name": "meta.section.object.haml",
170
151
  "patterns": [
171
152
  {
172
153
  "include": "#continuation"
173
154
  },
174
- {
175
- "include": "source.ruby.rails"
176
- },
155
+ {},
177
156
  {
178
157
  "include": "#rubyline"
179
158
  }
@@ -183,10 +162,21 @@
183
162
  "include": "#rubyline"
184
163
  },
185
164
  {
186
- "match": "/",
187
- "name": "punctuation.terminator.tag.haml"
165
+ "name": "punctuation.terminator.tag.haml",
166
+ "match": "/"
188
167
  }
189
- ]
168
+ ],
169
+ "captures": {
170
+ "1": {
171
+ "name": "meta.tag.haml"
172
+ },
173
+ "2": {
174
+ "name": "punctuation.definition.tag.haml"
175
+ },
176
+ "3": {
177
+ "name": "entity.name.tag.haml"
178
+ }
179
+ }
190
180
  },
191
181
  {
192
182
  "match": "^\\s*(\\.)",
@@ -197,7 +187,7 @@
197
187
  }
198
188
  },
199
189
  {
200
- "begin": "^\\s*(?==|-|~|!=|&=)",
190
+ "begin": "^\\s*(?==|-|~|!=|\u0026=)",
201
191
  "end": "$",
202
192
  "patterns": [
203
193
  {
@@ -206,124 +196,124 @@
206
196
  ]
207
197
  },
208
198
  {
199
+ "name": "meta.embedded.php",
209
200
  "begin": "^(\\s*)(:php)$",
210
201
  "end": "^(?!\\1\\s+|\\n)",
211
- "name": "meta.embedded.php",
212
- "captures": {
213
- "2": {
214
- "name": "entity.name.tag.haml"
215
- }
216
- },
217
202
  "patterns": [
218
203
  {
219
204
  "include": "text.html.php#language"
220
205
  }
221
- ]
222
- },
223
- {
224
- "begin": "^(\\s*)(:ruby)$",
225
- "end": "^(?!\\1\\s+|\\n)",
226
- "name": "meta.embedded.ruby",
206
+ ],
227
207
  "captures": {
228
208
  "2": {
229
209
  "name": "entity.name.tag.haml"
230
210
  }
231
- },
211
+ }
212
+ },
213
+ {
214
+ "name": "meta.embedded.ruby",
215
+ "begin": "^(\\s*)(:ruby)$",
216
+ "end": "^(?!\\1\\s+|\\n)",
232
217
  "patterns": [
233
218
  {
234
219
  "include": "source.ruby"
235
220
  }
236
- ]
237
- },
238
- {
239
- "begin": "^(\\s*)(:markdown)$",
240
- "end": "^(?!\\1\\s+|\\n)",
241
- "name": "meta.embedded.markdown",
221
+ ],
242
222
  "captures": {
243
223
  "2": {
244
224
  "name": "entity.name.tag.haml"
245
225
  }
246
- },
226
+ }
227
+ },
228
+ {
229
+ "name": "meta.embedded.markdown",
230
+ "begin": "^(\\s*)(:markdown)$",
231
+ "end": "^(?!\\1\\s+|\\n)",
247
232
  "patterns": [
248
233
  {
249
234
  "include": "source.gfm"
250
235
  }
251
- ]
252
- },
253
- {
254
- "begin": "^(\\s*)(:coffee(script)?)$",
255
- "end": "^(?!\\1\\s+|\\n)",
256
- "name": "meta.embedded.coffee",
236
+ ],
257
237
  "captures": {
258
238
  "2": {
259
239
  "name": "entity.name.tag.haml"
260
240
  }
261
- },
241
+ }
242
+ },
243
+ {
244
+ "name": "meta.embedded.coffee",
245
+ "begin": "^(\\s*)(:coffee(script)?)$",
246
+ "end": "^(?!\\1\\s+|\\n)",
262
247
  "patterns": [
263
248
  {
264
249
  "include": "source.coffee"
265
250
  }
266
- ]
267
- },
268
- {
269
- "begin": "^(\\s*)(:(javascript|es6))$",
270
- "end": "^(?!\\1\\s+|\\n)",
271
- "name": "meta.embedded.js",
251
+ ],
272
252
  "captures": {
273
253
  "2": {
274
254
  "name": "entity.name.tag.haml"
275
255
  }
276
- },
256
+ }
257
+ },
258
+ {
259
+ "name": "meta.embedded.js",
260
+ "begin": "^(\\s*)(:(javascript|es6))$",
261
+ "end": "^(?!\\1\\s+|\\n)",
277
262
  "patterns": [
278
263
  {
279
264
  "include": "source.js"
280
265
  }
281
- ]
282
- },
283
- {
284
- "begin": "^(\\s*)(:(css|styles?))$",
285
- "end": "^(?!\\1\\s+|\\n)",
286
- "name": "meta.embedded.css",
266
+ ],
287
267
  "captures": {
288
268
  "2": {
289
269
  "name": "entity.name.tag.haml"
290
270
  }
291
- },
271
+ }
272
+ },
273
+ {
274
+ "name": "meta.embedded.css",
275
+ "begin": "^(\\s*)(:(css|styles?))$",
276
+ "end": "^(?!\\1\\s+|\\n)",
292
277
  "patterns": [
293
278
  {
294
279
  "include": "source.css"
295
280
  }
296
- ]
297
- },
298
- {
299
- "begin": "^(\\s*)(:sass)$",
300
- "end": "^(?!\\1\\s+|\\n)",
301
- "name": "meta.embedded.sass",
281
+ ],
302
282
  "captures": {
303
283
  "2": {
304
284
  "name": "entity.name.tag.haml"
305
285
  }
306
- },
286
+ }
287
+ },
288
+ {
289
+ "name": "meta.embedded.sass",
290
+ "begin": "^(\\s*)(:sass)$",
291
+ "end": "^(?!\\1\\s+|\\n)",
307
292
  "patterns": [
308
293
  {
309
294
  "include": "source.sass"
310
295
  }
311
- ]
296
+ ],
297
+ "captures": {
298
+ "2": {
299
+ "name": "entity.name.tag.haml"
300
+ }
301
+ }
312
302
  },
313
303
  {
304
+ "name": "meta.embedded.scss",
314
305
  "begin": "^(\\s*)(:scss)$",
315
306
  "end": "^(?!\\1\\s+|\\n)",
316
- "name": "meta.embedded.scss",
307
+ "patterns": [
308
+ {
309
+ "include": "source.scss"
310
+ }
311
+ ],
317
312
  "captures": {
318
313
  "2": {
319
314
  "name": "entity.name.tag.haml"
320
315
  }
321
- },
322
- "patterns": [
323
- {
324
- "include": "source.css.scss"
325
- }
326
- ]
316
+ }
327
317
  }
328
318
  ],
329
319
  "repository": {
@@ -338,14 +328,9 @@
338
328
  "interpolated_ruby": {
339
329
  "patterns": [
340
330
  {
331
+ "name": "meta.section.object.haml",
341
332
  "begin": "\\#\\{",
342
333
  "end": "\\}",
343
- "name": "meta.section.object.haml",
344
- "captures": {
345
- "1": {
346
- "name": "punctuation.section.embedded.ruby"
347
- }
348
- },
349
334
  "patterns": [
350
335
  {
351
336
  "include": "#nest_curly_and_self"
@@ -353,7 +338,12 @@
353
338
  {
354
339
  "include": "source.ruby"
355
340
  }
356
- ]
341
+ ],
342
+ "captures": {
343
+ "1": {
344
+ "name": "punctuation.section.embedded.ruby"
345
+ }
346
+ }
357
347
  },
358
348
  {
359
349
  "include": "#variables"
@@ -363,14 +353,9 @@
363
353
  "nest_curly_and_self": {
364
354
  "patterns": [
365
355
  {
356
+ "name": "meta.section.object.haml",
366
357
  "begin": "\\{",
367
358
  "end": "\\}",
368
- "name": "meta.section.object.haml",
369
- "captures": {
370
- "0": {
371
- "name": "punctuation.section.scope.ruby"
372
- }
373
- },
374
359
  "patterns": [
375
360
  {
376
361
  "include": "#nest_curly_and_self"
@@ -378,54 +363,20 @@
378
363
  {
379
364
  "include": "source.ruby"
380
365
  }
381
- ]
382
- }
383
- ]
384
- },
385
- "variables": {
386
- "patterns": [
387
- {
388
- "match": "(@)[a-zA-Z_]\\w+",
389
- "name": "variable.other.readwrite.instance.ruby",
390
- "captures": {
391
- "1": {
392
- "name": "punctuation.definition.variable.ruby"
393
- }
394
- }
395
- },
396
- {
397
- "match": "(@@)[a-zA-Z_]\\w+",
398
- "name": "variable.other.readwrite.class.ruby",
399
- "captures": {
400
- "1": {
401
- "name": "punctuation.definition.variable.ruby"
402
- }
403
- }
404
- },
405
- {
406
- "match": "(\\$)[a-zA-Z_]\\w+",
407
- "name": "variable.other.readwrite.global.ruby",
366
+ ],
408
367
  "captures": {
409
- "1": {
410
- "name": "punctuation.definition.variable.ruby"
368
+ "0": {
369
+ "name": "punctuation.section.scope.ruby"
411
370
  }
412
371
  }
413
372
  }
414
373
  ]
415
374
  },
416
375
  "rubyline": {
417
- "begin": "(&amp|!)?(=|-|~)",
418
- "end": "((do|\\{)( \\|[.*]+\\|)?)$|$|^(?!.*\\|\\s*)$\\n?",
419
376
  "name": "meta.line.ruby.haml",
420
377
  "contentName": "source.ruby.embedded.haml",
421
- "endCaptures": {
422
- "1": {
423
- "name": "source.ruby.embedded.haml"
424
- },
425
- "2": {
426
- "name": "keyword.control.ruby.start-block"
427
- }
428
- },
378
+ "begin": "(\u0026amp|!)?(=|-|~)",
379
+ "end": "((do|\\{)( \\|[.*]+\\|)?)$|$|^(?!.*\\|\\s*)$\\n?",
429
380
  "patterns": [
430
381
  {
431
382
  "match": "\\s+((elseif|foreach|switch|declare|default|use))(?=\\s|\\()",
@@ -444,8 +395,8 @@
444
395
  }
445
396
  },
446
397
  {
447
- "match": "\\s+(catch|try|throw|exception|finally|die)(?=\\s|\\(|\\n)",
448
- "name": "keyword.control.exception.php"
398
+ "name": "keyword.control.exception.php",
399
+ "match": "\\s+(catch|try|throw|exception|finally|die)(?=\\s|\\(|\\n)"
449
400
  },
450
401
  {
451
402
  "match": "\\s+(function\\s*)((?=\\())",
@@ -464,31 +415,31 @@
464
415
  }
465
416
  },
466
417
  {
418
+ "name": "string.quoted.double.ruby",
467
419
  "begin": "\"",
420
+ "end": "\"",
421
+ "patterns": [
422
+ {
423
+ "include": "source.ruby#interpolated_ruby"
424
+ },
425
+ {
426
+ "include": "source.ruby#escaped_char"
427
+ }
428
+ ],
468
429
  "beginCaptures": {
469
430
  "0": {
470
431
  "name": "punctuation.definition.string.end.ruby"
471
432
  }
472
433
  },
473
- "end": "\"",
474
434
  "endCaptures": {
475
435
  "0": {
476
436
  "name": "punctuation.definition.string.end.ruby"
477
437
  }
478
- },
479
- "name": "string.quoted.double.ruby",
480
- "patterns": [
481
- {
482
- "include": "source.ruby#interpolated_ruby"
483
- },
484
- {
485
- "include": "source.ruby#escaped_char"
486
- }
487
- ]
438
+ }
488
439
  },
489
440
  {
490
- "match": "(\\||,|<|do|\\{)\\s*(\\#.*)?$\\n?",
491
441
  "name": "source.ruby",
442
+ "match": "(\\||,|\u003c|do|\\{)\\s*(\\#.*)?$\\n?",
492
443
  "captures": {
493
444
  "0": {
494
445
  "patterns": [
@@ -500,17 +451,53 @@
500
451
  }
501
452
  },
502
453
  {
503
- "match": "#.*$",
504
- "name": "comment.line.number-sign.ruby"
454
+ "name": "comment.line.number-sign.ruby",
455
+ "match": "#.*$"
456
+ },
457
+ {},
458
+ {
459
+ "include": "#continuation"
460
+ }
461
+ ],
462
+ "endCaptures": {
463
+ "1": {
464
+ "name": "source.ruby.embedded.haml"
465
+ },
466
+ "2": {
467
+ "name": "keyword.control.ruby.start-block"
468
+ }
469
+ }
470
+ },
471
+ "variables": {
472
+ "patterns": [
473
+ {
474
+ "name": "variable.other.readwrite.instance.ruby",
475
+ "match": "(@)[a-zA-Z_]\\w+",
476
+ "captures": {
477
+ "1": {
478
+ "name": "punctuation.definition.variable.ruby"
479
+ }
480
+ }
505
481
  },
506
482
  {
507
- "include": "source.ruby.rails"
483
+ "name": "variable.other.readwrite.class.ruby",
484
+ "match": "(@@)[a-zA-Z_]\\w+",
485
+ "captures": {
486
+ "1": {
487
+ "name": "punctuation.definition.variable.ruby"
488
+ }
489
+ }
508
490
  },
509
491
  {
510
- "include": "#continuation"
492
+ "name": "variable.other.readwrite.global.ruby",
493
+ "match": "(\\$)[a-zA-Z_]\\w+",
494
+ "captures": {
495
+ "1": {
496
+ "name": "punctuation.definition.variable.ruby"
497
+ }
498
+ }
511
499
  }
512
500
  ]
513
501
  }
514
- },
515
- "scopeName": "text.haml"
516
- }
502
+ }
503
+ }