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,38 +1,16 @@
1
1
  {
2
- "scopeName": "source.quoting.perl6fe",
3
2
  "name": "Quoting (Perl 6)",
4
- "fileTypes": [
5
-
6
- ],
3
+ "scopeName": "source.quoting.perl6fe",
7
4
  "patterns": [
8
5
  {
9
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\(\\()",
10
- "beginCaptures": {
11
- "1": {
12
- "name": "string.quoted.q.operator.perl6fe"
13
- },
14
- "2": {
15
- "name": "support.function.quote.adverb.perl6fe"
16
- },
17
- "3": {
18
- "name": "punctuation.definition.string.perl6fe"
19
- }
20
- },
21
- "end": "\\)\\)\\)",
22
- "endCaptures": {
23
- "0": {
24
- "name": "punctuation.definition.string.perl6fe"
25
- }
26
- },
27
6
  "contentName": "string.quoted.q.triple_paren.quote.perl6fe",
7
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\(\\()",
8
+ "end": "\\)\\)\\)",
28
9
  "patterns": [
29
10
  {
30
11
  "include": "#q_triple_paren_string_content"
31
12
  }
32
- ]
33
- },
34
- {
35
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\(\\()",
13
+ ],
36
14
  "beginCaptures": {
37
15
  "1": {
38
16
  "name": "string.quoted.q.operator.perl6fe"
@@ -44,28 +22,28 @@
44
22
  "name": "punctuation.definition.string.perl6fe"
45
23
  }
46
24
  },
47
- "end": "\\\\\\\\\\)\\)\\)|(?<!\\\\)\\)\\)\\)",
48
25
  "endCaptures": {
49
26
  "0": {
50
27
  "name": "punctuation.definition.string.perl6fe"
51
28
  }
52
- },
29
+ }
30
+ },
31
+ {
53
32
  "contentName": "string.quoted.q.triple_paren.quote.perl6fe",
33
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\(\\()",
34
+ "end": "\\\\\\\\\\)\\)\\)|(?\u003c!\\\\)\\)\\)\\)",
54
35
  "patterns": [
55
36
  {
56
- "match": "\\\\\\(\\(\\(|\\\\\\)\\)\\)",
57
- "name": "constant.character.escape.perl6fe"
37
+ "name": "constant.character.escape.perl6fe",
38
+ "match": "\\\\\\(\\(\\(|\\\\\\)\\)\\)"
58
39
  },
59
40
  {
60
41
  "include": "#q_triple_paren_string_content"
61
42
  }
62
- ]
63
- },
64
- {
65
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\(\\()",
43
+ ],
66
44
  "beginCaptures": {
67
45
  "1": {
68
- "name": "string.quoted.qq.operator.perl6fe"
46
+ "name": "string.quoted.q.operator.perl6fe"
69
47
  },
70
48
  "2": {
71
49
  "name": "support.function.quote.adverb.perl6fe"
@@ -74,17 +52,20 @@
74
52
  "name": "punctuation.definition.string.perl6fe"
75
53
  }
76
54
  },
77
- "end": "\\\\\\\\\\)\\)\\)|(?<!\\\\)\\)\\)\\)",
78
55
  "endCaptures": {
79
56
  "0": {
80
57
  "name": "punctuation.definition.string.perl6fe"
81
58
  }
82
- },
59
+ }
60
+ },
61
+ {
83
62
  "contentName": "string.quoted.qq.triple_paren.quote.perl6fe",
63
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\(\\()",
64
+ "end": "\\\\\\\\\\)\\)\\)|(?\u003c!\\\\)\\)\\)\\)",
84
65
  "patterns": [
85
66
  {
86
- "match": "\\\\\\(\\(\\(|\\\\\\)\\)\\)",
87
- "name": "constant.character.escape.perl6fe"
67
+ "name": "constant.character.escape.perl6fe",
68
+ "match": "\\\\\\(\\(\\(|\\\\\\)\\)\\)"
88
69
  },
89
70
  {
90
71
  "include": "#qq_character_escape"
@@ -95,13 +76,10 @@
95
76
  {
96
77
  "include": "#q_triple_paren_string_content"
97
78
  }
98
- ]
99
- },
100
- {
101
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[\\[)",
79
+ ],
102
80
  "beginCaptures": {
103
81
  "1": {
104
- "name": "string.quoted.q.operator.perl6fe"
82
+ "name": "string.quoted.qq.operator.perl6fe"
105
83
  },
106
84
  "2": {
107
85
  "name": "support.function.quote.adverb.perl6fe"
@@ -110,21 +88,21 @@
110
88
  "name": "punctuation.definition.string.perl6fe"
111
89
  }
112
90
  },
113
- "end": "\\]\\]\\]",
114
91
  "endCaptures": {
115
92
  "0": {
116
93
  "name": "punctuation.definition.string.perl6fe"
117
94
  }
118
- },
95
+ }
96
+ },
97
+ {
119
98
  "contentName": "string.quoted.q.triple_bracket.quote.perl6fe",
99
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[\\[)",
100
+ "end": "\\]\\]\\]",
120
101
  "patterns": [
121
102
  {
122
103
  "include": "#q_triple_bracket_string_content"
123
104
  }
124
- ]
125
- },
126
- {
127
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[\\[)",
105
+ ],
128
106
  "beginCaptures": {
129
107
  "1": {
130
108
  "name": "string.quoted.q.operator.perl6fe"
@@ -136,28 +114,28 @@
136
114
  "name": "punctuation.definition.string.perl6fe"
137
115
  }
138
116
  },
139
- "end": "\\\\\\\\\\]\\]\\]|(?<!\\\\)\\]\\]\\]",
140
117
  "endCaptures": {
141
118
  "0": {
142
119
  "name": "punctuation.definition.string.perl6fe"
143
120
  }
144
- },
121
+ }
122
+ },
123
+ {
145
124
  "contentName": "string.quoted.q.triple_bracket.quote.perl6fe",
125
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[\\[)",
126
+ "end": "\\\\\\\\\\]\\]\\]|(?\u003c!\\\\)\\]\\]\\]",
146
127
  "patterns": [
147
128
  {
148
- "match": "\\\\\\[\\[\\[|\\\\\\]\\]\\]",
149
- "name": "constant.character.escape.perl6fe"
129
+ "name": "constant.character.escape.perl6fe",
130
+ "match": "\\\\\\[\\[\\[|\\\\\\]\\]\\]"
150
131
  },
151
132
  {
152
133
  "include": "#q_triple_bracket_string_content"
153
134
  }
154
- ]
155
- },
156
- {
157
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[\\[)",
135
+ ],
158
136
  "beginCaptures": {
159
137
  "1": {
160
- "name": "string.quoted.qq.operator.perl6fe"
138
+ "name": "string.quoted.q.operator.perl6fe"
161
139
  },
162
140
  "2": {
163
141
  "name": "support.function.quote.adverb.perl6fe"
@@ -166,17 +144,20 @@
166
144
  "name": "punctuation.definition.string.perl6fe"
167
145
  }
168
146
  },
169
- "end": "\\\\\\\\\\]\\]\\]|(?<!\\\\)\\]\\]\\]",
170
147
  "endCaptures": {
171
148
  "0": {
172
149
  "name": "punctuation.definition.string.perl6fe"
173
150
  }
174
- },
151
+ }
152
+ },
153
+ {
175
154
  "contentName": "string.quoted.qq.triple_bracket.quote.perl6fe",
155
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[\\[)",
156
+ "end": "\\\\\\\\\\]\\]\\]|(?\u003c!\\\\)\\]\\]\\]",
176
157
  "patterns": [
177
158
  {
178
- "match": "\\\\\\[\\[\\[|\\\\\\]\\]\\]",
179
- "name": "constant.character.escape.perl6fe"
159
+ "name": "constant.character.escape.perl6fe",
160
+ "match": "\\\\\\[\\[\\[|\\\\\\]\\]\\]"
180
161
  },
181
162
  {
182
163
  "include": "#qq_character_escape"
@@ -187,13 +168,10 @@
187
168
  {
188
169
  "include": "#q_triple_bracket_string_content"
189
170
  }
190
- ]
191
- },
192
- {
193
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\{\\{\\{)",
171
+ ],
194
172
  "beginCaptures": {
195
173
  "1": {
196
- "name": "string.quoted.q.operator.perl6fe"
174
+ "name": "string.quoted.qq.operator.perl6fe"
197
175
  },
198
176
  "2": {
199
177
  "name": "support.function.quote.adverb.perl6fe"
@@ -202,21 +180,21 @@
202
180
  "name": "punctuation.definition.string.perl6fe"
203
181
  }
204
182
  },
205
- "end": "\\}\\}\\}",
206
183
  "endCaptures": {
207
184
  "0": {
208
185
  "name": "punctuation.definition.string.perl6fe"
209
186
  }
210
- },
187
+ }
188
+ },
189
+ {
211
190
  "contentName": "string.quoted.q.triple_brace.quote.perl6fe",
191
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\{\\{\\{)",
192
+ "end": "\\}\\}\\}",
212
193
  "patterns": [
213
194
  {
214
195
  "include": "#q_triple_brace_string_content"
215
196
  }
216
- ]
217
- },
218
- {
219
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\{\\{\\{)",
197
+ ],
220
198
  "beginCaptures": {
221
199
  "1": {
222
200
  "name": "string.quoted.q.operator.perl6fe"
@@ -228,28 +206,28 @@
228
206
  "name": "punctuation.definition.string.perl6fe"
229
207
  }
230
208
  },
231
- "end": "\\\\\\\\\\}\\}\\}|(?<!\\\\)\\}\\}\\}",
232
209
  "endCaptures": {
233
210
  "0": {
234
211
  "name": "punctuation.definition.string.perl6fe"
235
212
  }
236
- },
213
+ }
214
+ },
215
+ {
237
216
  "contentName": "string.quoted.q.triple_brace.quote.perl6fe",
217
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\{\\{\\{)",
218
+ "end": "\\\\\\\\\\}\\}\\}|(?\u003c!\\\\)\\}\\}\\}",
238
219
  "patterns": [
239
220
  {
240
- "match": "\\\\\\{\\{\\{|\\\\\\}\\}\\}",
241
- "name": "constant.character.escape.perl6fe"
221
+ "name": "constant.character.escape.perl6fe",
222
+ "match": "\\\\\\{\\{\\{|\\\\\\}\\}\\}"
242
223
  },
243
224
  {
244
225
  "include": "#q_triple_brace_string_content"
245
226
  }
246
- ]
247
- },
248
- {
249
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\{\\{\\{)",
227
+ ],
250
228
  "beginCaptures": {
251
229
  "1": {
252
- "name": "string.quoted.qq.operator.perl6fe"
230
+ "name": "string.quoted.q.operator.perl6fe"
253
231
  },
254
232
  "2": {
255
233
  "name": "support.function.quote.adverb.perl6fe"
@@ -258,17 +236,20 @@
258
236
  "name": "punctuation.definition.string.perl6fe"
259
237
  }
260
238
  },
261
- "end": "\\\\\\\\\\}\\}\\}|(?<!\\\\)\\}\\}\\}",
262
239
  "endCaptures": {
263
240
  "0": {
264
241
  "name": "punctuation.definition.string.perl6fe"
265
242
  }
266
- },
243
+ }
244
+ },
245
+ {
267
246
  "contentName": "string.quoted.qq.triple_brace.quote.perl6fe",
247
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\{\\{\\{)",
248
+ "end": "\\\\\\\\\\}\\}\\}|(?\u003c!\\\\)\\}\\}\\}",
268
249
  "patterns": [
269
250
  {
270
- "match": "\\\\\\{\\{\\{|\\\\\\}\\}\\}",
271
- "name": "constant.character.escape.perl6fe"
251
+ "name": "constant.character.escape.perl6fe",
252
+ "match": "\\\\\\{\\{\\{|\\\\\\}\\}\\}"
272
253
  },
273
254
  {
274
255
  "include": "#qq_character_escape"
@@ -279,13 +260,10 @@
279
260
  {
280
261
  "include": "#q_triple_brace_string_content"
281
262
  }
282
- ]
283
- },
284
- {
285
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<<<)",
263
+ ],
286
264
  "beginCaptures": {
287
265
  "1": {
288
- "name": "string.quoted.q.operator.perl6fe"
266
+ "name": "string.quoted.qq.operator.perl6fe"
289
267
  },
290
268
  "2": {
291
269
  "name": "support.function.quote.adverb.perl6fe"
@@ -294,21 +272,21 @@
294
272
  "name": "punctuation.definition.string.perl6fe"
295
273
  }
296
274
  },
297
- "end": ">>>",
298
275
  "endCaptures": {
299
276
  "0": {
300
277
  "name": "punctuation.definition.string.perl6fe"
301
278
  }
302
- },
279
+ }
280
+ },
281
+ {
303
282
  "contentName": "string.quoted.q.triple_angle.quote.perl6fe",
283
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c\u003c\u003c)",
284
+ "end": "\u003e\u003e\u003e",
304
285
  "patterns": [
305
286
  {
306
287
  "include": "#q_triple_angle_string_content"
307
288
  }
308
- ]
309
- },
310
- {
311
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<<<)",
289
+ ],
312
290
  "beginCaptures": {
313
291
  "1": {
314
292
  "name": "string.quoted.q.operator.perl6fe"
@@ -320,28 +298,28 @@
320
298
  "name": "punctuation.definition.string.perl6fe"
321
299
  }
322
300
  },
323
- "end": "\\\\\\\\>>>|(?<!\\\\)>>>",
324
301
  "endCaptures": {
325
302
  "0": {
326
303
  "name": "punctuation.definition.string.perl6fe"
327
304
  }
328
- },
305
+ }
306
+ },
307
+ {
329
308
  "contentName": "string.quoted.q.triple_angle.quote.perl6fe",
309
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c\u003c\u003c)",
310
+ "end": "\\\\\\\\\u003e\u003e\u003e|(?\u003c!\\\\)\u003e\u003e\u003e",
330
311
  "patterns": [
331
312
  {
332
- "match": "\\\\<<<|\\\\>>>",
333
- "name": "constant.character.escape.perl6fe"
313
+ "name": "constant.character.escape.perl6fe",
314
+ "match": "\\\\\u003c\u003c\u003c|\\\\\u003e\u003e\u003e"
334
315
  },
335
316
  {
336
317
  "include": "#q_triple_angle_string_content"
337
318
  }
338
- ]
339
- },
340
- {
341
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<<<)",
319
+ ],
342
320
  "beginCaptures": {
343
321
  "1": {
344
- "name": "string.quoted.qq.operator.perl6fe"
322
+ "name": "string.quoted.q.operator.perl6fe"
345
323
  },
346
324
  "2": {
347
325
  "name": "support.function.quote.adverb.perl6fe"
@@ -350,17 +328,20 @@
350
328
  "name": "punctuation.definition.string.perl6fe"
351
329
  }
352
330
  },
353
- "end": "\\\\\\\\>>>|(?<!\\\\)>>>",
354
331
  "endCaptures": {
355
332
  "0": {
356
333
  "name": "punctuation.definition.string.perl6fe"
357
334
  }
358
- },
335
+ }
336
+ },
337
+ {
359
338
  "contentName": "string.quoted.qq.triple_angle.quote.perl6fe",
339
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c\u003c\u003c)",
340
+ "end": "\\\\\\\\\u003e\u003e\u003e|(?\u003c!\\\\)\u003e\u003e\u003e",
360
341
  "patterns": [
361
342
  {
362
- "match": "\\\\<<<|\\\\>>>",
363
- "name": "constant.character.escape.perl6fe"
343
+ "name": "constant.character.escape.perl6fe",
344
+ "match": "\\\\\u003c\u003c\u003c|\\\\\u003e\u003e\u003e"
364
345
  },
365
346
  {
366
347
  "include": "#qq_character_escape"
@@ -371,13 +352,10 @@
371
352
  {
372
353
  "include": "#q_triple_angle_string_content"
373
354
  }
374
- ]
375
- },
376
- {
377
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<<)",
355
+ ],
378
356
  "beginCaptures": {
379
357
  "1": {
380
- "name": "string.quoted.q.operator.perl6fe"
358
+ "name": "string.quoted.qq.operator.perl6fe"
381
359
  },
382
360
  "2": {
383
361
  "name": "support.function.quote.adverb.perl6fe"
@@ -386,21 +364,21 @@
386
364
  "name": "punctuation.definition.string.perl6fe"
387
365
  }
388
366
  },
389
- "end": ">>",
390
367
  "endCaptures": {
391
368
  "0": {
392
369
  "name": "punctuation.definition.string.perl6fe"
393
370
  }
394
- },
371
+ }
372
+ },
373
+ {
395
374
  "contentName": "string.quoted.q.double_angle.quote.perl6fe",
375
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c\u003c)",
376
+ "end": "\u003e\u003e",
396
377
  "patterns": [
397
378
  {
398
379
  "include": "#q_double_angle_string_content"
399
380
  }
400
- ]
401
- },
402
- {
403
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<<)",
381
+ ],
404
382
  "beginCaptures": {
405
383
  "1": {
406
384
  "name": "string.quoted.q.operator.perl6fe"
@@ -412,28 +390,28 @@
412
390
  "name": "punctuation.definition.string.perl6fe"
413
391
  }
414
392
  },
415
- "end": "\\\\\\\\>>|(?<!\\\\)>>",
416
393
  "endCaptures": {
417
394
  "0": {
418
395
  "name": "punctuation.definition.string.perl6fe"
419
396
  }
420
- },
397
+ }
398
+ },
399
+ {
421
400
  "contentName": "string.quoted.q.double_angle.quote.perl6fe",
401
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c\u003c)",
402
+ "end": "\\\\\\\\\u003e\u003e|(?\u003c!\\\\)\u003e\u003e",
422
403
  "patterns": [
423
404
  {
424
- "match": "\\\\<<|\\\\>>",
425
- "name": "constant.character.escape.perl6fe"
405
+ "name": "constant.character.escape.perl6fe",
406
+ "match": "\\\\\u003c\u003c|\\\\\u003e\u003e"
426
407
  },
427
408
  {
428
409
  "include": "#q_double_angle_string_content"
429
410
  }
430
- ]
431
- },
432
- {
433
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<<)",
411
+ ],
434
412
  "beginCaptures": {
435
413
  "1": {
436
- "name": "string.quoted.qq.operator.perl6fe"
414
+ "name": "string.quoted.q.operator.perl6fe"
437
415
  },
438
416
  "2": {
439
417
  "name": "support.function.quote.adverb.perl6fe"
@@ -442,17 +420,20 @@
442
420
  "name": "punctuation.definition.string.perl6fe"
443
421
  }
444
422
  },
445
- "end": "\\\\\\\\>>|(?<!\\\\)>>",
446
423
  "endCaptures": {
447
424
  "0": {
448
425
  "name": "punctuation.definition.string.perl6fe"
449
426
  }
450
- },
427
+ }
428
+ },
429
+ {
451
430
  "contentName": "string.quoted.qq.double_angle.quote.perl6fe",
431
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c\u003c)",
432
+ "end": "\\\\\\\\\u003e\u003e|(?\u003c!\\\\)\u003e\u003e",
452
433
  "patterns": [
453
434
  {
454
- "match": "\\\\<<|\\\\>>",
455
- "name": "constant.character.escape.perl6fe"
435
+ "name": "constant.character.escape.perl6fe",
436
+ "match": "\\\\\u003c\u003c|\\\\\u003e\u003e"
456
437
  },
457
438
  {
458
439
  "include": "#qq_character_escape"
@@ -463,13 +444,10 @@
463
444
  {
464
445
  "include": "#q_double_angle_string_content"
465
446
  }
466
- ]
467
- },
468
- {
469
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\()",
447
+ ],
470
448
  "beginCaptures": {
471
449
  "1": {
472
- "name": "string.quoted.q.operator.perl6fe"
450
+ "name": "string.quoted.qq.operator.perl6fe"
473
451
  },
474
452
  "2": {
475
453
  "name": "support.function.quote.adverb.perl6fe"
@@ -478,21 +456,21 @@
478
456
  "name": "punctuation.definition.string.perl6fe"
479
457
  }
480
458
  },
481
- "end": "\\)\\)",
482
459
  "endCaptures": {
483
460
  "0": {
484
461
  "name": "punctuation.definition.string.perl6fe"
485
462
  }
486
- },
463
+ }
464
+ },
465
+ {
487
466
  "contentName": "string.quoted.q.double_paren.quote.perl6fe",
467
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\()",
468
+ "end": "\\)\\)",
488
469
  "patterns": [
489
470
  {
490
471
  "include": "#q_double_paren_string_content"
491
472
  }
492
- ]
493
- },
494
- {
495
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\()",
473
+ ],
496
474
  "beginCaptures": {
497
475
  "1": {
498
476
  "name": "string.quoted.q.operator.perl6fe"
@@ -504,28 +482,28 @@
504
482
  "name": "punctuation.definition.string.perl6fe"
505
483
  }
506
484
  },
507
- "end": "\\\\\\\\\\)\\)|(?<!\\\\)\\)\\)",
508
485
  "endCaptures": {
509
486
  "0": {
510
487
  "name": "punctuation.definition.string.perl6fe"
511
488
  }
512
- },
489
+ }
490
+ },
491
+ {
513
492
  "contentName": "string.quoted.q.double_paren.quote.perl6fe",
493
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\()",
494
+ "end": "\\\\\\\\\\)\\)|(?\u003c!\\\\)\\)\\)",
514
495
  "patterns": [
515
496
  {
516
- "match": "\\\\\\(\\(|\\\\\\)\\)",
517
- "name": "constant.character.escape.perl6fe"
497
+ "name": "constant.character.escape.perl6fe",
498
+ "match": "\\\\\\(\\(|\\\\\\)\\)"
518
499
  },
519
500
  {
520
501
  "include": "#q_double_paren_string_content"
521
502
  }
522
- ]
523
- },
524
- {
525
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\()",
503
+ ],
526
504
  "beginCaptures": {
527
505
  "1": {
528
- "name": "string.quoted.qq.operator.perl6fe"
506
+ "name": "string.quoted.q.operator.perl6fe"
529
507
  },
530
508
  "2": {
531
509
  "name": "support.function.quote.adverb.perl6fe"
@@ -534,17 +512,20 @@
534
512
  "name": "punctuation.definition.string.perl6fe"
535
513
  }
536
514
  },
537
- "end": "\\\\\\\\\\)\\)|(?<!\\\\)\\)\\)",
538
515
  "endCaptures": {
539
516
  "0": {
540
517
  "name": "punctuation.definition.string.perl6fe"
541
518
  }
542
- },
519
+ }
520
+ },
521
+ {
543
522
  "contentName": "string.quoted.qq.double_paren.quote.perl6fe",
523
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\(\\()",
524
+ "end": "\\\\\\\\\\)\\)|(?\u003c!\\\\)\\)\\)",
544
525
  "patterns": [
545
526
  {
546
- "match": "\\\\\\(\\(|\\\\\\)\\)",
547
- "name": "constant.character.escape.perl6fe"
527
+ "name": "constant.character.escape.perl6fe",
528
+ "match": "\\\\\\(\\(|\\\\\\)\\)"
548
529
  },
549
530
  {
550
531
  "include": "#qq_character_escape"
@@ -555,13 +536,10 @@
555
536
  {
556
537
  "include": "#q_double_paren_string_content"
557
538
  }
558
- ]
559
- },
560
- {
561
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[)",
539
+ ],
562
540
  "beginCaptures": {
563
541
  "1": {
564
- "name": "string.quoted.q.operator.perl6fe"
542
+ "name": "string.quoted.qq.operator.perl6fe"
565
543
  },
566
544
  "2": {
567
545
  "name": "support.function.quote.adverb.perl6fe"
@@ -570,21 +548,21 @@
570
548
  "name": "punctuation.definition.string.perl6fe"
571
549
  }
572
550
  },
573
- "end": "\\]\\]",
574
551
  "endCaptures": {
575
552
  "0": {
576
553
  "name": "punctuation.definition.string.perl6fe"
577
554
  }
578
- },
555
+ }
556
+ },
557
+ {
579
558
  "contentName": "string.quoted.q.double_bracket.quote.perl6fe",
559
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[)",
560
+ "end": "\\]\\]",
580
561
  "patterns": [
581
562
  {
582
563
  "include": "#q_double_bracket_string_content"
583
564
  }
584
- ]
585
- },
586
- {
587
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[)",
565
+ ],
588
566
  "beginCaptures": {
589
567
  "1": {
590
568
  "name": "string.quoted.q.operator.perl6fe"
@@ -596,28 +574,28 @@
596
574
  "name": "punctuation.definition.string.perl6fe"
597
575
  }
598
576
  },
599
- "end": "\\\\\\\\\\]\\]|(?<!\\\\)\\]\\]",
600
577
  "endCaptures": {
601
578
  "0": {
602
579
  "name": "punctuation.definition.string.perl6fe"
603
580
  }
604
- },
581
+ }
582
+ },
583
+ {
605
584
  "contentName": "string.quoted.q.double_bracket.quote.perl6fe",
585
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[)",
586
+ "end": "\\\\\\\\\\]\\]|(?\u003c!\\\\)\\]\\]",
606
587
  "patterns": [
607
588
  {
608
- "match": "\\\\\\[\\[|\\\\\\]\\]",
609
- "name": "constant.character.escape.perl6fe"
589
+ "name": "constant.character.escape.perl6fe",
590
+ "match": "\\\\\\[\\[|\\\\\\]\\]"
610
591
  },
611
592
  {
612
593
  "include": "#q_double_bracket_string_content"
613
594
  }
614
- ]
615
- },
616
- {
617
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[)",
595
+ ],
618
596
  "beginCaptures": {
619
597
  "1": {
620
- "name": "string.quoted.qq.operator.perl6fe"
598
+ "name": "string.quoted.q.operator.perl6fe"
621
599
  },
622
600
  "2": {
623
601
  "name": "support.function.quote.adverb.perl6fe"
@@ -626,17 +604,20 @@
626
604
  "name": "punctuation.definition.string.perl6fe"
627
605
  }
628
606
  },
629
- "end": "\\\\\\\\\\]\\]|(?<!\\\\)\\]\\]",
630
607
  "endCaptures": {
631
608
  "0": {
632
609
  "name": "punctuation.definition.string.perl6fe"
633
610
  }
634
- },
611
+ }
612
+ },
613
+ {
635
614
  "contentName": "string.quoted.qq.double_bracket.quote.perl6fe",
615
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[\\[)",
616
+ "end": "\\\\\\\\\\]\\]|(?\u003c!\\\\)\\]\\]",
636
617
  "patterns": [
637
618
  {
638
- "match": "\\\\\\[\\[|\\\\\\]\\]",
639
- "name": "constant.character.escape.perl6fe"
619
+ "name": "constant.character.escape.perl6fe",
620
+ "match": "\\\\\\[\\[|\\\\\\]\\]"
640
621
  },
641
622
  {
642
623
  "include": "#qq_character_escape"
@@ -647,13 +628,10 @@
647
628
  {
648
629
  "include": "#q_double_bracket_string_content"
649
630
  }
650
- ]
651
- },
652
- {
653
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({{)",
631
+ ],
654
632
  "beginCaptures": {
655
633
  "1": {
656
- "name": "string.quoted.q.operator.perl6fe"
634
+ "name": "string.quoted.qq.operator.perl6fe"
657
635
  },
658
636
  "2": {
659
637
  "name": "support.function.quote.adverb.perl6fe"
@@ -662,21 +640,21 @@
662
640
  "name": "punctuation.definition.string.perl6fe"
663
641
  }
664
642
  },
665
- "end": "}}",
666
643
  "endCaptures": {
667
644
  "0": {
668
645
  "name": "punctuation.definition.string.perl6fe"
669
646
  }
670
- },
647
+ }
648
+ },
649
+ {
671
650
  "contentName": "string.quoted.q.double_brace.quote.perl6fe",
651
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({{)",
652
+ "end": "}}",
672
653
  "patterns": [
673
654
  {
674
655
  "include": "#q_double_brace_string_content"
675
656
  }
676
- ]
677
- },
678
- {
679
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({{)",
657
+ ],
680
658
  "beginCaptures": {
681
659
  "1": {
682
660
  "name": "string.quoted.q.operator.perl6fe"
@@ -688,28 +666,28 @@
688
666
  "name": "punctuation.definition.string.perl6fe"
689
667
  }
690
668
  },
691
- "end": "\\\\\\\\}}|(?<!\\\\)}}",
692
669
  "endCaptures": {
693
670
  "0": {
694
671
  "name": "punctuation.definition.string.perl6fe"
695
672
  }
696
- },
673
+ }
674
+ },
675
+ {
697
676
  "contentName": "string.quoted.q.double_brace.quote.perl6fe",
677
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({{)",
678
+ "end": "\\\\\\\\}}|(?\u003c!\\\\)}}",
698
679
  "patterns": [
699
680
  {
700
- "match": "\\\\{{|\\\\}}",
701
- "name": "constant.character.escape.perl6fe"
681
+ "name": "constant.character.escape.perl6fe",
682
+ "match": "\\\\{{|\\\\}}"
702
683
  },
703
684
  {
704
685
  "include": "#q_double_brace_string_content"
705
686
  }
706
- ]
707
- },
708
- {
709
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({{)",
687
+ ],
710
688
  "beginCaptures": {
711
689
  "1": {
712
- "name": "string.quoted.qq.operator.perl6fe"
690
+ "name": "string.quoted.q.operator.perl6fe"
713
691
  },
714
692
  "2": {
715
693
  "name": "support.function.quote.adverb.perl6fe"
@@ -718,17 +696,20 @@
718
696
  "name": "punctuation.definition.string.perl6fe"
719
697
  }
720
698
  },
721
- "end": "\\\\\\\\}}|(?<!\\\\)}}",
722
699
  "endCaptures": {
723
700
  "0": {
724
701
  "name": "punctuation.definition.string.perl6fe"
725
702
  }
726
- },
703
+ }
704
+ },
705
+ {
727
706
  "contentName": "string.quoted.qq.double_brace.quote.perl6fe",
707
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({{)",
708
+ "end": "\\\\\\\\}}|(?\u003c!\\\\)}}",
728
709
  "patterns": [
729
710
  {
730
- "match": "\\\\{{|\\\\}}",
731
- "name": "constant.character.escape.perl6fe"
711
+ "name": "constant.character.escape.perl6fe",
712
+ "match": "\\\\{{|\\\\}}"
732
713
  },
733
714
  {
734
715
  "include": "#qq_character_escape"
@@ -739,13 +720,10 @@
739
720
  {
740
721
  "include": "#q_double_brace_string_content"
741
722
  }
742
- ]
743
- },
744
- {
745
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({)",
723
+ ],
746
724
  "beginCaptures": {
747
725
  "1": {
748
- "name": "string.quoted.q.operator.perl6fe"
726
+ "name": "string.quoted.qq.operator.perl6fe"
749
727
  },
750
728
  "2": {
751
729
  "name": "support.function.quote.adverb.perl6fe"
@@ -754,21 +732,21 @@
754
732
  "name": "punctuation.definition.string.perl6fe"
755
733
  }
756
734
  },
757
- "end": "}",
758
735
  "endCaptures": {
759
736
  "0": {
760
737
  "name": "punctuation.definition.string.perl6fe"
761
738
  }
762
- },
739
+ }
740
+ },
741
+ {
763
742
  "contentName": "string.quoted.q.brace.quote.perl6fe",
743
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({)",
744
+ "end": "}",
764
745
  "patterns": [
765
746
  {
766
747
  "include": "#q_brace_string_content"
767
748
  }
768
- ]
769
- },
770
- {
771
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({)",
749
+ ],
772
750
  "beginCaptures": {
773
751
  "1": {
774
752
  "name": "string.quoted.q.operator.perl6fe"
@@ -780,28 +758,28 @@
780
758
  "name": "punctuation.definition.string.perl6fe"
781
759
  }
782
760
  },
783
- "end": "\\\\\\\\}|(?<!\\\\)}",
784
761
  "endCaptures": {
785
762
  "0": {
786
763
  "name": "punctuation.definition.string.perl6fe"
787
764
  }
788
- },
765
+ }
766
+ },
767
+ {
789
768
  "contentName": "string.quoted.q.brace.quote.perl6fe",
769
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({)",
770
+ "end": "\\\\\\\\}|(?\u003c!\\\\)}",
790
771
  "patterns": [
791
772
  {
792
- "match": "\\\\{|\\\\}",
793
- "name": "constant.character.escape.perl6fe"
773
+ "name": "constant.character.escape.perl6fe",
774
+ "match": "\\\\{|\\\\}"
794
775
  },
795
776
  {
796
777
  "include": "#q_brace_string_content"
797
778
  }
798
- ]
799
- },
800
- {
801
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({)",
779
+ ],
802
780
  "beginCaptures": {
803
781
  "1": {
804
- "name": "string.quoted.qq.operator.perl6fe"
782
+ "name": "string.quoted.q.operator.perl6fe"
805
783
  },
806
784
  "2": {
807
785
  "name": "support.function.quote.adverb.perl6fe"
@@ -810,17 +788,20 @@
810
788
  "name": "punctuation.definition.string.perl6fe"
811
789
  }
812
790
  },
813
- "end": "\\\\\\\\}|(?<!\\\\)}",
814
791
  "endCaptures": {
815
792
  "0": {
816
793
  "name": "punctuation.definition.string.perl6fe"
817
794
  }
818
- },
795
+ }
796
+ },
797
+ {
819
798
  "contentName": "string.quoted.qq.brace.quote.perl6fe",
799
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*({)",
800
+ "end": "\\\\\\\\}|(?\u003c!\\\\)}",
820
801
  "patterns": [
821
802
  {
822
- "match": "\\\\{|\\\\}",
823
- "name": "constant.character.escape.perl6fe"
803
+ "name": "constant.character.escape.perl6fe",
804
+ "match": "\\\\{|\\\\}"
824
805
  },
825
806
  {
826
807
  "include": "#qq_character_escape"
@@ -831,13 +812,10 @@
831
812
  {
832
813
  "include": "#q_brace_string_content"
833
814
  }
834
- ]
835
- },
836
- {
837
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<)",
815
+ ],
838
816
  "beginCaptures": {
839
817
  "1": {
840
- "name": "string.quoted.q.operator.perl6fe"
818
+ "name": "string.quoted.qq.operator.perl6fe"
841
819
  },
842
820
  "2": {
843
821
  "name": "support.function.quote.adverb.perl6fe"
@@ -846,21 +824,21 @@
846
824
  "name": "punctuation.definition.string.perl6fe"
847
825
  }
848
826
  },
849
- "end": ">",
850
827
  "endCaptures": {
851
828
  "0": {
852
829
  "name": "punctuation.definition.string.perl6fe"
853
830
  }
854
- },
831
+ }
832
+ },
833
+ {
855
834
  "contentName": "string.quoted.q.angle.quote.perl6fe",
835
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c)",
836
+ "end": "\u003e",
856
837
  "patterns": [
857
838
  {
858
839
  "include": "#q_angle_string_content"
859
840
  }
860
- ]
861
- },
862
- {
863
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<)",
841
+ ],
864
842
  "beginCaptures": {
865
843
  "1": {
866
844
  "name": "string.quoted.q.operator.perl6fe"
@@ -872,28 +850,28 @@
872
850
  "name": "punctuation.definition.string.perl6fe"
873
851
  }
874
852
  },
875
- "end": "\\\\\\\\>|(?<!\\\\)>",
876
853
  "endCaptures": {
877
854
  "0": {
878
855
  "name": "punctuation.definition.string.perl6fe"
879
856
  }
880
- },
857
+ }
858
+ },
859
+ {
881
860
  "contentName": "string.quoted.q.angle.quote.perl6fe",
861
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c)",
862
+ "end": "\\\\\\\\\u003e|(?\u003c!\\\\)\u003e",
882
863
  "patterns": [
883
864
  {
884
- "match": "\\\\<|\\\\>",
885
- "name": "constant.character.escape.perl6fe"
865
+ "name": "constant.character.escape.perl6fe",
866
+ "match": "\\\\\u003c|\\\\\u003e"
886
867
  },
887
868
  {
888
869
  "include": "#q_angle_string_content"
889
870
  }
890
- ]
891
- },
892
- {
893
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(<)",
871
+ ],
894
872
  "beginCaptures": {
895
873
  "1": {
896
- "name": "string.quoted.qq.operator.perl6fe"
874
+ "name": "string.quoted.q.operator.perl6fe"
897
875
  },
898
876
  "2": {
899
877
  "name": "support.function.quote.adverb.perl6fe"
@@ -902,17 +880,20 @@
902
880
  "name": "punctuation.definition.string.perl6fe"
903
881
  }
904
882
  },
905
- "end": "\\\\\\\\>|(?<!\\\\)>",
906
883
  "endCaptures": {
907
884
  "0": {
908
885
  "name": "punctuation.definition.string.perl6fe"
909
886
  }
910
- },
887
+ }
888
+ },
889
+ {
911
890
  "contentName": "string.quoted.qq.angle.quote.perl6fe",
891
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\u003c)",
892
+ "end": "\\\\\\\\\u003e|(?\u003c!\\\\)\u003e",
912
893
  "patterns": [
913
894
  {
914
- "match": "\\\\<|\\\\>",
915
- "name": "constant.character.escape.perl6fe"
895
+ "name": "constant.character.escape.perl6fe",
896
+ "match": "\\\\\u003c|\\\\\u003e"
916
897
  },
917
898
  {
918
899
  "include": "#qq_character_escape"
@@ -923,13 +904,10 @@
923
904
  {
924
905
  "include": "#q_angle_string_content"
925
906
  }
926
- ]
927
- },
928
- {
929
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(\\()",
907
+ ],
930
908
  "beginCaptures": {
931
909
  "1": {
932
- "name": "string.quoted.q.operator.perl6fe"
910
+ "name": "string.quoted.qq.operator.perl6fe"
933
911
  },
934
912
  "2": {
935
913
  "name": "support.function.quote.adverb.perl6fe"
@@ -938,21 +916,21 @@
938
916
  "name": "punctuation.definition.string.perl6fe"
939
917
  }
940
918
  },
941
- "end": "\\)",
942
919
  "endCaptures": {
943
920
  "0": {
944
921
  "name": "punctuation.definition.string.perl6fe"
945
922
  }
946
- },
923
+ }
924
+ },
925
+ {
947
926
  "contentName": "string.quoted.q.paren.quote.perl6fe",
927
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(\\()",
928
+ "end": "\\)",
948
929
  "patterns": [
949
930
  {
950
931
  "include": "#q_paren_string_content"
951
932
  }
952
- ]
953
- },
954
- {
955
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(\\()",
933
+ ],
956
934
  "beginCaptures": {
957
935
  "1": {
958
936
  "name": "string.quoted.q.operator.perl6fe"
@@ -964,28 +942,28 @@
964
942
  "name": "punctuation.definition.string.perl6fe"
965
943
  }
966
944
  },
967
- "end": "\\\\\\\\\\)|(?<!\\\\)\\)",
968
945
  "endCaptures": {
969
946
  "0": {
970
947
  "name": "punctuation.definition.string.perl6fe"
971
948
  }
972
- },
949
+ }
950
+ },
951
+ {
973
952
  "contentName": "string.quoted.q.paren.quote.perl6fe",
953
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(\\()",
954
+ "end": "\\\\\\\\\\)|(?\u003c!\\\\)\\)",
974
955
  "patterns": [
975
956
  {
976
- "match": "\\\\\\(|\\\\\\)",
977
- "name": "constant.character.escape.perl6fe"
957
+ "name": "constant.character.escape.perl6fe",
958
+ "match": "\\\\\\(|\\\\\\)"
978
959
  },
979
960
  {
980
961
  "include": "#q_paren_string_content"
981
962
  }
982
- ]
983
- },
984
- {
985
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(\\()",
963
+ ],
986
964
  "beginCaptures": {
987
965
  "1": {
988
- "name": "string.quoted.qq.operator.perl6fe"
966
+ "name": "string.quoted.q.operator.perl6fe"
989
967
  },
990
968
  "2": {
991
969
  "name": "support.function.quote.adverb.perl6fe"
@@ -994,17 +972,20 @@
994
972
  "name": "punctuation.definition.string.perl6fe"
995
973
  }
996
974
  },
997
- "end": "\\\\\\\\\\)|(?<!\\\\)\\)",
998
975
  "endCaptures": {
999
976
  "0": {
1000
977
  "name": "punctuation.definition.string.perl6fe"
1001
978
  }
1002
- },
979
+ }
980
+ },
981
+ {
1003
982
  "contentName": "string.quoted.qq.paren.quote.perl6fe",
983
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(\\()",
984
+ "end": "\\\\\\\\\\)|(?\u003c!\\\\)\\)",
1004
985
  "patterns": [
1005
986
  {
1006
- "match": "\\\\\\(|\\\\\\)",
1007
- "name": "constant.character.escape.perl6fe"
987
+ "name": "constant.character.escape.perl6fe",
988
+ "match": "\\\\\\(|\\\\\\)"
1008
989
  },
1009
990
  {
1010
991
  "include": "#qq_character_escape"
@@ -1015,13 +996,10 @@
1015
996
  {
1016
997
  "include": "#q_paren_string_content"
1017
998
  }
1018
- ]
1019
- },
1020
- {
1021
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[)",
999
+ ],
1022
1000
  "beginCaptures": {
1023
1001
  "1": {
1024
- "name": "string.quoted.q.operator.perl6fe"
1002
+ "name": "string.quoted.qq.operator.perl6fe"
1025
1003
  },
1026
1004
  "2": {
1027
1005
  "name": "support.function.quote.adverb.perl6fe"
@@ -1030,21 +1008,21 @@
1030
1008
  "name": "punctuation.definition.string.perl6fe"
1031
1009
  }
1032
1010
  },
1033
- "end": "\\]",
1034
1011
  "endCaptures": {
1035
1012
  "0": {
1036
1013
  "name": "punctuation.definition.string.perl6fe"
1037
1014
  }
1038
- },
1015
+ }
1016
+ },
1017
+ {
1039
1018
  "contentName": "string.quoted.q.bracket.quote.perl6fe",
1019
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[)",
1020
+ "end": "\\]",
1040
1021
  "patterns": [
1041
1022
  {
1042
1023
  "include": "#q_bracket_string_content"
1043
1024
  }
1044
- ]
1045
- },
1046
- {
1047
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[)",
1025
+ ],
1048
1026
  "beginCaptures": {
1049
1027
  "1": {
1050
1028
  "name": "string.quoted.q.operator.perl6fe"
@@ -1056,28 +1034,28 @@
1056
1034
  "name": "punctuation.definition.string.perl6fe"
1057
1035
  }
1058
1036
  },
1059
- "end": "\\\\\\\\\\]|(?<!\\\\)\\]",
1060
1037
  "endCaptures": {
1061
1038
  "0": {
1062
1039
  "name": "punctuation.definition.string.perl6fe"
1063
1040
  }
1064
- },
1041
+ }
1042
+ },
1043
+ {
1065
1044
  "contentName": "string.quoted.q.bracket.quote.perl6fe",
1045
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[)",
1046
+ "end": "\\\\\\\\\\]|(?\u003c!\\\\)\\]",
1066
1047
  "patterns": [
1067
1048
  {
1068
- "match": "\\\\\\[|\\\\\\]",
1069
- "name": "constant.character.escape.perl6fe"
1049
+ "name": "constant.character.escape.perl6fe",
1050
+ "match": "\\\\\\[|\\\\\\]"
1070
1051
  },
1071
1052
  {
1072
1053
  "include": "#q_bracket_string_content"
1073
1054
  }
1074
- ]
1075
- },
1076
- {
1077
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[)",
1055
+ ],
1078
1056
  "beginCaptures": {
1079
1057
  "1": {
1080
- "name": "string.quoted.qq.operator.perl6fe"
1058
+ "name": "string.quoted.q.operator.perl6fe"
1081
1059
  },
1082
1060
  "2": {
1083
1061
  "name": "support.function.quote.adverb.perl6fe"
@@ -1086,17 +1064,20 @@
1086
1064
  "name": "punctuation.definition.string.perl6fe"
1087
1065
  }
1088
1066
  },
1089
- "end": "\\\\\\\\\\]|(?<!\\\\)\\]",
1090
1067
  "endCaptures": {
1091
1068
  "0": {
1092
1069
  "name": "punctuation.definition.string.perl6fe"
1093
1070
  }
1094
- },
1071
+ }
1072
+ },
1073
+ {
1095
1074
  "contentName": "string.quoted.qq.bracket.quote.perl6fe",
1075
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\\[)",
1076
+ "end": "\\\\\\\\\\]|(?\u003c!\\\\)\\]",
1096
1077
  "patterns": [
1097
1078
  {
1098
- "match": "\\\\\\[|\\\\\\]",
1099
- "name": "constant.character.escape.perl6fe"
1079
+ "name": "constant.character.escape.perl6fe",
1080
+ "match": "\\\\\\[|\\\\\\]"
1100
1081
  },
1101
1082
  {
1102
1083
  "include": "#qq_character_escape"
@@ -1107,13 +1088,10 @@
1107
1088
  {
1108
1089
  "include": "#q_bracket_string_content"
1109
1090
  }
1110
- ]
1111
- },
1112
- {
1113
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(“)",
1091
+ ],
1114
1092
  "beginCaptures": {
1115
1093
  "1": {
1116
- "name": "string.quoted.q.operator.perl6fe"
1094
+ "name": "string.quoted.qq.operator.perl6fe"
1117
1095
  },
1118
1096
  "2": {
1119
1097
  "name": "support.function.quote.adverb.perl6fe"
@@ -1122,21 +1100,21 @@
1122
1100
  "name": "punctuation.definition.string.perl6fe"
1123
1101
  }
1124
1102
  },
1125
- "end": "”",
1126
1103
  "endCaptures": {
1127
1104
  "0": {
1128
1105
  "name": "punctuation.definition.string.perl6fe"
1129
1106
  }
1130
- },
1107
+ }
1108
+ },
1109
+ {
1131
1110
  "contentName": "string.quoted.q.left_double_right_double.quote.perl6fe",
1111
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(“)",
1112
+ "end": "”",
1132
1113
  "patterns": [
1133
1114
  {
1134
1115
  "include": "#q_left_double_right_double_string_content"
1135
1116
  }
1136
- ]
1137
- },
1138
- {
1139
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(“)",
1117
+ ],
1140
1118
  "beginCaptures": {
1141
1119
  "1": {
1142
1120
  "name": "string.quoted.q.operator.perl6fe"
@@ -1148,28 +1126,28 @@
1148
1126
  "name": "punctuation.definition.string.perl6fe"
1149
1127
  }
1150
1128
  },
1151
- "end": "\\\\\\\\”|(?<!\\\\)”",
1152
1129
  "endCaptures": {
1153
1130
  "0": {
1154
1131
  "name": "punctuation.definition.string.perl6fe"
1155
1132
  }
1156
- },
1133
+ }
1134
+ },
1135
+ {
1157
1136
  "contentName": "string.quoted.q.left_double_right_double.quote.perl6fe",
1137
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(“)",
1138
+ "end": "\\\\\\\\”|(?\u003c!\\\\)”",
1158
1139
  "patterns": [
1159
1140
  {
1160
- "match": "\\\\“|\\\\”",
1161
- "name": "constant.character.escape.perl6fe"
1141
+ "name": "constant.character.escape.perl6fe",
1142
+ "match": "\\\\“|\\\\”"
1162
1143
  },
1163
1144
  {
1164
1145
  "include": "#q_left_double_right_double_string_content"
1165
1146
  }
1166
- ]
1167
- },
1168
- {
1169
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(“)",
1147
+ ],
1170
1148
  "beginCaptures": {
1171
1149
  "1": {
1172
- "name": "string.quoted.qq.operator.perl6fe"
1150
+ "name": "string.quoted.q.operator.perl6fe"
1173
1151
  },
1174
1152
  "2": {
1175
1153
  "name": "support.function.quote.adverb.perl6fe"
@@ -1178,17 +1156,20 @@
1178
1156
  "name": "punctuation.definition.string.perl6fe"
1179
1157
  }
1180
1158
  },
1181
- "end": "\\\\\\\\”|(?<!\\\\)”",
1182
1159
  "endCaptures": {
1183
1160
  "0": {
1184
1161
  "name": "punctuation.definition.string.perl6fe"
1185
1162
  }
1186
- },
1163
+ }
1164
+ },
1165
+ {
1187
1166
  "contentName": "string.quoted.qq.left_double_right_double.quote.perl6fe",
1167
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(“)",
1168
+ "end": "\\\\\\\\”|(?\u003c!\\\\)”",
1188
1169
  "patterns": [
1189
1170
  {
1190
- "match": "\\\\“|\\\\”",
1191
- "name": "constant.character.escape.perl6fe"
1171
+ "name": "constant.character.escape.perl6fe",
1172
+ "match": "\\\\“|\\\\”"
1192
1173
  },
1193
1174
  {
1194
1175
  "include": "#qq_character_escape"
@@ -1199,13 +1180,10 @@
1199
1180
  {
1200
1181
  "include": "#q_left_double_right_double_string_content"
1201
1182
  }
1202
- ]
1203
- },
1204
- {
1205
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(„)",
1183
+ ],
1206
1184
  "beginCaptures": {
1207
1185
  "1": {
1208
- "name": "string.quoted.q.operator.perl6fe"
1186
+ "name": "string.quoted.qq.operator.perl6fe"
1209
1187
  },
1210
1188
  "2": {
1211
1189
  "name": "support.function.quote.adverb.perl6fe"
@@ -1214,21 +1192,21 @@
1214
1192
  "name": "punctuation.definition.string.perl6fe"
1215
1193
  }
1216
1194
  },
1217
- "end": "”|“",
1218
1195
  "endCaptures": {
1219
1196
  "0": {
1220
1197
  "name": "punctuation.definition.string.perl6fe"
1221
1198
  }
1222
- },
1199
+ }
1200
+ },
1201
+ {
1223
1202
  "contentName": "string.quoted.q.left_double-low-q_right_double.quote.perl6fe",
1203
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(„)",
1204
+ "end": "”|“",
1224
1205
  "patterns": [
1225
1206
  {
1226
1207
  "include": "#q_left_double-low-q_right_double_string_content"
1227
1208
  }
1228
- ]
1229
- },
1230
- {
1231
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(„)",
1209
+ ],
1232
1210
  "beginCaptures": {
1233
1211
  "1": {
1234
1212
  "name": "string.quoted.q.operator.perl6fe"
@@ -1240,28 +1218,28 @@
1240
1218
  "name": "punctuation.definition.string.perl6fe"
1241
1219
  }
1242
1220
  },
1243
- "end": "\\\\\\\\”|“|(?<!\\\\)”|“",
1244
1221
  "endCaptures": {
1245
1222
  "0": {
1246
1223
  "name": "punctuation.definition.string.perl6fe"
1247
1224
  }
1248
- },
1225
+ }
1226
+ },
1227
+ {
1249
1228
  "contentName": "string.quoted.q.left_double-low-q_right_double.quote.perl6fe",
1229
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(„)",
1230
+ "end": "\\\\\\\\”|“|(?\u003c!\\\\)”|“",
1250
1231
  "patterns": [
1251
1232
  {
1252
- "match": "\\\\„|\\\\”|“",
1253
- "name": "constant.character.escape.perl6fe"
1233
+ "name": "constant.character.escape.perl6fe",
1234
+ "match": "\\\\„|\\\\”|“"
1254
1235
  },
1255
1236
  {
1256
1237
  "include": "#q_left_double-low-q_right_double_string_content"
1257
1238
  }
1258
- ]
1259
- },
1260
- {
1261
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(„)",
1239
+ ],
1262
1240
  "beginCaptures": {
1263
1241
  "1": {
1264
- "name": "string.quoted.qq.operator.perl6fe"
1242
+ "name": "string.quoted.q.operator.perl6fe"
1265
1243
  },
1266
1244
  "2": {
1267
1245
  "name": "support.function.quote.adverb.perl6fe"
@@ -1270,17 +1248,20 @@
1270
1248
  "name": "punctuation.definition.string.perl6fe"
1271
1249
  }
1272
1250
  },
1273
- "end": "\\\\\\\\”|“|(?<!\\\\)”|“",
1274
1251
  "endCaptures": {
1275
1252
  "0": {
1276
1253
  "name": "punctuation.definition.string.perl6fe"
1277
1254
  }
1278
- },
1255
+ }
1256
+ },
1257
+ {
1279
1258
  "contentName": "string.quoted.qq.left_double-low-q_right_double.quote.perl6fe",
1259
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(„)",
1260
+ "end": "\\\\\\\\”|“|(?\u003c!\\\\)”|“",
1280
1261
  "patterns": [
1281
1262
  {
1282
- "match": "\\\\„|\\\\”|“",
1283
- "name": "constant.character.escape.perl6fe"
1263
+ "name": "constant.character.escape.perl6fe",
1264
+ "match": "\\\\„|\\\\”|“"
1284
1265
  },
1285
1266
  {
1286
1267
  "include": "#qq_character_escape"
@@ -1291,13 +1272,10 @@
1291
1272
  {
1292
1273
  "include": "#q_left_double-low-q_right_double_string_content"
1293
1274
  }
1294
- ]
1295
- },
1296
- {
1297
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‘)",
1275
+ ],
1298
1276
  "beginCaptures": {
1299
1277
  "1": {
1300
- "name": "string.quoted.q.operator.perl6fe"
1278
+ "name": "string.quoted.qq.operator.perl6fe"
1301
1279
  },
1302
1280
  "2": {
1303
1281
  "name": "support.function.quote.adverb.perl6fe"
@@ -1306,21 +1284,21 @@
1306
1284
  "name": "punctuation.definition.string.perl6fe"
1307
1285
  }
1308
1286
  },
1309
- "end": "’",
1310
1287
  "endCaptures": {
1311
1288
  "0": {
1312
1289
  "name": "punctuation.definition.string.perl6fe"
1313
1290
  }
1314
- },
1291
+ }
1292
+ },
1293
+ {
1315
1294
  "contentName": "string.quoted.q.left_single_right_single.quote.perl6fe",
1295
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‘)",
1296
+ "end": "’",
1316
1297
  "patterns": [
1317
1298
  {
1318
1299
  "include": "#q_left_single_right_single_string_content"
1319
1300
  }
1320
- ]
1321
- },
1322
- {
1323
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‘)",
1301
+ ],
1324
1302
  "beginCaptures": {
1325
1303
  "1": {
1326
1304
  "name": "string.quoted.q.operator.perl6fe"
@@ -1332,28 +1310,28 @@
1332
1310
  "name": "punctuation.definition.string.perl6fe"
1333
1311
  }
1334
1312
  },
1335
- "end": "\\\\\\\\’|(?<!\\\\)’",
1336
1313
  "endCaptures": {
1337
1314
  "0": {
1338
1315
  "name": "punctuation.definition.string.perl6fe"
1339
1316
  }
1340
- },
1317
+ }
1318
+ },
1319
+ {
1341
1320
  "contentName": "string.quoted.q.left_single_right_single.quote.perl6fe",
1321
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‘)",
1322
+ "end": "\\\\\\\\’|(?\u003c!\\\\)’",
1342
1323
  "patterns": [
1343
1324
  {
1344
- "match": "\\\\‘|\\\\’",
1345
- "name": "constant.character.escape.perl6fe"
1325
+ "name": "constant.character.escape.perl6fe",
1326
+ "match": "\\\\‘|\\\\’"
1346
1327
  },
1347
1328
  {
1348
1329
  "include": "#q_left_single_right_single_string_content"
1349
1330
  }
1350
- ]
1351
- },
1352
- {
1353
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‘)",
1331
+ ],
1354
1332
  "beginCaptures": {
1355
1333
  "1": {
1356
- "name": "string.quoted.qq.operator.perl6fe"
1334
+ "name": "string.quoted.q.operator.perl6fe"
1357
1335
  },
1358
1336
  "2": {
1359
1337
  "name": "support.function.quote.adverb.perl6fe"
@@ -1362,17 +1340,20 @@
1362
1340
  "name": "punctuation.definition.string.perl6fe"
1363
1341
  }
1364
1342
  },
1365
- "end": "\\\\\\\\’|(?<!\\\\)’",
1366
1343
  "endCaptures": {
1367
1344
  "0": {
1368
1345
  "name": "punctuation.definition.string.perl6fe"
1369
1346
  }
1370
- },
1347
+ }
1348
+ },
1349
+ {
1371
1350
  "contentName": "string.quoted.qq.left_single_right_single.quote.perl6fe",
1351
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‘)",
1352
+ "end": "\\\\\\\\’|(?\u003c!\\\\)’",
1372
1353
  "patterns": [
1373
1354
  {
1374
- "match": "\\\\‘|\\\\’",
1375
- "name": "constant.character.escape.perl6fe"
1355
+ "name": "constant.character.escape.perl6fe",
1356
+ "match": "\\\\‘|\\\\’"
1376
1357
  },
1377
1358
  {
1378
1359
  "include": "#qq_character_escape"
@@ -1383,13 +1364,10 @@
1383
1364
  {
1384
1365
  "include": "#q_left_single_right_single_string_content"
1385
1366
  }
1386
- ]
1387
- },
1388
- {
1389
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‚)",
1367
+ ],
1390
1368
  "beginCaptures": {
1391
1369
  "1": {
1392
- "name": "string.quoted.q.operator.perl6fe"
1370
+ "name": "string.quoted.qq.operator.perl6fe"
1393
1371
  },
1394
1372
  "2": {
1395
1373
  "name": "support.function.quote.adverb.perl6fe"
@@ -1398,21 +1376,21 @@
1398
1376
  "name": "punctuation.definition.string.perl6fe"
1399
1377
  }
1400
1378
  },
1401
- "end": "‘",
1402
1379
  "endCaptures": {
1403
1380
  "0": {
1404
1381
  "name": "punctuation.definition.string.perl6fe"
1405
1382
  }
1406
- },
1383
+ }
1384
+ },
1385
+ {
1407
1386
  "contentName": "string.quoted.q.low-q_left_single.quote.perl6fe",
1387
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‚)",
1388
+ "end": "‘",
1408
1389
  "patterns": [
1409
1390
  {
1410
1391
  "include": "#q_low-q_left_single_string_content"
1411
1392
  }
1412
- ]
1413
- },
1414
- {
1415
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‚)",
1393
+ ],
1416
1394
  "beginCaptures": {
1417
1395
  "1": {
1418
1396
  "name": "string.quoted.q.operator.perl6fe"
@@ -1424,28 +1402,28 @@
1424
1402
  "name": "punctuation.definition.string.perl6fe"
1425
1403
  }
1426
1404
  },
1427
- "end": "\\\\\\\\‘|(?<!\\\\)‘",
1428
1405
  "endCaptures": {
1429
1406
  "0": {
1430
1407
  "name": "punctuation.definition.string.perl6fe"
1431
1408
  }
1432
- },
1409
+ }
1410
+ },
1411
+ {
1433
1412
  "contentName": "string.quoted.q.low-q_left_single.quote.perl6fe",
1413
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‚)",
1414
+ "end": "\\\\\\\\‘|(?\u003c!\\\\)‘",
1434
1415
  "patterns": [
1435
1416
  {
1436
- "match": "\\\\‚|\\\\‘",
1437
- "name": "constant.character.escape.perl6fe"
1417
+ "name": "constant.character.escape.perl6fe",
1418
+ "match": "\\\\‚|\\\\‘"
1438
1419
  },
1439
1420
  {
1440
1421
  "include": "#q_low-q_left_single_string_content"
1441
1422
  }
1442
- ]
1443
- },
1444
- {
1445
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‚)",
1423
+ ],
1446
1424
  "beginCaptures": {
1447
1425
  "1": {
1448
- "name": "string.quoted.qq.operator.perl6fe"
1426
+ "name": "string.quoted.q.operator.perl6fe"
1449
1427
  },
1450
1428
  "2": {
1451
1429
  "name": "support.function.quote.adverb.perl6fe"
@@ -1454,17 +1432,20 @@
1454
1432
  "name": "punctuation.definition.string.perl6fe"
1455
1433
  }
1456
1434
  },
1457
- "end": "\\\\\\\\‘|(?<!\\\\)‘",
1458
1435
  "endCaptures": {
1459
1436
  "0": {
1460
1437
  "name": "punctuation.definition.string.perl6fe"
1461
1438
  }
1462
- },
1439
+ }
1440
+ },
1441
+ {
1463
1442
  "contentName": "string.quoted.qq.low-q_left_single.quote.perl6fe",
1443
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(‚)",
1444
+ "end": "\\\\\\\\‘|(?\u003c!\\\\)‘",
1464
1445
  "patterns": [
1465
1446
  {
1466
- "match": "\\\\‚|\\\\‘",
1467
- "name": "constant.character.escape.perl6fe"
1447
+ "name": "constant.character.escape.perl6fe",
1448
+ "match": "\\\\‚|\\\\‘"
1468
1449
  },
1469
1450
  {
1470
1451
  "include": "#qq_character_escape"
@@ -1475,13 +1456,10 @@
1475
1456
  {
1476
1457
  "include": "#q_low-q_left_single_string_content"
1477
1458
  }
1478
- ]
1479
- },
1480
- {
1481
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1459
+ ],
1482
1460
  "beginCaptures": {
1483
1461
  "1": {
1484
- "name": "string.quoted.q.operator.perl6fe"
1462
+ "name": "string.quoted.qq.operator.perl6fe"
1485
1463
  },
1486
1464
  "2": {
1487
1465
  "name": "support.function.quote.adverb.perl6fe"
@@ -1490,21 +1468,21 @@
1490
1468
  "name": "punctuation.definition.string.perl6fe"
1491
1469
  }
1492
1470
  },
1493
- "end": "」",
1494
1471
  "endCaptures": {
1495
1472
  "0": {
1496
1473
  "name": "punctuation.definition.string.perl6fe"
1497
1474
  }
1498
- },
1475
+ }
1476
+ },
1477
+ {
1499
1478
  "contentName": "string.quoted.q.fw_cornerbracket.quote.perl6fe",
1479
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1480
+ "end": "」",
1500
1481
  "patterns": [
1501
1482
  {
1502
1483
  "include": "#q_fw_cornerbracket_string_content"
1503
1484
  }
1504
- ]
1505
- },
1506
- {
1507
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1485
+ ],
1508
1486
  "beginCaptures": {
1509
1487
  "1": {
1510
1488
  "name": "string.quoted.q.operator.perl6fe"
@@ -1516,28 +1494,28 @@
1516
1494
  "name": "punctuation.definition.string.perl6fe"
1517
1495
  }
1518
1496
  },
1519
- "end": "\\\\\\\\」|(?<!\\\\)」",
1520
1497
  "endCaptures": {
1521
1498
  "0": {
1522
1499
  "name": "punctuation.definition.string.perl6fe"
1523
1500
  }
1524
- },
1501
+ }
1502
+ },
1503
+ {
1525
1504
  "contentName": "string.quoted.q.fw_cornerbracket.quote.perl6fe",
1505
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1506
+ "end": "\\\\\\\\」|(?\u003c!\\\\)」",
1526
1507
  "patterns": [
1527
1508
  {
1528
- "match": "\\\\「|\\\\」",
1529
- "name": "constant.character.escape.perl6fe"
1509
+ "name": "constant.character.escape.perl6fe",
1510
+ "match": "\\\\「|\\\\」"
1530
1511
  },
1531
1512
  {
1532
1513
  "include": "#q_fw_cornerbracket_string_content"
1533
1514
  }
1534
- ]
1535
- },
1536
- {
1537
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1515
+ ],
1538
1516
  "beginCaptures": {
1539
1517
  "1": {
1540
- "name": "string.quoted.qq.operator.perl6fe"
1518
+ "name": "string.quoted.q.operator.perl6fe"
1541
1519
  },
1542
1520
  "2": {
1543
1521
  "name": "support.function.quote.adverb.perl6fe"
@@ -1546,17 +1524,20 @@
1546
1524
  "name": "punctuation.definition.string.perl6fe"
1547
1525
  }
1548
1526
  },
1549
- "end": "\\\\\\\\」|(?<!\\\\)」",
1550
1527
  "endCaptures": {
1551
1528
  "0": {
1552
1529
  "name": "punctuation.definition.string.perl6fe"
1553
1530
  }
1554
- },
1531
+ }
1532
+ },
1533
+ {
1555
1534
  "contentName": "string.quoted.qq.fw_cornerbracket.quote.perl6fe",
1535
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1536
+ "end": "\\\\\\\\」|(?\u003c!\\\\)」",
1556
1537
  "patterns": [
1557
1538
  {
1558
- "match": "\\\\「|\\\\」",
1559
- "name": "constant.character.escape.perl6fe"
1539
+ "name": "constant.character.escape.perl6fe",
1540
+ "match": "\\\\「|\\\\」"
1560
1541
  },
1561
1542
  {
1562
1543
  "include": "#qq_character_escape"
@@ -1567,13 +1548,10 @@
1567
1548
  {
1568
1549
  "include": "#q_fw_cornerbracket_string_content"
1569
1550
  }
1570
- ]
1571
- },
1572
- {
1573
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1551
+ ],
1574
1552
  "beginCaptures": {
1575
1553
  "1": {
1576
- "name": "string.quoted.q.operator.perl6fe"
1554
+ "name": "string.quoted.qq.operator.perl6fe"
1577
1555
  },
1578
1556
  "2": {
1579
1557
  "name": "support.function.quote.adverb.perl6fe"
@@ -1582,21 +1560,21 @@
1582
1560
  "name": "punctuation.definition.string.perl6fe"
1583
1561
  }
1584
1562
  },
1585
- "end": "」",
1586
1563
  "endCaptures": {
1587
1564
  "0": {
1588
1565
  "name": "punctuation.definition.string.perl6fe"
1589
1566
  }
1590
- },
1567
+ }
1568
+ },
1569
+ {
1591
1570
  "contentName": "string.quoted.q.hw_cornerbracket.quote.perl6fe",
1571
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1572
+ "end": "」",
1592
1573
  "patterns": [
1593
1574
  {
1594
1575
  "include": "#q_hw_cornerbracket_string_content"
1595
1576
  }
1596
- ]
1597
- },
1598
- {
1599
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1577
+ ],
1600
1578
  "beginCaptures": {
1601
1579
  "1": {
1602
1580
  "name": "string.quoted.q.operator.perl6fe"
@@ -1608,28 +1586,28 @@
1608
1586
  "name": "punctuation.definition.string.perl6fe"
1609
1587
  }
1610
1588
  },
1611
- "end": "\\\\\\\\」|(?<!\\\\)」",
1612
1589
  "endCaptures": {
1613
1590
  "0": {
1614
1591
  "name": "punctuation.definition.string.perl6fe"
1615
1592
  }
1616
- },
1593
+ }
1594
+ },
1595
+ {
1617
1596
  "contentName": "string.quoted.q.hw_cornerbracket.quote.perl6fe",
1597
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1598
+ "end": "\\\\\\\\」|(?\u003c!\\\\)」",
1618
1599
  "patterns": [
1619
1600
  {
1620
- "match": "\\\\「|\\\\」",
1621
- "name": "constant.character.escape.perl6fe"
1601
+ "name": "constant.character.escape.perl6fe",
1602
+ "match": "\\\\「|\\\\」"
1622
1603
  },
1623
1604
  {
1624
1605
  "include": "#q_hw_cornerbracket_string_content"
1625
1606
  }
1626
- ]
1627
- },
1628
- {
1629
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1607
+ ],
1630
1608
  "beginCaptures": {
1631
1609
  "1": {
1632
- "name": "string.quoted.qq.operator.perl6fe"
1610
+ "name": "string.quoted.q.operator.perl6fe"
1633
1611
  },
1634
1612
  "2": {
1635
1613
  "name": "support.function.quote.adverb.perl6fe"
@@ -1638,17 +1616,20 @@
1638
1616
  "name": "punctuation.definition.string.perl6fe"
1639
1617
  }
1640
1618
  },
1641
- "end": "\\\\\\\\」|(?<!\\\\)」",
1642
1619
  "endCaptures": {
1643
1620
  "0": {
1644
1621
  "name": "punctuation.definition.string.perl6fe"
1645
1622
  }
1646
- },
1623
+ }
1624
+ },
1625
+ {
1647
1626
  "contentName": "string.quoted.qq.hw_cornerbracket.quote.perl6fe",
1627
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(「)",
1628
+ "end": "\\\\\\\\」|(?\u003c!\\\\)」",
1648
1629
  "patterns": [
1649
1630
  {
1650
- "match": "\\\\「|\\\\」",
1651
- "name": "constant.character.escape.perl6fe"
1631
+ "name": "constant.character.escape.perl6fe",
1632
+ "match": "\\\\「|\\\\」"
1652
1633
  },
1653
1634
  {
1654
1635
  "include": "#qq_character_escape"
@@ -1659,13 +1640,10 @@
1659
1640
  {
1660
1641
  "include": "#q_hw_cornerbracket_string_content"
1661
1642
  }
1662
- ]
1663
- },
1664
- {
1665
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(«)",
1643
+ ],
1666
1644
  "beginCaptures": {
1667
1645
  "1": {
1668
- "name": "string.quoted.q.operator.perl6fe"
1646
+ "name": "string.quoted.qq.operator.perl6fe"
1669
1647
  },
1670
1648
  "2": {
1671
1649
  "name": "support.function.quote.adverb.perl6fe"
@@ -1674,21 +1652,21 @@
1674
1652
  "name": "punctuation.definition.string.perl6fe"
1675
1653
  }
1676
1654
  },
1677
- "end": "»",
1678
1655
  "endCaptures": {
1679
1656
  "0": {
1680
1657
  "name": "punctuation.definition.string.perl6fe"
1681
1658
  }
1682
- },
1659
+ }
1660
+ },
1661
+ {
1683
1662
  "contentName": "string.quoted.q.chevron.quote.perl6fe",
1663
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(«)",
1664
+ "end": "»",
1684
1665
  "patterns": [
1685
1666
  {
1686
1667
  "include": "#q_chevron_string_content"
1687
1668
  }
1688
- ]
1689
- },
1690
- {
1691
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(«)",
1669
+ ],
1692
1670
  "beginCaptures": {
1693
1671
  "1": {
1694
1672
  "name": "string.quoted.q.operator.perl6fe"
@@ -1700,28 +1678,28 @@
1700
1678
  "name": "punctuation.definition.string.perl6fe"
1701
1679
  }
1702
1680
  },
1703
- "end": "\\\\\\\\»|(?<!\\\\)»",
1704
1681
  "endCaptures": {
1705
1682
  "0": {
1706
1683
  "name": "punctuation.definition.string.perl6fe"
1707
1684
  }
1708
- },
1685
+ }
1686
+ },
1687
+ {
1709
1688
  "contentName": "string.quoted.q.chevron.quote.perl6fe",
1689
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(«)",
1690
+ "end": "\\\\\\\\»|(?\u003c!\\\\)»",
1710
1691
  "patterns": [
1711
1692
  {
1712
- "match": "\\\\«|\\\\»",
1713
- "name": "constant.character.escape.perl6fe"
1693
+ "name": "constant.character.escape.perl6fe",
1694
+ "match": "\\\\«|\\\\»"
1714
1695
  },
1715
1696
  {
1716
1697
  "include": "#q_chevron_string_content"
1717
1698
  }
1718
- ]
1719
- },
1720
- {
1721
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(«)",
1699
+ ],
1722
1700
  "beginCaptures": {
1723
1701
  "1": {
1724
- "name": "string.quoted.qq.operator.perl6fe"
1702
+ "name": "string.quoted.q.operator.perl6fe"
1725
1703
  },
1726
1704
  "2": {
1727
1705
  "name": "support.function.quote.adverb.perl6fe"
@@ -1730,17 +1708,20 @@
1730
1708
  "name": "punctuation.definition.string.perl6fe"
1731
1709
  }
1732
1710
  },
1733
- "end": "\\\\\\\\»|(?<!\\\\)»",
1734
1711
  "endCaptures": {
1735
1712
  "0": {
1736
1713
  "name": "punctuation.definition.string.perl6fe"
1737
1714
  }
1738
- },
1715
+ }
1716
+ },
1717
+ {
1739
1718
  "contentName": "string.quoted.qq.chevron.quote.perl6fe",
1719
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(«)",
1720
+ "end": "\\\\\\\\»|(?\u003c!\\\\)»",
1740
1721
  "patterns": [
1741
1722
  {
1742
- "match": "\\\\«|\\\\»",
1743
- "name": "constant.character.escape.perl6fe"
1723
+ "name": "constant.character.escape.perl6fe",
1724
+ "match": "\\\\«|\\\\»"
1744
1725
  },
1745
1726
  {
1746
1727
  "include": "#qq_character_escape"
@@ -1751,13 +1732,10 @@
1751
1732
  {
1752
1733
  "include": "#q_chevron_string_content"
1753
1734
  }
1754
- ]
1755
- },
1756
- {
1757
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(⟅)",
1735
+ ],
1758
1736
  "beginCaptures": {
1759
1737
  "1": {
1760
- "name": "string.quoted.q.operator.perl6fe"
1738
+ "name": "string.quoted.qq.operator.perl6fe"
1761
1739
  },
1762
1740
  "2": {
1763
1741
  "name": "support.function.quote.adverb.perl6fe"
@@ -1766,21 +1744,21 @@
1766
1744
  "name": "punctuation.definition.string.perl6fe"
1767
1745
  }
1768
1746
  },
1769
- "end": "⟆",
1770
1747
  "endCaptures": {
1771
1748
  "0": {
1772
1749
  "name": "punctuation.definition.string.perl6fe"
1773
1750
  }
1774
- },
1751
+ }
1752
+ },
1753
+ {
1775
1754
  "contentName": "string.quoted.q.s-shaped-bag-delimiter.quote.perl6fe",
1755
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(⟅)",
1756
+ "end": "⟆",
1776
1757
  "patterns": [
1777
1758
  {
1778
1759
  "include": "#q_s-shaped-bag-delimiter_string_content"
1779
1760
  }
1780
- ]
1781
- },
1782
- {
1783
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(⟅)",
1761
+ ],
1784
1762
  "beginCaptures": {
1785
1763
  "1": {
1786
1764
  "name": "string.quoted.q.operator.perl6fe"
@@ -1792,28 +1770,28 @@
1792
1770
  "name": "punctuation.definition.string.perl6fe"
1793
1771
  }
1794
1772
  },
1795
- "end": "\\\\\\\\⟆|(?<!\\\\)⟆",
1796
1773
  "endCaptures": {
1797
1774
  "0": {
1798
1775
  "name": "punctuation.definition.string.perl6fe"
1799
1776
  }
1800
- },
1777
+ }
1778
+ },
1779
+ {
1801
1780
  "contentName": "string.quoted.q.s-shaped-bag-delimiter.quote.perl6fe",
1781
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(⟅)",
1782
+ "end": "\\\\\\\\⟆|(?\u003c!\\\\)⟆",
1802
1783
  "patterns": [
1803
1784
  {
1804
- "match": "\\\\⟅|\\\\⟆",
1805
- "name": "constant.character.escape.perl6fe"
1785
+ "name": "constant.character.escape.perl6fe",
1786
+ "match": "\\\\⟅|\\\\⟆"
1806
1787
  },
1807
1788
  {
1808
1789
  "include": "#q_s-shaped-bag-delimiter_string_content"
1809
1790
  }
1810
- ]
1811
- },
1812
- {
1813
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(⟅)",
1791
+ ],
1814
1792
  "beginCaptures": {
1815
1793
  "1": {
1816
- "name": "string.quoted.qq.operator.perl6fe"
1794
+ "name": "string.quoted.q.operator.perl6fe"
1817
1795
  },
1818
1796
  "2": {
1819
1797
  "name": "support.function.quote.adverb.perl6fe"
@@ -1822,17 +1800,20 @@
1822
1800
  "name": "punctuation.definition.string.perl6fe"
1823
1801
  }
1824
1802
  },
1825
- "end": "\\\\\\\\⟆|(?<!\\\\)⟆",
1826
1803
  "endCaptures": {
1827
1804
  "0": {
1828
1805
  "name": "punctuation.definition.string.perl6fe"
1829
1806
  }
1830
- },
1807
+ }
1808
+ },
1809
+ {
1831
1810
  "contentName": "string.quoted.qq.s-shaped-bag-delimiter.quote.perl6fe",
1811
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(⟅)",
1812
+ "end": "\\\\\\\\⟆|(?\u003c!\\\\)⟆",
1832
1813
  "patterns": [
1833
1814
  {
1834
- "match": "\\\\⟅|\\\\⟆",
1835
- "name": "constant.character.escape.perl6fe"
1815
+ "name": "constant.character.escape.perl6fe",
1816
+ "match": "\\\\⟅|\\\\⟆"
1836
1817
  },
1837
1818
  {
1838
1819
  "include": "#qq_character_escape"
@@ -1843,13 +1824,10 @@
1843
1824
  {
1844
1825
  "include": "#q_s-shaped-bag-delimiter_string_content"
1845
1826
  }
1846
- ]
1847
- },
1848
- {
1849
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(/)",
1827
+ ],
1850
1828
  "beginCaptures": {
1851
1829
  "1": {
1852
- "name": "string.quoted.q.operator.perl6fe"
1830
+ "name": "string.quoted.qq.operator.perl6fe"
1853
1831
  },
1854
1832
  "2": {
1855
1833
  "name": "support.function.quote.adverb.perl6fe"
@@ -1858,21 +1836,21 @@
1858
1836
  "name": "punctuation.definition.string.perl6fe"
1859
1837
  }
1860
1838
  },
1861
- "end": "/",
1862
1839
  "endCaptures": {
1863
1840
  "0": {
1864
1841
  "name": "punctuation.definition.string.perl6fe"
1865
1842
  }
1866
- },
1843
+ }
1844
+ },
1845
+ {
1867
1846
  "contentName": "string.quoted.q.slash.quote.perl6fe",
1847
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(/)",
1848
+ "end": "/",
1868
1849
  "patterns": [
1869
1850
  {
1870
1851
  "include": "#q_slash_string_content"
1871
1852
  }
1872
- ]
1873
- },
1874
- {
1875
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(/)",
1853
+ ],
1876
1854
  "beginCaptures": {
1877
1855
  "1": {
1878
1856
  "name": "string.quoted.q.operator.perl6fe"
@@ -1884,28 +1862,28 @@
1884
1862
  "name": "punctuation.definition.string.perl6fe"
1885
1863
  }
1886
1864
  },
1887
- "end": "\\\\\\\\/|(?<!\\\\)/",
1888
1865
  "endCaptures": {
1889
1866
  "0": {
1890
1867
  "name": "punctuation.definition.string.perl6fe"
1891
1868
  }
1892
- },
1869
+ }
1870
+ },
1871
+ {
1893
1872
  "contentName": "string.quoted.q.slash.quote.perl6fe",
1873
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(/)",
1874
+ "end": "\\\\\\\\/|(?\u003c!\\\\)/",
1894
1875
  "patterns": [
1895
1876
  {
1896
- "match": "\\\\/",
1897
- "name": "constant.character.escape.perl6fe"
1877
+ "name": "constant.character.escape.perl6fe",
1878
+ "match": "\\\\/"
1898
1879
  },
1899
1880
  {
1900
1881
  "include": "#q_slash_string_content"
1901
1882
  }
1902
- ]
1903
- },
1904
- {
1905
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(/)",
1883
+ ],
1906
1884
  "beginCaptures": {
1907
1885
  "1": {
1908
- "name": "string.quoted.qq.operator.perl6fe"
1886
+ "name": "string.quoted.q.operator.perl6fe"
1909
1887
  },
1910
1888
  "2": {
1911
1889
  "name": "support.function.quote.adverb.perl6fe"
@@ -1914,17 +1892,20 @@
1914
1892
  "name": "punctuation.definition.string.perl6fe"
1915
1893
  }
1916
1894
  },
1917
- "end": "\\\\\\\\/|(?<!\\\\)/",
1918
1895
  "endCaptures": {
1919
1896
  "0": {
1920
1897
  "name": "punctuation.definition.string.perl6fe"
1921
1898
  }
1922
- },
1899
+ }
1900
+ },
1901
+ {
1923
1902
  "contentName": "string.quoted.qq.slash.quote.perl6fe",
1903
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(/)",
1904
+ "end": "\\\\\\\\/|(?\u003c!\\\\)/",
1924
1905
  "patterns": [
1925
1906
  {
1926
- "match": "\\\\/",
1927
- "name": "constant.character.escape.perl6fe"
1907
+ "name": "constant.character.escape.perl6fe",
1908
+ "match": "\\\\/"
1928
1909
  },
1929
1910
  {
1930
1911
  "include": "#qq_character_escape"
@@ -1935,13 +1916,10 @@
1935
1916
  {
1936
1917
  "include": "#q_slash_string_content"
1937
1918
  }
1938
- ]
1939
- },
1940
- {
1941
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(')",
1919
+ ],
1942
1920
  "beginCaptures": {
1943
1921
  "1": {
1944
- "name": "string.quoted.q.operator.perl6fe"
1922
+ "name": "string.quoted.qq.operator.perl6fe"
1945
1923
  },
1946
1924
  "2": {
1947
1925
  "name": "support.function.quote.adverb.perl6fe"
@@ -1950,21 +1928,21 @@
1950
1928
  "name": "punctuation.definition.string.perl6fe"
1951
1929
  }
1952
1930
  },
1953
- "end": "'",
1954
1931
  "endCaptures": {
1955
1932
  "0": {
1956
1933
  "name": "punctuation.definition.string.perl6fe"
1957
1934
  }
1958
- },
1935
+ }
1936
+ },
1937
+ {
1959
1938
  "contentName": "string.quoted.q.single.quote.perl6fe",
1939
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(')",
1940
+ "end": "'",
1960
1941
  "patterns": [
1961
1942
  {
1962
1943
  "include": "#q_single_string_content"
1963
1944
  }
1964
- ]
1965
- },
1966
- {
1967
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(')",
1945
+ ],
1968
1946
  "beginCaptures": {
1969
1947
  "1": {
1970
1948
  "name": "string.quoted.q.operator.perl6fe"
@@ -1976,28 +1954,28 @@
1976
1954
  "name": "punctuation.definition.string.perl6fe"
1977
1955
  }
1978
1956
  },
1979
- "end": "\\\\\\\\'|(?<!\\\\)'",
1980
1957
  "endCaptures": {
1981
1958
  "0": {
1982
1959
  "name": "punctuation.definition.string.perl6fe"
1983
1960
  }
1984
- },
1961
+ }
1962
+ },
1963
+ {
1985
1964
  "contentName": "string.quoted.q.single.quote.perl6fe",
1965
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(')",
1966
+ "end": "\\\\\\\\'|(?\u003c!\\\\)'",
1986
1967
  "patterns": [
1987
1968
  {
1988
- "match": "\\\\'",
1989
- "name": "constant.character.escape.perl6fe"
1969
+ "name": "constant.character.escape.perl6fe",
1970
+ "match": "\\\\'"
1990
1971
  },
1991
1972
  {
1992
1973
  "include": "#q_single_string_content"
1993
1974
  }
1994
- ]
1995
- },
1996
- {
1997
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(')",
1975
+ ],
1998
1976
  "beginCaptures": {
1999
1977
  "1": {
2000
- "name": "string.quoted.qq.operator.perl6fe"
1978
+ "name": "string.quoted.q.operator.perl6fe"
2001
1979
  },
2002
1980
  "2": {
2003
1981
  "name": "support.function.quote.adverb.perl6fe"
@@ -2006,17 +1984,20 @@
2006
1984
  "name": "punctuation.definition.string.perl6fe"
2007
1985
  }
2008
1986
  },
2009
- "end": "\\\\\\\\'|(?<!\\\\)'",
2010
1987
  "endCaptures": {
2011
1988
  "0": {
2012
1989
  "name": "punctuation.definition.string.perl6fe"
2013
1990
  }
2014
- },
1991
+ }
1992
+ },
1993
+ {
2015
1994
  "contentName": "string.quoted.qq.single.quote.perl6fe",
1995
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s+(')",
1996
+ "end": "\\\\\\\\'|(?\u003c!\\\\)'",
2016
1997
  "patterns": [
2017
1998
  {
2018
- "match": "\\\\'",
2019
- "name": "constant.character.escape.perl6fe"
1999
+ "name": "constant.character.escape.perl6fe",
2000
+ "match": "\\\\'"
2020
2001
  },
2021
2002
  {
2022
2003
  "include": "#qq_character_escape"
@@ -2027,13 +2008,10 @@
2027
2008
  {
2028
2009
  "include": "#q_single_string_content"
2029
2010
  }
2030
- ]
2031
- },
2032
- {
2033
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\")",
2011
+ ],
2034
2012
  "beginCaptures": {
2035
2013
  "1": {
2036
- "name": "string.quoted.q.operator.perl6fe"
2014
+ "name": "string.quoted.qq.operator.perl6fe"
2037
2015
  },
2038
2016
  "2": {
2039
2017
  "name": "support.function.quote.adverb.perl6fe"
@@ -2042,21 +2020,21 @@
2042
2020
  "name": "punctuation.definition.string.perl6fe"
2043
2021
  }
2044
2022
  },
2045
- "end": "\"",
2046
2023
  "endCaptures": {
2047
2024
  "0": {
2048
2025
  "name": "punctuation.definition.string.perl6fe"
2049
2026
  }
2050
- },
2027
+ }
2028
+ },
2029
+ {
2051
2030
  "contentName": "string.quoted.q.double.quote.perl6fe",
2031
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\")",
2032
+ "end": "\"",
2052
2033
  "patterns": [
2053
2034
  {
2054
2035
  "include": "#q_double_string_content"
2055
2036
  }
2056
- ]
2057
- },
2058
- {
2059
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\")",
2037
+ ],
2060
2038
  "beginCaptures": {
2061
2039
  "1": {
2062
2040
  "name": "string.quoted.q.operator.perl6fe"
@@ -2068,28 +2046,28 @@
2068
2046
  "name": "punctuation.definition.string.perl6fe"
2069
2047
  }
2070
2048
  },
2071
- "end": "\\\\\\\\\"|(?<!\\\\)\"",
2072
2049
  "endCaptures": {
2073
2050
  "0": {
2074
2051
  "name": "punctuation.definition.string.perl6fe"
2075
2052
  }
2076
- },
2053
+ }
2054
+ },
2055
+ {
2077
2056
  "contentName": "string.quoted.q.double.quote.perl6fe",
2057
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\")",
2058
+ "end": "\\\\\\\\\"|(?\u003c!\\\\)\"",
2078
2059
  "patterns": [
2079
2060
  {
2080
- "match": "\\\\\"",
2081
- "name": "constant.character.escape.perl6fe"
2061
+ "name": "constant.character.escape.perl6fe",
2062
+ "match": "\\\\\""
2082
2063
  },
2083
2064
  {
2084
2065
  "include": "#q_double_string_content"
2085
2066
  }
2086
- ]
2087
- },
2088
- {
2089
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\")",
2067
+ ],
2090
2068
  "beginCaptures": {
2091
2069
  "1": {
2092
- "name": "string.quoted.qq.operator.perl6fe"
2070
+ "name": "string.quoted.q.operator.perl6fe"
2093
2071
  },
2094
2072
  "2": {
2095
2073
  "name": "support.function.quote.adverb.perl6fe"
@@ -2098,17 +2076,20 @@
2098
2076
  "name": "punctuation.definition.string.perl6fe"
2099
2077
  }
2100
2078
  },
2101
- "end": "\\\\\\\\\"|(?<!\\\\)\"",
2102
2079
  "endCaptures": {
2103
2080
  "0": {
2104
2081
  "name": "punctuation.definition.string.perl6fe"
2105
2082
  }
2106
- },
2083
+ }
2084
+ },
2085
+ {
2107
2086
  "contentName": "string.quoted.qq.double.quote.perl6fe",
2087
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (qq(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*(\")",
2088
+ "end": "\\\\\\\\\"|(?\u003c!\\\\)\"",
2108
2089
  "patterns": [
2109
2090
  {
2110
- "match": "\\\\\"",
2111
- "name": "constant.character.escape.perl6fe"
2091
+ "name": "constant.character.escape.perl6fe",
2092
+ "match": "\\\\\""
2112
2093
  },
2113
2094
  {
2114
2095
  "include": "#qq_character_escape"
@@ -2119,10 +2100,28 @@
2119
2100
  {
2120
2101
  "include": "#q_double_string_content"
2121
2102
  }
2122
- ]
2103
+ ],
2104
+ "beginCaptures": {
2105
+ "1": {
2106
+ "name": "string.quoted.qq.operator.perl6fe"
2107
+ },
2108
+ "2": {
2109
+ "name": "support.function.quote.adverb.perl6fe"
2110
+ },
2111
+ "3": {
2112
+ "name": "punctuation.definition.string.perl6fe"
2113
+ }
2114
+ },
2115
+ "endCaptures": {
2116
+ "0": {
2117
+ "name": "punctuation.definition.string.perl6fe"
2118
+ }
2119
+ }
2123
2120
  },
2124
2121
  {
2125
- "begin": "(?x) (?<=^|[\\[\\]\\s\\(\\){},;]) (q|qq|Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*([^\\p{Ps}\\p{Pe}\\p{Pi}\\p{Pf}\\w\\s])",
2122
+ "contentName": "string.quoted.q.any.quote.perl6fe",
2123
+ "begin": "(?x) (?\u003c=^|[\\[\\]\\s\\(\\){},;]) (q|qq|Q(?:x|w|ww|v|s|a|h|f|c|b|p)?) ((?: \\s*:(?: x|exec|w|words|ww|quotewords|v|val|q|single|double| s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash| regexp|substr|trans|codes|p|path|nfkc|nfkd ) )*) \\s*([^\\p{Ps}\\p{Pe}\\p{Pi}\\p{Pf}\\w\\s])",
2124
+ "end": "\\3",
2126
2125
  "beginCaptures": {
2127
2126
  "1": {
2128
2127
  "name": "string.quoted.q.operator.perl6fe"
@@ -2134,239 +2133,237 @@
2134
2133
  "name": "punctuation.definition.string.perl6fe"
2135
2134
  }
2136
2135
  },
2137
- "end": "\\3",
2138
2136
  "endCaptures": {
2139
2137
  "0": {
2140
2138
  "name": "punctuation.definition.string.perl6fe"
2141
2139
  }
2142
- },
2143
- "contentName": "string.quoted.q.any.quote.perl6fe"
2140
+ }
2144
2141
  }
2145
2142
  ],
2146
2143
  "repository": {
2147
- "qq_character_escape": {
2144
+ "q_angle_string_content": {
2145
+ "begin": "\u003c",
2146
+ "end": "\\\\\\\\\u003e|(?\u003c!\\\\)\u003e",
2148
2147
  "patterns": [
2149
2148
  {
2150
- "match": "(?x) \\\\[abtnfre\\\\\\{\\}] | \\\\",
2151
- "name": "constant.character.escape.perl6fe"
2149
+ "include": "#q_angle_string_content"
2152
2150
  }
2153
2151
  ]
2154
2152
  },
2155
- "q_right_double_right_double_string_content": {
2156
- "begin": "",
2157
- "end": "",
2153
+ "q_brace_string_content": {
2154
+ "begin": "{",
2155
+ "end": "\\\\\\\\}|(?\u003c!\\\\)}",
2158
2156
  "patterns": [
2159
2157
  {
2160
- "include": "#q_right_double_right_double_string_content"
2158
+ "include": "#q_brace_string_content"
2161
2159
  }
2162
2160
  ]
2163
2161
  },
2164
- "q_triple_paren_string_content": {
2165
- "begin": "\\(\\(\\(",
2166
- "end": "\\\\\\\\\\)\\)\\)|(?<!\\\\)\\)\\)\\)",
2162
+ "q_bracket_string_content": {
2163
+ "begin": "\\[",
2164
+ "end": "\\\\\\\\\\]|(?\u003c!\\\\)\\]",
2167
2165
  "patterns": [
2168
2166
  {
2169
- "include": "#q_triple_paren_string_content"
2167
+ "include": "#q_bracket_string_content"
2170
2168
  }
2171
2169
  ]
2172
2170
  },
2173
- "q_triple_bracket_string_content": {
2174
- "begin": "\\[\\[\\[",
2175
- "end": "\\\\\\\\\\]\\]\\]|(?<!\\\\)\\]\\]\\]",
2171
+ "q_chevron_string_content": {
2172
+ "begin": "«",
2173
+ "end": "\\\\\\\\»|(?\u003c!\\\\)»",
2176
2174
  "patterns": [
2177
2175
  {
2178
- "include": "#q_triple_bracket_string_content"
2176
+ "include": "#q_chevron_string_content"
2179
2177
  }
2180
2178
  ]
2181
2179
  },
2182
- "q_triple_brace_string_content": {
2183
- "begin": "\\{\\{\\{",
2184
- "end": "\\\\\\\\\\}\\}\\}|(?<!\\\\)\\}\\}\\}",
2180
+ "q_double_angle_string_content": {
2181
+ "begin": "\u003c\u003c",
2182
+ "end": "\\\\\\\\\u003e\u003e|(?\u003c!\\\\)\u003e\u003e",
2185
2183
  "patterns": [
2186
2184
  {
2187
- "include": "#q_triple_brace_string_content"
2185
+ "include": "#q_double_angle_string_content"
2188
2186
  }
2189
2187
  ]
2190
2188
  },
2191
- "q_triple_angle_string_content": {
2192
- "begin": "<<<",
2193
- "end": "\\\\\\\\>>>|(?<!\\\\)>>>",
2189
+ "q_double_brace_string_content": {
2190
+ "begin": "{{",
2191
+ "end": "\\\\\\\\}}|(?\u003c!\\\\)}}",
2194
2192
  "patterns": [
2195
2193
  {
2196
- "include": "#q_triple_angle_string_content"
2194
+ "include": "#q_double_brace_string_content"
2197
2195
  }
2198
2196
  ]
2199
2197
  },
2200
- "q_double_angle_string_content": {
2201
- "begin": "<<",
2202
- "end": "\\\\\\\\>>|(?<!\\\\)>>",
2198
+ "q_double_bracket_string_content": {
2199
+ "begin": "\\[\\[",
2200
+ "end": "\\\\\\\\\\]\\]|(?\u003c!\\\\)\\]\\]",
2203
2201
  "patterns": [
2204
2202
  {
2205
- "include": "#q_double_angle_string_content"
2203
+ "include": "#q_double_bracket_string_content"
2206
2204
  }
2207
2205
  ]
2208
2206
  },
2209
2207
  "q_double_paren_string_content": {
2210
2208
  "begin": "\\(\\(",
2211
- "end": "\\\\\\\\\\)\\)|(?<!\\\\)\\)\\)",
2209
+ "end": "\\\\\\\\\\)\\)|(?\u003c!\\\\)\\)\\)",
2212
2210
  "patterns": [
2213
2211
  {
2214
2212
  "include": "#q_double_paren_string_content"
2215
2213
  }
2216
2214
  ]
2217
2215
  },
2218
- "q_double_bracket_string_content": {
2219
- "begin": "\\[\\[",
2220
- "end": "\\\\\\\\\\]\\]|(?<!\\\\)\\]\\]",
2216
+ "q_double_string_content": {
2217
+ "begin": "\"",
2218
+ "end": "\\\\\\\\\"|(?\u003c!\\\\)\"",
2221
2219
  "patterns": [
2222
2220
  {
2223
- "include": "#q_double_bracket_string_content"
2221
+ "include": "#q_double_string_content"
2224
2222
  }
2225
2223
  ]
2226
2224
  },
2227
- "q_double_brace_string_content": {
2228
- "begin": "{{",
2229
- "end": "\\\\\\\\}}|(?<!\\\\)}}",
2225
+ "q_fw_cornerbracket_string_content": {
2226
+ "begin": "",
2227
+ "end": "\\\\\\\\」|(?\u003c!\\\\)",
2230
2228
  "patterns": [
2231
2229
  {
2232
- "include": "#q_double_brace_string_content"
2230
+ "include": "#q_fw_cornerbracket_string_content"
2233
2231
  }
2234
2232
  ]
2235
2233
  },
2236
- "q_brace_string_content": {
2237
- "begin": "{",
2238
- "end": "\\\\\\\\}|(?<!\\\\)}",
2234
+ "q_hw_cornerbracket_string_content": {
2235
+ "begin": "",
2236
+ "end": "\\\\\\\\」|(?\u003c!\\\\)",
2239
2237
  "patterns": [
2240
2238
  {
2241
- "include": "#q_brace_string_content"
2239
+ "include": "#q_hw_cornerbracket_string_content"
2242
2240
  }
2243
2241
  ]
2244
2242
  },
2245
- "q_angle_string_content": {
2246
- "begin": "<",
2247
- "end": "\\\\\\\\>|(?<!\\\\)>",
2243
+ "q_left_double-low-q_right_double_string_content": {
2244
+ "begin": "",
2245
+ "end": "\\\\\\\\”|“|(?\u003c!\\\\)”|“",
2248
2246
  "patterns": [
2249
2247
  {
2250
- "include": "#q_angle_string_content"
2248
+ "include": "#q_left_double-low-q_right_double_string_content"
2251
2249
  }
2252
2250
  ]
2253
2251
  },
2254
- "q_paren_string_content": {
2255
- "begin": "\\(",
2256
- "end": "\\\\\\\\\\)|(?<!\\\\)\\)",
2252
+ "q_left_double_right_double_string_content": {
2253
+ "begin": "",
2254
+ "end": "\\\\\\\\”|(?\u003c!\\\\)",
2257
2255
  "patterns": [
2258
2256
  {
2259
- "include": "#q_paren_string_content"
2257
+ "include": "#q_left_double_right_double_string_content"
2260
2258
  }
2261
2259
  ]
2262
2260
  },
2263
- "q_bracket_string_content": {
2264
- "begin": "\\[",
2265
- "end": "\\\\\\\\\\]|(?<!\\\\)\\]",
2261
+ "q_left_single_right_single_string_content": {
2262
+ "begin": "",
2263
+ "end": "\\\\\\\\’|(?\u003c!\\\\)",
2266
2264
  "patterns": [
2267
2265
  {
2268
- "include": "#q_bracket_string_content"
2266
+ "include": "#q_left_single_right_single_string_content"
2269
2267
  }
2270
2268
  ]
2271
2269
  },
2272
- "q_left_double_right_double_string_content": {
2273
- "begin": "",
2274
- "end": "\\\\\\\\”|(?<!\\\\)",
2270
+ "q_low-q_left_single_string_content": {
2271
+ "begin": "",
2272
+ "end": "\\\\\\\\‘|(?\u003c!\\\\)",
2275
2273
  "patterns": [
2276
2274
  {
2277
- "include": "#q_left_double_right_double_string_content"
2275
+ "include": "#q_low-q_left_single_string_content"
2278
2276
  }
2279
2277
  ]
2280
2278
  },
2281
- "q_left_double-low-q_right_double_string_content": {
2282
- "begin": "",
2283
- "end": "\\\\\\\\”|“|(?<!\\\\)”|“",
2279
+ "q_paren_string_content": {
2280
+ "begin": "\\(",
2281
+ "end": "\\\\\\\\\\)|(?\u003c!\\\\)\\)",
2284
2282
  "patterns": [
2285
2283
  {
2286
- "include": "#q_left_double-low-q_right_double_string_content"
2284
+ "include": "#q_paren_string_content"
2287
2285
  }
2288
2286
  ]
2289
2287
  },
2290
- "q_left_single_right_single_string_content": {
2291
- "begin": "",
2292
- "end": "\\\\\\\\’|(?<!\\\\)’",
2288
+ "q_right_double_right_double_string_content": {
2289
+ "begin": "",
2290
+ "end": "",
2293
2291
  "patterns": [
2294
2292
  {
2295
- "include": "#q_left_single_right_single_string_content"
2293
+ "include": "#q_right_double_right_double_string_content"
2296
2294
  }
2297
2295
  ]
2298
2296
  },
2299
- "q_low-q_left_single_string_content": {
2300
- "begin": "",
2301
- "end": "\\\\\\\\‘|(?<!\\\\)",
2297
+ "q_s-shaped-bag-delimiter_string_content": {
2298
+ "begin": "",
2299
+ "end": "\\\\\\\\⟆|(?\u003c!\\\\)",
2302
2300
  "patterns": [
2303
2301
  {
2304
- "include": "#q_low-q_left_single_string_content"
2302
+ "include": "#q_s-shaped-bag-delimiter_string_content"
2305
2303
  }
2306
2304
  ]
2307
2305
  },
2308
- "q_fw_cornerbracket_string_content": {
2309
- "begin": "",
2310
- "end": "\\\\\\\\」|(?<!\\\\)",
2306
+ "q_single_string_content": {
2307
+ "begin": "'",
2308
+ "end": "\\\\\\\\'|(?\u003c!\\\\)'",
2311
2309
  "patterns": [
2312
2310
  {
2313
- "include": "#q_fw_cornerbracket_string_content"
2311
+ "include": "#q_single_string_content"
2314
2312
  }
2315
2313
  ]
2316
2314
  },
2317
- "q_hw_cornerbracket_string_content": {
2318
- "begin": "",
2319
- "end": "\\\\\\\\」|(?<!\\\\)",
2315
+ "q_slash_string_content": {
2316
+ "begin": "/",
2317
+ "end": "\\\\\\\\/|(?\u003c!\\\\)/",
2320
2318
  "patterns": [
2321
2319
  {
2322
- "include": "#q_hw_cornerbracket_string_content"
2320
+ "include": "#q_slash_string_content"
2323
2321
  }
2324
2322
  ]
2325
2323
  },
2326
- "q_chevron_string_content": {
2327
- "begin": "«",
2328
- "end": "\\\\\\\\»|(?<!\\\\)»",
2324
+ "q_triple_angle_string_content": {
2325
+ "begin": "\u003c\u003c\u003c",
2326
+ "end": "\\\\\\\\\u003e\u003e\u003e|(?\u003c!\\\\)\u003e\u003e\u003e",
2329
2327
  "patterns": [
2330
2328
  {
2331
- "include": "#q_chevron_string_content"
2329
+ "include": "#q_triple_angle_string_content"
2332
2330
  }
2333
2331
  ]
2334
2332
  },
2335
- "q_s-shaped-bag-delimiter_string_content": {
2336
- "begin": "",
2337
- "end": "\\\\\\\\⟆|(?<!\\\\)",
2333
+ "q_triple_brace_string_content": {
2334
+ "begin": "\\{\\{\\{",
2335
+ "end": "\\\\\\\\\\}\\}\\}|(?\u003c!\\\\)\\}\\}\\}",
2338
2336
  "patterns": [
2339
2337
  {
2340
- "include": "#q_s-shaped-bag-delimiter_string_content"
2338
+ "include": "#q_triple_brace_string_content"
2341
2339
  }
2342
2340
  ]
2343
2341
  },
2344
- "q_slash_string_content": {
2345
- "begin": "/",
2346
- "end": "\\\\\\\\/|(?<!\\\\)/",
2342
+ "q_triple_bracket_string_content": {
2343
+ "begin": "\\[\\[\\[",
2344
+ "end": "\\\\\\\\\\]\\]\\]|(?\u003c!\\\\)\\]\\]\\]",
2347
2345
  "patterns": [
2348
2346
  {
2349
- "include": "#q_slash_string_content"
2347
+ "include": "#q_triple_bracket_string_content"
2350
2348
  }
2351
2349
  ]
2352
2350
  },
2353
- "q_single_string_content": {
2354
- "begin": "'",
2355
- "end": "\\\\\\\\'|(?<!\\\\)'",
2351
+ "q_triple_paren_string_content": {
2352
+ "begin": "\\(\\(\\(",
2353
+ "end": "\\\\\\\\\\)\\)\\)|(?\u003c!\\\\)\\)\\)\\)",
2356
2354
  "patterns": [
2357
2355
  {
2358
- "include": "#q_single_string_content"
2356
+ "include": "#q_triple_paren_string_content"
2359
2357
  }
2360
2358
  ]
2361
2359
  },
2362
- "q_double_string_content": {
2363
- "begin": "\"",
2364
- "end": "\\\\\\\\\"|(?<!\\\\)\"",
2360
+ "qq_character_escape": {
2365
2361
  "patterns": [
2366
2362
  {
2367
- "include": "#q_double_string_content"
2363
+ "name": "constant.character.escape.perl6fe",
2364
+ "match": "(?x) \\\\[abtnfre\\\\\\{\\}] | \\\\"
2368
2365
  }
2369
2366
  ]
2370
2367
  }
2371
2368
  }
2372
- }
2369
+ }