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,9 +1,6 @@
1
1
  {
2
2
  "name": "Regular Expressions (Babel)",
3
3
  "scopeName": "source.regexp.babel",
4
- "fileTypes": [
5
- "re"
6
- ],
7
4
  "patterns": [
8
5
  {
9
6
  "include": "#anchor"
@@ -31,30 +28,52 @@
31
28
  }
32
29
  ],
33
30
  "repository": {
31
+ "anchor": {
32
+ "patterns": [
33
+ {
34
+ "name": "keyword.control.anchor.regexp",
35
+ "match": "\\\\[bB]|\\^|\\$"
36
+ }
37
+ ]
38
+ },
39
+ "backref": {
40
+ "patterns": [
41
+ {
42
+ "name": "keyword.other.back-reference.regexp",
43
+ "match": "\\\\[1-9][0-9]*"
44
+ }
45
+ ]
46
+ },
47
+ "character-class": {
48
+ "patterns": [
49
+ {
50
+ "name": "constant.character.escape.backslash.regexp",
51
+ "match": "\\\\[wWsSdD]"
52
+ },
53
+ {
54
+ "match": "(\\\\([trnvf0\\\\]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.))",
55
+ "captures": {
56
+ "1": {
57
+ "name": "constant.character.escape.backslash.regexp"
58
+ }
59
+ }
60
+ }
61
+ ]
62
+ },
34
63
  "character-class-definition": {
35
64
  "patterns": [
36
65
  {
37
66
  "name": "constant.other.character-class.set.regexp",
38
67
  "begin": "(\\[)(\\^)?",
39
68
  "end": "(\\])",
40
- "beginCaptures": {
41
- "1": {
42
- "name": "punctuation.definition.character-class.regexp"
43
- },
44
- "2": {
45
- "name": "keyword.operator.negation.regexp"
46
- }
47
- },
48
- "endCaptures": {
49
- "1": {
50
- "name": "punctuation.definition.character-class.regexp"
51
- }
52
- },
53
69
  "patterns": [
54
70
  {
55
71
  "name": "constant.other.character-class.range.regexp",
56
72
  "match": "((\\\\[wWsSdD]|\\.)|(\\\\([trnvf0]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.)|([^\\]\\s])))(\\-)((\\\\[wWsSdD]|\\.)|(\\\\([trnvf0]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.)|([^\\]\\s])))",
57
73
  "captures": {
74
+ "11": {
75
+ "name": "constant.character.regexp"
76
+ },
58
77
  "2": {
59
78
  "name": "constant.character.escape.backslash.regexp"
60
79
  },
@@ -72,30 +91,40 @@
72
91
  },
73
92
  "9": {
74
93
  "name": "constant.character.escape.backslash.regexp"
75
- },
76
- "11": {
77
- "name": "constant.character.regexp"
78
94
  }
79
95
  }
80
96
  },
81
97
  {
82
98
  "include": "#character-class"
83
99
  }
84
- ]
100
+ ],
101
+ "beginCaptures": {
102
+ "1": {
103
+ "name": "punctuation.definition.character-class.regexp"
104
+ },
105
+ "2": {
106
+ "name": "keyword.operator.negation.regexp"
107
+ }
108
+ },
109
+ "endCaptures": {
110
+ "1": {
111
+ "name": "punctuation.definition.character-class.regexp"
112
+ }
113
+ }
85
114
  }
86
115
  ]
87
116
  },
88
117
  "group-assertion": {
89
118
  "patterns": [
90
119
  {
120
+ "name": "meta.group.assertion.regexp",
91
121
  "begin": "(\\()((\\?=)|(\\?!))",
92
122
  "end": "(\\))",
93
- "name": "meta.group.assertion.regexp",
94
- "endCaptures": {
95
- "1": {
96
- "name": "punctuation.definition.group.regexp"
123
+ "patterns": [
124
+ {
125
+ "include": "$self"
97
126
  }
98
- },
127
+ ],
99
128
  "beginCaptures": {
100
129
  "1": {
101
130
  "name": "punctuation.definition.group.regexp"
@@ -110,41 +139,25 @@
110
139
  "name": "meta.assertion.negative-look-ahead.regexp"
111
140
  }
112
141
  },
113
- "patterns": [
114
- {
115
- "include": "$self"
142
+ "endCaptures": {
143
+ "1": {
144
+ "name": "punctuation.definition.group.regexp"
116
145
  }
117
- ]
118
- }
119
- ]
120
- },
121
- "anchor": {
122
- "patterns": [
123
- {
124
- "name": "keyword.control.anchor.regexp",
125
- "match": "\\\\[bB]|\\^|\\$"
126
- }
127
- ]
128
- },
129
- "operator": {
130
- "patterns": [
131
- {
132
- "name": "keyword.operator.or.regexp",
133
- "match": "\\|"
146
+ }
134
147
  }
135
148
  ]
136
149
  },
137
150
  "group-definition": {
138
151
  "patterns": [
139
152
  {
153
+ "name": "meta.group.regexp",
140
154
  "begin": "(\\()((\\?:))?",
141
155
  "end": "(\\))",
142
- "name": "meta.group.regexp",
143
- "endCaptures": {
144
- "1": {
145
- "name": "punctuation.definition.group.regexp"
156
+ "patterns": [
157
+ {
158
+ "include": "$self"
146
159
  }
147
- },
160
+ ],
148
161
  "beginCaptures": {
149
162
  "1": {
150
163
  "name": "punctuation.definition.group.regexp"
@@ -159,45 +172,29 @@
159
172
  "name": "punctuation.definition.group.no-capture.regexp"
160
173
  }
161
174
  },
162
- "patterns": [
163
- {
164
- "include": "$self"
175
+ "endCaptures": {
176
+ "1": {
177
+ "name": "punctuation.definition.group.regexp"
165
178
  }
166
- ]
167
- }
168
- ]
169
- },
170
- "quantifier": {
171
- "patterns": [
172
- {
173
- "name": "keyword.operator.quantifier.regexp",
174
- "match": "(\\?|\\*\\??|\\+\\??)|\\{(\\d+,\\d+|\\d+,|\\d+)\\}"
179
+ }
175
180
  }
176
181
  ]
177
182
  },
178
- "backref": {
183
+ "operator": {
179
184
  "patterns": [
180
185
  {
181
- "name": "keyword.other.back-reference.regexp",
182
- "match": "\\\\[1-9][0-9]*"
186
+ "name": "keyword.operator.or.regexp",
187
+ "match": "\\|"
183
188
  }
184
189
  ]
185
190
  },
186
- "character-class": {
191
+ "quantifier": {
187
192
  "patterns": [
188
193
  {
189
- "name": "constant.character.escape.backslash.regexp",
190
- "match": "\\\\[wWsSdD]"
191
- },
192
- {
193
- "match": "(\\\\([trnvf0\\\\]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.))",
194
- "captures": {
195
- "1": {
196
- "name": "constant.character.escape.backslash.regexp"
197
- }
198
- }
194
+ "name": "keyword.operator.quantifier.regexp",
195
+ "match": "(\\?|\\*\\??|\\+\\??)|\\{(\\d+,\\d+|\\d+,|\\d+)\\}"
199
196
  }
200
197
  ]
201
198
  }
202
199
  }
203
- }
200
+ }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "Regular Expression (Extended)",
3
3
  "scopeName": "source.regexp.extended",
4
- "firstLineMatch": "^\\s*\\(\\?[im]*x[im]*\\)",
5
4
  "patterns": [
6
5
  {
7
6
  "include": "source.regexp#main"
@@ -11,11 +10,11 @@
11
10
  "source.regexp.extended": {
12
11
  "patterns": [
13
12
  {
14
- "begin": "(?<![^\\\\]\\\\)#",
15
- "end": "$",
16
- "name": "comment.line.number-sign"
13
+ "name": "comment.line.number-sign",
14
+ "begin": "(?\u003c![^\\\\]\\\\)#",
15
+ "end": "$"
17
16
  }
18
17
  ]
19
18
  }
20
19
  }
21
- }
20
+ }
@@ -1,53 +1,12 @@
1
1
  {
2
2
  "name": "Regular Expression",
3
3
  "scopeName": "source.regexp",
4
- "fileTypes": [
5
- "regexp",
6
- "regex"
7
- ],
8
4
  "patterns": [
9
5
  {
10
6
  "include": "#main"
11
7
  }
12
8
  ],
13
9
  "repository": {
14
- "main": {
15
- "patterns": [
16
- {
17
- "include": "#comment"
18
- },
19
- {
20
- "include": "#variable"
21
- },
22
- {
23
- "include": "#anchor"
24
- },
25
- {
26
- "include": "#escape"
27
- },
28
- {
29
- "include": "#wildcard"
30
- },
31
- {
32
- "include": "#alternation"
33
- },
34
- {
35
- "include": "#quantifier"
36
- },
37
- {
38
- "include": "#assertion"
39
- },
40
- {
41
- "include": "#conditional"
42
- },
43
- {
44
- "include": "#group"
45
- },
46
- {
47
- "include": "#class"
48
- }
49
- ]
50
- },
51
10
  "alternation": {
52
11
  "name": "keyword.operator.logical.or.regexp",
53
12
  "match": "\\|"
@@ -55,28 +14,28 @@
55
14
  "anchor": {
56
15
  "patterns": [
57
16
  {
58
- "match": "\\^",
59
- "name": "keyword.control.anchor.line-start.regexp"
17
+ "name": "keyword.control.anchor.line-start.regexp",
18
+ "match": "\\^"
60
19
  },
61
20
  {
62
- "match": "\\$",
63
- "name": "keyword.control.anchor.line-end.regexp"
21
+ "name": "keyword.control.anchor.line-end.regexp",
22
+ "match": "\\$"
64
23
  },
65
24
  {
66
- "match": "\\\\A",
67
- "name": "keyword.control.anchor.string-start.regexp"
25
+ "name": "keyword.control.anchor.string-start.regexp",
26
+ "match": "\\\\A"
68
27
  },
69
28
  {
70
- "match": "\\\\Z",
71
- "name": "keyword.control.anchor.string-end-line.regexp"
29
+ "name": "keyword.control.anchor.string-end-line.regexp",
30
+ "match": "\\\\Z"
72
31
  },
73
32
  {
74
- "match": "\\\\z",
75
- "name": "keyword.control.anchor.string-end.regexp"
33
+ "name": "keyword.control.anchor.string-end.regexp",
34
+ "match": "\\\\z"
76
35
  },
77
36
  {
78
- "match": "\\\\G",
79
- "name": "keyword.control.anchor.search-start.regexp"
37
+ "name": "keyword.control.anchor.search-start.regexp",
38
+ "match": "\\\\G"
80
39
  },
81
40
  {
82
41
  "name": "meta.unicode-boundary.regexp",
@@ -100,12 +59,12 @@
100
59
  }
101
60
  },
102
61
  {
103
- "match": "\\\\b",
104
- "name": "keyword.control.anchor.word-boundary.regexp"
62
+ "name": "keyword.control.anchor.word-boundary.regexp",
63
+ "match": "\\\\b"
105
64
  },
106
65
  {
107
- "match": "\\\\B",
108
- "name": "keyword.control.anchor.non-word-boundary.regexp"
66
+ "name": "keyword.control.anchor.non-word-boundary.regexp",
67
+ "match": "\\\\B"
109
68
  }
110
69
  ]
111
70
  },
@@ -115,6 +74,11 @@
115
74
  "name": "meta.assertion.positive.look-ahead.regexp",
116
75
  "begin": "\\(\\?=",
117
76
  "end": "\\)",
77
+ "patterns": [
78
+ {
79
+ "include": "#main"
80
+ }
81
+ ],
118
82
  "beginCaptures": {
119
83
  "0": {
120
84
  "name": "punctuation.definition.assertion.begin.regexp"
@@ -124,17 +88,17 @@
124
88
  "0": {
125
89
  "name": "punctuation.definition.assertion.end.regexp"
126
90
  }
127
- },
128
- "patterns": [
129
- {
130
- "include": "#main"
131
- }
132
- ]
91
+ }
133
92
  },
134
93
  {
135
94
  "name": "meta.assertion.negative.look-ahead.regexp",
136
95
  "begin": "\\(\\?!",
137
96
  "end": "\\)",
97
+ "patterns": [
98
+ {
99
+ "include": "#main"
100
+ }
101
+ ],
138
102
  "beginCaptures": {
139
103
  "0": {
140
104
  "name": "punctuation.definition.assertion.begin.regexp"
@@ -144,17 +108,17 @@
144
108
  "0": {
145
109
  "name": "punctuation.definition.assertion.end.regexp"
146
110
  }
147
- },
148
- "patterns": [
149
- {
150
- "include": "#main"
151
- }
152
- ]
111
+ }
153
112
  },
154
113
  {
155
114
  "name": "meta.assertion.negative.look-behind.regexp",
156
- "begin": "\\(\\?<!",
115
+ "begin": "\\(\\?\u003c!",
157
116
  "end": "\\)",
117
+ "patterns": [
118
+ {
119
+ "include": "#main"
120
+ }
121
+ ],
158
122
  "beginCaptures": {
159
123
  "0": {
160
124
  "name": "punctuation.definition.assertion.begin.regexp"
@@ -164,17 +128,17 @@
164
128
  "0": {
165
129
  "name": "punctuation.definition.assertion.end.regexp"
166
130
  }
167
- },
168
- "patterns": [
169
- {
170
- "include": "#main"
171
- }
172
- ]
131
+ }
173
132
  },
174
133
  {
175
134
  "name": "meta.assertion.positive.look-behind.regexp",
176
- "begin": "\\(\\?<=",
135
+ "begin": "\\(\\?\u003c=",
177
136
  "end": "\\)",
137
+ "patterns": [
138
+ {
139
+ "include": "#main"
140
+ }
141
+ ],
178
142
  "beginCaptures": {
179
143
  "0": {
180
144
  "name": "punctuation.definition.assertion.begin.regexp"
@@ -184,12 +148,7 @@
184
148
  "0": {
185
149
  "name": "punctuation.definition.assertion.end.regexp"
186
150
  }
187
- },
188
- "patterns": [
189
- {
190
- "include": "#main"
191
- }
192
- ]
151
+ }
193
152
  }
194
153
  ]
195
154
  },
@@ -197,6 +156,11 @@
197
156
  "name": "meta.character-class.set.regexp",
198
157
  "begin": "\\[",
199
158
  "end": "\\]",
159
+ "patterns": [
160
+ {
161
+ "include": "#classInnards"
162
+ }
163
+ ],
200
164
  "beginCaptures": {
201
165
  "0": {
202
166
  "name": "punctuation.definition.character-class.set.begin.regexp"
@@ -206,12 +170,7 @@
206
170
  "0": {
207
171
  "name": "punctuation.definition.character-class.set.end.regexp"
208
172
  }
209
- },
210
- "patterns": [
211
- {
212
- "include": "#classInnards"
213
- }
214
- ]
173
+ }
215
174
  },
216
175
  "classInnards": {
217
176
  "patterns": [
@@ -224,8 +183,13 @@
224
183
  "match": "\\\\b"
225
184
  },
226
185
  {
227
- "begin": "(&&)(\\[)",
186
+ "begin": "(\u0026\u0026)(\\[)",
228
187
  "end": "\\]",
188
+ "patterns": [
189
+ {
190
+ "include": "#classInnards"
191
+ }
192
+ ],
229
193
  "beginCaptures": {
230
194
  "1": {
231
195
  "name": "keyword.operator.logical.intersect.regexp"
@@ -238,20 +202,15 @@
238
202
  "0": {
239
203
  "name": "punctuation.definition.character-class.set.end.regexp"
240
204
  }
241
- },
242
- "patterns": [
243
- {
244
- "include": "#classInnards"
245
- }
246
- ]
205
+ }
247
206
  },
248
207
  {
249
208
  "name": "keyword.operator.logical.intersect.regexp",
250
- "match": "&&"
209
+ "match": "\u0026\u0026"
251
210
  },
252
211
  {
253
212
  "name": "punctuation.separator.range.dash.regexp",
254
- "match": "(?<!\\G|\\\\[dwshDWSHN])-(?!\\])"
213
+ "match": "(?\u003c!\\G|\\\\[dwshDWSHN])-(?!\\])"
255
214
  },
256
215
  {
257
216
  "name": "constant.language.posix.$2-char.character-class.regexp",
@@ -291,13 +250,13 @@
291
250
  ]
292
251
  },
293
252
  "comment": {
253
+ "name": "comment.block.regexp",
294
254
  "begin": "\\(\\?#",
295
255
  "end": "\\)",
296
- "name": "comment.block.regexp",
297
256
  "patterns": [
298
257
  {
299
- "match": "\\\\.",
300
- "name": "constant.character.escape.backslash.regexp"
258
+ "name": "constant.character.escape.backslash.regexp",
259
+ "match": "\\\\."
301
260
  }
302
261
  ]
303
262
  },
@@ -305,19 +264,6 @@
305
264
  "name": "meta.conditional.regexp",
306
265
  "begin": "(\\()(\\?)(?=\\()",
307
266
  "end": "\\)",
308
- "beginCaptures": {
309
- "1": {
310
- "name": "punctuation.section.condition.begin.regexp"
311
- },
312
- "2": {
313
- "name": "keyword.control.flow.regexp"
314
- }
315
- },
316
- "endCaptures": {
317
- "0": {
318
- "name": "punctuation.section.condition.end.regexp"
319
- }
320
- },
321
267
  "patterns": [
322
268
  {
323
269
  "name": "punctuation.separator.condition.if-else.regexp",
@@ -330,27 +276,17 @@
330
276
  "name": "meta.condition.function-call.regexp",
331
277
  "begin": "\\G\\(",
332
278
  "end": "\\)",
333
- "beginCaptures": {
334
- "0": {
335
- "name": "punctuation.section.condition.begin.regexp"
336
- }
337
- },
338
- "endCaptures": {
339
- "0": {
340
- "name": "punctuation.section.condition.end.regexp"
341
- }
342
- },
343
279
  "patterns": [
344
280
  {
345
- "match": "\\GDEFINE",
346
- "name": "storage.type.function.subpattern.regexp"
281
+ "name": "storage.type.function.subpattern.regexp",
282
+ "match": "\\GDEFINE"
347
283
  },
348
284
  {
349
- "match": "\\Gassert",
350
- "name": "keyword.other.assertion.regexp"
285
+ "name": "keyword.other.assertion.regexp",
286
+ "match": "\\Gassert"
351
287
  },
352
288
  {
353
- "match": "\\G(?:(<)([^>]+)(>)|(')([^>]+)('))",
289
+ "match": "\\G(?:(\u003c)([^\u003e]+)(\u003e)|(')([^\u003e]+)('))",
354
290
  "captures": {
355
291
  "1": {
356
292
  "name": "punctuation.definition.group-reference.bracket.angle.begin.regexp"
@@ -373,7 +309,7 @@
373
309
  }
374
310
  },
375
311
  {
376
- "match": "\\G(R(&))(\\w+)",
312
+ "match": "\\G(R(\u0026))(\\w+)",
377
313
  "captures": {
378
314
  "1": {
379
315
  "name": "keyword.other.recursion.specific.regexp"
@@ -387,89 +323,112 @@
387
323
  }
388
324
  },
389
325
  {
390
- "match": "\\GR\\d+",
391
- "name": "keyword.other.recursion.specific-group.regexp"
326
+ "name": "keyword.other.recursion.specific-group.regexp",
327
+ "match": "\\GR\\d+"
392
328
  },
393
329
  {
394
- "match": "\\GR",
395
- "name": "keyword.other.recursion.overall.regexp"
330
+ "name": "keyword.other.recursion.overall.regexp",
331
+ "match": "\\GR"
396
332
  },
397
333
  {
398
- "match": "\\G\\d+",
399
- "name": "keyword.other.reference.absolute.regexp"
334
+ "name": "keyword.other.reference.absolute.regexp",
335
+ "match": "\\G\\d+"
400
336
  },
401
337
  {
402
- "match": "\\G[-+]\\d+",
403
- "name": "keyword.other.reference.relative.regexp"
338
+ "name": "keyword.other.reference.relative.regexp",
339
+ "match": "\\G[-+]\\d+"
404
340
  },
405
341
  {
406
- "match": "\\G\\w+",
407
- "name": "entity.group.name.regexp"
342
+ "name": "entity.group.name.regexp",
343
+ "match": "\\G\\w+"
344
+ }
345
+ ],
346
+ "beginCaptures": {
347
+ "0": {
348
+ "name": "punctuation.section.condition.begin.regexp"
408
349
  }
409
- ]
350
+ },
351
+ "endCaptures": {
352
+ "0": {
353
+ "name": "punctuation.section.condition.end.regexp"
354
+ }
355
+ }
410
356
  },
411
357
  {
412
358
  "include": "#main"
413
359
  }
414
- ]
360
+ ],
361
+ "beginCaptures": {
362
+ "1": {
363
+ "name": "punctuation.section.condition.begin.regexp"
364
+ },
365
+ "2": {
366
+ "name": "keyword.control.flow.regexp"
367
+ }
368
+ },
369
+ "endCaptures": {
370
+ "0": {
371
+ "name": "punctuation.section.condition.end.regexp"
372
+ }
373
+ }
415
374
  },
416
375
  "escape": {
417
376
  "patterns": [
418
377
  {
419
- "match": "\\\\d",
420
- "name": "constant.character.escape.decimal.regexp"
378
+ "name": "constant.character.escape.decimal.regexp",
379
+ "match": "\\\\d"
421
380
  },
422
381
  {
423
- "match": "\\\\s",
424
- "name": "constant.character.escape.whitespace.regexp"
382
+ "name": "constant.character.escape.whitespace.regexp",
383
+ "match": "\\\\s"
425
384
  },
426
385
  {
427
- "match": "\\\\w",
428
- "name": "constant.character.escape.word-char.regexp"
386
+ "name": "constant.character.escape.word-char.regexp",
387
+ "match": "\\\\w"
429
388
  },
430
389
  {
431
- "match": "\\\\n",
432
- "name": "constant.character.escape.newline.regexp"
390
+ "name": "constant.character.escape.newline.regexp",
391
+ "match": "\\\\n"
433
392
  },
434
393
  {
435
- "match": "\\\\t",
436
- "name": "constant.character.escape.tab.regexp"
394
+ "name": "constant.character.escape.tab.regexp",
395
+ "match": "\\\\t"
437
396
  },
438
397
  {
439
- "match": "\\\\r",
440
- "name": "constant.character.escape.return.regexp"
398
+ "name": "constant.character.escape.return.regexp",
399
+ "match": "\\\\r"
441
400
  },
442
401
  {
443
- "match": "\\\\D",
444
- "name": "constant.character.escape.non-decimal.regexp"
402
+ "name": "constant.character.escape.non-decimal.regexp",
403
+ "match": "\\\\D"
445
404
  },
446
405
  {
447
- "match": "\\\\S",
448
- "name": "constant.character.escape.non-whitespace.regexp"
406
+ "name": "constant.character.escape.non-whitespace.regexp",
407
+ "match": "\\\\S"
449
408
  },
450
409
  {
451
- "match": "\\\\W",
452
- "name": "constant.character.escape.non-word-char.regexp"
410
+ "name": "constant.character.escape.non-word-char.regexp",
411
+ "match": "\\\\W"
453
412
  },
454
413
  {
455
- "match": "\\\\a",
456
- "name": "constant.character.escape.alarm.regexp"
414
+ "name": "constant.character.escape.alarm.regexp",
415
+ "match": "\\\\a"
457
416
  },
458
417
  {
459
- "match": "\\\\e",
460
- "name": "constant.character.escape.escape-char.regexp"
418
+ "name": "constant.character.escape.escape-char.regexp",
419
+ "match": "\\\\e"
461
420
  },
462
421
  {
463
- "match": "\\\\f",
464
- "name": "constant.character.escape.form-feed.regexp"
422
+ "name": "constant.character.escape.form-feed.regexp",
423
+ "match": "\\\\f"
465
424
  },
466
425
  {
467
- "match": "\\\\v",
468
- "name": "constant.character.escape.vertical-tab.regexp"
426
+ "name": "constant.character.escape.vertical-tab.regexp",
427
+ "match": "\\\\v"
469
428
  },
470
429
  {
471
- "match": "\\\\x[0-9A-Fa-f]{2}",
472
- "name": "constant.character.escape.numeric.regexp"
430
+ "name": "constant.character.escape.numeric.regexp",
431
+ "match": "\\\\x[0-9A-Fa-f]{2}"
473
432
  },
474
433
  {
475
434
  "name": "meta.character-escape.hex.regexp",
@@ -548,13 +507,13 @@
548
507
  {
549
508
  "name": "meta.group-reference.regexp",
550
509
  "contentName": "entity.group.name.regexp",
510
+ "begin": "(\\\\[kg])(\u003c)",
511
+ "end": "\u003e",
551
512
  "patterns": [
552
513
  {
553
514
  "include": "#groupRefInnards"
554
515
  }
555
516
  ],
556
- "begin": "(\\\\[kg])(<)",
557
- "end": ">",
558
517
  "beginCaptures": {
559
518
  "1": {
560
519
  "name": "keyword.operator.group-reference.regexp"
@@ -572,13 +531,13 @@
572
531
  {
573
532
  "name": "meta.group-reference.regexp",
574
533
  "contentName": "entity.group.name.regexp",
534
+ "begin": "(\\\\[kg])(')",
535
+ "end": "'",
575
536
  "patterns": [
576
537
  {
577
538
  "include": "#groupRefInnards"
578
539
  }
579
540
  ],
580
- "begin": "(\\\\[kg])(')",
581
- "end": "'",
582
541
  "beginCaptures": {
583
542
  "1": {
584
543
  "name": "keyword.operator.group-reference.regexp"
@@ -643,7 +602,7 @@
643
602
  },
644
603
  {
645
604
  "name": "punctuation.separator.codepoint.regexp",
646
- "match": "(?<=U)\\+(?=[A-Fa-f0-9])"
605
+ "match": "(?\u003c=U)\\+(?=[A-Fa-f0-9])"
647
606
  }
648
607
  ]
649
608
  },
@@ -653,88 +612,88 @@
653
612
  }
654
613
  },
655
614
  {
656
- "match": "\\\\(?:\\d{3}|0\\d)",
657
- "name": "constant.character.escape.octal.numeric.regexp"
615
+ "name": "constant.character.escape.octal.numeric.regexp",
616
+ "match": "\\\\(?:\\d{3}|0\\d)"
658
617
  },
659
618
  {
660
- "match": "\\\\0",
661
- "name": "constant.character.escape.null-byte.numeric.regexp"
619
+ "name": "constant.character.escape.null-byte.numeric.regexp",
620
+ "match": "\\\\0"
662
621
  },
663
622
  {
664
- "match": "\\\\(\\d{1,2})",
665
- "name": "keyword.other.back-reference.$1.regexp"
623
+ "name": "keyword.other.back-reference.$1.regexp",
624
+ "match": "\\\\(\\d{1,2})"
666
625
  },
667
626
  {
668
- "match": "\\\\(?:c|C-)[?-_]",
669
- "name": "constant.character.escape.control-char.regexp"
627
+ "name": "constant.character.escape.control-char.regexp",
628
+ "match": "\\\\(?:c|C-)[?-_]"
670
629
  },
671
630
  {
672
- "match": "\\\\h",
673
- "name": "constant.character.escape.hex-digit.regexp"
631
+ "name": "constant.character.escape.hex-digit.regexp",
632
+ "match": "\\\\h"
674
633
  },
675
634
  {
676
- "match": "\\\\H",
677
- "name": "constant.character.escape.non-hex-digit.regexp"
635
+ "name": "constant.character.escape.non-hex-digit.regexp",
636
+ "match": "\\\\H"
678
637
  },
679
638
  {
680
- "match": "\\\\E",
681
- "name": "keyword.control.end-mode.regexp"
639
+ "name": "keyword.control.end-mode.regexp",
640
+ "match": "\\\\E"
682
641
  },
683
642
  {
684
- "match": "\\\\Q",
685
- "name": "keyword.control.quote-mode.regexp"
643
+ "name": "keyword.control.quote-mode.regexp",
644
+ "match": "\\\\Q"
686
645
  },
687
646
  {
688
- "match": "\\\\F",
689
- "name": "keyword.control.foldcase-mode.regexp"
647
+ "name": "keyword.control.foldcase-mode.regexp",
648
+ "match": "\\\\F"
690
649
  },
691
650
  {
692
- "match": "\\\\L",
693
- "name": "keyword.control.lowercase-mode.regexp"
651
+ "name": "keyword.control.lowercase-mode.regexp",
652
+ "match": "\\\\L"
694
653
  },
695
654
  {
696
- "match": "\\\\U",
697
- "name": "keyword.control.titlecase-mode.regexp"
655
+ "name": "keyword.control.titlecase-mode.regexp",
656
+ "match": "\\\\U"
698
657
  },
699
658
  {
700
- "match": "\\\\K",
701
- "name": "keyword.control.keep-out.regexp"
659
+ "name": "keyword.control.keep-out.regexp",
660
+ "match": "\\\\K"
702
661
  },
703
662
  {
704
- "match": "\\\\l",
705
- "name": "constant.character.escape.lowercase-next.regexp"
663
+ "name": "constant.character.escape.lowercase-next.regexp",
664
+ "match": "\\\\l"
706
665
  },
707
666
  {
708
- "match": "\\\\u",
709
- "name": "constant.character.escape.titlecase-next.regexp"
667
+ "name": "constant.character.escape.titlecase-next.regexp",
668
+ "match": "\\\\u"
710
669
  },
711
670
  {
712
- "match": "\\\\N",
713
- "name": "constant.character.escape.non-newline.regexp"
671
+ "name": "constant.character.escape.non-newline.regexp",
672
+ "match": "\\\\N"
714
673
  },
715
674
  {
716
- "match": "\\\\X",
717
- "name": "constant.character.escape.extended-grapheme.regexp"
675
+ "name": "constant.character.escape.extended-grapheme.regexp",
676
+ "match": "\\\\X"
718
677
  },
719
678
  {
720
- "match": "\\\\R",
721
- "name": "constnat.character.escape.linebreak-grapheme.regexp"
679
+ "name": "constnat.character.escape.linebreak-grapheme.regexp",
680
+ "match": "\\\\R"
722
681
  },
723
682
  {
724
- "match": "\\\\V",
725
- "name": "constant.character.escape.non-vertical-whitespace.regexp"
683
+ "name": "constant.character.escape.non-vertical-whitespace.regexp",
684
+ "match": "\\\\V"
726
685
  },
727
686
  {
728
- "match": "\\\\M-\\\\C-[?-_]",
729
- "name": "constant.character.escape.meta-control.regexp"
687
+ "name": "constant.character.escape.meta-control.regexp",
688
+ "match": "\\\\M-\\\\C-[?-_]"
730
689
  },
731
690
  {
732
- "match": "\\\\M-.",
733
- "name": "constant.character.escape.meta-char.regexp"
691
+ "name": "constant.character.escape.meta-char.regexp",
692
+ "match": "\\\\M-."
734
693
  },
735
694
  {
736
- "match": "\\\\.",
737
- "name": "constant.character.escape.misc.regexp"
695
+ "name": "constant.character.escape.misc.regexp",
696
+ "match": "\\\\."
738
697
  }
739
698
  ]
740
699
  },
@@ -757,23 +716,13 @@
757
716
  },
758
717
  {
759
718
  "name": "meta.group.named.regexp",
760
- "begin": "\\(\\?(?=P?[<'])",
719
+ "begin": "\\(\\?(?=P?[\u003c'])",
761
720
  "end": "\\)",
762
- "beginCaptures": {
763
- "0": {
764
- "name": "punctuation.definition.group.begin.regexp"
765
- }
766
- },
767
- "endCaptures": {
768
- "0": {
769
- "name": "punctuation.definition.group.end.regexp"
770
- }
771
- },
772
721
  "patterns": [
773
722
  {
774
723
  "contentName": "entity.group.name.regexp",
775
- "begin": "\\G(P?)(<)",
776
- "end": ">",
724
+ "begin": "\\G(P?)(\u003c)",
725
+ "end": "\u003e",
777
726
  "beginCaptures": {
778
727
  "1": {
779
728
  "name": "storage.type.function.named-group.regexp"
@@ -806,17 +755,27 @@
806
755
  {
807
756
  "include": "#main"
808
757
  }
809
- ]
758
+ ],
759
+ "beginCaptures": {
760
+ "0": {
761
+ "name": "punctuation.definition.group.begin.regexp"
762
+ }
763
+ },
764
+ "endCaptures": {
765
+ "0": {
766
+ "name": "punctuation.definition.group.end.regexp"
767
+ }
768
+ }
810
769
  },
811
770
  {
812
771
  "name": "meta.group.non-capturing.regexp",
772
+ "begin": "(\\(\\?)([-A-Za-z^]*)(:)",
773
+ "end": "\\)",
813
774
  "patterns": [
814
775
  {
815
776
  "include": "#main"
816
777
  }
817
778
  ],
818
- "begin": "(\\(\\?)([-A-Za-z^]*)(:)",
819
- "end": "\\)",
820
779
  "beginCaptures": {
821
780
  "1": {
822
781
  "name": "punctuation.definition.group.begin.regexp"
@@ -840,8 +799,13 @@
840
799
  },
841
800
  {
842
801
  "name": "meta.group.atomic.regexp",
843
- "begin": "\\(\\?>",
802
+ "begin": "\\(\\?\u003e",
844
803
  "end": "\\)",
804
+ "patterns": [
805
+ {
806
+ "include": "#main"
807
+ }
808
+ ],
845
809
  "beginCaptures": {
846
810
  "0": {
847
811
  "name": "punctuation.definition.group.begin.regexp"
@@ -851,12 +815,7 @@
851
815
  "0": {
852
816
  "name": "punctuation.definition.group.end.regexp"
853
817
  }
854
- },
855
- "patterns": [
856
- {
857
- "include": "#main"
858
- }
859
- ]
818
+ }
860
819
  },
861
820
  {
862
821
  "name": "meta.group.scoped-modifiers.regexp",
@@ -900,7 +859,7 @@
900
859
  },
901
860
  {
902
861
  "name": "meta.group-reference.named.regexp",
903
- "match": "(\\()(\\?(?:&|P[>=]))(\\w+)(\\))",
862
+ "match": "(\\()(\\?(?:\u0026|P[\u003e=]))(\\w+)(\\))",
904
863
  "captures": {
905
864
  "1": {
906
865
  "name": "punctuation.definition.group.begin.regexp"
@@ -935,6 +894,11 @@
935
894
  "name": "meta.group.regexp",
936
895
  "begin": "\\(",
937
896
  "end": "\\)",
897
+ "patterns": [
898
+ {
899
+ "include": "#main"
900
+ }
901
+ ],
938
902
  "beginCaptures": {
939
903
  "0": {
940
904
  "name": "punctuation.definition.group.begin.regexp"
@@ -944,36 +908,68 @@
944
908
  "0": {
945
909
  "name": "punctuation.definition.group.end.regexp"
946
910
  }
947
- },
948
- "patterns": [
949
- {
950
- "include": "#main"
951
- }
952
- ]
911
+ }
953
912
  }
954
913
  ]
955
914
  },
956
915
  "groupRefInnards": {
957
916
  "patterns": [
958
917
  {
959
- "match": "\\-(?=\\d)",
960
- "name": "keyword.operator.arithmetic.minus.regexp"
918
+ "name": "keyword.operator.arithmetic.minus.regexp",
919
+ "match": "\\-(?=\\d)"
920
+ },
921
+ {
922
+ "name": "keyword.operator.arithmetic.plus.regexp",
923
+ "match": "\\+(?=\\d)"
924
+ }
925
+ ]
926
+ },
927
+ "main": {
928
+ "patterns": [
929
+ {
930
+ "include": "#comment"
931
+ },
932
+ {
933
+ "include": "#variable"
934
+ },
935
+ {
936
+ "include": "#anchor"
937
+ },
938
+ {
939
+ "include": "#escape"
940
+ },
941
+ {
942
+ "include": "#wildcard"
943
+ },
944
+ {
945
+ "include": "#alternation"
946
+ },
947
+ {
948
+ "include": "#quantifier"
949
+ },
950
+ {
951
+ "include": "#assertion"
961
952
  },
962
953
  {
963
- "match": "\\+(?=\\d)",
964
- "name": "keyword.operator.arithmetic.plus.regexp"
954
+ "include": "#conditional"
955
+ },
956
+ {
957
+ "include": "#group"
958
+ },
959
+ {
960
+ "include": "#class"
965
961
  }
966
962
  ]
967
963
  },
968
964
  "propInnards": {
969
965
  "patterns": [
970
966
  {
971
- "match": "=",
972
- "name": "keyword.operator.comparison.regexp"
967
+ "name": "keyword.operator.comparison.regexp",
968
+ "match": "="
973
969
  },
974
970
  {
975
- "match": "True|False",
976
- "name": "constant.language.boolean.${0:/downcase}.regexp"
971
+ "name": "constant.language.boolean.${0:/downcase}.regexp",
972
+ "match": "True|False"
977
973
  }
978
974
  ]
979
975
  },
@@ -1015,16 +1011,16 @@
1015
1011
  "scopedModifiers": {
1016
1012
  "patterns": [
1017
1013
  {
1018
- "match": "(?<=\\?)\\^",
1019
- "name": "keyword.operator.modifier.reset.regexp"
1014
+ "name": "keyword.operator.modifier.reset.regexp",
1015
+ "match": "(?\u003c=\\?)\\^"
1020
1016
  },
1021
1017
  {
1022
- "match": "-",
1023
- "name": "keyword.operator.modifier.negate.regexp"
1018
+ "name": "keyword.operator.modifier.negate.regexp",
1019
+ "match": "-"
1024
1020
  },
1025
1021
  {
1026
- "match": "[A-Za-z]",
1027
- "name": "storage.modifier.flag.$0.regexp"
1022
+ "name": "storage.modifier.flag.$0.regexp",
1023
+ "match": "[A-Za-z]"
1028
1024
  }
1029
1025
  ]
1030
1026
  },
@@ -1032,7 +1028,7 @@
1032
1028
  "patterns": [
1033
1029
  {
1034
1030
  "name": "variable.other.regexp",
1035
- "match": "(?<![^\\\\]\\\\|^\\\\)\\$(?!\\d|-)[-\\w]+",
1031
+ "match": "(?\u003c![^\\\\]\\\\|^\\\\)\\$(?!\\d|-)[-\\w]+",
1036
1032
  "captures": {
1037
1033
  "1": {
1038
1034
  "name": "punctuation.definition.variable.regexp"
@@ -1041,7 +1037,7 @@
1041
1037
  },
1042
1038
  {
1043
1039
  "name": "variable.other.bracket.regexp",
1044
- "match": "(?<![^\\\\]\\\\|^\\\\)(\\$\\{)\\s*(?!\\d|-)[-\\w]+\\s*(\\})",
1040
+ "match": "(?\u003c![^\\\\]\\\\|^\\\\)(\\$\\{)\\s*(?!\\d|-)[-\\w]+\\s*(\\})",
1045
1041
  "captures": {
1046
1042
  "1": {
1047
1043
  "name": "punctuation.definition.variable.begin.tmcg"
@@ -1058,4 +1054,4 @@
1058
1054
  "match": "\\."
1059
1055
  }
1060
1056
  }
1061
- }
1057
+ }