github-linguist 7.27.0 → 7.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +313 -294
- data/ext/linguist/lex.linguist_yy.h +5 -4
- data/ext/linguist/tokenizer.l +5 -2
- data/grammars/inline.edgeql.json +1 -0
- data/grammars/inline.hbs.json +1 -0
- data/grammars/inline.template.json +1 -0
- data/grammars/markdown.lean4.codeblock.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -0
- data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
- data/grammars/source.al.json +1 -1
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.cds.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.denizenscript.json +1 -1
- data/grammars/source.dm.json +1 -1
- data/grammars/source.earthfile.json +1 -1
- data/grammars/source.edgeql.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdresource.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.genero-4gl.json +1 -0
- data/grammars/source.genero-per.json +1 -0
- data/grammars/source.gjs.json +1 -0
- data/grammars/source.gsc.json +1 -1
- data/grammars/source.gts.json +1 -0
- data/grammars/source.hcl.json +1 -0
- data/grammars/source.hcl.terraform.json +1 -0
- data/grammars/source.ice.json +1 -0
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean4.json +1 -0
- data/grammars/source.lean4.markdown.json +1 -0
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.meta-info.json +1 -1
- data/grammars/source.nasal.json +1 -1
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.praat.json +1 -0
- data/grammars/source.ql.json +1 -1
- data/grammars/source.raku.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sentinel.json +1 -0
- data/grammars/source.slice.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.textgrid.json +1 -0
- data/grammars/source.toit.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.viml.json +1 -1
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.html.ember-handlebars.json +1 -0
- data/grammars/text.html.statamic.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.tex.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +4 -4
- data/lib/linguist/heuristics.yml +6 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +63 -9
- data/lib/linguist/samples.json +1 -1
- metadata +23 -6
- data/grammars/govulncheck.json +0 -1
- data/grammars/source.dmf.json +0 -1
- data/grammars/source.genero-forms.json +0 -1
- data/grammars/source.genero.json +0 -1
data/grammars/source.ql.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"QL","scopeName":"source.ql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"name":"storage.modifier.abstract.ql","match":"(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))"},"additional":{"name":"storage.modifier.additional.ql","match":"(?x)\\b(?:additional)(?:(?!(?:[0-9A-Za-z_])))"},"and":{"name":"keyword.other.and.ql","match":"(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#additional"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#default"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#signature"},{"include":"#transient"}]},"any":{"name":"keyword.quantifier.any.ql","match":"(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.ql","match":"(?x)\\+|-|\\*|/|%"},"as":{"name":"keyword.other.as.ql","match":"(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))"},"asc":{"name":"keyword.order.asc.ql","match":"(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))"},"at-lower-id":{"match":"(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"avg":{"name":"keyword.aggregate.avg.ql","match":"(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset":{"name":"storage.modifier.bindingset.ql","match":"(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset-annotation":{"name":"meta.block.bindingset-annotation.ql","begin":"(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}}},"bindingset-annotation-body":{"name":"meta.block.bindingset-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"boolean":{"name":"keyword.type.boolean.ql","match":"(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))"},"by":{"name":"keyword.order.by.ql","match":"(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))"},"cached":{"name":"storage.modifier.cached.ql","match":"(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))"},"class":{"name":"keyword.other.class.ql","match":"(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))"},"class-body":{"name":"meta.block.class-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#class-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"class-declaration":{"name":"meta.block.class-declaration.ql","begin":"(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c= \\} | ; )","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.class.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}}},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-brace":{"name":"punctuation.curlybrace.close.ql","match":"(?x)\\}"},"close-bracket":{"name":"punctuation.squarebracket.close.ql","match":"(?x)\\]"},"close-paren":{"name":"punctuation.parenthesis.close.ql","match":"(?x)\\)"},"comma":{"name":"punctuation.separator.comma.ql","match":"(?x),"},"comment":{"patterns":[{"name":"comment.block.documentation.ql","begin":"(?x)/\\*\\*","end":"(?x)\\*/","patterns":[{"begin":"(?x)(?\u003c=/\\*\\*)([^*]|\\*(?!/))*$","while":"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)","patterns":[{"name":"keyword.tag.ql","match":"(?x)\\G\\s* (@\\S+)"}]}]},{"name":"comment.block.ql","begin":"(?x)/\\*","end":"(?x)\\*/"},{"name":"comment.line.double-slash.ql","match":"(?x)//.*$"}]},"comment-start":{"match":"(?x)// | /\\*"},"comparison-operator":{"name":"keyword.operator.comparison.ql","match":"(?x)=|\\!\\="},"concat":{"name":"keyword.aggregate.concat.ql","match":"(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))"},"count":{"name":"keyword.aggregate.count.ql","match":"(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))"},"date":{"name":"keyword.type.date.ql","match":"(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))"},"default":{"name":"storage.modifier.default.ql","match":"(?x)\\b(?:default)(?:(?!(?:[0-9A-Za-z_])))"},"deprecated":{"name":"storage.modifier.deprecated.ql","match":"(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))"},"desc":{"name":"keyword.order.desc.ql","match":"(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))"},"dont-care":{"name":"variable.language.dont-care.ql","match":"(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))"},"dot":{"name":"punctuation.accessor.ql","match":"(?x)\\."},"dotdot":{"name":"punctuation.operator.range.ql","match":"(?x)\\.\\."},"else":{"name":"keyword.other.else.ql","match":"(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))"},"end-of-as-clause":{"match":"(?x)(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"},"end-of-id":{"match":"(?x)(?!(?:[0-9A-Za-z_]))"},"exists":{"name":"keyword.quantifier.exists.ql","match":"(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))"},"expr-as-clause":{"name":"meta.block.expr-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"extends":{"name":"keyword.other.extends.ql","match":"(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))"},"extends-clause":{"name":"meta.block.extends-clause.ql","begin":"(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#extends"}]}}},"external":{"name":"storage.modifier.external.ql","match":"(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))"},"false":{"name":"constant.language.boolean.false.ql","match":"(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))"},"final":{"name":"storage.modifier.final.ql","match":"(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))"},"float":{"name":"keyword.type.float.ql","match":"(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))"},"float-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+\\.[0-9]+(?![0-9])"},"forall":{"name":"keyword.quantifier.forall.ql","match":"(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))"},"forex":{"name":"keyword.quantifier.forex.ql","match":"(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))"},"from":{"name":"keyword.other.from.ql","match":"(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))"},"from-section":{"name":"meta.block.from-section.ql","begin":"(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#from"}]}}},"id-character":{"match":"(?x)[0-9A-Za-z_]"},"if":{"name":"keyword.other.if.ql","match":"(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))"},"implements":{"name":"keyword.other.implements.ql","match":"(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))"},"implements-clause":{"name":"meta.block.implements-clause.ql","begin":"(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#implements"}]}}},"implies":{"name":"keyword.other.implies.ql","match":"(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))"},"import":{"name":"keyword.other.import.ql","match":"(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))"},"import-as-clause":{"name":"meta.block.import-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"import-directive":{"name":"meta.block.import-directive.ql","begin":"(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?!\\s*(\\.|\\:\\:))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#import"}]}},"endCaptures":{"0":{"name":"entity.name.type.namespace.ql"}}},"in":{"name":"keyword.other.in.ql","match":"(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))"},"instanceof":{"name":"keyword.other.instanceof.ql","match":"(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))"},"int":{"name":"keyword.type.int.ql","match":"(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))"},"int-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+(?![0-9])"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#unique"},{"include":"#where"}]},"language":{"name":"storage.modifier.language.ql","match":"(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))"},"language-annotation":{"name":"meta.block.language-annotation.ql","begin":"(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#language"}]}}},"language-annotation-body":{"name":"meta.block.language-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"storage.modifier.ql","match":"(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"library":{"name":"storage.modifier.library.ql","match":"(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"max":{"name":"keyword.aggregate.max.ql","match":"(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))"},"min":{"name":"keyword.aggregate.min.ql","match":"(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))"},"module":{"name":"keyword.other.module.ql","match":"(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))"},"module-body":{"name":"meta.block.module-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#module-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"module-declaration":{"name":"meta.block.module-declaration.ql","begin":"(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#module-body"},{"include":"#implements-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#module"}]}}},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#newtype-declaration"},{"include":"#newtype-branch-name-with-prefix"},{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)"},"newtype":{"name":"keyword.other.newtype.ql","match":"(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))"},"newtype-branch-name-with-prefix":{"name":"meta.block.newtype-branch-name-with-prefix.ql","begin":"(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"0":{"patterns":[{"include":"#or"},{"include":"#comparison-operator"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"newtype-declaration":{"name":"meta.block.newtype-declaration.ql","begin":"(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"name":"keyword.quantifier.none.ql","match":"(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))"},"not":{"name":"keyword.other.not.ql","match":"(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))"},"open-brace":{"name":"punctuation.curlybrace.open.ql","match":"(?x)\\{"},"open-bracket":{"name":"punctuation.squarebracket.open.ql","match":"(?x)\\["},"open-paren":{"name":"punctuation.parenthesis.open.ql","match":"(?x)\\("},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"}]},"or":{"name":"keyword.other.or.ql","match":"(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))"},"order":{"name":"keyword.order.order.ql","match":"(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))"},"override":{"name":"storage.modifier.override.ql","match":"(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))"},"pipe":{"name":"punctuation.separator.pipe.ql","match":"(?x)\\|"},"pragma":{"name":"storage.modifier.pragma.ql","match":"(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))"},"pragma-annotation":{"name":"meta.block.pragma-annotation.ql","begin":"(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}}},"pragma-annotation-body":{"name":"meta.block.pragma-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"name":"storage.modifier.ql","match":"(?x)\\b(?:inline|noinline|nomagic|noopt)\\b"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"predicate":{"name":"keyword.other.predicate.ql","match":"(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))"},"predicate-body":{"name":"meta.block.predicate-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()"},{"name":"variable.other.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-or-field-declaration":{"name":"meta.block.predicate-or-field-declaration.ql","begin":"(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:additional)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:default)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"variable.field.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-parameter-list":{"name":"meta.block.predicate-parameter-list.ql","begin":"(?x)((?:\\())","end":"(?x)((?:\\)))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}}},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"name":"storage.modifier.private.ql","match":"(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))"},"query":{"name":"storage.modifier.query.ql","match":"(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))"},"rank":{"name":"keyword.aggregate.rank.ql","match":"(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))"},"relational-operator":{"name":"keyword.operator.relational.ql","match":"(?x)\u003c=|\u003c|\u003e=|\u003e"},"result":{"name":"variable.language.result.ql","match":"(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))"},"select":{"name":"keyword.query.select.ql","match":"(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))"},"select-as-clause":{"match":"(?x)meta.block.select-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"select-clause":{"name":"meta.block.select-clause.ql","begin":"(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"name":"meta.block.select-section.ql","begin":"(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=\\n)","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}],"beginCaptures":{"1":{"patterns":[{"include":"#select"}]}}},"semicolon":{"name":"punctuation.separator.statement.ql","match":"(?x);"},"signature":{"name":"storage.modifier.signature.ql","match":"(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))"},"simple-id":{"match":"(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"strictconcat":{"name":"keyword.aggregate.strictconcat.ql","match":"(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))"},"strictcount":{"name":"keyword.aggregate.strictcount.ql","match":"(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))"},"strictsum":{"name":"keyword.aggregate.strictsum.ql","match":"(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))"},"string":{"name":"keyword.type.string.ql","match":"(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))"},"string-escape":{"name":"constant.character.escape.ql","match":"(?x)\\\\[\"\\\\nrt]"},"string-literal":{"name":"string.quoted.double.ql","begin":"(?x)\"","end":"(?x)(\") | ((?:[^\\\\\\n])$)","patterns":[{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}}},"sum":{"name":"keyword.aggregate.sum.ql","match":"(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))"},"super":{"name":"variable.language.super.ql","match":"(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))"},"then":{"name":"keyword.other.then.ql","match":"(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))"},"this":{"name":"variable.language.this.ql","match":"(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))"},"transient":{"name":"storage.modifier.transient.ql","match":"(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))"},"true":{"name":"constant.language.boolean.true.ql","match":"(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))"},"unique":{"name":"keyword.aggregate.unique.ql","match":"(?x)\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))"},"upper-id":{"match":"(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"where":{"name":"keyword.query.where.ql","match":"(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))"},"where-section":{"name":"meta.block.where-section.ql","begin":"(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#where"}]}}},"whitespace-or-comment-start":{"match":"(?x)\\s | $ | (?:// | /\\*)"}}}
|
1
|
+
{"name":"QL","scopeName":"source.ql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"name":"storage.modifier.abstract.ql","match":"(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))"},"additional":{"name":"storage.modifier.additional.ql","match":"(?x)\\b(?:additional)(?:(?!(?:[0-9A-Za-z_])))"},"and":{"name":"keyword.other.and.ql","match":"(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#additional"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#default"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#signature"},{"include":"#transient"}]},"any":{"name":"keyword.quantifier.any.ql","match":"(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.ql","match":"(?x)\\+|-|\\*|/|%"},"as":{"name":"keyword.other.as.ql","match":"(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))"},"asc":{"name":"keyword.order.asc.ql","match":"(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))"},"at-lower-id":{"match":"(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"avg":{"name":"keyword.aggregate.avg.ql","match":"(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset":{"name":"storage.modifier.bindingset.ql","match":"(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset-annotation":{"name":"meta.block.bindingset-annotation.ql","begin":"(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}}},"bindingset-annotation-body":{"name":"meta.block.bindingset-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"boolean":{"name":"keyword.type.boolean.ql","match":"(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))"},"by":{"name":"keyword.order.by.ql","match":"(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))"},"cached":{"name":"storage.modifier.cached.ql","match":"(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))"},"class":{"name":"keyword.other.class.ql","match":"(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))"},"class-body":{"name":"meta.block.class-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#class-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"class-declaration":{"name":"meta.block.class-declaration.ql","begin":"(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c= \\} | ; )","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.class.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}}},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-angle":{"name":"punctuation.anglebracket.close.ql","match":"(?x)\u003e"},"close-brace":{"name":"punctuation.curlybrace.close.ql","match":"(?x)\\}"},"close-bracket":{"name":"punctuation.squarebracket.close.ql","match":"(?x)\\]"},"close-paren":{"name":"punctuation.parenthesis.close.ql","match":"(?x)\\)"},"comma":{"name":"punctuation.separator.comma.ql","match":"(?x),"},"comment":{"patterns":[{"name":"comment.block.documentation.ql","begin":"(?x)/\\*\\*","end":"(?x)\\*/","patterns":[{"begin":"(?x)(?\u003c=/\\*\\*)([^*]|\\*(?!/))*$","while":"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)","patterns":[{"name":"keyword.tag.ql","match":"(?x)\\G\\s* (@\\S+)"}]}]},{"name":"comment.block.ql","begin":"(?x)/\\*","end":"(?x)\\*/"},{"name":"comment.line.double-slash.ql","match":"(?x)//.*$"}]},"comment-start":{"match":"(?x)// | /\\*"},"comparison-operator":{"name":"keyword.operator.comparison.ql","match":"(?x)=|\\!\\="},"concat":{"name":"keyword.aggregate.concat.ql","match":"(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))"},"count":{"name":"keyword.aggregate.count.ql","match":"(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))"},"date":{"name":"keyword.type.date.ql","match":"(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))"},"default":{"name":"storage.modifier.default.ql","match":"(?x)\\b(?:default)(?:(?!(?:[0-9A-Za-z_])))"},"deprecated":{"name":"storage.modifier.deprecated.ql","match":"(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))"},"desc":{"name":"keyword.order.desc.ql","match":"(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))"},"dont-care":{"name":"variable.language.dont-care.ql","match":"(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))"},"dot":{"name":"punctuation.accessor.ql","match":"(?x)\\."},"dotdot":{"name":"punctuation.operator.range.ql","match":"(?x)\\.\\."},"else":{"name":"keyword.other.else.ql","match":"(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))"},"end-of-as-clause":{"match":"(?x)(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"},"end-of-id":{"match":"(?x)(?!(?:[0-9A-Za-z_]))"},"exists":{"name":"keyword.quantifier.exists.ql","match":"(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))"},"expr-as-clause":{"name":"meta.block.expr-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"extends":{"name":"keyword.other.extends.ql","match":"(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))"},"extends-clause":{"name":"meta.block.extends-clause.ql","begin":"(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#extends"}]}}},"external":{"name":"storage.modifier.external.ql","match":"(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))"},"false":{"name":"constant.language.boolean.false.ql","match":"(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))"},"final":{"name":"storage.modifier.final.ql","match":"(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))"},"float":{"name":"keyword.type.float.ql","match":"(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))"},"float-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+\\.[0-9]+(?![0-9])"},"forall":{"name":"keyword.quantifier.forall.ql","match":"(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))"},"forex":{"name":"keyword.quantifier.forex.ql","match":"(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))"},"from":{"name":"keyword.other.from.ql","match":"(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))"},"from-section":{"name":"meta.block.from-section.ql","begin":"(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#from"}]}}},"id-character":{"match":"(?x)[0-9A-Za-z_]"},"if":{"name":"keyword.other.if.ql","match":"(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))"},"implements":{"name":"keyword.other.implements.ql","match":"(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))"},"implements-clause":{"name":"meta.block.implements-clause.ql","begin":"(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#implements"}]}}},"implies":{"name":"keyword.other.implies.ql","match":"(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))"},"import":{"name":"keyword.other.import.ql","match":"(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))"},"import-as-clause":{"name":"meta.block.import-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"import-directive":{"name":"meta.block.import-directive.ql","begin":"(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c!\\bimport)(?\u003c=(?:\\\u003e)|[A-Za-z0-9_]) (?!\\s*(\\.|\\:\\:|\\,|(?:\u003c)))","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#import"}]}}},"in":{"name":"keyword.other.in.ql","match":"(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))"},"instanceof":{"name":"keyword.other.instanceof.ql","match":"(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))"},"instantiation-args":{"name":"meta.type.parameters.ql","begin":"(?x)((?:\u003c))","end":"(?x)((?:\u003e))","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-angle"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-angle"}]}}},"int":{"name":"keyword.type.int.ql","match":"(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))"},"int-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+(?![0-9])"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#unique"},{"include":"#where"}]},"language":{"name":"storage.modifier.language.ql","match":"(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))"},"language-annotation":{"name":"meta.block.language-annotation.ql","begin":"(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#language"}]}}},"language-annotation-body":{"name":"meta.block.language-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"storage.modifier.ql","match":"(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"library":{"name":"storage.modifier.library.ql","match":"(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"max":{"name":"keyword.aggregate.max.ql","match":"(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))"},"min":{"name":"keyword.aggregate.min.ql","match":"(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))"},"module":{"name":"keyword.other.module.ql","match":"(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))"},"module-body":{"name":"meta.block.module-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#module-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"module-declaration":{"name":"meta.block.module-declaration.ql","begin":"(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#module-body"},{"include":"#implements-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#module"}]}}},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#newtype-declaration"},{"include":"#newtype-branch-name-with-prefix"},{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)"},"newtype":{"name":"keyword.other.newtype.ql","match":"(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))"},"newtype-branch-name-with-prefix":{"name":"meta.block.newtype-branch-name-with-prefix.ql","begin":"(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"0":{"patterns":[{"include":"#or"},{"include":"#comparison-operator"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"newtype-declaration":{"name":"meta.block.newtype-declaration.ql","begin":"(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"name":"keyword.quantifier.none.ql","match":"(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))"},"not":{"name":"keyword.other.not.ql","match":"(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))"},"open-angle":{"name":"punctuation.anglebracket.open.ql","match":"(?x)\u003c"},"open-brace":{"name":"punctuation.curlybrace.open.ql","match":"(?x)\\{"},"open-bracket":{"name":"punctuation.squarebracket.open.ql","match":"(?x)\\["},"open-paren":{"name":"punctuation.parenthesis.open.ql","match":"(?x)\\("},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"},{"include":"#open-angle"},{"include":"#close-angle"}]},"or":{"name":"keyword.other.or.ql","match":"(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))"},"order":{"name":"keyword.order.order.ql","match":"(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))"},"override":{"name":"storage.modifier.override.ql","match":"(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))"},"pipe":{"name":"punctuation.separator.pipe.ql","match":"(?x)\\|"},"pragma":{"name":"storage.modifier.pragma.ql","match":"(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))"},"pragma-annotation":{"name":"meta.block.pragma-annotation.ql","begin":"(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}}},"pragma-annotation-body":{"name":"meta.block.pragma-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"name":"storage.modifier.ql","match":"(?x)\\b(?:inline|noinline|nomagic|noopt)\\b"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"predicate":{"name":"keyword.other.predicate.ql","match":"(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))"},"predicate-body":{"name":"meta.block.predicate-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()"},{"name":"variable.other.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-or-field-declaration":{"name":"meta.block.predicate-or-field-declaration.ql","begin":"(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:additional)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:default)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"variable.field.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-parameter-list":{"name":"meta.block.predicate-parameter-list.ql","begin":"(?x)((?:\\())","end":"(?x)((?:\\)))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}}},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"name":"storage.modifier.private.ql","match":"(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))"},"query":{"name":"storage.modifier.query.ql","match":"(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))"},"rank":{"name":"keyword.aggregate.rank.ql","match":"(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))"},"relational-operator":{"name":"keyword.operator.relational.ql","match":"(?x)\u003c=|\u003c|\u003e=|\u003e"},"result":{"name":"variable.language.result.ql","match":"(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))"},"select":{"name":"keyword.query.select.ql","match":"(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))"},"select-as-clause":{"match":"(?x)meta.block.select-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"select-clause":{"name":"meta.block.select-clause.ql","begin":"(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"name":"meta.block.select-section.ql","begin":"(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=\\n)","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}],"beginCaptures":{"1":{"patterns":[{"include":"#select"}]}}},"semicolon":{"name":"punctuation.separator.statement.ql","match":"(?x);"},"signature":{"name":"storage.modifier.signature.ql","match":"(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))"},"simple-id":{"match":"(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"strictconcat":{"name":"keyword.aggregate.strictconcat.ql","match":"(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))"},"strictcount":{"name":"keyword.aggregate.strictcount.ql","match":"(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))"},"strictsum":{"name":"keyword.aggregate.strictsum.ql","match":"(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))"},"string":{"name":"keyword.type.string.ql","match":"(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))"},"string-escape":{"name":"constant.character.escape.ql","match":"(?x)\\\\[\"\\\\nrt]"},"string-literal":{"name":"string.quoted.double.ql","begin":"(?x)\"","end":"(?x)(\") | ((?:[^\\\\\\n])$)","patterns":[{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}}},"sum":{"name":"keyword.aggregate.sum.ql","match":"(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))"},"super":{"name":"variable.language.super.ql","match":"(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))"},"then":{"name":"keyword.other.then.ql","match":"(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))"},"this":{"name":"variable.language.this.ql","match":"(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))"},"transient":{"name":"storage.modifier.transient.ql","match":"(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))"},"true":{"name":"constant.language.boolean.true.ql","match":"(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))"},"unique":{"name":"keyword.aggregate.unique.ql","match":"(?x)\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))"},"upper-id":{"match":"(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"where":{"name":"keyword.query.where.ql","match":"(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))"},"where-section":{"name":"meta.block.where-section.ql","begin":"(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#where"}]}}},"whitespace-or-comment-start":{"match":"(?x)\\s | $ | (?:// | /\\*)"}}}
|
data/grammars/source.raku.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Raku","scopeName":"source.raku","patterns":[{"contentName":"comment.block.finish.raku","begin":"^\\s*(=)(finish)","patterns":[{"include":"#comment-block-syntax"}],"beginCaptures":{"1":{"name":"storage.modifier.block.finish.raku"},"2":{"name":"keyword.operator.block.finish.raku"}}},{"include":"#comment-block-delimited"},{"contentName":"comment.block.paragraph.raku","begin":"^\\s*(=)(?:(para)|(for)\\s+(\\w+))","end":"(?=^\\s*$|^\\s*=\\w+.*$)","patterns":[{"include":"#comment-block-syntax"}],"beginCaptures":{"1":{"name":"storage.modifier.block.paragraph.raku"},"2":{"name":"keyword.operator.block.paragraph.raku"},"3":{"name":"entity.other.attribute-name.paragraph.raku"}}},{"include":"#comment-block-abbreviated"},{"name":"meta.documentation.block.declarator.raku","match":"^\\s*(#)([\\|\\=])(.*)\\n","captures":{"1":{"name":"comment.punctuation.pound.raku"},"2":{"name":"meta.declarator.raku"},"3":{"name":"comment.inline.declarator.raku"}}},{"name":"comment.multiline.hash-tick.triple_paren.raku","begin":"\\s*#`\\(\\(\\(","end":"\\)\\)\\)","patterns":[{"name":"comment.internal.triple_paren.raku","begin":"\\(\\(\\(","end":"\\)\\)\\)"}]},{"name":"comment.multiline.hash-tick.triple_bracket.raku","begin":"\\s*#`\\[\\[\\[","end":"\\]\\]\\]","patterns":[{"name":"comment.internal.triple_bracket.raku","begin":"\\[\\[\\[","end":"\\]\\]\\]"}]},{"name":"comment.multiline.hash-tick.triple_brace.raku","begin":"\\s*#`\\{\\{\\{","end":"\\}\\}\\}","patterns":[{"name":"comment.internal.triple_brace.raku","begin":"\\{\\{\\{","end":"\\}\\}\\}"}]},{"name":"comment.multiline.hash-tick.triple_angle.raku","begin":"\\s*#`\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"name":"comment.internal.triple_angle.raku","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e"}]},{"name":"comment.multiline.hash-tick.double_angle.raku","begin":"\\s*#`\u003c\u003c","end":"\u003e\u003e","patterns":[{"name":"comment.internal.double_angle.raku","begin":"\u003c\u003c","end":"\u003e\u003e"}]},{"name":"comment.multiline.hash-tick.double_paren.raku","begin":"\\s*#`\\(\\(","end":"\\)\\)","patterns":[{"name":"comment.internal.double_paren.raku","begin":"\\(\\(","end":"\\)\\)"}]},{"name":"comment.multiline.hash-tick.double_bracket.raku","begin":"\\s*#`\\[\\[","end":"\\]\\]","patterns":[{"name":"comment.internal.double_bracket.raku","begin":"\\[\\[","end":"\\]\\]"}]},{"name":"comment.multiline.hash-tick.double_brace.raku","begin":"\\s*#`{{","end":"}}","patterns":[{"name":"comment.internal.double_brace.raku","begin":"{{","end":"}}"}]},{"name":"comment.multiline.hash-tick.brace.raku","begin":"\\s*#`{","end":"}","patterns":[{"name":"comment.internal.brace.raku","begin":"{","end":"}"}]},{"name":"comment.multiline.hash-tick.angle.raku","begin":"\\s*#`\u003c","end":"\u003e","patterns":[{"name":"comment.internal.angle.raku","begin":"\u003c","end":"\u003e"}]},{"name":"comment.multiline.hash-tick.paren.raku","begin":"\\s*#`\\(","end":"\\)","patterns":[{"name":"comment.internal.paren.raku","begin":"\\(","end":"\\)"}]},{"name":"comment.multiline.hash-tick.bracket.raku","begin":"\\s*#`\\[","end":"\\]","patterns":[{"name":"comment.internal.bracket.raku","begin":"\\[","end":"\\]"}]},{"name":"comment.multiline.hash-tick.left_double_right_double.raku","begin":"\\s*#`“","end":"”","patterns":[{"name":"comment.internal.left_double_right_double.raku","begin":"“","end":"”"}]},{"name":"comment.multiline.hash-tick.left_double-low-q_right_double.raku","begin":"\\s*#`„","end":"”|“","patterns":[{"name":"comment.internal.left_double-low-q_right_double.raku","begin":"„","end":"”|“"}]},{"name":"comment.multiline.hash-tick.left_single_right_single.raku","begin":"\\s*#`‘","end":"’","patterns":[{"name":"comment.internal.left_single_right_single.raku","begin":"‘","end":"’"}]},{"name":"comment.multiline.hash-tick.low-q_left_single.raku","begin":"\\s*#`‚","end":"‘","patterns":[{"name":"comment.internal.low-q_left_single.raku","begin":"‚","end":"‘"}]},{"name":"comment.multiline.hash-tick.fw_cornerbracket.raku","begin":"\\s*#`「","end":"」","patterns":[{"name":"comment.internal.fw_cornerbracket.raku","begin":"「","end":"」"}]},{"name":"comment.multiline.hash-tick.hw_cornerbracket.raku","begin":"\\s*#`「","end":"」","patterns":[{"name":"comment.internal.hw_cornerbracket.raku","begin":"「","end":"」"}]},{"name":"comment.multiline.hash-tick.chevron.raku","begin":"\\s*#`«","end":"»","patterns":[{"name":"comment.internal.chevron.raku","begin":"«","end":"»"}]},{"name":"comment.multiline.hash-tick.s-shaped-bag-delimiter.raku","begin":"\\s*#`⟅","end":"⟆","patterns":[{"name":"comment.internal.s-shaped-bag-delimiter.raku","begin":"⟅","end":"⟆"}]},{"name":"string.quoted.left_double_right_double.raku","begin":"“","end":"”","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[“”abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_left_double_right_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.left_double-low-q_right_double.raku","begin":"„","end":"”|“","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[„”|“abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_left_double-low-q_right_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.single.left_single_right_single.raku","begin":"(?\u003c=\\W|^)‘","end":"’","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[‘’\\\\]"},{"include":"source.quoting.raku#q_left_single_right_single_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.single.low-q_left_single.raku","begin":"(?\u003c=\\W|^)‚","end":"‘","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[‚‘\\\\]"},{"include":"source.quoting.raku#q_low-q_left_single_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.single.single.raku","begin":"(?\u003c=\\W|^)'","end":"'","patterns":[{"name":"constant.character.escape.raku","match":"\\\\['\\\\]"},{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.double.raku","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[\"abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.right_double_right_double.raku","begin":"”","end":"”","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[”abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_right_double_right_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.raku","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.raku"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.raku"}}},{"name":"keyword.operator.setbagmix.raku","match":"(?x) \\x{2208}|\\(elem\\)|\\x{2209}|\\!\\(elem\\)| \\x{220B}|\\(cont\\)|\\x{220C}|\\!\\(cont\\)| \\x{2286}|\\(\u003c=\\) |\\x{2288}|\\!\\(\u003c=\\) | \\x{2282}|\\(\u003c\\) |\\x{2284}|\\!\\(\u003c\\) | \\x{2287}|\\(\u003e=\\) |\\x{2289}|\\!\\(\u003e=\\) | \\x{2283}|\\(\u003e\\) |\\x{2285}|\\!\\(\u003e\\) | \\x{227C}|\\(\u003c\\+\\)|\\x{227D}|\\(\u003e\\+\\) | \\x{222A}|\\(\\|\\) |\\x{2229}|\\(\u0026\\) | \\x{2216}|\\(\\-\\) |\\x{2296}|\\(\\^\\) | \\x{228D}|\\(\\.\\) |\\x{228E}|\\(\\+\\)"},{"name":"meta.class.raku","match":"(?x) ( class|enum|grammar|knowhow|module| package|role|slang|subset|monitor|actor ) (\\s+) ( ( (?:::|')? (?: ([a-zA-Z_À-ÿ\\$]) ([a-zA-Z0-9_À-ÿ\\$]|[\\-'][a-zA-Z0-9_À-ÿ\\$])* ) )+ )","captures":{"1":{"name":"storage.type.class.raku"},"3":{"name":"entity.name.type.class.raku"}}},{"include":"#p5_regex"},{"match":"(?x)\n(?\u003c=\n ^\n | ^\\s\n | [\\s\\(] [^\\p{Nd}\\p{L}]\n | ~~\\s|~~\\s\\s|match\\(\n | match:\\s\n)\n([/]) # Solidus\n(.*?) # Regex contents\n(?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (/) # Ending","captures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"string.regexp.raku","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}]},"3":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"string.regexp.raku","begin":"(?x)\n(?\u003c= [=,(\\[]|when|=\u003e|~~) \\s*\n(?:\n (m|rx|s)?\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([/]) # Solidus","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\)|(?\u003c!')|(?\u003c=\\\\ ') ) (/)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"fstring.regexp.raku","begin":"(?x)\n(?\u003c= ^|[=,(\\[~]|when|=\u003e ) \\s*\n(?:\n (m|rx|s)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([{]) # Left curly brace","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"string.regexp.raku","begin":"(?\u003c![\\w\\/])(m|rx)((?:\\s*:\\w+)*)\\s*(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"string.regexp.raku","begin":"(?\u003c![\\w\\/])(m|rx)((?:\\s*:\\w+)*)\\s*(\\[)","end":"(?\u003c!\\\\)(\\])","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"name":"string.quoted.single.raku","begin":"(?\u003c=\\W|^)「","end":"」","patterns":[{"include":"source.quoting.raku#q_hw_cornerbracket_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"contentName":"string.regexp.slash.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(/)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (/)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.slash.raku"},"2":{"name":"entity.name.section.adverb.regexp.slash.raku"},"3":{"name":"punctuation.definition.regexp.slash.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.slash.raku"}}},{"contentName":"string.regexp.brace.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n({)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.brace.raku"},"2":{"name":"entity.name.section.adverb.regexp.brace.raku"},"3":{"name":"punctuation.definition.regexp.brace.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.brace.raku"}}},{"contentName":"string.regexp.angle.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(\u003c)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\u003e)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.angle.raku"},"2":{"name":"entity.name.section.adverb.regexp.angle.raku"},"3":{"name":"punctuation.definition.regexp.angle.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.angle.raku"}}},{"contentName":"string.regexp.paren.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(\\()","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\))","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.paren.raku"},"2":{"name":"entity.name.section.adverb.regexp.paren.raku"},"3":{"name":"punctuation.definition.regexp.paren.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.paren.raku"}}},{"contentName":"string.regexp.bracket.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(\\[)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\])","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.bracket.raku"},"2":{"name":"entity.name.section.adverb.regexp.bracket.raku"},"3":{"name":"punctuation.definition.regexp.bracket.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.bracket.raku"}}},{"contentName":"string.regexp.left_double_right_double.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(“)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (”)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.left_double_right_double.raku"},"2":{"name":"entity.name.section.adverb.regexp.left_double_right_double.raku"},"3":{"name":"punctuation.definition.regexp.left_double_right_double.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.left_double_right_double.raku"}}},{"contentName":"string.regexp.left_double-low-q_right_double.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(„)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (”|“)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.left_double-low-q_right_double.raku"},"2":{"name":"entity.name.section.adverb.regexp.left_double-low-q_right_double.raku"},"3":{"name":"punctuation.definition.regexp.left_double-low-q_right_double.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.left_double-low-q_right_double.raku"}}},{"contentName":"string.regexp.left_single_right_single.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(‘)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (’)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.left_single_right_single.raku"},"2":{"name":"entity.name.section.adverb.regexp.left_single_right_single.raku"},"3":{"name":"punctuation.definition.regexp.left_single_right_single.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.left_single_right_single.raku"}}},{"contentName":"string.regexp.low-q_left_single.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(‚)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (‘)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.low-q_left_single.raku"},"2":{"name":"entity.name.section.adverb.regexp.low-q_left_single.raku"},"3":{"name":"punctuation.definition.regexp.low-q_left_single.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.low-q_left_single.raku"}}},{"contentName":"string.regexp.fw_cornerbracket.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(「)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (」)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.fw_cornerbracket.raku"},"2":{"name":"entity.name.section.adverb.regexp.fw_cornerbracket.raku"},"3":{"name":"punctuation.definition.regexp.fw_cornerbracket.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.fw_cornerbracket.raku"}}},{"contentName":"string.regexp.hw_cornerbracket.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(「)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (」)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.hw_cornerbracket.raku"},"2":{"name":"entity.name.section.adverb.regexp.hw_cornerbracket.raku"},"3":{"name":"punctuation.definition.regexp.hw_cornerbracket.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.hw_cornerbracket.raku"}}},{"contentName":"string.regexp.chevron.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(«)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (»)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.chevron.raku"},"2":{"name":"entity.name.section.adverb.regexp.chevron.raku"},"3":{"name":"punctuation.definition.regexp.chevron.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.chevron.raku"}}},{"contentName":"string.regexp.s-shaped-bag-delimiter.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(⟅)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (⟆)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.s-shaped-bag-delimiter.raku"},"2":{"name":"entity.name.section.adverb.regexp.s-shaped-bag-delimiter.raku"},"3":{"name":"punctuation.definition.regexp.s-shaped-bag-delimiter.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.s-shaped-bag-delimiter.raku"}}},{"contentName":"string.regexp.any.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n([^#\\p{Ps}\\p{Pe}\\p{Pi}\\p{Pf}\\w'\\-\u003c\u003e\\-\\]\\)\\}\\{])","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\3)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.any.raku"},"2":{"name":"entity.name.section.adverb.regexp.any.raku"},"3":{"name":"punctuation.definition.regexp.any.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.any.raku"}}},{"include":"#shellquotes"},{"name":"string.quoted.heredoc.raku","begin":"(?x) (?: ( qq|qqx|qqw ) \\s* ( (?:\\s*:\\w+)*\\s*: (?: to|heredoc ) )\\s* | (qqto) \\s* ( (?:\\s*:\\w+)* )\\s* ) / (\\S+) /","end":"\\s*\\5","patterns":[{"name":"meta.heredoc.continuation.raku","begin":"(?\u003c=/)","end":"\\n","patterns":[{"include":"$self"}]},{"begin":"^","end":"$","patterns":[{"include":"#interpolation"}]},{"name":"string.quoted.qq.heredoc.raku","match":"(?x) ^ (?: . | \\n )* $"}],"beginCaptures":{"1":{"name":"string.quoted.construct.raku"},"2":{"name":"support.function.adverb.raku"},"3":{"name":"string.quoted.construct.raku"},"4":{"name":"support.function.adverb.raku"},"5":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}},"endCaptures":{"0":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}}},{"name":"meta.heredoc.raku","begin":"(?x) (?: ( [qQ](?!/)|qw|qww|qx|qqx ) \\s* ( (?:\\s*:\\w+)*\\s*: (?: to|heredoc ) )\\s* | (qto|Qto) \\s* ( (?:\\s*:\\w+)* )\\s* ) / (\\S+) /","end":"\\s*\\5","patterns":[{"name":"meta.heredoc.continuation.raku","begin":"(?\u003c=/)","end":"\\n","patterns":[{"include":"$self"}]},{"name":"string.quoted.q.heredoc.raku","match":"(?x) ^ (?: . | \\n )* $"}],"beginCaptures":{"1":{"name":"string.quoted.construct.raku"},"2":{"name":"support.function.adverb.raku"},"3":{"name":"string.quoted.construct.raku"},"4":{"name":"support.function.adverb.raku"},"5":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}},"endCaptures":{"0":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}}},{"include":"source.quoting.raku"},{"include":"#variables"},{"begin":"(?x) (?\u003c![%$\u0026@]|\\w) (?: (multi|proto) \\s+ )? (macro|sub|submethod|method|multi|only|category) \\s+ (!)? ( [^\\s(){}]+ )","end":"(?=[\\(\\{\\s])","beginCaptures":{"1":{"name":"storage.type.declarator.multi.raku"},"2":{"name":"storage.type.declarator.type.raku"},"3":{"name":"support.class.method.private.raku"},"4":{"patterns":[{"match":"(?x) ( [\\p{Nd}\\pL\\pM'\\-_]+ ) \\b (:)? (\\w+ \\b )? (\\S+ )?","captures":{"1":{"name":"entity.name.function.raku"},"2":{"name":"punctuation.definition.function.adverb.raku"},"3":{"name":"support.type.class.adverb.raku"},"4":{"patterns":[{"include":"$self"}]}}}]}}},{"name":"meta.regexp.named.raku","begin":"(?\u003c![\\.:])(regex|rule|token)(?!\\s*=\u003e|\\S)","end":"(?\u003c!\\\\)\\}","patterns":[{"name":"entity.name.function.regexp.named.TOP.raku","match":"TOP"},{"name":"entity.name.function.regexp.named.raku","match":"[\\p{Nd}\\pL\\pM'\\-_]+"},{"name":"meta.regexp.named.adverb.raku","match":"(:)(\\w+)","captures":{"1":{"name":"punctuation.definition.regexp.adverb.raku"},"2":{"name":"support.type.class.adverb.raku"}}},{"contentName":"string.array.words.raku","begin":"\u003c","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( \u003e ) (?=[\\s\\{])"},{"contentName":"string.array.words.chevron.raku","begin":"«","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( » ) (?=[\\s\\{])"},{"name":"meta.regexp.named.signature.raku","begin":"\\(","end":"(?\u003c!\\\\)\\)","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.definition.regexp.named.signature.perlfe"}}},{"name":"meta.regexp.named.block.raku","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"captures":{"0":{"name":"punctuation.definition.regex.named.raku"}}}],"beginCaptures":{"1":{"name":"storage.type.declare.regexp.named.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.regexp.named.raku"}}},{"name":"variable.language.raku","match":"\\b(?\u003c![\\-:])(self)(?!\\-)\\b"},{"name":"keyword.other.include.raku","match":"\\b(?\u003c![\\-:])(use|require|no|need)(?!\\-)\\b"},{"name":"keyword.control.conditional.raku","match":"(?x)\\b(?\u003c![\\-:])( if|else|elsif|unless|with|orwith|without )(?!\\-)\\b"},{"name":"storage.modifier.declarator.raku","match":"\\b(?\u003c![\\-:])(let|my|our|state|temp|has|constant)(?!\\-)\\b"},{"contentName":"string.array.words.raku","begin":"(?x) (?\u003c= = | for ) \\s* ( \u003c )","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( \u003e )","patterns":[{"include":"source.quoting.raku#q_bracket_string_content"}],"beginCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}},"endCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}}},{"name":"storage.modifier.assignment.raku","match":"(?x) (?: [+:\\-.*/] | \\|\\| )? (?\u003c! = ) = (?! [\u003e=~] )"},{"contentName":"string.array.words.raku","begin":"(?x) (?\u003c! \\+\u003c | \\+\\s|\\+ ) \\s* (\u003c) (?\u003c! \u003e ) (?= [^\u003c]* (?: [^\u003c] ) \u003e )","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( \u003e )","beginCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}},"endCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}}},{"name":"keyword.control.repeat.raku","match":"\\b(for|loop|repeat|while|until|gather|given)(?!\\-)\\b"},{"name":"keyword.control.flowcontrol.raku","match":"(?x)\n\\b (?\u003c! [\\-:.] )\n(\n take|do|when|next|last|redo|return|return-rw\n |contend|maybe|defer|default|exit|quietly\n |continue|break|goto|leave|supply\n |async|lift|await|start|react|whenever|parse\n)\n(?! - ) \\b"},{"name":"keyword.control.flowcontrol.regex.raku","match":"(?x)\n\\b (?\u003c! [\\-:] )\n(\n make|made\n)\n(?! - ) \\b"},{"name":"storage.modifier.type.constraints.raku","match":"(?x)\\b(?\u003c![\\-:]) (is|does|as|but|trusts|of|returns|handles|where|augment|supersede) (?!\\-)\\b (?!\\s*=\u003e)"},{"name":"keyword.control.closure.trait.raku","match":"(?x)\\b(?\u003c![\\-:])( BEGIN|CHECK|INIT |START|FIRST|ENTER |LEAVE|KEEP|UNDO |NEXT|LAST|PRE |POST|END|CATCH |CONTROL|TEMP|QUIT )(?!\\-)\\b"},{"name":"keyword.control.control-handlers.raku","match":"\\b(?\u003c![\\-:])(die|fail|try|warn)(?!\\-)\\b(?!\\s*=\u003e)"},{"name":"entity.name.type.trait.raku","match":"(?x)\\b(?\u003c![\\-:])( prec|irs|ofs|ors|export|raw|deep |binary|unary|reparsed|rw|parsed |cached|readonly|defequiv|will |ref|copy|inline|tighter|looser |equiv|assoc|required|pure )(?!\\-)\\b (?!\\s*=\u003e)"},{"name":"constant.numeric.raku","match":"\\b(NaN|Inf)(?!\\-)\\b"},{"name":"constant.language.boolean.raku","match":"\\b(True|False)\\b"},{"name":"constant.language.pragma.raku","match":"(?x)\\b(?\u003c![\\-:])( fatal|internals| MONKEY\\-(?:TYPING|SEE\\-NO\\-EVAL|BRAINS|GUTS|BUSINESS|TRAP|SHINE|WRENCH|BARS)| nqp|QAST|strict|trace|worries|invocant|parameters|experimental| cur|soft|variables|attributes|v6(?:\\.\\w)*|lib|Test|NativeCall )(?!\\-) \\b (?!\\s*=\u003e)"},{"match":"(?x)(?\u003c![:\\-\\w]) (Backtrace|Exception|Failure|X) (?: \\:\\:[a-zA-Z]+ )* \\b","captures":{"0":{"name":"support.type.exception.raku"}}},{"match":"(?x)\\b(?\u003c!:)(\n AST|Any|Array|Associative|Attribute|Bag|BagHash|Baggy|\n Blob|Block|Bool|Callable|Capture|Channel|Code|Complex|Cool|\n CurrentThreadScheduler|Cursor|Date|DateTime|Dateish|Duration|\n Enum|FatRat|Grammar|Hash|IO|Instant|Iterable|\n Iterator|Junction|Label|List|Lock|Macro|Map|Match|Metamodel|\n Method|Mix|MixHash|Mixy|Mu|Nil|Numeric|ObjAt|Pair|\n Parameter|Pod|Positional|PositionalBindFailover|Proc|Promise|\n Proxy|QuantHash|Range|Rat|Rational|Real|Regex|Routine|Scheduler|\n Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|str|Stringy|Sub|\n Submethod|Supply|Tap|Temporal|Thread|ThreadPoolScheduler|\n Variable|Version|Whatever|WhateverCode|bool|size_t|\n Int|int|int1|int2|int4|int8|int16|int32|int64|\n Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64|\n Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64|\n UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32|uint64|\n utf8|utf16|utf32|Num|num|num32|num64|IntStr|NumStr|\n RatStr|ComplexStr|CArray|Pointer|long|longlong|\n # These are for types which have sub types\n Order|More|Less|Same\n)\\b (?!\\s*=\u003e)","captures":{"1":{"name":"support.type.raku"},"2":{"name":"support.class.type.adverb.raku"}}},{"name":"keyword.operator.reduction.raku","match":"(?x) ( \\[ / \\] )"},{"name":"meta.adverb.definedness.raku","match":"(?\u003c=\\w)(\\:)([DU_])\\b","captures":{"1":{"name":"keyword.operator.adverb.raku"},"2":{"name":"keyword.other.special-method.definedness.raku"}}},{"name":"keyword.operator.word.raku","match":"(?x)\\b( div|mod|gcd|lcm|x|xx|temp|let|but|cmp|leg| eq|ne|gt|ge|lt|le|before|after|eqv|min|max|ff|fff|not|so|Z| and|andthen|or|orelse )\\b(?!\\-)| \\b(X)(?!:)\\b"},{"name":"meta.operator.non.ligature.raku","match":"(=~=|≅)","captures":{"1":{"name":"keyword.operator.approx-equal.raku"}}},{"name":"keyword.operator.multi-symbol.raku","match":"(?x) \u003c== | ==\u003e | \u003c=\u003e | =\u003e | --\u003e | -\u003e | \\+\\| | \\+\\+ | -- | \\*\\* | \\?\\?\\? | \\?\\? | \\!\\!\\! | \\!\\! | \u0026\u0026 | \\+\\^ | \\?\\^ | %% | \\+\u0026 | \\+\u003c | \\+\u003e | \\+\\^ | \\.\\.(?!\\.) | \\.\\.\\^ | \\^\\.\\. | \\^\\.\\.\\^ | \\?\\| | !=(?!\\=) | !==(?!\\=) | \u003c=(?!\u003e) | \u003e= | === | == | =:= | ~~ | \\x{2245} | \\|\\| | \\^\\^ | \\/\\/ | := | ::= | \\.\\.\\."},{"include":"#special_variables"},{"name":"meta.subscript.whatever.raku","match":"(?x)(?\u003c=\\[) \\s* (\\*) \\s* ([\\-\\*%\\^\\+\\/]|div|mod|gcd|lcm) \\s* (\\d+) \\s* (?=\\])","captures":{"1":{"name":"constant.language.whatever.raku"},"2":{"name":"keyword.operator.minus.back-from.raku"},"3":{"name":"constant.numeric.back-from.raku"}}},{"name":"constant.language.whatever.hack.raku","match":"\\*\\s*(?=\\])"},{"name":"support.function.raku","match":"(?x)\\b(?\u003c![\\-\\\\])( :: )?(exists)(?!\\-)\\b(?!\\s*=\u003e)","captures":{"1":{"name":"keyword.operator.colon.raku"}}},{"name":"support.function.raku","match":"(?x)\\b(?\u003c![\\-:\\\\])( :: )?( eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints |chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin |classify|first|sum|keys|values|pairs|defined|delete|exists |elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push |shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign |sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2 |pick|chop|chomp|lc|lcfirst|uc|ucfirst|capitalize|mkdir |normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars |nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead |nothing|want|bless|chr|ord|ords|gmtime|time|eof|localtime|gethost |getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs |codes|bytes|clone|print|open|read|write|readline|say|seek|close |opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink |symlink|unique|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan |sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh |sech|acosech|acotanh|asech|ok|nok|plan-ok|dies-ok|lives-ok|skip |todo|pass|flunk|force-todo|use-ok|isa-ok|diag|is-deeply|isnt |like|skip-rest|unlike|cmp-ok|eval-dies-ok|nok-error|cmp-ok |eval-lives-ok|approx|is-approx|throws-ok|version-lt|plan|EVAL |succ|pred|times|nonce|once|signature|new|connect|operator|undef |undefine|sleep|from|to|infix|postfix|prefix|circumfix|can-ok |postcircumfix|minmax|lazy|count|unwrap|getc|pi|tau|context|void |quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity |assuming|rewind|callwith|callsame|nextwith|nextsame|attr|does-ok |eval-elsewhere|none|not|srand|so|trim|trim-start|trim-end|lastcall |WHAT|WHY|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not |iterator|by|re|im|invert|flip|gist|flat|tree|is-prime |throws-like|trans|race|hyper|tap|emit|done-testing|quit|dd|note |prepend|categorize|antipairs|categorize-list|parse-base|base |starts-with|ends-with|put|append|tail|\\x{03C0}|\\x{03C4}|\\x{212F} |get|words|new-from-pairs|uniname|uninames|uniprop|uniprops |slurp-rest|throw|break|keep|match|trim-leading|trim-trailing |is-lazy|pull-one|push-exactly|push-at-least|push-all|push-until-lazy |sink-all|skip-at-least|skip-at-least-pull-one )(?!\\-)\\b(?!\\s*=\u003e)","captures":{"1":{"name":"keyword.operator.colon.raku"}}},{"name":"support.function.raku","match":"(?x)\\b(?\u003c![\\-:]|\\\\)(?\u003c=\\.) (e|d|f|s|l|r|w|rw|x|rwx|z|abspath|basename|extension|dirname |watch|is-absolute|parts|volume|path|is-relative|parent|child |resolve|dir) (?!\\-)\\b(?!\\s*=\u003e)"},{"include":"#numbers"},{"name":"keyword.operator.generic.raku","match":"(?x) (?\u003c!\\(|\\*)\\%| [\\^\\+\u003e\u003c\\*\\!\\?~\\/\\|]| (?\u003c!\\$)\\.| (?\u003c!:):(?!:)| (?\u003c=\\s)\\-(?=[\\s\\(\\{\\[])| (?\u003c!\\w)[o\\x{2218}](?!\\w)"},{"name":"string.pair.key.raku","match":"(?x) (?\u003c=^|\\W|\\s) ([\\w'\\-]+) \\s* (?= =\u003e)"},{"name":"routine.name.raku","match":"(?x) \\b (?\u003c!\\d) ([a-zA-Z_\\x{c0}-\\x{ff}\\$]) ( [a-zA-Z0-9_\\x{c0}-\\x{ff}\\$]| [\\-'][a-zA-Z_\\x{c0}-\\x{ff}\\$][a-zA-Z0-9_\\x{c0}-\\x{ff}\\$] )*"},{"contentName":"constant.numeric.raku","begin":"(?\u003c=\\:)(\\d+)(\u003c)","end":"\u003e","beginCaptures":{"1":{"name":"support.type.radix.raku"},"2":{"name":"punctuation.definition.radix.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.radix.raku"}}},{"name":"meta.block.raku","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.block.raku"}}}],"repository":{"comment-block-abbreviated":{"patterns":[{"contentName":"entity.name.section.head.abbreviated.raku","begin":"^\\s*(=)(head\\w*)\\s+(.+?)\\s*$","end":"(?=^\\s*$|^\\s*=\\w+.*$)","patterns":[{"include":"#comment-block-syntax"}],"captures":{"1":{"name":"storage.modifier.block.abbreviated.raku"},"2":{"name":"entity.other.attribute-name.block.abbreviated.raku"},"3":{"name":"entity.name.section.abbreviated.raku","patterns":[{"include":"#comment-block-syntax"}]}}},{"contentName":"comment.block.abbreviated.raku","begin":"^\\s*(=)(\\w+)\\s+(.+?)\\s*$","end":"(?=^\\s*$|^\\s*=\\w+.*$)","patterns":[{"include":"#comment-block-syntax"}],"captures":{"1":{"name":"storage.modifier.block.abbreviated.raku"},"2":{"name":"entity.other.attribute-name.block.abbreviated.raku"},"3":{"name":"entity.name.section.abbreviated.raku","patterns":[{"include":"#comment-block-syntax"}]}}}]},"comment-block-delimited":{"patterns":[{"contentName":"comment.block.delimited.raku","begin":"^\\s*(=)(begin)\\s+(\\w+)","end":"^\\s*(=)(end)\\s+(\\w+)","patterns":[{"include":"#comment-block-syntax"}],"captures":{"1":{"name":"storage.modifier.block.delimited.raku"},"2":{"name":"keyword.operator.block.delimited.raku"},"3":{"name":"entity.other.attribute-name.block.delimited.raku"}}}]},"comment-block-syntax":{"patterns":[{"include":"#comment-block-delimited"},{"include":"#comment-block-abbreviated"},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}}]},"hex_escapes":{"patterns":[{"name":"punctuation.hex.raku","match":"(?x) (\\\\x) ( \\[ ) ( [\\dA-Fa-f]+ ) ( \\] )","captures":{"1":{"name":"keyword.punctuation.hex.raku"},"2":{"name":"keyword.operator.bracket.open.raku"},"3":{"name":"routine.name.hex.raku"},"4":{"name":"keyword.operator.bracket.close.raku"}}}]},"interpolation":{"patterns":[{"name":"variable.other.identifier.interpolated.raku","match":"(?x)\n(?\u003c!\\\\)\n(\\$|@|%|\u0026)\n(?!\\$)\n(\\.|\\*|:|!|\\^|~|=|\\?)? # Twigils\n([\\pL\\pM_]) # Must start with Alpha or underscore\n(\n [\\p{Nd}\\pL\\pM_] # have alphanum/underscore, or a ' or -\n| # followed by an Alpha or underscore\n [\\-'] [\\pL\\pM_]\n)*\n( \\[ .* \\] )? # postcircumfix [ ]\n## methods\n(?:\n (?:\n ( \\. )\n (\n [\\pL\\pM]\n (?:\n [\\p{Nd}\\pL\\pM_] # have alphanum/underscore, or a ' or -\n | # followed by an Alpha or underscore\n [\\-'] [\\pL\\pM_]\n )*\n\n )\n )?\n ( \\( .*? \\) )\n)?","captures":{"1":{"name":"variable.other.identifier.sigil.raku"},"2":{"name":"support.class.twigil.interpolated.raku"},"5":{"patterns":[{"begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"keyword.operator.chevron.open.raku"}},"endCaptures":{"0":{"name":"keyword.operator.chevron.close.raku"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.operator.bracket.open.raku"}},"endCaptures":{"0":{"name":"keyword.operator.bracket.close.raku"}}}]},"6":{"name":"keyword.operator.dot.raku"},"7":{"name":"support.function.raku"},"8":{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.operator.paren.open.raku"}},"endCaptures":{"0":{"name":"keyword.operator.paren.close.raku"}}}}},{"include":"#hex_escapes"},{"include":"#regexp-variables"},{"name":"meta.interpolation.raku","begin":"(?x) (?\u003c! m|rx|m:i|rx:i) (\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.end.raku"}}}]},"numbers":{"patterns":[{"name":"constant.numeric.radix.raku","match":"(?x)\n(?\u003c= ^ | [=,;^\\s{\\[(/] | \\.\\. )\n[-−+]?\n0[bodx]\\w+"},{"name":"constant.numeric.raku","match":"(?x)\n (?\u003c= ^ | [×÷*=,:;^\\s{\\[(/] | \\.\\. | … )\n (?: \\^? [+\\-−] )?\n(?:\n (?: \\d+ (?: [\\_\\d]+ \\d )? )\n (?: \\. \\d+ (?: [\\_\\d]+ \\d )? )?\n)\n(?: e (?:-|−)? \\d+ (?: [\\_\\d]+ \\d )? )?"},{"name":"constant.numeric.raku","match":"(?x)\n (?\u003c= ^ | [×÷*=,:;^\\s{\\[(/] | \\.\\. )\n (?: [+-−] )?\n(?:\n (?: \\. \\d+ (?: [\\_\\d]+ \\d )? )\n)\n(?: e (?:-|−)? \\d+ (?: [\\_\\d]+ \\d )? )?"}]},"p5_escaped_char":{"patterns":[{"name":"constant.character.escape.perl","match":"\\\\\\d+"},{"name":"constant.character.escape.perl","match":"\\\\c[^\\s\\\\]"},{"name":"constant.character.escape.perl","match":"\\\\g(?:\\{(?:\\w*|-\\d+)\\}|\\d+)"},{"name":"constant.character.escape.perl","match":"\\\\k(?:\\{\\w*\\}|\u003c\\w*\u003e|'\\w*')"},{"name":"constant.character.escape.perl","match":"\\\\N\\{[^\\}]*\\}"},{"name":"constant.character.escape.perl","match":"\\\\o\\{\\d*\\}"},{"name":"constant.character.escape.perl","match":"\\\\(?:p|P)(?:\\{\\w*\\}|P)"},{"name":"constant.character.escape.perl","match":"\\\\x(?:[0-9a-zA-Z]{2}|\\{\\w*\\})?"},{"name":"constant.character.escape.perl","match":"\\\\."}]},"p5_regex":{"patterns":[{"contentName":"string.regexp.p5.raku","begin":"(?x)(?\u003c![\\w\\/])(m|rx) \\s*((?:\\s*:\\w+)*)?(:P5)((?:\\s*:\\w+)*)?\\s* (\\{)","end":"(?\u003c!\\\\)(\\})([gmixXsuUAJ]+)?","patterns":[{"include":"#p5_escaped_char"},{"include":"source.quoting.raku#q_brace_string_content"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"entity.name.section.p5.adverb.regexp.raku"},"4":{"name":"entity.name.section.adverb.regexp.raku"},"5":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"invalid.illegal.p5.regexp.modifier.raku"}}},{"contentName":"string.regexp.p5.raku","begin":"(?x)(?\u003c![\\w\\/])(m|rx) \\s*((?:\\s*:\\w+)*)?(:P5)((?:\\s*:\\w+)*)?\\s* (\\[)","end":"(?\u003c!\\\\)(\\])([gmixXsuUAJ]+)?","patterns":[{"include":"#p5_escaped_char"},{"include":"source.quoting.raku#q_bracket_string_content"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"entity.name.section.p5.adverb.regexp.raku"},"4":{"name":"entity.name.section.adverb.regexp.raku"},"5":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"invalid.illegal.p5.regexp.modifier.raku"}}},{"contentName":"string.regexp.p5.raku","begin":"(?x)(?\u003c![\\w\\/])(m|rx) \\s*((?:\\s*:\\w+)*)?(:P5)((?:\\s*:\\w+)*)?\\s* (\\/)","end":"(?\u003c!\\\\)(\\/)([gmixXsuUAJ]+)?","patterns":[{"include":"#p5_escaped_char"},{"include":"source.quoting.raku#q_slash_string_content"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"entity.name.section.p5.adverb.regexp.raku"},"4":{"name":"entity.name.section.adverb.regexp.raku"},"5":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"invalid.illegal.p5.regexp.modifier.raku"}}}]},"q_right_double_right_double_string_content":{"begin":"”","end":"”","patterns":[{"include":"#q_right_double_right_double_string_content"}]},"regexp-variables":{"patterns":[{"name":"meta.match.variable.raku","begin":"\\$(?=\\\u003c)","end":"(?![\\w\\\u003c\\\u003e])","patterns":[{"match":"(\\\u003c)([\\w\\-]+)(\\\u003e)","captures":{"1":{"name":"support.class.match.name.delimiter.regexp.raku"},"2":{"name":"variable.other.identifier.regexp.perl6"},"3":{"name":"support.class.match.name.delimiter.regexp.raku"}}}],"beginCaptures":{"0":{"name":"variable.other.identifier.sigil.regexp.perl6"}}}]},"shellquotes":{"patterns":[{"name":"meta.shell.quote.single.raku","begin":"([qQ]x)\\s*({{)","end":"}}","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([qQ]x)\\s*({)","end":"}","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([qQ]x)\\s*(\\[\\[)","end":"\\]\\]","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([Qq]x)\\s*(\\[)","end":"\\]","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([Qq]x)\\s*(\\|)","end":"\\|","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([Qq]x)\\s*(\\/)","end":"(?\u003c!\\\\)\\/","patterns":[{"name":"constant.character.escape.raku","match":"\\\\\\/"},{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*({{)","end":"}}","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*({)","end":"}","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\[\\[)","end":"\\]\\]","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\[)","end":"\\]","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\|)","end":"\\|","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\/)","end":"(?\u003c!\\\\)\\/","patterns":[{"name":"constant.character.escape.raku","match":"\\\\\\/"},{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}}]},"special_variables":{"patterns":[{"name":"keyword.other.special-method.raku","match":"(?x) [\\$\\@](?=[\\s,;\\{\\[\\(])| (?\u003c=[\\(\\,])\\s*%(?![\\w\\*\\!\\?\\.\\^:=~])| \\$_| \\$\\/| \\$\\!(?!\\w)| \\$\\d(?!\\w)"}]},"variables":{"patterns":[{"include":"#regexp-variables"},{"name":"meta.variable.container.raku","match":"(?x)\n(\\$|@|%|\u0026)\n(\\.|\\*|:|!|\\^|~|=|\\?)?\n(\n (?:[\\pL\\pM_]) # Must start with Alpha or underscore\n (?:\n [\\p{Nd}\\pL\\pM_] # have alphanum/underscore, or a ' or -\n | # followed by an Alpha or underscore\n [\\-'] [\\pL\\pM_]\n )*\n)","captures":{"1":{"name":"variable.other.identifier.sigil.raku"},"2":{"name":"support.class.twigil.raku"},"3":{"name":"variable.other.identifier.raku"}}}]}}}
|
1
|
+
{"name":"Raku","scopeName":"source.raku","patterns":[{"contentName":"comment.block.finish.raku","begin":"^\\s*(=)(finish)","patterns":[{"include":"#comment-block-syntax"}],"beginCaptures":{"1":{"name":"storage.modifier.block.finish.raku"},"2":{"name":"keyword.operator.block.finish.raku"}}},{"include":"#comment-block-delimited"},{"contentName":"comment.block.paragraph.raku","begin":"^\\s*(=)(?:(para)|(for)\\s+(\\w+))","end":"(?=^\\s*$|^\\s*=\\w+.*$)","patterns":[{"include":"#comment-block-syntax"}],"beginCaptures":{"1":{"name":"storage.modifier.block.paragraph.raku"},"2":{"name":"keyword.operator.block.paragraph.raku"},"3":{"name":"entity.other.attribute-name.paragraph.raku"}}},{"include":"#comment-block-abbreviated"},{"name":"meta.documentation.block.declarator.raku","match":"^\\s*(#)([\\|\\=])(.*)\\n","captures":{"1":{"name":"comment.punctuation.pound.raku"},"2":{"name":"meta.declarator.raku"},"3":{"name":"comment.inline.declarator.raku"}}},{"name":"comment.multiline.hash-tick.triple_paren.raku","begin":"\\s*#`\\(\\(\\(","end":"\\)\\)\\)","patterns":[{"name":"comment.internal.triple_paren.raku","begin":"\\(\\(\\(","end":"\\)\\)\\)"}]},{"name":"comment.multiline.hash-tick.triple_bracket.raku","begin":"\\s*#`\\[\\[\\[","end":"\\]\\]\\]","patterns":[{"name":"comment.internal.triple_bracket.raku","begin":"\\[\\[\\[","end":"\\]\\]\\]"}]},{"name":"comment.multiline.hash-tick.triple_brace.raku","begin":"\\s*#`\\{\\{\\{","end":"\\}\\}\\}","patterns":[{"name":"comment.internal.triple_brace.raku","begin":"\\{\\{\\{","end":"\\}\\}\\}"}]},{"name":"comment.multiline.hash-tick.triple_angle.raku","begin":"\\s*#`\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"name":"comment.internal.triple_angle.raku","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e"}]},{"name":"comment.multiline.hash-tick.double_angle.raku","begin":"\\s*#`\u003c\u003c","end":"\u003e\u003e","patterns":[{"name":"comment.internal.double_angle.raku","begin":"\u003c\u003c","end":"\u003e\u003e"}]},{"name":"comment.multiline.hash-tick.double_paren.raku","begin":"\\s*#`\\(\\(","end":"\\)\\)","patterns":[{"name":"comment.internal.double_paren.raku","begin":"\\(\\(","end":"\\)\\)"}]},{"name":"comment.multiline.hash-tick.double_bracket.raku","begin":"\\s*#`\\[\\[","end":"\\]\\]","patterns":[{"name":"comment.internal.double_bracket.raku","begin":"\\[\\[","end":"\\]\\]"}]},{"name":"comment.multiline.hash-tick.double_brace.raku","begin":"\\s*#`{{","end":"}}","patterns":[{"name":"comment.internal.double_brace.raku","begin":"{{","end":"}}"}]},{"name":"comment.multiline.hash-tick.brace.raku","begin":"\\s*#`{","end":"}","patterns":[{"name":"comment.internal.brace.raku","begin":"{","end":"}"}]},{"name":"comment.multiline.hash-tick.angle.raku","begin":"\\s*#`\u003c","end":"\u003e","patterns":[{"name":"comment.internal.angle.raku","begin":"\u003c","end":"\u003e"}]},{"name":"comment.multiline.hash-tick.paren.raku","begin":"\\s*#`\\(","end":"\\)","patterns":[{"name":"comment.internal.paren.raku","begin":"\\(","end":"\\)"}]},{"name":"comment.multiline.hash-tick.bracket.raku","begin":"\\s*#`\\[","end":"\\]","patterns":[{"name":"comment.internal.bracket.raku","begin":"\\[","end":"\\]"}]},{"name":"comment.multiline.hash-tick.left_double_right_double.raku","begin":"\\s*#`“","end":"”","patterns":[{"name":"comment.internal.left_double_right_double.raku","begin":"“","end":"”"}]},{"name":"comment.multiline.hash-tick.left_double-low-q_right_double.raku","begin":"\\s*#`„","end":"”|“","patterns":[{"name":"comment.internal.left_double-low-q_right_double.raku","begin":"„","end":"”|“"}]},{"name":"comment.multiline.hash-tick.left_single_right_single.raku","begin":"\\s*#`‘","end":"’","patterns":[{"name":"comment.internal.left_single_right_single.raku","begin":"‘","end":"’"}]},{"name":"comment.multiline.hash-tick.low-q_left_single.raku","begin":"\\s*#`‚","end":"‘","patterns":[{"name":"comment.internal.low-q_left_single.raku","begin":"‚","end":"‘"}]},{"name":"comment.multiline.hash-tick.fw_cornerbracket.raku","begin":"\\s*#`「","end":"」","patterns":[{"name":"comment.internal.fw_cornerbracket.raku","begin":"「","end":"」"}]},{"name":"comment.multiline.hash-tick.hw_cornerbracket.raku","begin":"\\s*#`「","end":"」","patterns":[{"name":"comment.internal.hw_cornerbracket.raku","begin":"「","end":"」"}]},{"name":"comment.multiline.hash-tick.chevron.raku","begin":"\\s*#`«","end":"»","patterns":[{"name":"comment.internal.chevron.raku","begin":"«","end":"»"}]},{"name":"comment.multiline.hash-tick.s-shaped-bag-delimiter.raku","begin":"\\s*#`⟅","end":"⟆","patterns":[{"name":"comment.internal.s-shaped-bag-delimiter.raku","begin":"⟅","end":"⟆"}]},{"name":"string.quoted.left_double_right_double.raku","begin":"“","end":"”","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[“”abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_left_double_right_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.left_double-low-q_right_double.raku","begin":"„","end":"”|“","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[„”|“abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_left_double-low-q_right_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.single.left_single_right_single.raku","begin":"(?\u003c=\\W|^)‘","end":"’","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[‘’\\\\]"},{"include":"source.quoting.raku#q_left_single_right_single_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.single.low-q_left_single.raku","begin":"(?\u003c=\\W|^)‚","end":"‘","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[‚‘\\\\]"},{"include":"source.quoting.raku#q_low-q_left_single_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.single.single.raku","begin":"(?\u003c=\\W|^)'","end":"'","patterns":[{"name":"constant.character.escape.raku","match":"\\\\['\\\\]"},{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.double.raku","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[\"abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"name":"string.quoted.right_double_right_double.raku","begin":"”","end":"”","patterns":[{"name":"constant.character.escape.raku","match":"\\\\[”abtnfre\\\\\\{\\}]"},{"include":"#interpolation"},{"include":"source.quoting.raku#q_right_double_right_double_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.raku","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.raku"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.raku"}}},{"name":"keyword.operator.setbagmix.raku","match":"(?x) \\x{2208}|\\(elem\\)|\\x{2209}|\\!\\(elem\\)| \\x{220B}|\\(cont\\)|\\x{220C}|\\!\\(cont\\)| \\x{2286}|\\(\u003c=\\) |\\x{2288}|\\!\\(\u003c=\\) | \\x{2282}|\\(\u003c\\) |\\x{2284}|\\!\\(\u003c\\) | \\x{2287}|\\(\u003e=\\) |\\x{2289}|\\!\\(\u003e=\\) | \\x{2283}|\\(\u003e\\) |\\x{2285}|\\!\\(\u003e\\) | \\x{227C}|\\(\u003c\\+\\)|\\x{227D}|\\(\u003e\\+\\) | \\x{222A}|\\(\\|\\) |\\x{2229}|\\(\u0026\\) | \\x{2216}|\\(\\-\\) |\\x{2296}|\\(\\^\\) | \\x{228D}|\\(\\.\\) |\\x{228E}|\\(\\+\\)"},{"name":"meta.class.raku","match":"(?x) ( class|enum|grammar|knowhow|module| package|role|slang|subset|monitor|actor ) (\\s+) ( ( (?:::|')? (?: ([a-zA-Z_À-ÿ\\$]) ([a-zA-Z0-9_À-ÿ\\$]|[\\-'][a-zA-Z0-9_À-ÿ\\$])* ) )+ )","captures":{"1":{"name":"storage.type.class.raku"},"3":{"name":"entity.name.type.class.raku"}}},{"include":"#p5_regex"},{"match":"(?x)\n(?\u003c=\n ^\n | ^\\s\n | [\\s\\(] [^\\p{Nd}\\p{L}]\n | ~~\\s|~~\\s\\s|match\\(\n | match:\\s\n)\n([/]) # Solidus\n(.*?) # Regex contents\n(?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (/) # Ending","captures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"string.regexp.raku","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}]},"3":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"string.regexp.raku","begin":"(?x)\n(?\u003c= [=,(\\[]|when|=\u003e|~~) \\s*\n(?:\n (m|rx|s)?\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([/]) # Solidus","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\)|(?\u003c!')|(?\u003c=\\\\ ') ) (/)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"fstring.regexp.raku","begin":"(?x)\n(?\u003c= ^|[=,(\\[~]|when|=\u003e ) \\s*\n(?:\n (m|rx|s)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([{]) # Left curly brace","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"string.regexp.raku","begin":"(?\u003c![\\w\\/])(m|rx)((?:\\s*:\\w+)*)\\s*(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"contentName":"string.regexp.raku","begin":"(?\u003c![\\w\\/])(m|rx)((?:\\s*:\\w+)*)\\s*(\\[)","end":"(?\u003c!\\\\)(\\])","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"}}},{"name":"string.quoted.single.raku","begin":"(?\u003c=\\W|^)「","end":"」","patterns":[{"include":"source.quoting.raku#q_hw_cornerbracket_string_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.raku"}}},{"contentName":"string.regexp.slash.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(/)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (/)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.slash.raku"},"2":{"name":"entity.name.section.adverb.regexp.slash.raku"},"3":{"name":"punctuation.definition.regexp.slash.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.slash.raku"}}},{"contentName":"string.regexp.brace.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n({)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.brace.raku"},"2":{"name":"entity.name.section.adverb.regexp.brace.raku"},"3":{"name":"punctuation.definition.regexp.brace.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.brace.raku"}}},{"contentName":"string.regexp.angle.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(\u003c)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\u003e)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.angle.raku"},"2":{"name":"entity.name.section.adverb.regexp.angle.raku"},"3":{"name":"punctuation.definition.regexp.angle.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.angle.raku"}}},{"contentName":"string.regexp.paren.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(\\()","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\))","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.paren.raku"},"2":{"name":"entity.name.section.adverb.regexp.paren.raku"},"3":{"name":"punctuation.definition.regexp.paren.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.paren.raku"}}},{"contentName":"string.regexp.bracket.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(\\[)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\])","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.bracket.raku"},"2":{"name":"entity.name.section.adverb.regexp.bracket.raku"},"3":{"name":"punctuation.definition.regexp.bracket.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.bracket.raku"}}},{"contentName":"string.regexp.left_double_right_double.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(“)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (”)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.left_double_right_double.raku"},"2":{"name":"entity.name.section.adverb.regexp.left_double_right_double.raku"},"3":{"name":"punctuation.definition.regexp.left_double_right_double.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.left_double_right_double.raku"}}},{"contentName":"string.regexp.left_double-low-q_right_double.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(„)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (”|“)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.left_double-low-q_right_double.raku"},"2":{"name":"entity.name.section.adverb.regexp.left_double-low-q_right_double.raku"},"3":{"name":"punctuation.definition.regexp.left_double-low-q_right_double.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.left_double-low-q_right_double.raku"}}},{"contentName":"string.regexp.left_single_right_single.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(‘)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (’)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.left_single_right_single.raku"},"2":{"name":"entity.name.section.adverb.regexp.left_single_right_single.raku"},"3":{"name":"punctuation.definition.regexp.left_single_right_single.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.left_single_right_single.raku"}}},{"contentName":"string.regexp.low-q_left_single.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(‚)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (‘)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.low-q_left_single.raku"},"2":{"name":"entity.name.section.adverb.regexp.low-q_left_single.raku"},"3":{"name":"punctuation.definition.regexp.low-q_left_single.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.low-q_left_single.raku"}}},{"contentName":"string.regexp.fw_cornerbracket.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(「)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (」)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.fw_cornerbracket.raku"},"2":{"name":"entity.name.section.adverb.regexp.fw_cornerbracket.raku"},"3":{"name":"punctuation.definition.regexp.fw_cornerbracket.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.fw_cornerbracket.raku"}}},{"contentName":"string.regexp.hw_cornerbracket.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(「)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (」)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.hw_cornerbracket.raku"},"2":{"name":"entity.name.section.adverb.regexp.hw_cornerbracket.raku"},"3":{"name":"punctuation.definition.regexp.hw_cornerbracket.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.hw_cornerbracket.raku"}}},{"contentName":"string.regexp.chevron.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(«)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (»)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.chevron.raku"},"2":{"name":"entity.name.section.adverb.regexp.chevron.raku"},"3":{"name":"punctuation.definition.regexp.chevron.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.chevron.raku"}}},{"contentName":"string.regexp.s-shaped-bag-delimiter.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n(⟅)","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (⟆)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.s-shaped-bag-delimiter.raku"},"2":{"name":"entity.name.section.adverb.regexp.s-shaped-bag-delimiter.raku"},"3":{"name":"punctuation.definition.regexp.s-shaped-bag-delimiter.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.s-shaped-bag-delimiter.raku"}}},{"contentName":"string.regexp.any.raku","begin":"(?x)\n(?\u003c= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?\u003c!:P5) # \u003c This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # \u003c include p5_regex above it\n )*\n )\n)\n\\s*\n([^#\\p{Ps}\\p{Pe}\\p{Pi}\\p{Pf}\\w'\\-\u003c\u003e\\-\\]\\)\\}\\{])","end":"(?x) (?: (?\u003c!\\\\)|(?\u003c=\\\\\\\\) ) (\\3)","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"beginCaptures":{"1":{"name":"string.regexp.construct.any.raku"},"2":{"name":"entity.name.section.adverb.regexp.any.raku"},"3":{"name":"punctuation.definition.regexp.any.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.any.raku"}}},{"include":"#shellquotes"},{"name":"string.quoted.heredoc.raku","begin":"(?x) (?: ( qq|qqx|qqw ) \\s* ( (?:\\s*:\\w+)*\\s*: (?: to|heredoc ) )\\s* | (qqto) \\s* ( (?:\\s*:\\w+)* )\\s* ) / (\\S+) /","end":"\\s*\\5","patterns":[{"name":"meta.heredoc.continuation.raku","begin":"(?\u003c=/)","end":"\\n","patterns":[{"include":"$self"}]},{"begin":"^","end":"$","patterns":[{"include":"#interpolation"}]},{"name":"string.quoted.qq.heredoc.raku","match":"(?x) ^ (?: . | \\n )* $"}],"beginCaptures":{"1":{"name":"string.quoted.construct.raku"},"2":{"name":"support.function.adverb.raku"},"3":{"name":"string.quoted.construct.raku"},"4":{"name":"support.function.adverb.raku"},"5":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}},"endCaptures":{"0":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}}},{"name":"meta.heredoc.raku","begin":"(?x) (?: ( [qQ](?!/)|qw|qww|qx|qqx ) \\s* ( (?:\\s*:\\w+)*\\s*: (?: to|heredoc ) )\\s* | (qto|Qto) \\s* ( (?:\\s*:\\w+)* )\\s* ) / (\\S+) /","end":"\\s*\\5","patterns":[{"name":"meta.heredoc.continuation.raku","begin":"(?\u003c=/)","end":"\\n","patterns":[{"include":"$self"}]},{"name":"string.quoted.q.heredoc.raku","match":"(?x) ^ (?: . | \\n )* $"}],"beginCaptures":{"1":{"name":"string.quoted.construct.raku"},"2":{"name":"support.function.adverb.raku"},"3":{"name":"string.quoted.construct.raku"},"4":{"name":"support.function.adverb.raku"},"5":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}},"endCaptures":{"0":{"name":"entity.other.attribute-name.heredoc.delimiter.raku"}}},{"include":"source.quoting.raku"},{"include":"#variables"},{"begin":"(?x) (?\u003c![%$\u0026@]|\\w) (?: (multi|proto) \\s+ )? (macro|sub|submethod|method|multi|only|category) \\s+ (!)? ( [^\\s(){}]+ )","end":"(?=[\\(\\{\\s])","beginCaptures":{"1":{"name":"storage.type.declarator.multi.raku"},"2":{"name":"storage.type.declarator.type.raku"},"3":{"name":"support.class.method.private.raku"},"4":{"patterns":[{"match":"(?x) ( [\\p{Nd}\\p{L}\\p{M}'\\-_]+ ) \\b (:)? (\\w+ \\b )? (\\S+ )?","captures":{"1":{"name":"entity.name.function.raku"},"2":{"name":"punctuation.definition.function.adverb.raku"},"3":{"name":"support.type.class.adverb.raku"},"4":{"patterns":[{"include":"$self"}]}}}]}}},{"name":"meta.regexp.named.raku","begin":"(?\u003c![\\.:])(regex|rule|token)(?!\\s*=\u003e|\\S)","end":"(?\u003c!\\\\)\\}","patterns":[{"name":"entity.name.function.regexp.named.TOP.raku","match":"TOP"},{"name":"entity.name.function.regexp.named.raku","match":"[\\p{Nd}\\p{L}\\p{M}'\\-_]+"},{"name":"meta.regexp.named.adverb.raku","match":"(:)(\\w+)","captures":{"1":{"name":"punctuation.definition.regexp.adverb.raku"},"2":{"name":"support.type.class.adverb.raku"}}},{"contentName":"string.array.words.raku","begin":"\u003c","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( \u003e ) (?=[\\s\\{])"},{"contentName":"string.array.words.chevron.raku","begin":"«","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( » ) (?=[\\s\\{])"},{"name":"meta.regexp.named.signature.raku","begin":"\\(","end":"(?\u003c!\\\\)\\)","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.definition.regexp.named.signature.perlfe"}}},{"name":"meta.regexp.named.block.raku","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#interpolation"},{"include":"source.regexp.raku"}],"captures":{"0":{"name":"punctuation.definition.regex.named.raku"}}}],"beginCaptures":{"1":{"name":"storage.type.declare.regexp.named.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.regexp.named.raku"}}},{"name":"variable.language.raku","match":"\\b(?\u003c![\\-:])(self)(?!\\-)\\b"},{"name":"keyword.other.include.raku","match":"\\b(?\u003c![\\-:])(use|require|no|need)(?!\\-)\\b"},{"name":"keyword.control.conditional.raku","match":"(?x)\\b(?\u003c![\\-:])( if|else|elsif|unless|with|orwith|without )(?!\\-)\\b"},{"name":"storage.modifier.declarator.raku","match":"\\b(?\u003c![\\-:])(let|my|our|state|temp|has|constant)(?!\\-)\\b"},{"contentName":"string.array.words.raku","begin":"(?x) (?\u003c= = | for ) \\s* ( \u003c )","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( \u003e )","patterns":[{"include":"source.quoting.raku#q_bracket_string_content"}],"beginCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}},"endCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}}},{"name":"storage.modifier.assignment.raku","match":"(?x) (?: [+:\\-.*/] | \\|\\| )? (?\u003c! = ) = (?! [\u003e=~] )"},{"contentName":"string.array.words.raku","begin":"(?x) (?\u003c! \\+\u003c | \\+\\s|\\+ ) \\s* (\u003c) (?\u003c! \u003e ) (?= [^\u003c]* (?: [^\u003c] ) \u003e )","end":"(?x) \\\\\\\\|(?\u003c!\\\\) ( \u003e )","beginCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}},"endCaptures":{"1":{"name":"span.keyword.operator.array.words.raku"}}},{"name":"keyword.control.repeat.raku","match":"\\b(for|loop|repeat|while|until|gather|given)(?!\\-)\\b"},{"name":"keyword.control.flowcontrol.raku","match":"(?x)\n\\b (?\u003c! [\\-:.] )\n(\n take|do|when|next|last|redo|return|return-rw\n |contend|maybe|defer|default|exit|quietly\n |continue|break|goto|leave|supply\n |async|lift|await|start|react|whenever|parse\n)\n(?! - ) \\b"},{"name":"keyword.control.flowcontrol.regex.raku","match":"(?x)\n\\b (?\u003c! [\\-:] )\n(\n make|made\n)\n(?! - ) \\b"},{"name":"storage.modifier.type.constraints.raku","match":"(?x)\\b(?\u003c![\\-:]) (is|does|as|but|trusts|of|returns|handles|where|augment|supersede) (?!\\-)\\b (?!\\s*=\u003e)"},{"name":"keyword.control.closure.trait.raku","match":"(?x)\\b(?\u003c![\\-:])( BEGIN|CHECK|INIT |START|FIRST|ENTER |LEAVE|KEEP|UNDO |NEXT|LAST|PRE |POST|END|CATCH |CONTROL|TEMP|QUIT )(?!\\-)\\b"},{"name":"keyword.control.control-handlers.raku","match":"\\b(?\u003c![\\-:])(die|fail|try|warn)(?!\\-)\\b(?!\\s*=\u003e)"},{"name":"entity.name.type.trait.raku","match":"(?x)\\b(?\u003c![\\-:])( prec|irs|ofs|ors|export|raw|deep |binary|unary|reparsed|rw|parsed |cached|readonly|defequiv|will |ref|copy|inline|tighter|looser |equiv|assoc|required|pure )(?!\\-)\\b (?!\\s*=\u003e)"},{"name":"constant.numeric.raku","match":"\\b(NaN|Inf)(?!\\-)\\b"},{"name":"constant.language.boolean.raku","match":"\\b(True|False)\\b"},{"name":"constant.language.pragma.raku","match":"(?x)\\b(?\u003c![\\-:])( fatal|internals| MONKEY\\-(?:TYPING|SEE\\-NO\\-EVAL|BRAINS|GUTS|BUSINESS|TRAP|SHINE|WRENCH|BARS)| nqp|QAST|strict|trace|worries|invocant|parameters|experimental| cur|soft|variables|attributes|v6(?:\\.\\w)*|lib|Test|NativeCall )(?!\\-) \\b (?!\\s*=\u003e)"},{"match":"(?x)(?\u003c![:\\-\\w]) (Backtrace|Exception|Failure|X) (?: \\:\\:[a-zA-Z]+ )* \\b","captures":{"0":{"name":"support.type.exception.raku"}}},{"match":"(?x)\\b(?\u003c!:)(\n AST|Any|Array|Associative|Attribute|Bag|BagHash|Baggy|\n Blob|Block|Bool|Callable|Capture|Channel|Code|Complex|Cool|\n CurrentThreadScheduler|Cursor|Date|DateTime|Dateish|Duration|\n Enum|FatRat|Grammar|Hash|IO|Instant|Iterable|\n Iterator|Junction|Label|List|Lock|Macro|Map|Match|Metamodel|\n Method|Mix|MixHash|Mixy|Mu|Nil|Numeric|ObjAt|Pair|\n Parameter|Pod|Positional|PositionalBindFailover|Proc|Promise|\n Proxy|QuantHash|Range|Rat|Rational|Real|Regex|Routine|Scheduler|\n Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|str|Stringy|Sub|\n Submethod|Supply|Tap|Temporal|Thread|ThreadPoolScheduler|\n Variable|Version|Whatever|WhateverCode|bool|size_t|\n Int|int|int1|int2|int4|int8|int16|int32|int64|\n Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64|\n Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64|\n UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32|uint64|\n utf8|utf16|utf32|Num|num|num32|num64|IntStr|NumStr|\n RatStr|ComplexStr|CArray|Pointer|long|longlong|\n # These are for types which have sub types\n Order|More|Less|Same\n)\\b (?!\\s*=\u003e)","captures":{"1":{"name":"support.type.raku"},"2":{"name":"support.class.type.adverb.raku"}}},{"name":"keyword.operator.reduction.raku","match":"(?x) ( \\[ / \\] )"},{"name":"meta.adverb.definedness.raku","match":"(?\u003c=\\w)(\\:)([DU_])\\b","captures":{"1":{"name":"keyword.operator.adverb.raku"},"2":{"name":"keyword.other.special-method.definedness.raku"}}},{"name":"keyword.operator.word.raku","match":"(?x)\\b( div|mod|gcd|lcm|x|xx|temp|let|but|cmp|leg| eq|ne|gt|ge|lt|le|before|after|eqv|min|max|ff|fff|not|so|Z| and|andthen|or|orelse )\\b(?!\\-)| \\b(X)(?!:)\\b"},{"name":"meta.operator.non.ligature.raku","match":"(=~=|≅)","captures":{"1":{"name":"keyword.operator.approx-equal.raku"}}},{"name":"keyword.operator.multi-symbol.raku","match":"(?x) \u003c== | ==\u003e | \u003c=\u003e | =\u003e | --\u003e | -\u003e | \\+\\| | \\+\\+ | -- | \\*\\* | \\?\\?\\? | \\?\\? | \\!\\!\\! | \\!\\! | \u0026\u0026 | \\+\\^ | \\?\\^ | %% | \\+\u0026 | \\+\u003c | \\+\u003e | \\+\\^ | \\.\\.(?!\\.) | \\.\\.\\^ | \\^\\.\\. | \\^\\.\\.\\^ | \\?\\| | !=(?!\\=) | !==(?!\\=) | \u003c=(?!\u003e) | \u003e= | === | == | =:= | ~~ | \\x{2245} | \\|\\| | \\^\\^ | \\/\\/ | := | ::= | \\.\\.\\."},{"include":"#special_variables"},{"name":"meta.subscript.whatever.raku","match":"(?x)(?\u003c=\\[) \\s* (\\*) \\s* ([\\-\\*%\\^\\+\\/]|div|mod|gcd|lcm) \\s* (\\d+) \\s* (?=\\])","captures":{"1":{"name":"constant.language.whatever.raku"},"2":{"name":"keyword.operator.minus.back-from.raku"},"3":{"name":"constant.numeric.back-from.raku"}}},{"name":"constant.language.whatever.hack.raku","match":"\\*\\s*(?=\\])"},{"name":"support.function.raku","match":"(?x)\\b(?\u003c![\\-\\\\])( :: )?(exists)(?!\\-)\\b(?!\\s*=\u003e)","captures":{"1":{"name":"keyword.operator.colon.raku"}}},{"name":"support.function.raku","match":"(?x)\\b(?\u003c![\\-:\\\\])( :: )?( eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints |chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin |classify|first|sum|keys|values|pairs|defined|delete|exists |elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push |shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign |sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2 |pick|chop|chomp|lc|lcfirst|uc|ucfirst|capitalize|mkdir |normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars |nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead |nothing|want|bless|chr|ord|ords|gmtime|time|eof|localtime|gethost |getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs |codes|bytes|clone|print|open|read|write|readline|say|seek|close |opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink |symlink|unique|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan |sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh |sech|acosech|acotanh|asech|ok|nok|plan-ok|dies-ok|lives-ok|skip |todo|pass|flunk|force-todo|use-ok|isa-ok|diag|is-deeply|isnt |like|skip-rest|unlike|cmp-ok|eval-dies-ok|nok-error|cmp-ok |eval-lives-ok|approx|is-approx|throws-ok|version-lt|plan|EVAL |succ|pred|times|nonce|once|signature|new|connect|operator|undef |undefine|sleep|from|to|infix|postfix|prefix|circumfix|can-ok |postcircumfix|minmax|lazy|count|unwrap|getc|pi|tau|context|void |quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity |assuming|rewind|callwith|callsame|nextwith|nextsame|attr|does-ok |eval-elsewhere|none|not|srand|so|trim|trim-start|trim-end|lastcall |WHAT|WHY|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not |iterator|by|re|im|invert|flip|gist|flat|tree|is-prime |throws-like|trans|race|hyper|tap|emit|done-testing|quit|dd|note |prepend|categorize|antipairs|categorize-list|parse-base|base |starts-with|ends-with|put|append|tail|\\x{03C0}|\\x{03C4}|\\x{212F} |get|words|new-from-pairs|uniname|uninames|uniprop|uniprops |slurp-rest|throw|break|keep|match|trim-leading|trim-trailing |is-lazy|pull-one|push-exactly|push-at-least|push-all|push-until-lazy |sink-all|skip-at-least|skip-at-least-pull-one )(?!\\-)\\b(?!\\s*=\u003e)","captures":{"1":{"name":"keyword.operator.colon.raku"}}},{"name":"support.function.raku","match":"(?x)\\b(?\u003c![\\-:]|\\\\)(?\u003c=\\.) (e|d|f|s|l|r|w|rw|x|rwx|z|abspath|basename|extension|dirname |watch|is-absolute|parts|volume|path|is-relative|parent|child |resolve|dir) (?!\\-)\\b(?!\\s*=\u003e)"},{"include":"#numbers"},{"name":"keyword.operator.generic.raku","match":"(?x) (?\u003c!\\(|\\*)\\%| [\\^\\+\u003e\u003c\\*\\!\\?~\\/\\|]| (?\u003c!\\$)\\.| (?\u003c!:):(?!:)| (?\u003c=\\s)\\-(?=[\\s\\(\\{\\[])| (?\u003c!\\w)[o\\x{2218}](?!\\w)"},{"name":"string.pair.key.raku","match":"(?x) (?\u003c=^|\\W|\\s) ([\\w'\\-]+) \\s* (?= =\u003e)"},{"name":"routine.name.raku","match":"(?x) \\b (?\u003c!\\d) ([a-zA-Z_\\x{c0}-\\x{ff}\\$]) ( [a-zA-Z0-9_\\x{c0}-\\x{ff}\\$]| [\\-'][a-zA-Z_\\x{c0}-\\x{ff}\\$][a-zA-Z0-9_\\x{c0}-\\x{ff}\\$] )*"},{"contentName":"constant.numeric.raku","begin":"(?\u003c=\\:)(\\d+)(\u003c)","end":"\u003e","beginCaptures":{"1":{"name":"support.type.radix.raku"},"2":{"name":"punctuation.definition.radix.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.radix.raku"}}},{"name":"meta.block.raku","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.raku"}},"endCaptures":{"0":{"name":"punctuation.definition.block.raku"}}}],"repository":{"comment-block-abbreviated":{"patterns":[{"contentName":"entity.name.section.head.abbreviated.raku","begin":"^\\s*(=)(head\\w*)\\s+(.+?)\\s*$","end":"(?=^\\s*$|^\\s*=\\w+.*$)","patterns":[{"include":"#comment-block-syntax"}],"captures":{"1":{"name":"storage.modifier.block.abbreviated.raku"},"2":{"name":"entity.other.attribute-name.block.abbreviated.raku"},"3":{"name":"entity.name.section.abbreviated.raku","patterns":[{"include":"#comment-block-syntax"}]}}},{"contentName":"comment.block.abbreviated.raku","begin":"^\\s*(=)(\\w+)\\s+(.+?)\\s*$","end":"(?=^\\s*$|^\\s*=\\w+.*$)","patterns":[{"include":"#comment-block-syntax"}],"captures":{"1":{"name":"storage.modifier.block.abbreviated.raku"},"2":{"name":"entity.other.attribute-name.block.abbreviated.raku"},"3":{"name":"entity.name.section.abbreviated.raku","patterns":[{"include":"#comment-block-syntax"}]}}}]},"comment-block-delimited":{"patterns":[{"contentName":"comment.block.delimited.raku","begin":"^\\s*(=)(begin)\\s+(\\w+)","end":"^\\s*(=)(end)\\s+(\\w+)","patterns":[{"include":"#comment-block-syntax"}],"captures":{"1":{"name":"storage.modifier.block.delimited.raku"},"2":{"name":"keyword.operator.block.delimited.raku"},"3":{"name":"entity.other.attribute-name.block.delimited.raku"}}}]},"comment-block-syntax":{"patterns":[{"include":"#comment-block-delimited"},{"include":"#comment-block-abbreviated"},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) (\u003c\u003c\u003c)","end":"(?x) (\u003e\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_triple_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) (\u003c\u003c)","end":"(?x) (\u003e\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_double_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) (\u003c)","end":"(?x) (\u003e)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_angle_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.underline.raku","begin":"(?x) (U) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.italic.raku","begin":"(?x) (I) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.bold.raku","begin":"(?x) (B) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}},{"name":"meta.pod.c.raku","contentName":"markup.raw.code.raku","begin":"(?x) ([A-Z]) («)","end":"(?x) (»)","patterns":[{"include":"#comment-block-syntax"},{"include":"source.quoting.raku#q_chevron_string_content"}],"beginCaptures":{"1":{"name":"support.function.pod.code.raku"},"2":{"name":"punctuation.section.embedded.pod.code.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.pod.code.raku"}}}]},"hex_escapes":{"patterns":[{"name":"punctuation.hex.raku","match":"(?x) (\\\\x) ( \\[ ) ( [\\dA-Fa-f]+ ) ( \\] )","captures":{"1":{"name":"keyword.punctuation.hex.raku"},"2":{"name":"keyword.operator.bracket.open.raku"},"3":{"name":"routine.name.hex.raku"},"4":{"name":"keyword.operator.bracket.close.raku"}}}]},"interpolation":{"patterns":[{"name":"variable.other.identifier.interpolated.raku","match":"(?x)\n(?\u003c!\\\\)\n(\\$|@|%|\u0026)\n(?!\\$)\n(\\.|\\*|:|!|\\^|~|=|\\?)? # Twigils\n([\\p{L}\\p{M}_]) # Must start with Alpha or underscore\n(\n [\\p{Nd}\\p{L}\\p{M}_] # have alphanum/underscore, or a ' or -\n| # followed by an Alpha or underscore\n [\\-'] [\\p{L}\\p{M}_]\n)*\n( \\[ .* \\] )? # postcircumfix [ ]\n## methods\n(?:\n (?:\n ( \\. )\n (\n [\\p{L}\\p{M}]\n (?:\n [\\p{Nd}\\p{L}\\p{M}_] # have alphanum/underscore, or a ' or -\n | # followed by an Alpha or underscore\n [\\-'] [\\p{L}\\p{M}_]\n )*\n\n )\n )?\n ( \\( .*? \\) )\n)?","captures":{"1":{"name":"variable.other.identifier.sigil.raku"},"2":{"name":"support.class.twigil.interpolated.raku"},"5":{"patterns":[{"begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"keyword.operator.chevron.open.raku"}},"endCaptures":{"0":{"name":"keyword.operator.chevron.close.raku"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.operator.bracket.open.raku"}},"endCaptures":{"0":{"name":"keyword.operator.bracket.close.raku"}}}]},"6":{"name":"keyword.operator.dot.raku"},"7":{"name":"support.function.raku"},"8":{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.operator.paren.open.raku"}},"endCaptures":{"0":{"name":"keyword.operator.paren.close.raku"}}}}},{"include":"#hex_escapes"},{"include":"#regexp-variables"},{"name":"meta.interpolation.raku","begin":"(?x) (?\u003c! m|rx|m:i|rx:i) (\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.raku"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.end.raku"}}}]},"numbers":{"patterns":[{"name":"constant.numeric.radix.raku","match":"(?x)\n(?\u003c= ^ | [=,;^\\s{\\[(/] | \\.\\. )\n[-−+]?\n0[bodx]\\w+"},{"name":"constant.numeric.raku","match":"(?x)\n (?\u003c= ^ | [×÷*=,:;^\\s{\\[(/] | \\.\\. | … )\n (?: \\^? [+\\-−] )?\n(?:\n (?: \\d+ (?: [\\_\\d]+ \\d )? )\n (?: \\. \\d+ (?: [\\_\\d]+ \\d )? )?\n)\n(?: e (?:-|−)? \\d+ (?: [\\_\\d]+ \\d )? )?"},{"name":"constant.numeric.raku","match":"(?x)\n (?\u003c= ^ | [×÷*=,:;^\\s{\\[(/] | \\.\\. )\n (?: [+-−] )?\n(?:\n (?: \\. \\d+ (?: [\\_\\d]+ \\d )? )\n)\n(?: e (?:-|−)? \\d+ (?: [\\_\\d]+ \\d )? )?"}]},"p5_escaped_char":{"patterns":[{"name":"constant.character.escape.perl","match":"\\\\\\d+"},{"name":"constant.character.escape.perl","match":"\\\\c[^\\s\\\\]"},{"name":"constant.character.escape.perl","match":"\\\\g(?:\\{(?:\\w*|-\\d+)\\}|\\d+)"},{"name":"constant.character.escape.perl","match":"\\\\k(?:\\{\\w*\\}|\u003c\\w*\u003e|'\\w*')"},{"name":"constant.character.escape.perl","match":"\\\\N\\{[^\\}]*\\}"},{"name":"constant.character.escape.perl","match":"\\\\o\\{\\d*\\}"},{"name":"constant.character.escape.perl","match":"\\\\(?:p|P)(?:\\{\\w*\\}|P)"},{"name":"constant.character.escape.perl","match":"\\\\x(?:[0-9a-zA-Z]{2}|\\{\\w*\\})?"},{"name":"constant.character.escape.perl","match":"\\\\."}]},"p5_regex":{"patterns":[{"contentName":"string.regexp.p5.raku","begin":"(?x)(?\u003c![\\w\\/])(m|rx) \\s*((?:\\s*:\\w+)*)?(:P5)((?:\\s*:\\w+)*)?\\s* (\\{)","end":"(?\u003c!\\\\)(\\})([gmixXsuUAJ]+)?","patterns":[{"include":"#p5_escaped_char"},{"include":"source.quoting.raku#q_brace_string_content"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"entity.name.section.p5.adverb.regexp.raku"},"4":{"name":"entity.name.section.adverb.regexp.raku"},"5":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"invalid.illegal.p5.regexp.modifier.raku"}}},{"contentName":"string.regexp.p5.raku","begin":"(?x)(?\u003c![\\w\\/])(m|rx) \\s*((?:\\s*:\\w+)*)?(:P5)((?:\\s*:\\w+)*)?\\s* (\\[)","end":"(?\u003c!\\\\)(\\])([gmixXsuUAJ]+)?","patterns":[{"include":"#p5_escaped_char"},{"include":"source.quoting.raku#q_bracket_string_content"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"entity.name.section.p5.adverb.regexp.raku"},"4":{"name":"entity.name.section.adverb.regexp.raku"},"5":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"invalid.illegal.p5.regexp.modifier.raku"}}},{"contentName":"string.regexp.p5.raku","begin":"(?x)(?\u003c![\\w\\/])(m|rx) \\s*((?:\\s*:\\w+)*)?(:P5)((?:\\s*:\\w+)*)?\\s* (\\/)","end":"(?\u003c!\\\\)(\\/)([gmixXsuUAJ]+)?","patterns":[{"include":"#p5_escaped_char"},{"include":"source.quoting.raku#q_slash_string_content"}],"beginCaptures":{"1":{"name":"string.regexp.construct.raku"},"2":{"name":"entity.name.section.adverb.regexp.raku"},"3":{"name":"entity.name.section.p5.adverb.regexp.raku"},"4":{"name":"entity.name.section.adverb.regexp.raku"},"5":{"name":"punctuation.definition.regexp.raku"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.raku"},"2":{"name":"invalid.illegal.p5.regexp.modifier.raku"}}}]},"q_right_double_right_double_string_content":{"begin":"”","end":"”","patterns":[{"include":"#q_right_double_right_double_string_content"}]},"regexp-variables":{"patterns":[{"name":"meta.match.variable.raku","begin":"\\$(?=\\\u003c)","end":"(?![\\w\\\u003c\\\u003e])","patterns":[{"match":"(\\\u003c)([\\w\\-]+)(\\\u003e)","captures":{"1":{"name":"support.class.match.name.delimiter.regexp.raku"},"2":{"name":"variable.other.identifier.regexp.perl6"},"3":{"name":"support.class.match.name.delimiter.regexp.raku"}}}],"beginCaptures":{"0":{"name":"variable.other.identifier.sigil.regexp.perl6"}}}]},"shellquotes":{"patterns":[{"name":"meta.shell.quote.single.raku","begin":"([qQ]x)\\s*({{)","end":"}}","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([qQ]x)\\s*({)","end":"}","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([qQ]x)\\s*(\\[\\[)","end":"\\]\\]","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([Qq]x)\\s*(\\[)","end":"\\]","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([Qq]x)\\s*(\\|)","end":"\\|","patterns":[{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.single.raku","begin":"([Qq]x)\\s*(\\/)","end":"(?\u003c!\\\\)\\/","patterns":[{"name":"constant.character.escape.raku","match":"\\\\\\/"},{"include":"source.quoting.raku#q_single_string_content"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*({{)","end":"}}","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*({)","end":"}","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\[\\[)","end":"\\]\\]","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\[)","end":"\\]","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\|)","end":"\\|","patterns":[{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}},{"name":"meta.shell.quote.double.raku","begin":"(qqx)\\s*(\\/)","end":"(?\u003c!\\\\)\\/","patterns":[{"name":"constant.character.escape.raku","match":"\\\\\\/"},{"include":"#interpolation"},{"include":"#variables"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.quoted.q.shell.operator.raku"},"2":{"name":"punctuation.section.embedded.shell.begin.raku"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.shell.begin.raku"}}}]},"special_variables":{"patterns":[{"name":"keyword.other.special-method.raku","match":"(?x) [\\$\\@](?=[\\s,;\\{\\[\\(])| (?\u003c=[\\(\\,])\\s*%(?![\\w\\*\\!\\?\\.\\^:=~])| \\$_| \\$\\/| \\$\\!(?!\\w)| \\$\\d(?!\\w)"}]},"variables":{"patterns":[{"include":"#regexp-variables"},{"name":"meta.variable.container.raku","match":"(?x)\n(\\$|@|%|\u0026)\n(\\.|\\*|:|!|\\^|~|=|\\?)?\n(\n (?:[\\p{L}\\p{M}_]) # Must start with Alpha or underscore\n (?:\n [\\p{Nd}\\p{L}\\p{M}_] # have alphanum/underscore, or a ' or -\n | # followed by an Alpha or underscore\n [\\-'] [\\p{L}\\p{M}_]\n )*\n)","captures":{"1":{"name":"variable.other.identifier.sigil.raku"},"2":{"name":"support.class.twigil.raku"},"3":{"name":"variable.other.identifier.raku"}}}]}}}
|