github-linguist 9.2.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/github-linguist +23 -4
- data/grammars/dart.inline.edgeql.json +1 -0
- data/grammars/go.inline.edgeql.json +1 -0
- data/grammars/injection.interpolated-ruby.json +1 -0
- data/grammars/injections.etc.json +1 -1
- data/grammars/inline.surrealql-js-literal.json +1 -0
- data/grammars/js.inline.edgeql.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/markdown.surrealql.codeblock.json +1 -0
- data/grammars/markdown.vue.codeblock.json +1 -1
- data/grammars/markdown.wesl.codeblock.json +1 -0
- data/grammars/markdown.wgsl.codeblock.json +1 -0
- data/grammars/mdx.vue.codeblock.json +1 -1
- data/grammars/res.inline.edgeql.json +1 -0
- data/grammars/source.abl.json +1 -1
- data/grammars/source.agda.json +1 -1
- data/grammars/source.al.json +1 -1
- data/grammars/source.algol60.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.ash.json +1 -0
- data/grammars/source.ats.json +1 -1
- data/grammars/source.b.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bru.json +1 -0
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.json +1 -1
- data/grammars/source.c.linker.json +1 -1
- data/grammars/source.c3.json +1 -0
- data/grammars/source.cadence.json +1 -1
- data/grammars/source.cj.json +1 -0
- data/grammars/source.clar.json +1 -1
- data/grammars/source.clean.json +1 -1
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.comment-string.wesl.json +1 -0
- data/grammars/source.comment-string.wgsl.json +1 -0
- data/grammars/source.cooklang.json +1 -0
- data/grammars/source.cql.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csv.json +1 -0
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.data-weave.json +1 -1
- data/grammars/source.dotenv.json +1 -1
- data/grammars/source.dsv.json +1 -0
- data/grammars/source.edgeql.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.flix.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gfm.blade.json +1 -1
- data/grammars/source.gitignore.json +1 -1
- data/grammars/source.go-template.json +1 -0
- data/grammars/source.go.injection.double.go-template.json +1 -0
- data/grammars/source.go.injection.raw.go-template.json +1 -0
- data/grammars/source.hack.json +1 -1
- data/grammars/source.harbour.json +1 -1
- data/grammars/source.httpspec.json +1 -1
- data/grammars/source.hurl.json +1 -0
- data/grammars/source.hx.json +1 -1
- data/grammars/source.ilecobol.json +1 -1
- data/grammars/source.inputrc.json +1 -1
- data/grammars/source.isabelle.theory.json +1 -1
- data/grammars/source.jac.json +1 -0
- data/grammars/source.jai.json +1 -1
- data/grammars/source.jq.json +1 -1
- data/grammars/source.json.comments.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kcl.json +1 -0
- data/grammars/source.langium.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.lp.json +1 -0
- data/grammars/source.lua.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.mask.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.mermaid.flowchart.json +1 -1
- data/grammars/source.mermaid.gantt.json +1 -1
- data/grammars/source.mermaid.json +1 -1
- data/grammars/source.mermaid.pie-chart.json +1 -1
- data/grammars/source.mermaid.quad-chart.json +1 -0
- data/grammars/source.mermaid.sankey.json +1 -0
- data/grammars/source.mermaid.timeline.json +1 -0
- data/grammars/source.mermaid.user-journey.json +1 -1
- data/grammars/source.mermaid.zenuml.json +1 -0
- data/grammars/source.mo.json +1 -1
- data/grammars/source.mojo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.ned.json +1 -1
- data/grammars/source.nginx.json +1 -1
- data/grammars/source.nickel.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin-ehr.json +1 -1
- data/grammars/source.openqasm.json +1 -1
- data/grammars/source.postscript.json +1 -1
- data/grammars/source.proto.json +1 -1
- data/grammars/source.psl.json +1 -0
- data/grammars/source.pyjade.json +1 -1
- data/grammars/source.quakec.json +1 -0
- data/grammars/source.rascript.json +1 -0
- data/grammars/source.record-jar.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.roc.json +1 -1
- data/grammars/source.rosmsg.json +1 -0
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.shell.json +1 -1
- data/grammars/source.sieve.json +1 -1
- data/grammars/source.singularity.json +1 -1
- data/grammars/source.slang.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.surrealql.json +1 -0
- data/grammars/source.swift.json +1 -1
- data/grammars/source.teal.json +1 -0
- data/grammars/source.templ.json +1 -1
- data/grammars/source.tmdl.json +1 -0
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.tsv.json +1 -0
- data/grammars/source.vb6.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vcl.json +1 -0
- data/grammars/source.vento.json +1 -1
- data/grammars/source.vhdl.json +1 -1
- data/grammars/source.vscode.c3.json +1 -0
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wesl.json +1 -0
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.wit.json +1 -1
- data/grammars/source.wwb.json +1 -1
- data/grammars/text.codeowners.json +1 -1
- data/grammars/text.git-commit.json +1 -0
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.jte.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.html.vue.json +1 -0
- data/grammars/text.injection.go-template.json +1 -0
- data/grammars/text.jira.json +1 -0
- data/grammars/text.k.json +1 -0
- data/grammars/text.markdown.go-template.codeblock.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.source.mps.json +1 -0
- data/grammars/text.srt.json +1 -1
- data/grammars/text.valve-cfg.json +1 -1
- data/grammars/text.xml.svg.json +1 -1
- data/grammars/v.mod.json +1 -0
- data/grammars/version +1 -1
- data/grammars/vue.directives.json +1 -1
- data/grammars/vue.interpolations.json +1 -1
- data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +29 -5
- data/lib/linguist/generic.yml +3 -0
- data/lib/linguist/heuristics.yml +98 -11
- data/lib/linguist/instrumenter.rb +19 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +405 -117
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist.rb +1 -0
- metadata +59 -5
- data/grammars/inline.edgeql.json +0 -1
- data/grammars/source.varnish.vcl.json +0 -1
- data/grammars/source.vue.json +0 -1
data/grammars/source.vhdl.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"VHDL","scopeName":"source.vhdl","patterns":[{"include":"#block_processing"},{"include":"#cleanup"}],"repository":{"architecture_pattern":{"patterns":[{"name":"meta.block.architecture","begin":"(?x)\n\n\t\t\t\t\t\t# The word architecture $1\n\t\t\t\t\t\t\\b((?i:architecture))\\s+\n\t\t\t\t\t\t\n\t\t\t\t\t\t# Followed up by a valid $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-z][a-zA-z0-9_]*)|(.+))(?=\\s)\\s+\n\n\t\t\t\t\t\t# The word of $5\n\t\t\t\t\t\t((?i:of))\\s+\n\n\t\t\t\t\t\t# Followed by a valid $7 or invalid identifier $8\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))(?=\\s*(?i:is))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\n\n\t\t\t\t\t\t# Optional word architecture $3\n\t\t\t\t\t\t(\\s+((?i:architecture)))?\n\n\t\t\t\t\t\t# Optional same identifier $6 or illegal identifier $7\n\t\t\t\t\t\t(\\s+((\\3)|(.+?)))?\n\n\t\t\t\t\t\t# This will cause the previous to capture until just before the ; or $\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#function_definition_pattern"},{"include":"#procedure_definition_pattern"},{"include":"#component_pattern"},{"include":"#if_pattern"},{"include":"#process_pattern"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#for_pattern"},{"include":"#entity_instantiation_pattern"},{"include":"#component_instantiation_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.architecture.vhdl"},"3":{"name":"entity.name.type.architecture.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.of.vhdl"},"7":{"name":"entity.name.type.entity.reference.vhdl"},"8":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.architecture.vhdl"},"6":{"name":"entity.name.type.architecture.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"attribute_list":{"patterns":[{"name":"meta.block.attribute_list","begin":"'\\(","end":"\\)","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"punctuation.definition.attribute_list.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute_list.end.vhdl"}}}]},"block_processing":{"patterns":[{"include":"#package_pattern"},{"include":"#package_body_pattern"},{"include":"#entity_pattern"},{"include":"#architecture_pattern"}]},"case_pattern":{"patterns":[{"name":"meta.block.case.vhdl","begin":"(?x)\n\t\t\t\t\t\t# Beginning of line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# Optional identifier ... $3 or invalid identifier $4\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z0-9_]*)\n\t\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\\s*:\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# The word case $5\n\t\t\t\t\t\t\\b((?i:case))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s*\n\n\t\t\t\t\t\t# The word case $4 or invalid word $5\n\t\t\t\t\t\t(\\s+(((?i:case))|(.*?)))\n\n\t\t\t\t\t\t# Optional identifier from before $8 or illegal $9\n\t\t\t\t\t\t(\\s+((\\2)|(.*?)))?\n\n\t\t\t\t\t\t# Ending with a semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}],"beginCaptures":{"3":{"name":"entity.name.tag.case.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.case.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"4":{"name":"keyword.control.case.vhdl"},"5":{"name":"invalid.illegal.case.required.vhdl"},"8":{"name":"entity.name.tag.case.end.vhdl"},"9":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"cleanup":{"patterns":[{"include":"#comments"},{"include":"#constants_numeric"},{"include":"#strings"},{"include":"#attribute_list"},{"include":"#syntax_highlighting"}]},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.vhdl","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.vhdl"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.vhdl"}}}]},"component_instantiation_pattern":{"patterns":[{"name":"meta.block.component_instantiation.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# Match a valid identifier $1\n\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t# Colon! $2\n\t\t\t\t\t\t\\s*(:)\\s*\n\n\t\t\t\t\t\t# Another valid identifier $3\n\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\\b\n\n\t\t\t\t\t\t# Make sure we are just the other word, or the beginning of\n\t\t\t\t\t\t# a generic or port mapping\n\t\t\t\t\t\t(?=\\s*($|generic|port))\n\t\t\t\t\t","end":";","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"entity.name.section.component_instantiation.vhdl"},"2":{"name":"punctuation.separator.vhdl"},"3":{"name":"entity.name.tag.component.reference.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"component_pattern":{"patterns":[{"name":"meta.block.component.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word component $1\n\t\t\t\t\t\t\\b((?i:component))\\s+\n\n\t\t\t\t\t\t# A valid identifier $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z_][a-zA-Z0-9_]*)\\s*|(.+?))(?=\\b(?i:is|port)\\b|$|--)\n\n\t\t\t\t\t\t# Optional word is $6\n\t\t\t\t\t\t(\\b((?i:is\\b)))?\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?:end))\\s+\n\n\t\t\t\t\t\t# The word component $3 or illegal word $4\n\t\t\t\t\t\t(((?i:component\\b))|(.+?))(?=\\s*|;)\n\t\t\t\t\t\t\n\t\t\t\t\t\t# Optional identifier $7 or illegal mismatched $8\n\t\t\t\t\t\t(\\s+((\\3)|(.+?)))?(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#generic_list_pattern"},{"include":"#port_list_pattern"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.component.vhdl"},"3":{"name":"entity.name.type.component.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"6":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.component.vhdl"},"4":{"name":"invalid.illegal.component.keyword.required.vhdl"},"7":{"name":"entity.name.type.component.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"constants_numeric":{"patterns":[{"name":"constant.numeric.floating_point.vhdl","match":"\\b([+\\-]?[\\d_]+\\.[\\d_]+([eE][+\\-]?[\\d_]+)?)\\b"},{"name":"constant.numeric.base_pound_number_pound.vhdl","match":"\\b\\d+#[0-9A-Fa-f_]+#"},{"name":"constant.numeric.integer.vhdl","match":"\\b[\\d_]+([eE][\\d_]+)?\\b"},{"name":"constant.numeric.quoted.double.string.hex.vhdl","match":"[xX]\"[0-9a-fA-F_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.octal.vhdl","match":"[oO]\"[0-7_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.binary.vhdl","match":"[bB]?\"[01_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.illegal.vhdl","match":"([bBoOxX]\".+?\")","captures":{"1":{"name":"invalid.illegal.quoted.double.string.vhdl"}}},{"name":"constant.numeric.quoted.single.std_logic","match":"'[01uUxXzZwWlLhH\\-]'"}]},"control_patterns":{"patterns":[{"include":"#case_pattern"},{"include":"#if_pattern"},{"include":"#for_pattern"},{"include":"#while_pattern"}]},"entity_instantiation_pattern":{"patterns":[{"name":"meta.block.entity_instantiation.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# Component identifier or illegal identifier $1\n\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t# Colon! $2\n\t\t\t\t\t\t\\s*(:)\\s*\n\n\t\t\t\t\t\t# Optional word use $4\n\t\t\t\t\t\t(((?i:use))\\s+)?\n\n\t\t\t\t\t\t# Required word entity $5\n\t\t\t\t\t\t((?i:entity))\\s+\n\n\t\t\t\t\t\t# Optional library unit identifier $8 for invalid identifier $9 followed by a dot $10\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\t\t\t\t\t\t\t(\\.)\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Entity name reference $12 or illegal identifier $13\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\n\t\t\t\t\t\t# Check to see if we are being followed by either open paren, end of line, or port or generic words\n\t\t\t\t\t\t(?=\\s*(\\(|$|(?i:port|generic)))\n\n\t\t\t\t\t\t# Optional architecture elaboration\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Open paren $16\n\t\t\t\t\t\t\t\\s*(\\()\\s*\n\n\t\t\t\t\t\t\t# Arch identifier $18 or invalid identifier $19\n\t\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))(?=\\s*\\))\n\n\t\t\t\t\t\t\t# Close paren $21\n\t\t\t\t\t\t\t\\s*(\\))\n\t\t\t\t\t\t)?\n\t\t\t\t\t","end":";","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"entity.name.section.entity_instantiation.vhdl"},"10":{"name":"punctuation.separator.vhdl"},"12":{"name":"entity.name.tag.entity.reference.vhdl"},"13":{"name":"invalid.illegal.invalid.identifier.vhdl"},"16":{"name":"punctuation.definition.arguments.begin.vhdl"},"18":{"name":"entity.name.tag.architecture.reference.vhdl"},"19":{"name":"invalid.illegal.invalid.identifier.vhdl"},"2":{"name":"punctuation.separator.vhdl"},"21":{"name":"punctuation.definition.arguments.end.vhdl"},"4":{"name":"keyword.control.use.vhdl"},"5":{"name":"keyword.control.entity.vhdl"},"8":{"name":"entity.name.tag.library.reference.vhdl"},"9":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"entity_pattern":{"patterns":[{"name":"meta.block.entity.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word entity $1\n\t\t\t\t\t\t((?i:entity\\b))\\s+\n\n\t\t\t\t\t\t# The identifier $3 or an invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z\\d_]*)|(.+?))(?=\\s)\n\t\t\t\t\t","end":"(?x)\n\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end\\b))\n\n\t\t\t\t\t\t# Optional word entity $3\n\t\t\t\t\t\t(\\s+((?i:entity)))?\n\n\t\t\t\t\t\t# Optional identifier match $6 or indentifier mismatch $7\n\t\t\t\t\t\t(\\s+((\\3)|(.+?)))?\n\t\t\t\t\t\t\n\t\t\t\t\t\t# Make sure there is a semicolon following\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#comments"},{"include":"#generic_list_pattern"},{"include":"#port_list_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.entity.vhdl"},"3":{"name":"entity.name.type.entity.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.entity.vhdl"},"6":{"name":"entity.name.type.entity.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"for_pattern":{"patterns":[{"name":"meta.block.for.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Check for an identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Followed by a colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Make sure the next word is not wait\n\t\t\t\t\t\t(?!(?i:wait\\s*))\n\n\t\t\t\t\t\t# The for keyword $4\n\t\t\t\t\t\t\\b((?i:for))\\b\n\n\t\t\t\t\t\t# Make sure the next word is not all\n\t\t\t\t\t\t(?!\\s*(?i:all))\n\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s+\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Followed by generate or loop $3\n\t\t\t\t\t\t\t ((?i:generate|loop))\n\n\t\t\t\t\t\t\t# But it really is required $4\n\t\t\t\t\t\t\t|(\\S+)\n\t\t\t\t\t\t)\\b\n\n\t\t\t\t\t\t# The matching identifier $7 or an invalid identifier $8\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?\n\n\t\t\t\t\t\t# Only space and a semicolon left\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#entity_instantiation_pattern"},{"include":"#component_pattern"},{"include":"#component_instantiation_pattern"},{"include":"#process_pattern"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.tag.for.generate.begin.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.for.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"keyword.control.vhdl"},"4":{"name":"invalid.illegal.loop.or.generate.required.vhdl"},"7":{"name":"entity.name.tag.for.generate.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"function_definition_pattern":{"patterns":[{"name":"meta.block.function_definition.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word function $1\n\t\t\t\t\t\t((?i:function))\\s+\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A valid normal identifier $3\n\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z\\d_]*)\n\t\t\t\t\t\t\t# A valid string quoted identifier $4\n\t\t\t\t\t\t\t|(\"\\S+\")\n\t\t\t\t\t\t\t# A valid backslash escaped identifier $5\n\t\t\t\t\t\t\t|(\\\\.+\\\\)\n\t\t\t\t\t\t\t# An invalid identifier $5\n\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t# Check to make sure we have a list or we return\n\t\t\t\t\t\t(?=\\s*\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t \\(\n\t\t\t\t\t\t\t\t|(?i:\\breturn\\b)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t((?i:end))\n\n\t\t\t\t\t\t# Optional word function $3\n\t\t\t\t\t\t(\\s+((?i:function)))?\n\n\t\t\t\t\t\t# Optional matched identifier $6 or mismatched identifier $7\n\t\t\t\t\t\t(\\s+((\\3|\\4|\\5)|(.+?)))?\n\n\t\t\t\t\t\t# Ending with whitespace and semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#parenthetical_list"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.function.vhdl"},"3":{"name":"entity.name.function.function.begin.vhdl"},"4":{"name":"entity.name.function.function.begin.vhdl"},"5":{"name":"entity.name.function.function.begin.vhdl"},"6":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.function.vhdl"},"6":{"name":"entity.name.function.function.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"function_prototype_pattern":{"patterns":[{"name":"meta.block.function_prototype.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word function $1\n\t\t\t\t\t\t((?i:function))\\s+\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A valid normal identifier $3\n\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z\\d_]*)\n\t\t\t\t\t\t\t# A valid quoted identifier $4\n\t\t\t\t\t\t\t|(\"\\S+\")\n\t\t\t\t\t\t\t# A valid backslash escaped identifier $5\n\t\t\t\t\t\t\t|(\\\\.+\\\\)\n\t\t\t\t\t\t\t# An invalid identifier $6\n\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t# Check to make sure we have a list or we return\n\t\t\t\t\t\t(?=\\s*\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t \\(\n\t\t\t\t\t\t\t\t|(?i:\\breturn\\b)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t","end":"(?\u003c=;)","patterns":[{"begin":"\\b(?i:return)(?=\\s+[^;]+\\s*;)","end":"\\;","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"keyword.control.return.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.function_prototype.vhdl"}}},{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.function.vhdl"},"3":{"name":"entity.name.function.function.prototype.vhdl"},"4":{"name":"entity.name.function.function.prototype.vhdl"},"5":{"name":"entity.name.function.function.prototype.vhdl"},"6":{"name":"invalid.illegal.function.name.vhdl"}}}]},"generic_list_pattern":{"patterns":[{"name":"meta.block.generic_list.vhdl","begin":"\\b(?i:generic)\\b","end":";","patterns":[{"include":"#parenthetical_list"}],"beginCaptures":{"0":{"name":"keyword.control.generic.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"if_pattern":{"patterns":[{"name":"meta.block.if.vhdl","begin":"(?x)\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Optional identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Followed by a colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Keyword if $4\n\t\t\t\t\t\t\\b((?i:if))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s+\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t# Optional generate or if keyword $4\n\t\t\t\t\t\t\t\t ((?i:generate|if))\n\n\t\t\t\t\t\t\t\t# Keyword if or generate required $5\n\t\t\t\t\t\t\t\t|(\\S+)\n\t\t\t\t\t\t\t)\\b\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t# Optional matching identifier $8\n\t\t\t\t\t\t\t\t\t (\\2)\n\n\t\t\t\t\t\t\t\t\t# Mismatched identifier $9\n\t\t\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Followed by a semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#process_pattern"},{"include":"#entity_instantiation_pattern"},{"include":"#component_pattern"},{"include":"#component_instantiation_pattern"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.tag.if.generate.begin.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.if.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"4":{"name":"keyword.control.generate.vhdl"},"5":{"name":"invalid.illegal.if.or.generate.required.vhdl"},"8":{"name":"entity.name.tag.if.generate.end.vhdl"},"9":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"keywords":{"patterns":[{"name":"keyword.control.attributes.vhdl","match":"'(?i:active|ascending|base|delayed|driving|event|high|image|instance|last|left|leftof|length|low|path|pos|pred|quiet|range|reverse|right|rightof|simple|stable|succ|transaction|val|value)\\b"},{"name":"keyword.control.language.vhdl","match":"\\b(?i:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)\\b"},{"name":"keyword.operator.vhdl","match":"(\\+|\\-|\u003c=|=|=\u003e|:=|\u003e=|\u003e|\u003c|/|\\||\u0026|(\\*{1,2}))"}]},"package_body_pattern":{"patterns":[{"name":"meta.block.package_body.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word package $1\n\t\t\t\t\t\t\\b((?i:package))\\s+\n\n\t\t\t\t\t\t# ... but we want to be a package body $2\n\t\t\t\t\t\t((?i:body))\\s+\n\n\t\t\t\t\t\t# The valid identifier $4 or the invalid one $5\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z\\d_]*)|(.+?))\\s+\n\n\t\t\t\t\t\t# ... and we end it with an is $6\n\t\t\t\t\t\t((?i:is))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end\\b))\n\n\t\t\t\t\t\t# Optional word package $3 body $4\n\t\t\t\t\t\t(\\s+((?i:package))\\s+((?i:body)))?\n\n\t\t\t\t\t\t# Optional identifier $7 or mismatched identifier $8\n\t\t\t\t\t\t(\\s+((\\4)|(.+?)))?(?=\\s*;)","patterns":[{"include":"#function_definition_pattern"},{"include":"#procedure_definition_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.package.vhdl"},"2":{"name":"keyword.control.body.vhdl"},"4":{"name":"entity.name.section.package_body.begin.vhdl"},"5":{"name":"invalid.illegal.invalid.identifier.vhdl"},"6":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.package.vhdl"},"4":{"name":"keyword.control.body.vhdl"},"7":{"name":"entity.name.section.package_body.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"package_pattern":{"patterns":[{"name":"meta.block.package.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word package $1\n\t\t\t\t\t\t\\b((?i:package))\\s+\n\n\t\t\t\t\t\t# ... but we do not want to be a package body\n\t\t\t\t\t\t(?!(?i:body))\n\n\t\t\t\t\t\t# The valid identifier $3 or the invalid one $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z\\d_]*)|(.+?))\\s+\n\n\t\t\t\t\t\t# ... and we end it with an is $5\n\t\t\t\t\t\t((?i:is))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end\\b))\n\n\t\t\t\t\t\t# Optional word package $3\n\t\t\t\t\t\t(\\s+((?i:package)))?\n\n\t\t\t\t\t\t# Optional identifier $6 or mismatched identifier $7\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?(?=\\s*;)","patterns":[{"include":"#function_prototype_pattern"},{"include":"#procedure_prototype_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#component_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.package.vhdl"},"3":{"name":"entity.name.section.package.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.package.vhdl"},"6":{"name":"entity.name.section.package.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"parenthetical_list":{"patterns":[{"name":"meta.block.parenthetical_list.vhdl","begin":"\\(","end":"(?\u003c=\\))","patterns":[{"name":"meta.list.element.vhdl","begin":"(?=['\"a-zA-Z0-9])","end":"(;|\\)|,)","patterns":[{"include":"#comments"},{"include":"#parenthetical_pair"},{"include":"#cleanup"}],"endCaptures":{"0":{"name":"meta.item.stopping.character.vhdl"}}},{"name":"invalid.illegal.unexpected.parenthesis.vhdl","match":"\\)"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"punctuation.definition.parenthetical_list.begin.vhdl"}}}]},"parenthetical_pair":{"patterns":[{"name":"meta.block.parenthetical_pair.vhdl","begin":"\\(","end":"\\)","patterns":[{"include":"#parenthetical_pair"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.vhdl"}}}]},"port_list_pattern":{"patterns":[{"name":"meta.block.port_list.vhdl","begin":"\\b(?i:port)\\b","end":";","patterns":[{"include":"#parenthetical_list"}],"beginCaptures":{"0":{"name":"keyword.control.port.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"procedure_definition_pattern":{"patterns":[{"name":"meta.block.procedure_definition.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word function $1\n\t\t\t\t\t\t((?i:procedure))\\s+\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A valid normal identifier $3\n\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z\\d_]*)\n\t\t\t\t\t\t\t# A valid quoted identifier $4\n\t\t\t\t\t\t\t|(\"\\S+\")\n\t\t\t\t\t\t\t# An invalid identifier $5\n\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t# Check to make sure we have a list is\n\t\t\t\t\t\t(?=\\s*(\\(|(?i:is)))\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t((?i:end))\n\n\t\t\t\t\t\t# Optional word function $3\n\t\t\t\t\t\t(\\s+((?i:procedure)))?\n\n\t\t\t\t\t\t# Optional matched identifier $6 or mismatched identifier $7\n\t\t\t\t\t\t(\\s+((\\3|\\4)|(.+?)))?\n\n\t\t\t\t\t\t# Ending with whitespace and semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#parenthetical_list"},{"include":"#control_patterns"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.procedure.vhdl"},"3":{"name":"entity.name.function.procedure.begin.vhdl"},"4":{"name":"entity.name.function.procedure.begin.vhdl"},"5":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.procedure.vhdl"},"6":{"name":"entity.name.function.procedure.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"procedure_prototype_pattern":{"patterns":[{"name":"meta.block.procedure_prototype.vhdl","begin":"(?x)\n\t\t\t\t\t\t\\b((?i:procedure))\\s+\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\t\t\t\t\t\t(?=\\s*(\\(|;))\n\t\t\t\t\t","end":";","patterns":[{"include":"#parenthetical_list"}],"beginCaptures":{"1":{"name":"storage.type.procedure.vhdl"},"3":{"name":"entity.name.function.procedure.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"0":{"name":"punctual.vhdl"}}}]},"process_pattern":{"patterns":[{"name":"meta.block.process.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Optional identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# The word process #4\n\t\t\t\t\t\t((?i:process))\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t((?i:end))\n\n\t\t\t\t\t\t# Optional word process $3\n\t\t\t\t\t\t(\\s+((?i:process)))\n\n\t\t\t\t\t\t# Optional identifier $6 or invalid identifier $7\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?\n\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.section.process.begin.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.process.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"keyword.control.process.vhdl"},"6":{"name":"entity.name.section.process.end.vhdl"},"7":{"name":"invalid.illegal.invalid.identifier.vhdl"}}}]},"punctuation":{"patterns":[{"name":"punctuation.definition.other.vhdl","match":"(\\.|,|:|;|\\(|\\))"}]},"record_pattern":{"patterns":[{"name":"meta.block.record.vhdl","begin":"\\b(?i:record)\\b","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\n\n\t\t\t\t\t\t# The word record $2\n\t\t\t\t\t\t\\s+((?i:record))\n\n\t\t\t\t\t\t# Optional identifier $5 or invalid identifier $6\n\t\t\t\t\t\t(\\s+(([a-zA-Z][a-zA-Z\\d_]*)|(.*?)))?\n\n\t\t\t\t\t\t# Only whitespace and semicolons can be left\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"storage.type.record.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"2":{"name":"storage.type.record.vhdl"},"5":{"name":"entity.name.type.record.vhdl"},"6":{"name":"invalid.illegal.invalid.identifier.vhdl"}}},{"include":"#cleanup"}]},"strings":{"patterns":[{"name":"string.quoted.single.vhdl","match":"(').(')","captures":{"1":{"name":"punctuation.definition.string.begin.vhdl"},"2":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.quoted.double.vhdl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vhdl","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.other.backslash.vhdl","begin":"\\\\","end":"\\\\"}]},"subtype_pattern":{"patterns":[{"name":"meta.block.subtype.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word subtype $1\n\t\t\t\t\t\t\\b((?i:subtype))\\s+\n\n\t\t\t\t\t\t# Valid identifier $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\\s+\n\n\t\t\t\t\t\t# The word is $5\n\t\t\t\t\t\t((?i:is))\\b\n\t\t\t\t\t","end":";","patterns":[{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"keyword.control.subtype.vhdl"},"3":{"name":"entity.name.type.subtype.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"support_constants":{"patterns":[{"name":"support.constant.ieee.math_real.vhdl","match":"\\b(?i:math_1_over_e|math_1_over_pi|math_1_over_sqrt_2|math_2_pi|math_3_pi_over_2|math_deg_to_rad|math_e|math_log10_of_e|math_log2_of_e|math_log_of_10|math_log_of_2|math_pi|math_pi_over_2|math_pi_over_3|math_pi_over_4|math_rad_to_deg|math_sqrt_2|math_sqrt_pi)\\b"},{"name":"support.constant.ieee.math_complex.vhdl","match":"\\b(?i:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\\b"},{"name":"support.constant.std.standard.vhdl","match":"\\b(?i:true|false)\\b"}]},"support_functions":{"patterns":[{"name":"support.function.std.env.vhdl","match":"\\b(?i:finish|stop|resolution_limit)\\b"},{"name":"support.function.std.textio.vhdl","match":"\\b(?i:readline|read|writeline|write|endfile|endline)\\b"},{"name":"support.function.ieee.std_logic_1164.vhdl","match":"\\b(?i:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\\b"},{"name":"support.function.ieee.numeric_std.vhdl","match":"\\b(?i:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\\b"},{"name":"support.function.ieee.math_real.vhdl","match":"\\b(?i:arccos(h?)|arcsin(h?)|arctan|arctanh|cbrt|ceil|cos|cosh|exp|floor|log10|log2|log|realmax|realmin|round|sign|sin|sinh|sqrt|tan|tanh|trunc)\\b"},{"name":"support.function.ieee.math_complex.vhdl","match":"\\b(?i:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\\b"}]},"support_types":{"patterns":[{"name":"support.type.std.standard.vhdl","match":"\\b(?i:boolean|bit|character|severity_level|integer|real|time|delay_length|now|natural|positive|string|bit_vector|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\\b"},{"name":"support.type.std.textio.vhdl","match":"\\b(?i:line|text|side|width|input|output)\\b"},{"name":"support.type.ieee.std_logic_1164.vhdl","match":"\\b(?i:std_logic|std_ulogic|std_logic_vector|std_ulogic_vector)\\b"},{"name":"support.type.ieee.numeric_std.vhdl","match":"\\b(?i:signed|unsigned)\\b"},{"name":"support.type.ieee.math_complex.vhdl","match":"\\b(?i:complex|complex_polar)\\b"}]},"syntax_highlighting":{"patterns":[{"include":"#keywords"},{"include":"#punctuation"},{"include":"#support_constants"},{"include":"#support_types"},{"include":"#support_functions"}]},"type_pattern":{"patterns":[{"name":"meta.block.type.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word type $1\n\t\t\t\t\t\t\\b((?i:type))\\s+\n\n\t\t\t\t\t\t# Valid identifier $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A semicolon is coming up if we are incomplete\n\t\t\t\t\t\t\t (?=\\s*;)\n\n\t\t\t\t\t\t\t# Or the word is comes up $7\n\t\t\t\t\t\t\t|(\\s+((?i:is)))\n\t\t\t\t\t\t)\\b\n\t\t\t\t\t","end":";","patterns":[{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"keyword.control.type.vhdl"},"3":{"name":"entity.name.type.type.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"7":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"while_pattern":{"patterns":[{"name":"meta.block.while.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Check for an identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Followed by a colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# The for keyword $4\n\t\t\t\t\t\t\\b((?i:while))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s+\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Followed by keyword loop $3\n\t\t\t\t\t\t\t ((?i:loop))\n\n\t\t\t\t\t\t\t# But it really is required $4\n\t\t\t\t\t\t\t|(\\S+)\n\t\t\t\t\t\t)\\b\n\n\t\t\t\t\t\t# The matching identifier $7 or an invalid identifier $8\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?\n\n\t\t\t\t\t\t# Only space and a semicolon left\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.type.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.while.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"keyword.control.loop.vhdl"},"4":{"name":"invalid.illegal.loop.keyword.required.vhdl"},"7":{"name":"entity.name.tag.while.loop.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier"}}}]}}}
|
|
1
|
+
{"name":"VHDL","scopeName":"source.vhdl","patterns":[{"include":"#syntax_highlighting"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-dash.vhdl","begin":"--","end":"\\n"},{"name":"comment.block.vhdl","begin":"\\/\\*","end":"\\*\\/"}]},"constants_numeric":{"patterns":[{"name":"constant.numeric.floating_point.vhdl","match":"\\b([+\\-]?[\\d_]+\\.[\\d_]+([eE][+\\-]?[\\d_]+)?)\\b"},{"name":"constant.numeric.integer.base_16_pound_number_pound.vhdl","match":"\\b16#[0-9A-Fa-f_]+#"},{"name":"constant.numeric.integer.base_15_pound_number_pound.vhdl","match":"\\b15#[0-9A-Ea-e_]+#"},{"name":"constant.numeric.integer.base_14_pound_number_pound.vhdl","match":"\\b14#[0-9A-Da-d_]+#"},{"name":"constant.numeric.integer.base_13_pound_number_pound.vhdl","match":"\\b13#[0-9A-Ca-c_]+#"},{"name":"constant.numeric.integer.base_12_pound_number_pound.vhdl","match":"\\b12#[0-9A-Ba-b_]+#"},{"name":"constant.numeric.integer.base_11_pound_number_pound.vhdl","match":"\\b11#[0-9Aa_]+#"},{"name":"constant.numeric.base_10_pound_number_pound.vhdl","match":"\\b10#[0-9_]+#"},{"name":"constant.numeric.base_9_pound_number_pound.vhdl","match":"\\b9#[0-8_]+#"},{"name":"constant.numeric.base_8_pound_number_pound.vhdl","match":"\\b8#[0-7_]+#"},{"name":"constant.numeric.base_7_pound_number_pound.vhdl","match":"\\b7#[0-6_]+#"},{"name":"constant.numeric.base_6_pound_number_pound.vhdl","match":"\\b6#[0-5_]+#"},{"name":"constant.numeric.base_5_pound_number_pound.vhdl","match":"\\b5#[0-4_]+#"},{"name":"constant.numeric.base_4_pound_number_pound.vhdl","match":"\\b4#[0-3_]+#"},{"name":"constant.numeric.base_3_pound_number_pound.vhdl","match":"\\b3#[0-2_]+#"},{"name":"constant.numeric.base_2_pound_number_pound.vhdl","match":"\\b2#[01_]+#"},{"name":"constant.numeric.base_pound_number_pound.vhdl","match":"((\\d+)?#.*?#)","captures":{"1":{"name":"invalid.illegal.bad.number.vhdl"}}},{"name":"constant.numeric.integer.vhdl","match":"\\b[\\d_]+([eE][\\d_]+)?\\b"},{"name":"constant.numeric.quoted.double.string.hex.vhdl","match":"(\\d+)?[sSuU]?[xX]\"[0-9a-fA-F_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.decimal.vhdl","match":"(\\d+)?[sSuU]?[dD]\"[0-9_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.octal.vhdl","match":"(\\d+)?[sSuU]?[oO]\"[0-7_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.binary.vhdl","match":"(\\d+)?[sSuU]?[bB]?\"[01_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.illegal.vhdl","match":"([bBdDoOsSuUxX]\".+?\")","captures":{"1":{"name":"invalid.illegal.quoted.double.string.vhdl"}}},{"name":"constant.numeric.quoted.single.std_logic","match":"'[01uUxXzZwWlLhH\\-]'"}]},"keywords":{"patterns":[{"name":"keyword.control.attributes.vhdl","match":"'(?i:active|ascending|base|converse|delayed|designated_subtype|driving|element|event|high|image|index|instance|instance_name|last|left|leftof|length|low|mirror|path|path_name|pos|pred|quiet|range|record|reverse|reverse_range|right|rightof|simple|stable|succ|transaction|val|value)\\b"},{"name":"keyword.control.language.vhdl","match":"\\b(?i:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|component|configuration|constant|context|default|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|private|procedure|process|protected|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with|xnor|xor)\\b"},{"name":"keyword.control.language.case.vhdl","match":"\\b(?i:case)(\\?|\\b)"},{"name":"keyword.operator.vhdl","match":"(\\+|\\-|(\\?)?\u003c=|(\\?)?=|(\\?)?/=|=\u003e|:=|(\\?)?\u003e=|\u003c\u003e|(\\?)?\u003e|(\\?)?\u003c|/|\\||\u0026|(\\*{1,2})|\\?\\?)"}]},"strings":{"patterns":[{"name":"string.quoted.single.vhdl","match":"(').(')","captures":{"1":{"name":"punctuation.definition.string.begin.vhdl"},"2":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.quoted.double.vhdl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vhdl","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.other.backslash.vhdl","begin":"\\\\","end":"\\\\"}]},"support_constants":{"patterns":[{"name":"support.constant.ieee.math_real.vhdl","match":"\\b(?i:math_1_over_e|math_1_over_pi|math_1_over_sqrt_2|math_2_pi|math_3_pi_over_2|math_deg_to_rad|math_e|math_log10_of_e|math_log2_of_e|math_log_of_10|math_log_of_2|math_pi|math_pi_over_2|math_pi_over_3|math_pi_over_4|math_rad_to_deg|math_sqrt_2|math_sqrt_pi)\\b"},{"name":"support.constant.ieee.math_complex.vhdl","match":"\\b(?i:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\\b"},{"name":"support.constant.std.standard.vhdl","match":"\\b(?i:true|false)\\b"},{"name":"support.constant.std.direction.vhdl","match":"\\b(?i:ascending|descending)\\b"},{"name":"support.constant.textio.state.file.vhdl","match":"\\b(?i:state_(closed|open))\\b"},{"name":"support.constant.textio.mode.file.vhdl","match":"\\b(?i:(read|write|read_write)_mode)\\b"},{"name":"support.constant.std.env.vhdl","match":"\\b(?i:dir_separator|file_(name|path|line))\\b"},{"name":"support.constant.std.directives.vhdl","match":"\\b(?i:(tool_(edition|name|type|vendor|version))|(vhdl_version))"},{"name":"support.constant.std.reflection.vhdl","match":"\\b(?i:class_(enumeration|physical|integer|floating|record|array|access|file|protected))\\b"}]},"support_functions":{"patterns":[{"name":"support.function.std.env.vhdl","match":"\\b(?i:getenv|finish|stop|resolution_limit)\\b"},{"name":"support.function.std.textio.vhdl","match":"\\b(?i:readline|read|writeline|write|endfile|endline)\\b"},{"name":"support.function.ieee.std_logic_1164.vhdl","match":"\\b(?i:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\\b"},{"name":"support.function.ieee.numeric_std.vhdl","match":"\\b(?i:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\\b"},{"name":"support.function.ieee.math_real.vhdl","match":"\\b(?i:arccos(h?)|arcsin(h?)|arctan|arctanh|cbrt|ceil|cos|cosh|exp|floor|log10|log2|log|realmax|realmin|round|sign|sin|sinh|sqrt|tan|tanh|trunc)\\b"},{"name":"support.function.ieee.math_complex.vhdl","match":"\\b(?i:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\\b"},{"name":"support.function.textio.file.vhdl","match":"\\b(?i:file_(canseek|close|mode|open|position|rewind|seek|size|state|truncate))\\b"},{"name":"support.function.std.vhdl","match":"\\b(?i:deallocate|get_call_path)\\b"},{"name":"support.function.std.time.vhdl","match":"\\b(?i:(local|gm)time)\\b"},{"name":"support.function.std.reflection.vhdl","match":"\\b(?i:get_subtype_mirror|to_value_mirror|pos|image|to_subtype_mirror|enumeration_literal|simple_name|left|right|low|high|length|ascending|value|unit_index|units_length|unit_name|unit_index|scale|element_(index|name|subtype)|get_value_class|is_null|to_subtype_mirror|designated_subtype|get_file_logical_name|get_file_open_kind|to_(enumeration|integer|floating|physical|record|array|access|file|protected)|get)\\b"},{"name":"support.function.std.assert.vhdl","match":"\\b(?i:(ClearVhdlAssert|IsVhdlAssertFailed|[GS]etVhdlAssertCount|[GS]etVhdlAssertEnable|[GS]etVhdlAssertFormat|[GS]etVhdlReadSeverity))\\b"}]},"support_types":{"patterns":[{"name":"support.type.std.standard.vhdl","match":"\\b(?i:boolean(_vector)?|bit(_vector)?|character|severity_level|integer(_vector)?|real(_vector)?|time(_vector)?|delay_length|now|natural|positive|string|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\\b"},{"name":"support.type.std.textio.vhdl","match":"\\b(?i:line|text|side|width|input|output)\\b"},{"name":"support.type.ieee.std_logic_1164.vhdl","match":"\\b(?i:std_(u)?logic(_vector)?)\\b"},{"name":"support.type.ieee.numeric_std.vhdl","match":"\\b(?i:(unresolved_|u_)?(signed|unsigned))\\b"},{"name":"support.type.ieee.math_complex.vhdl","match":"\\b(?i:complex|complex_polar)\\b"},{"name":"support.type.ieee.fixed.vhdl","match":"\\b(?i:sfixed|ufixed)\\b"},{"name":"support.type.float.vhdl","match":"\\b(?i:float(32|64|128)?)\\b"},{"name":"support.type.std.time.vhdl","match":"\\b(?i:time_record)\\b"},{"name":"support.type.std.reflection.vhdl","match":"\\b(?i:(access_|array_|enumeration_|file_|floating_|integer_|physical_|protected_|record_)?(subtype|value)_mirror(_pt)?|(natural_|positive_)?index|value_class)\\b"}]},"syntax_highlighting":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#constants_numeric"},{"include":"#strings"},{"include":"#punctuation"},{"include":"#support_constants"},{"include":"#support_types"},{"include":"#support_functions"}]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"C3","scopeName":"source.vscode.c3","patterns":[{"include":"#top_level"},{"include":"#statements"}],"repository":{"assign_right_expression":{"begin":"=","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}},"attribute":{"patterns":[{"name":"meta.annotation.c3","begin":"@(?:(?:align|allow_deprecated|benchmark|bigendian|builtin|callconv|cname|compact|const|deprecated|dynamic|export|extern|finalizer|format|if|inline|init|jump|link|littleendian|local|maydiscard|naked|noalias|nodiscard|noinit|noinline|nopadding|norecurse|noreturn|nosanitize|nostrip|obfuscate|operator|operator_r|operator_s|optional|overlap|packed|private|public|pure|reflect|safeinfer|safemacro|simd|section|structlike|tag|test|unused|used|wasm|weak|winmain)\\b|(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))","end":"(?=[^ \\t(])|(?\u003c=\\))","patterns":[{"include":"#parens"}],"beginCaptures":{"0":{"name":"keyword.annotation.c3"}}}]},"block":{"patterns":[{"name":"meta.block.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]},"block_comment":{"name":"comment.block.c3","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comment_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.c3"}}},"block_comment_body":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comment_body"}]}]},"brackets":{"patterns":[{"name":"meta.brackets.c3","begin":"\\[\u003c?","end":"\u003e?\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.c3"}}}]},"builtin":{"patterns":[{"match":"(\\$\\$(?:\\b_*[A-Z][_A-Z0-9]*\\b))|(\\$\\$(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))","captures":{"1":{"name":"constant.language.c3"},"2":{"name":"entity.name.function.builtin.c3"}}}]},"bytes_literal":{"patterns":[{"name":"string.quoted.other.c3","begin":"(x)([\"'`])","end":"\\2","patterns":[{"name":"constant.numeric.integer.c3","match":"[\\sfA-Fa-f0-9]+"}],"beginCaptures":{"1":{"name":"keyword.other.c3"},"2":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},{"name":"string.quoted.other.c3","begin":"(b64)([\"'`])","end":"\\2","patterns":[{"name":"constant.numeric.integer.c3","match":"[\\sA-Za-z0-9+/=]+"}],"beginCaptures":{"1":{"name":"keyword.other.c3"},"2":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}}]},"char_literal":{"name":"string.quoted.single.c3","begin":"'","end":"'","patterns":[{"include":"#escape_sequence"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},"comments":{"patterns":[{"include":"#line_comment"},{"include":"#block_comment"},{"include":"#doc_comment"}]},"constants":{"patterns":[{"name":"constant.language.c3","match":"\\b(true|false|null)\\b"},{"begin":"(?:\\b_*[A-Z][_A-Z0-9]*\\b)","end":"(?=[^{ \\t])|(?\u003c=\\})","patterns":[{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"variable.other.constant.c3"}}}]},"control_statements":{"patterns":[{"begin":"\\$for\\b","end":":","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"keyword.control.ct.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"begin":"\\$foreach\\b","end":"(?\u003c=:)","patterns":[{"include":"#comments"},{"name":"variable.other.c3","match":"\\$(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"punctuation.separator.c3","match":","},{"begin":":","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"keyword.control.ct.c3"}}},{"begin":"\\bfor\\b","end":"(?\u003c=\\))","patterns":[{"include":"#comments"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#statements"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}],"beginCaptures":{"0":{"name":"keyword.control.c3"}}},{"begin":"\\$(?:switch|case|default|if)\\b","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.ct.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"begin":"\\b(?:case|default)\\b","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.c3"}},"endCaptures":{"0":{"name":"punctuation.separator.c3"}}}]},"doc_comment":{"begin":"(?=\u003c\\*)","end":"(\\*\u003e)","patterns":[{"include":"#doc_comment_body"}],"endCaptures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"punctuation.definition.comment.end.c3"}}},"doc_comment_body":{"patterns":[{"begin":"(\u003c\\*)\\s*(?=@)","end":"(?=\\*\u003e)","patterns":[{"match":"@param(?:\\s*\\[\u0026?(?:in|out|inout)\\])?\\s*(?:([$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|(\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))|(\\.\\.\\.))","captures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"variable.parameter.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"},"3":{"name":"keyword.operator.variadic.c3"}}},{"begin":"@(?:require\\b|ensure\\b|return\\?)","end":"(?=:|\\*\u003e|$)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"comment.block.documentation.c3"}}},{"name":"comment.block.documentation.c3","match":"@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"comment.block.documentation.c3","match":":"},{"name":"comment.block.documentation.c3","begin":"([\"`])","end":"\\\\1"}],"beginCaptures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"punctuation.definition.comment.begin.c3"}}},{"name":"comment.block.documentation.c3","begin":"(\u003c\\*)","end":"(?=^\\s*@|\\*\u003e)","beginCaptures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"punctuation.definition.comment.begin.c3"}}},{"end":"(?=\\*\u003e)","patterns":[{"match":"^\\s*@param(?:\\s*\\[\u0026?(?:in|out|inout)\\])?\\s*(?:([$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|(\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))|(\\.\\.\\.))","captures":{"0":{"name":"comment.block.documentation.c3"},"1":{"name":"variable.parameter.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"},"3":{"name":"keyword.operator.variadic.c3"}}},{"begin":"^\\s*@(?:require\\b|ensure\\b|return\\?)","end":"(?=:|\\*\u003e|$)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"comment.block.documentation.c3"}}},{"name":"comment.block.documentation.c3","match":"^\\s*@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"comment.block.documentation.c3","match":":"},{"name":"comment.block.documentation.c3","begin":"([\"`])","end":"\\\\1"}]}]},"escape_sequence":{"name":"constant.character.escape.c3","match":"\\\\([0abefnrtv'\"\\\\]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},"expression":{"patterns":[{"include":"#comments"},{"include":"#function"},{"include":"#constants"},{"include":"#builtin"},{"include":"#literals"},{"include":"#operators"},{"include":"#keywords"},{"include":"#type"},{"include":"#path"},{"include":"#function_call"},{"include":"#variable"},{"include":"#parens"},{"include":"#brackets"},{"include":"#block"},{"include":"#punctuation"},{"include":"#leftover_at_ident"}]},"function":{"begin":"(?=\\b(fn|macro)\\b)","end":"(?=[={;])","patterns":[{"name":"meta.function.c3","begin":"\\b(fn|macro)\\b","end":"(?=\\()","patterns":[{"include":"#comments"},{"include":"#function_header"}],"beginCaptures":{"1":{"name":"keyword.declaration.function.c3"}}},{"name":"meta.function.parameters.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}},{"contentName":"meta.function.c3","begin":"(?\u003c=\\))","end":"(?=[{=;])","patterns":[{"include":"#comments"},{"include":"#attribute"}]}]},"function_call":{"name":"meta.function_call.c3","begin":"([@#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))(?=\\s*(\\{.*\\})?\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#generic_params"},{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"begin":"([$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)|\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b))\\s*(:)(?!:)","end":"(?=\\))|([;,])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.parameter.c3"},"2":{"name":"punctuation.separator.c3"}},"endCaptures":{"1":{"name":"punctuation.separator.c3"}}},{"begin":"(?=\\S)","end":"(?=\\))|([;,])","patterns":[{"include":"#expression"}],"endCaptures":{"1":{"name":"punctuation.separator.c3"}}},{"name":"punctuation.separator.c3","match":";"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}],"beginCaptures":{"1":{"name":"entity.name.function.c3"}}},"function_header":{"patterns":[{"include":"#type"},{"name":"punctuation.accessor.c3","match":"\\."},{"name":"entity.name.function.c3","match":"@?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"}]},"generic_params":{"patterns":[{"name":"meta.generic.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.generic.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.generic.end.c3"}}}]},"integer_literal":{"name":"constant.numeric.integer.c3","match":"\\b(?:0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*|0[oO][0-7](_?[0-7])*|0[bB][0-1](_?[0-1])*|[0-9](?:_?[0-9])*)(?:[UuIi](?:8|16|32|64|128)|[Uu][Ll]{0,2}|[Ll]{1,2})?"},"keywords":{"patterns":[{"name":"keyword.other.ct.c3","match":"\\$(?:alignof|assert|assignable|default|defined|echo|embed|eval|error|exec|extnameof|feature|include|is_const|kindof|nameof|offsetof|qnameof|sizeof|stringify|vacount|vaconst|vaarg|vaexpr|vasplat)\\b"},{"name":"keyword.control.ct.c3","match":"\\$(?:case|else|endfor|endforeach|endif|endswitch|for|foreach|if|switch)\\b"},{"name":"keyword.other.c3","match":"\\b(?:assert|asm|catch|inline|import|module|interface|try|var)\\b"},{"name":"keyword.control.c3","match":"\\b(?:break|case|continue|default|defer|do|else|for|foreach|foreach_r|if|nextcase|return|switch|while)\\b"}]},"leftover_at_ident":{"patterns":[{"name":"meta.annotation.c3","match":"@(?:pure|inline|noinline)","captures":{"0":{"name":"keyword.annotation.c3"}}},{"begin":"@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[^{ \\t])|(?\u003c=\\})","patterns":[{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"entity.name.function.c3"}}}]},"line_comment":{"name":"comment.line.double-slash.c3","match":"//.*$"},"literals":{"patterns":[{"include":"#string_literal"},{"include":"#char_literal"},{"include":"#raw_string_literal"},{"include":"#real_literal"},{"include":"#integer_literal"},{"include":"#bytes_literal"}]},"modifier_keywords":{"patterns":[{"name":"storage.modifier.c3","match":"\\b(?:const|extern|static|tlocal|inline)\\b"}]},"module_path":{"patterns":[{"include":"#path"},{"name":"meta.path.c3","match":"((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))","captures":{"1":{"name":"entity.name.scope-resolution.c3"}}}]},"operators":{"patterns":[{"name":"keyword.declaration.function.arrow.c3","match":"=\u003e"},{"name":"keyword.operator.assignment.augmented.c3","match":"(?:[-%\u0026*+/^|]|\u003e\u003e|\u003c\u003c|\\+\\+\\+)="},{"name":"keyword.operator.comparison.c3","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},{"name":"keyword.operator.variadic.c3","match":"\\.\\.\\."},{"name":"keyword.operator.range.c3","match":"\\.\\."},{"name":"keyword.operator.arithmetic.c3","match":"\\+\\+\\+?|--"},{"name":"keyword.operator.arithmetic.c3","match":"\u003c\u003c|\u003e\u003e|\u0026\u0026\u0026?|\\|\\|\\|?"},{"name":"keyword.operator.arithmetic.c3","match":"[-%+/^|~]"},{"name":"keyword.operator.assignment.c3","match":"="},{"name":"keyword.operator.c3","match":"\\?\\?\\??|\\?:|[!?]|[\u0026*:]"}]},"parameters":{"patterns":[{"include":"#comments"},{"begin":"\\$(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[;,)])","patterns":[{"include":"#comments"},{"include":"#attribute"},{"begin":"=","end":"(?=[;,)])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}],"beginCaptures":{"0":{"name":"support.type.c3 entity.name.type.c3"}}},{"include":"#type"},{"include":"#punctuation"},{"name":"keyword.operator.variadic.c3","match":"\\.\\.\\."},{"name":"keyword.operator.address.c3","match":"\u0026"},{"begin":";","end":"(?=\\))","patterns":[{"include":"#comments"},{"name":"entity.name.function.c3","match":"@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"begin":"[$#]?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[;,)])","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"keyword.operator.variadic.c3","match":"\\.\\.\\."},{"begin":"=","end":"(?=[;,)])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}],"beginCaptures":{"0":{"name":"variable.parameter.c3"}}}]},"parens":{"patterns":[{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}]},"path":{"name":"meta.path.c3","match":"((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))\\s*(::)","captures":{"1":{"name":"entity.name.scope-resolution.c3"},"2":{"name":"punctuation.separator.scope-resolution.c3"}}},"punctuation":{"patterns":[{"name":"punctuation.separator.c3","match":","},{"name":"punctuation.separator.c3","match":":"},{"name":"punctuation.accessor.c3","match":"\\.(?!\\.\\.)"}]},"raw_string_literal":{"name":"string.quoted.other.c3","begin":"`","end":"`(?!`)","patterns":[{"name":"constant.character.escape.c3","match":"``"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},"real_literal":{"patterns":[{"name":"constant.numeric.float.c3","match":"\\b[0-9](?:_?[0-9])*(?:[Ff](?:16|32|64|128)?|[Dd])"},{"name":"constant.numeric.float.c3","match":"\\b(?:[0-9](?:_?[0-9])*[Ee][+-]?[0-9]+|[0-9](?:_?[0-9])*\\.(?!\\.)(?:[0-9](?:_?[0-9])*)?(?:[Ee][+-]?[0-9]+)?)(?:[Ff](?:16|32|64|128)?|[Dd])?"},{"name":"constant.numeric.float.c3","match":"\\b0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*(?:\\.(?:[a-fA-F0-9](?:_?[a-fA-F0-9])*)?)?[Pp][+-]?[0-9]+(?:[Ff](?:16|32|64|128)?|[Dd])?"}]},"statements":{"patterns":[{"include":"#comments"},{"include":"#modifier_keywords"},{"name":"punctuation.terminator.c3","match":";"},{"include":"#control_statements"},{"include":"#attribute"},{"include":"#block"},{"include":"#expression"}]},"string_literal":{"name":"string.quoted.double.c3","begin":"\"","end":"\"","patterns":[{"include":"#escape_sequence"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.c3"}}},"structlike":{"begin":"(?=\\b(?:(struct|bitstruct)|(union))\\b)","end":"(?\u003c=\\})","patterns":[{"name":"meta.struct.c3","begin":"\\b(?:(struct|bitstruct)|(union))\\b","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"support.type.c3 entity.name.type.struct.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)"},{"name":"variable.other.member.c3","match":"(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"begin":":","end":"(?=\\{)","patterns":[{"include":"#comments"},{"include":"#type_no_generics"},{"include":"#attribute"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}},{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#path"},{"include":"#type"},{"include":"#punctuation"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}}],"beginCaptures":{"1":{"name":"keyword.declaration.struct.c3"},"2":{"name":"keyword.declaration.union.c3"}}},{"name":"meta.struct.body.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#structlike"},{"include":"#modifier_keywords"},{"include":"#type"},{"name":"variable.other.member.c3","match":"(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"name":"punctuation.terminator.c3","match":";"},{"begin":":","end":"(?=;)","patterns":[{"include":"#attribute"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]},"top_level":{"patterns":[{"include":"#comments"},{"include":"#modifier_keywords"},{"begin":"\\$(?:assert|include|echo|exec)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.module.c3","begin":"\\bmodule\\b","end":";","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#module_path"},{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"keyword.declaration.module.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.import.c3","begin":"\\bimport\\b","end":";","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#module_path"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"keyword.declaration.import.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"include":"#function"},{"name":"meta.alias.c3","begin":"\\balias\\b","end":";","patterns":[{"include":"#comments"},{"begin":"(?=((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))\\s*=\\s*module)","end":"(?=;)","patterns":[{"begin":"((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"begin":"=","end":"(?=;)","patterns":[{"include":"#comments"},{"begin":"module","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#module_path"}],"beginCaptures":{"0":{"name":"keyword.declaration.module.c3"}}}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}]}]},{"begin":"(@(?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|((?:\\b_*[a-z][_a-zA-Z0-9]*\\b))|((?:\\b_*[A-Z][_A-Z0-9]*\\b))","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#assign_right_expression"}],"beginCaptures":{"1":{"name":"entity.name.function.c3"},"2":{"name":"variable.global.c3"},"3":{"name":"variable.other.constant.c3"}}},{"begin":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"include":"#assign_right_expression"}],"beginCaptures":{"0":{"name":"support.type.c3 entity.name.type.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.alias.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.typedef.c3","begin":"\\btypedef\\b","end":";","patterns":[{"include":"#comments"},{"begin":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#parens"},{"include":"#attribute"},{"include":"#assign_right_expression"}],"beginCaptures":{"0":{"name":"support.type.c3 entity.name.type.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.typedef.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.faultdef.c3","begin":"\\bfaultdef\\b","end":";","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"variable.other.constant.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*\\b)"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"keyword.declaration.faultdef.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"name":"meta.attrdef.c3","begin":"\\battrdef\\b","end":";","patterns":[{"include":"#comments"},{"begin":"@(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}},{"begin":"=","end":"(?=;)","patterns":[{"include":"#comments"},{"include":"#attribute"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}}],"beginCaptures":{"0":{"name":"keyword.annotation.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.attrdef.c3"}},"endCaptures":{"0":{"name":"punctuation.terminator.c3"}}},{"include":"#structlike"},{"begin":"(?=\\benum\\b)","end":"(?\u003c=\\})","patterns":[{"name":"meta.enum.c3","begin":"\\benum\\b","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"support.type.c3 entity.name.type.enum.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"begin":":","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"storage.modifier.c3","match":"\\b(?:inline|const)\\b"},{"include":"#type_no_generics"},{"contentName":"meta.group.c3","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"storage.modifier.c3","match":"\\b(?:inline|const)\\b"},{"include":"#parameters"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.c3"}}},{"include":"#attribute"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.enum.c3"}}},{"name":"meta.enum.body.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"begin":"=","end":"(?=,)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.c3"}}},{"include":"#attribute"},{"name":"variable.other.constant.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*\\b)"},{"name":"punctuation.separator.c3","match":","}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]},{"begin":"(?=\\binterface\\b)","end":"(?\u003c=\\})","patterns":[{"name":"meta.interface.c3","begin":"\\binterface\\b","end":"(?=\\{)","patterns":[{"include":"#comments"},{"name":"support.type.c3 entity.name.type.interface.c3","match":"(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)"},{"include":"#attribute"},{"begin":":","end":"(?=\\{)","patterns":[{"include":"#comments"},{"include":"#punctuation"},{"include":"#type_no_generics"}],"beginCaptures":{"0":{"name":"punctuation.separator.c3"}}}],"beginCaptures":{"0":{"name":"keyword.declaration.interface.c3"}}},{"name":"meta.interface.body.c3","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"name":"punctuation.terminator.c3","match":";"},{"include":"#function"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.c3"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.c3"}}}]}]},"type":{"patterns":[{"include":"#path"},{"begin":"\\b(void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid)\\b|(\\$?\\b(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)\\b)","end":"(?=\\*\u003e|[^ \\t*\\[?{])","patterns":[{"include":"#comments"},{"include":"#generic_params"},{"include":"#type_suffix"}],"beginCaptures":{"1":{"name":"storage.type.built-in.primitive.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"}}},{"include":"#type_expr"}]},"type_expr":{"patterns":[{"begin":"\\$(?:typeof|typefrom|evaltype)\\b","end":"(?\u003c=\\))","patterns":[{"include":"#parens"}],"beginCaptures":{"0":{"name":"storage.type.c3"}}},{"begin":"\\$vatype\\b","end":"(?\u003c=\\])","patterns":[{"include":"#brackets"}],"beginCaptures":{"0":{"name":"storage.type.c3"}}},{"include":"#type_suffix"}]},"type_no_generics":{"patterns":[{"include":"#path"},{"begin":"\\b(void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid)\\b|(\\$?\\b(?:\\b_*[A-Z][_A-Z0-9]*[a-z][_a-zA-Z0-9]*\\b)\\b)","end":"(?=[^ \\t*\\[?@])","patterns":[{"include":"#comments"},{"include":"#type_suffix"}],"beginCaptures":{"1":{"name":"storage.type.built-in.primitive.c3"},"2":{"name":"support.type.c3 entity.name.type.c3"}}},{"include":"#type_expr"}]},"type_suffix":{"patterns":[{"include":"#brackets"},{"name":"keyword.operator.address.c3","match":"\\*"},{"name":"keyword.operator.c3","match":"\\?"}]},"variable":{"begin":"(?\u003c!#)\\$?(?:\\b_*[a-z][_a-zA-Z0-9]*\\b)","end":"(?=[^{ \\t])|(?\u003c=\\})","patterns":[{"include":"#generic_params"}],"beginCaptures":{"0":{"name":"variable.other.c3"}}}}}
|
data/grammars/source.wdl.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"wdl","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comment"},{"include":"#double-number-sign-comment"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.struct-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block-curly"},{"include":"#command-block-heredoc"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"command-block-curly":{"contentName":"meta.embedded.block.shellscript","begin":"(?:\\s*)(command)\\s+({)","end":"(?:^|\\G)(?:\\s*)(})(?:\\s*)$","patterns":[{"name":"meta.bracket.curly.inner","begin":"{","end":"}","patterns":[{"include":"$self"}]},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.bracket.curly.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"command-block-heredoc":{"contentName":"meta.embedded.block.shellscript","begin":"(?:\\s*)(command)\\s+(\u003c\u003c\u003c)","end":"(?:^|\\G)(?:\\s*)(\u003e\u003e\u003e)(?:\\s*)$","patterns":[{"name":"meta.brace.command","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"$self"}]},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"source.gfm"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|env|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.parameter_meta-start.wdl"}}},"placeholder":{"name":"constant.other.placeholder.wdl","match":"[$~]{\\s*([A-Za-z][A-Za-z0-9_]*)\\s*}"},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
|
|
1
|
+
{"name":"wdl","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comments"},{"include":"#double-number-sign-comments"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.struct-start.wdl"}}},{"contentName":"entity.enum.wdl","begin":"(enum)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.enum.wdl"},"2":{"name":"variable.name.enum.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.enum-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block-curly"},{"include":"#command-block-heredoc"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"bash-arguments":{"name":"string.unquoted.argument.shell","match":"\\b[a-zA-Z0-9/._][a-zA-Z0-9/._-]*\\b"},"bash-arithmetic":{"name":"meta.expression.arithmetic.shell","begin":"(\\(\\()","end":"(\\)\\))","patterns":[{"include":"#bash-variables"},{"include":"#bash-arithmetic-operators"},{"include":"#bash-numeric"},{"include":"#bash-arithmetic-variables"}],"beginCaptures":{"1":{"name":"punctuation.definition.evaluation.begin.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.evaluation.end.shell"}}},"bash-arithmetic-operators":{"name":"keyword.operator.arithmetic.shell","match":"\\*\\*|==|!=|\u003c=|\u003e=|\u0026\u0026|\\|\\||\u003c\u003c|\u003e\u003e|[!~+\\-*/%\u003c\u003e\u0026|^=]"},"bash-arithmetic-variables":{"name":"variable.other.shell","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},"bash-assignments":{"patterns":[{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)(=)","captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"keyword.operator.assignment.shell"}}}]},"bash-commands":{"patterns":[{"name":"entity.name.function.shell"}]},"bash-comments":{"name":"comment.line.number-sign.shell","match":"#.*$"},"bash-double-quoted-strings":{"name":"string.quoted.double.shell","begin":"\"","end":"\"","patterns":[{"include":"#bash-variables"},{"name":"constant.character.escape.shell","match":"\\\\([\"$`\\\\\\r\\n])"}]},"bash-heredoc-generic":{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c-?)\\s*([a-zA-Z_][a-zA-Z0-9_]*)","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.shell"}}},"bash-heredoc-python":{"contentName":"source.python.embedded.shell","begin":"(\u003c\u003c-?)\\s*([pP][yY][tT][hH][oO][nN])","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"},{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.python.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.python.shell"}}},"bash-heredocs":{"patterns":[{"include":"#bash-heredoc-python"},{"include":"#bash-heredoc-generic"}]},"bash-in-wdl":{"patterns":[{"include":"#bash-heredocs"},{"include":"#bash-comments"},{"include":"#bash-strings"},{"include":"#bash-arithmetic"},{"include":"#bash-variables"},{"include":"#bash-assignments"},{"include":"#bash-options"},{"include":"#bash-keywords"},{"include":"#bash-commands"},{"include":"#bash-arguments"}]},"bash-keywords":{"patterns":[{"name":"keyword.control.shell","match":"\\b(if|then|else|fi|for|in|while|do|done|case|esac|until|select)\\b"},{"name":"support.function.builtin.shell","match":"\\b(echo|set|unset|export|readonly|shift|source|local|declare|getopts|read|let)\\b"}]},"bash-numeric":{"name":"constant.numeric.shell","match":"\\b(0[xX][0-9a-fA-F]+|\\d+)\\b"},"bash-options":{"patterns":[{"name":"constant.other.option.shell","match":"(?\u003c=^|\\s)(--[a-zA-Z0-9][a-zA-Z0-9-]*|-\\w+)\\b"}]},"bash-single-quoted-strings":{"name":"string.quoted.single.shell","begin":"'","end":"'"},"bash-strings":{"patterns":[{"include":"#bash-single-quoted-strings"},{"include":"#bash-double-quoted-strings"}]},"bash-variables":{"patterns":[{"name":"variable.other.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.shell","begin":"\\$\\{","end":"\\}","beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.parameter.special.shell","match":"\\$([0-9@*#?$$!_])"}]},"command-block-curly":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+({)","end":"^(?:\\s*)(})(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.bracket.curly.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"command-block-heredoc":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+(\u003c\u003c\u003c)","end":"^(?:\\s*)(\u003e\u003e\u003e)(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"text.md"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|enum|env|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.parameter_meta-start.wdl"}}},"placeholder":{"name":"meta.other.placeholder.wdl","begin":"[$~]{","end":"}","patterns":[{"include":"source.wdl"}]},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"WESL","scopeName":"source.wesl","patterns":[{"include":"#documentation_comment"},{"include":"#keywords"},{"include":"source.wgsl"}],"repository":{"documentation_comment":{"name":"comment.line.documentation.wgsl","match":"\\s*///.*"},"keywords":{"patterns":[{"name":"keyword.control.import.wesl","match":"\\b(import)\\b"},{"name":"keyword.control.wesl","match":"\\b(package|super|as)\\b"},{"name":"keyword.operator.module.wesl","match":"::"}]}}}
|
data/grammars/source.wgsl.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#
|
|
1
|
+
{"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#functions"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}],"repository":{"address_spaces":{"name":"storage.modifier.address_spaces.wgsl","match":"\\b(function|private|workgroup|uniform|storage|handle)\\b"},"attributes":{"patterns":[{"match":"(@)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\b","captures":{"1":{"name":"punctuation.attribute.wgsl"},"2":{"name":"entity.other.attribute.wgsl"}}}]},"block_comments":{"name":"comment.block.wgsl","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comments"}]},"built-in_value_names":{"name":"variable.language.built-ins.wgsl","match":"\\b(vertex_index|instance_index|position|front_facing|frag_depth|sample_index|sample_mask|local_invocation_id|local_invocation_index|global_invocation_id|workgroup_id|num_workgroups|subgroup_invocation_id|subgroup_size)\\b"},"function_arguments":{"patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}]},"function_calls":{"patterns":[{"name":"meta.function.wgsl","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c[^|\u0026()]+\u003e)?(\\()","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"patterns":[{"include":"#function_arguments"}]},"3":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"keyword.fn.wgsl"},"2":{"name":"entity.name.function.definition.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.other.declarations-and-types.wgsl","match":"\\b(alias|const|fn|let|override|struct|var)\\b"},{"name":"keyword.control.wgsl","match":"\\b(break|case|continue|continuing|default|discard|(?\u003c!#)else|for|if|loop|return|switch|while)\\b"},{"name":"keyword.other.assertions.wgsl","match":"\\b(const_assert)\\b"},{"name":"keyword.other.directive.wgsl","match":"(?\u003c!@)\\b(diagnostic|enable|requires)\\b"}]},"line_ending_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"literals":{"patterns":[{"name":"constant.numeric.decimal.int.wgsl","match":"\\b(0[iu]?|[1-9][0-9]*[iu]?)\\b"},{"name":"constant.numeric.hex.int.wgsl","match":"\\b(0[xX][0-9a-fA-F]+[iu]?)\\b"},{"name":"constant.numeric.decimal.float.wgsl","match":"\\b(0[fh]|[1-9][0-9]*[fh]|[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?|[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?|[0-9]+[eE][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.numeric.hex.float.wgsl","match":"\\b(0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"matrix_types":{"patterns":[{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])\\b"},{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])(f|h)\\b"}]},"memory_access_modes":{"name":"storage.modifier.memory_access_modes.wgsl","match":"\\b(read|write|read_write)\\b"},"memory_views":{"name":"storage.type.ptr.wgsl","match":"\\b(ptr)\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.address-of.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"},{"name":"keyword.operator.type.annotation.wgsl","match":":"}]},"plain_types":{"patterns":[{"name":"storage.type.boolean.wgsl","match":"\\b(bool)\\b"},{"name":"storage.type.integer.wgsl","match":"\\b(i32|u32)\\b"},{"name":"storage.type.floating-point.wgsl","match":"\\b(f32|f16)\\b"},{"include":"#vector_types"},{"include":"#matrix_types"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][_$[:alnum:]]*)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"reserved_words":{"name":"keyword.other.reserved_words.wgsl","match":"\\b(aNULL|Self|abstract|active|alignas|alignof|as|asm|asm_fragment|async|attribute|auto|await|become|cast|catch|class|co_await|co_return|co_yield|coherent|column_major|common|compile|compile_fragment|concept|const_cast|consteval|constexpr|constinit|crate|debugger|decltype|delete|demote|demote_to_helper|do|dynamic_cast|enum|explicit|export|extends|extern|external|fallthrough|filter|final|finally|friend|from|fxgroup|get|goto|groupshared|highp|impl|implements|import|inline|instanceof|interface|layout|lowp|macro|macro_rules|match|mediump|meta|mod|module|move|mut|mutable|namespace|new|nil|noexcept|noinline|nointerpolation|non_coherent|noncoherent|noperspective|null|nullptr|of|operator|package|packoffset|partition|pass|patch|pixelfragment|precise|precision|premerge|priv|protected|pub|public|readonly|ref|regardless|register|reinterpret_cast|require|resource|restrict|self|set|shared|sizeof|smooth|snorm|static|static_assert|static_cast|std|subroutine|super|target|template|this|thread_local|throw|trait|try|type|typedef|typeid|typename|typeof|union|unless|unorm|unsafe|unsized|use|using|varying|virtual|volatile|wgsl|where|with|writeonly|yield)\\b"},"texture_and_sampler_types":{"patterns":[{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array)\\b"},{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_multisampled_2d|texture_depth_multisampled_2d)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_external)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d)\\b"},{"name":"storage.type.depth-texture.wgsl","match":"\\b(texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array)\\b"},{"name":"storage.type.sampler.wgsl","match":"\\b(sampler|sampler_comparison)\\b"}]},"types":{"patterns":[{"include":"#plain_types"},{"include":"#memory_views"},{"include":"#texture_and_sampler_types"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]},"vector_types":{"patterns":[{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])\\b"},{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])(i|u|f|h)\\b"}]}}}
|
data/grammars/source.wit.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"WIT","scopeName":"source.wit","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"include":"#package"},{"include":"#toplevel-use"},{"include":"#world"},{"include":"#interface"},{"include":"#whitespace"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block.empty.wit","match":"/\\*\\*/"},{"name":"comment.block.documentation.wit","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"},{"include":"#markdown"},{"include":"#whitespace"}],"applyEndPatternLast":true},{"name":"comment.block.wit","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"},{"include":"#whitespace"}],"applyEndPatternLast":true}]},"boolean":{"name":"entity.name.type.boolean.wit","match":"\\b(bool)\\b"},"comment":{"patterns":[{"include":"#block-comments"},{"include":"#doc-comment"},{"include":"#line-comment"}]},"container":{"name":"meta.container.ty.wit","patterns":[{"include":"#tuple"},{"include":"#list"},{"include":"#option"},{"include":"#result"},{"include":"#handle"}]},"doc-comment":{"name":"comment.line.documentation.wit","begin":"^\\s*///","end":"$","patterns":[{"include":"#markdown"}]},"enum":{"name":"meta.enum-items.wit","begin":"\\b(enum)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#enum-cases"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.enum.enum-items.wit"},"2":{"name":"entity.name.type.id.enum-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"enum-cases":{"name":"meta.enum-cases.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.enum-cases.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}]},"extern":{"name":"meta.extern-type.wit","patterns":[{"name":"meta.interface-type.wit","patterns":[{"begin":"\\b(interface)\\b\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#interface-items"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.interface.interface-type.wit"},"2":{"name":"ppunctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}]},{"include":"#function-definition"},{"include":"#use-path"}]},"feature-gate":{"name":"meta.feature-gate.wit","patterns":[{"name":"meta.annotation.unstable.wit","begin":"(@unstable)(\\()","end":"(\\))","patterns":[{"include":"#feature-gate-content"}],"beginCaptures":{"1":{"name":"keyword.control.unstable.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}}},{"name":"meta.annotation.since.wit","begin":"(@since)(\\()","end":"(\\))","patterns":[{"include":"#feature-gate-content"}],"beginCaptures":{"1":{"name":"keyword.control.since.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}}},{"name":"meta.annotation.deprecated.wit","begin":"(@deprecated)(\\()","end":"(\\))","patterns":[{"include":"#feature-gate-content"}],"beginCaptures":{"1":{"name":"keyword.control.deprecated.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}}}]},"feature-gate-content":{"name":"meta.feature-gate-content.wit","patterns":[{"include":"#comment"},{"name":"meta.feature-gate-parameter.wit","match":"\\b(feature|version)\\s*(=)\\s*([^\\s,)]+|\"[^\"]*\")","captures":{"1":{"name":"variable.parameter.feature-gate.wit"},"2":{"name":"keyword.operator.assignment.wit"},"3":{"name":"string.quoted.feature-gate.wit"}}},{"name":"punctuation.comma.wit","match":","},{"include":"#whitespace"}]},"flags":{"name":"meta.flags-items.wit","begin":"\\b(flags)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#flags-fields"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.flags.flags-items.wit"},"2":{"name":"entity.name.type.id.flags-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"flags-fields":{"name":"meta.flags-fields.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.flags-fields.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}]},"function":{"name":"meta.func-item.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#feature-gate"},{"include":"#function-definition"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.function.id.func-item.wit"},"2":{"name":"meta.word.wit"},"4":{"name":"meta.word-separator.wit"},"5":{"name":"meta.word.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},"function-definition":{"name":"meta.func-type.wit","patterns":[{"name":"meta.function.wit","begin":"\\b(static\\s+)?(func)\\b","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#parameter-list"},{"include":"#result-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.static.func-item.wit"},"2":{"name":"keyword.other.func.func-type.wit"}},"applyEndPatternLast":true}]},"handle":{"name":"meta.handle.ty.wit","match":"\\b(borrow)\\b(\\\u003c)\\s*%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\\u003e)","captures":{"1":{"name":"entity.name.type.borrow.handle.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"},"3":{"name":"entity.name.type.id.handle.wit"},"8":{"name":"punctuation.brackets.angle.end.wit"}}},"identifier":{"name":"entity.name.type.id.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},"interface":{"name":"meta.interface-item.wit","begin":"^\\s*\\b(default\\s+)?(interface)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"include":"#interface-items"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.default.interface-item.wit"},"2":{"name":"keyword.declaration.interface.interface-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.interface-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"interface-items":{"name":"meta.interface-items.wit","patterns":[{"include":"#feature-gate"},{"include":"#typedef-item"},{"include":"#use"},{"include":"#function"}]},"line-comment":{"name":"comment.line.double-slash.wit","match":"\\s*//.*"},"list":{"name":"meta.list.ty.wit","begin":"\\b(list)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.list.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.list.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"markdown":{"patterns":[{"match":"\\G\\s*(#+.*)$","captures":{"1":{"name":"markup.heading.markdown"}}},{"match":"\\G\\s*((\\\u003e)\\s+)+","captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}}},{"match":"\\G\\s*(\\-)\\s+","captures":{"1":{"name":"punctuation.definition.list.begin.markdown"}}},{"match":"\\G\\s*(([0-9]+\\.)\\s+)","captures":{"1":{"name":"markup.list.numbered.markdown"},"2":{"name":"punctuation.definition.list.begin.markdown"}}},{"match":"(`.*?`)","captures":{"1":{"name":"markup.italic.markdown"}}},{"match":"\\b(__.*?__)","captures":{"1":{"name":"markup.bold.markdown"}}},{"match":"\\b(_.*?_)","captures":{"1":{"name":"markup.italic.markdown"}}},{"match":"(\\*\\*.*?\\*\\*)","captures":{"1":{"name":"markup.bold.markdown"}}},{"match":"(\\*.*?\\*)","captures":{"1":{"name":"markup.italic.markdown"}}}]},"named-type-list":{"name":"meta.named-type-list.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)","end":"((\\,)|(?=\\))|(?=\\n))","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.parameter.id.named-type.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"numeric":{"name":"entity.name.type.numeric.wit","match":"\\b(u8|u16|u32|u64|s8|s16|s32|s64|float32|float64)\\b"},"operator":{"patterns":[{"name":"punctuation.equal.wit","match":"\\="},{"name":"punctuation.comma.wit","match":"\\,"},{"name":"keyword.operator.key-value.wit","match":"\\:"},{"name":"punctuation.semicolon.wit","match":"\\;"},{"name":"punctuation.brackets.round.begin.wit","match":"\\("},{"name":"punctuation.brackets.round.end.wit","match":"\\)"},{"name":"punctuation.brackets.curly.begin.wit","match":"\\{"},{"name":"punctuation.brackets.curly.end.wit","match":"\\}"},{"name":"punctuation.brackets.angle.begin.wit","match":"\\\u003c"},{"name":"punctuation.brackets.angle.end.wit","match":"\\\u003e"},{"name":"keyword.operator.star.wit","match":"\\*"},{"name":"keyword.operator.arrow.skinny.wit","match":"\\-\\\u003e"}]},"option":{"name":"meta.option.ty.wit","begin":"\\b(option)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.option.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.option.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"package":{"name":"meta.package-decl.wit","match":"^(package)\\s+([^\\s]+)\\s*","captures":{"1":{"name":"storage.modifier.package-decl.wit"},"2":{"name":"meta.id.package-decl.wit","patterns":[{"name":"meta.package-identifier.wit","match":"([^\\:]+)(\\:)([^\\@]+)((\\@)([^\\s]+))?","captures":{"1":{"name":"entity.name.namespace.package-identifier.wit","patterns":[{"include":"#identifier"}]},"2":{"name":"keyword.operator.namespace.package-identifier.wit"},"3":{"name":"entity.name.type.package-identifier.wit","patterns":[{"include":"#identifier"}]},"5":{"name":"keyword.operator.versioning.package-identifier.wit"},"6":{"name":"constant.numeric.versioning.package-identifier.wit"}}}]}}},"parameter-list":{"name":"meta.param-list.wit","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"include":"#named-type-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}},"applyEndPatternLast":true},"primitive":{"name":"meta.primitive.ty.wit","patterns":[{"include":"#numeric"},{"include":"#boolean"},{"include":"#string"}]},"record":{"name":"meta.record-item.wit","begin":"\\b(record)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#record-fields"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.declaration.record.record-item.wit"},"2":{"name":"entity.name.type.id.record-item.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"record-fields":{"name":"meta.record-fields.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)","end":"((\\,)|(?=\\})|(?=\\n))","patterns":[{"include":"#comment"},{"name":"meta.types.record-fields.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.declaration.id.record-fields.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"resource":{"name":"meta.resource-item.wit","begin":"\\b(resource)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#resource-methods"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.resource.wit"},"2":{"name":"entity.name.type.id.resource.wit"}},"applyEndPatternLast":true},"resource-methods":{"name":"meta.resource-methods.wit","begin":"(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"name":"meta.constructor-type.wit","begin":"\\b(constructor)\\b","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#parameter-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.constructor.constructor-type.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"applyEndPatternLast":true},{"include":"#function"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"result":{"name":"meta.result.ty.wit","begin":"\\b(result)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"variable.other.inferred-type.result.wit","match":"(?\u003c!\\w)(\\_)(?!\\w)"},{"name":"meta.types.list.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"(?\u003c!result)\\s*(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.result.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"result-base":{"name":"entity.name.type.result.wit","match":"\\b(result)\\b"},"result-list":{"name":"meta.result-list.wit","begin":"(\\-\\\u003e)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#parameter-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.operator.arrow.skinny.wit"}},"applyEndPatternLast":true},"string":{"name":"entity.name.type.string.wit","match":"\\b(string|char)\\b"},"toplevel-use":{"name":"meta.toplevel-use-item.wit","match":"^(use)\\s+([^\\s]+)(\\s+(as)\\s+([^\\s]+))?\\s*","captures":{"1":{"name":"keyword.other.use.toplevel-use-item.wit"},"2":{"name":"meta.interface.toplevel-use-item.wit","patterns":[{"name":"entity.name.type.declaration.interface.toplevel-use-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.interface.toplevel-use-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.interface.toplevel-use-item.wit"},"2":{"name":"constant.numeric.versioning.interface.toplevel-use-item.wit"}}}]},"4":{"name":"keyword.control.as.toplevel-use-item.wit"},"5":{"name":"entity.name.type.toplevel-use-item.wit"}}},"tuple":{"name":"meta.tuple.ty.wit","begin":"\\b(tuple)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.tuple.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.tuple.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"type-definition":{"name":"meta.type-item.wit","begin":"\\b(type)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\=)","end":"(?\u003c=\\n)","patterns":[{"name":"meta.types.type-item.wit","include":"#types"},{"include":"#comment"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.declaration.type.type-item.wit storage.type.wit"},"2":{"name":"entity.name.type.id.type-item.wit"},"7":{"name":"punctuation.equal.wit"}},"applyEndPatternLast":true},"typedef-item":{"name":"meta.typedef-item.wit","patterns":[{"include":"#feature-gate"},{"include":"#resource"},{"include":"#variant"},{"include":"#record"},{"include":"#flags"},{"include":"#enum"},{"include":"#type-definition"}]},"types":{"name":"meta.ty.wit","patterns":[{"include":"#primitive"},{"include":"#container"},{"include":"#result-base"},{"include":"#identifier"}]},"use":{"name":"meta.use-item.wit","begin":"\\b(use)\\b\\s+([^\\s]+)(\\.)(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"entity.name.type.declaration.use-names-item.use-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.use.use-item.wit"},"2":{"patterns":[{"include":"#use-path"},{"include":"#whitespace"}]},"3":{"name":"keyword.operator.namespace-separator.use-item.wit"},"4":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"use-path":{"name":"meta.use-path.wit","patterns":[{"name":"entity.name.namespace.id.use-path.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.use-path.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.use-path.wit"},"2":{"name":"constant.numeric.versioning.id.use-path.wit"}}},{"name":"keyword.operator.namespace-separator.use-path.wit","match":"\\."}]},"variant":{"name":"meta.variant.wit","begin":"\\b(variant)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#variant-cases"},{"include":"#enum-cases"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.variant.wit"},"2":{"name":"entity.name.type.id.variant.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"variant-cases":{"name":"meta.variant-cases.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\()","end":"(\\))\\s*(\\,)?","patterns":[{"name":"meta.types.variant-cases.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.other.enummember.id.variant-cases.wit"},"6":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"whitespace":{"name":"meta.whitespace.wit","match":"\\s+"},"world":{"name":"meta.world-item.wit","begin":"^\\s*\\b(default\\s+)?(world)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"name":"meta.export-item.wit","begin":"\\b(export)\\b\\s+([^\\s]+)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#extern"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.export.export-item.wit"},"2":{"name":"meta.id.export-item.wit","patterns":[{"name":"variable.other.constant.id.export-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.export-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.export-item.wit"},"2":{"name":"constant.numeric.versioning.id.export-item.wit"}}}]}},"applyEndPatternLast":true},{"name":"meta.import-item.wit","begin":"\\b(import)\\s+([^\\s]+)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#extern"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.import.import-item.wit"},"2":{"name":"meta.id.import-item.wit","patterns":[{"name":"variable.other.id.import-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.import-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.import-item.wit"},"2":{"name":"constant.numeric.versioning.id.import-item.wit"}}}]}},"applyEndPatternLast":true},{"name":"meta.include-item.wit","begin":"\\b(include)\\s+([^\\s]+)\\s*","end":"(?\u003c=\\n)","patterns":[{"name":"meta.with.include-item.wit","begin":"\\b(with)\\b\\s+(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"meta.include-names-item.wit","match":"([^\\s]+)\\s+(as)\\s+([^\\s\\,]+)","captures":{"1":{"name":"variable.other.id.include-names-item.wit"},"2":{"name":"keyword.control.as.include-names-item.wit"},"3":{"name":"entity.name.type.include-names-item.wit"}}},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.with.include-item.wit"},"2":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}],"beginCaptures":{"1":{"name":"keyword.control.include.include-item.wit"},"2":{"name":"meta.use-path.include-item.wit","patterns":[{"include":"#use-path"}]}},"applyEndPatternLast":true},{"include":"#use"},{"include":"#typedef-item"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.default.world-item.wit"},"2":{"name":"keyword.declaration.world.world-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.world-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}}}
|
|
1
|
+
{"name":"WIT","scopeName":"source.wit","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"include":"#package"},{"include":"#toplevel-use"},{"include":"#world"},{"include":"#interface"},{"include":"#whitespace"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block.empty.wit","match":"/\\*\\*/"},{"name":"comment.block.documentation.wit","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"},{"include":"#markdown"},{"include":"#whitespace"}],"applyEndPatternLast":true},{"name":"comment.block.wit","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"},{"include":"#whitespace"}],"applyEndPatternLast":true}]},"boolean":{"name":"entity.name.type.boolean.wit","match":"\\b(bool)\\b"},"comment":{"patterns":[{"include":"#block-comments"},{"include":"#doc-comment"},{"include":"#line-comment"}]},"container":{"name":"meta.container.ty.wit","patterns":[{"include":"#tuple"},{"include":"#list"},{"include":"#option"},{"include":"#result"},{"include":"#handle"}]},"doc-comment":{"name":"comment.line.documentation.wit","begin":"^\\s*///","end":"$","patterns":[{"include":"#markdown"}]},"enum":{"name":"meta.enum-items.wit","begin":"\\b(enum)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#enum-cases"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.enum.enum-items.wit"},"2":{"name":"entity.name.type.id.enum-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"enum-cases":{"name":"meta.enum-cases.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.enum-cases.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}]},"extern":{"name":"meta.extern-type.wit","patterns":[{"name":"meta.interface-type.wit","patterns":[{"begin":"\\b(interface)\\b\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#interface-items"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.interface.interface-type.wit"},"2":{"name":"ppunctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}]},{"include":"#function-definition"},{"include":"#use-path"}]},"feature-gate":{"name":"meta.feature-gate.wit","patterns":[{"name":"meta.annotation.unstable.wit","begin":"(@unstable)(\\()","end":"(\\))","patterns":[{"include":"#feature-gate-content"}],"beginCaptures":{"1":{"name":"keyword.control.unstable.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}}},{"name":"meta.annotation.since.wit","begin":"(@since)(\\()","end":"(\\))","patterns":[{"include":"#feature-gate-content"}],"beginCaptures":{"1":{"name":"keyword.control.since.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}}},{"name":"meta.annotation.deprecated.wit","begin":"(@deprecated)(\\()","end":"(\\))","patterns":[{"include":"#feature-gate-content"}],"beginCaptures":{"1":{"name":"keyword.control.deprecated.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}}}]},"feature-gate-content":{"name":"meta.feature-gate-content.wit","patterns":[{"include":"#comment"},{"name":"meta.feature-gate-parameter.wit","match":"\\b(feature|version)\\s*(=)\\s*([^\\s,)]+|\"[^\"]*\")","captures":{"1":{"name":"variable.parameter.feature-gate.wit"},"2":{"name":"keyword.operator.assignment.wit"},"3":{"name":"string.quoted.feature-gate.wit"}}},{"name":"punctuation.comma.wit","match":","},{"include":"#whitespace"}]},"flags":{"name":"meta.flags-items.wit","begin":"\\b(flags)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#flags-fields"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.flags.flags-items.wit"},"2":{"name":"entity.name.type.id.flags-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"flags-fields":{"name":"meta.flags-fields.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.flags-fields.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}]},"function":{"name":"meta.func-item.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#feature-gate"},{"include":"#function-definition"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.function.id.func-item.wit"},"2":{"name":"meta.word.wit"},"4":{"name":"meta.word-separator.wit"},"5":{"name":"meta.word.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},"function-definition":{"name":"meta.func-type.wit","patterns":[{"name":"meta.function.wit","begin":"\\b(static\\s+)?(func)\\b","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#parameter-list"},{"include":"#result-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.static.func-item.wit"},"2":{"name":"keyword.other.func.func-type.wit"}},"applyEndPatternLast":true}]},"handle":{"name":"meta.handle.ty.wit","match":"\\b(borrow)\\b(\\\u003c)\\s*%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\\u003e)","captures":{"1":{"name":"entity.name.type.borrow.handle.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"},"3":{"name":"entity.name.type.id.handle.wit"},"8":{"name":"punctuation.brackets.angle.end.wit"}}},"identifier":{"name":"entity.name.type.id.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},"interface":{"name":"meta.interface-item.wit","begin":"^\\s*\\b(default\\s+)?(interface)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"include":"#interface-items"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.default.interface-item.wit"},"2":{"name":"keyword.declaration.interface.interface-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.interface-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"interface-items":{"name":"meta.interface-items.wit","patterns":[{"include":"#feature-gate"},{"include":"#typedef-item"},{"include":"#use"},{"include":"#function"}]},"line-comment":{"name":"comment.line.double-slash.wit","match":"\\s*//.*"},"list":{"name":"meta.list.ty.wit","begin":"\\b(list)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.list.wit","include":"#types"},{"name":"meta.list-size-separator.wit","match":"\\s*(,)\\s*","captures":{"1":{"name":"punctuation.comma.wit"}}},{"name":"meta.list-size.wit","match":"\\b([0-9]+)\\b","captures":{"1":{"name":"constant.numeric.integer.list-size.wit"}}},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.list.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"markdown":{"patterns":[{"match":"\\G\\s*(#+.*)$","captures":{"1":{"name":"markup.heading.markdown"}}},{"match":"\\G\\s*((\\\u003e)\\s+)+","captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}}},{"match":"\\G\\s*(\\-)\\s+","captures":{"1":{"name":"punctuation.definition.list.begin.markdown"}}},{"match":"\\G\\s*(([0-9]+\\.)\\s+)","captures":{"1":{"name":"markup.list.numbered.markdown"},"2":{"name":"punctuation.definition.list.begin.markdown"}}},{"match":"(`.*?`)","captures":{"1":{"name":"markup.italic.markdown"}}},{"match":"\\b(__.*?__)","captures":{"1":{"name":"markup.bold.markdown"}}},{"match":"\\b(_.*?_)","captures":{"1":{"name":"markup.italic.markdown"}}},{"match":"(\\*\\*.*?\\*\\*)","captures":{"1":{"name":"markup.bold.markdown"}}},{"match":"(\\*.*?\\*)","captures":{"1":{"name":"markup.italic.markdown"}}}]},"named-type-list":{"name":"meta.named-type-list.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)","end":"((\\,)|(?=\\))|(?=\\n))","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.parameter.id.named-type.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"numeric":{"name":"entity.name.type.numeric.wit","match":"\\b(u8|u16|u32|u64|s8|s16|s32|s64|float32|float64)\\b"},"operator":{"patterns":[{"name":"punctuation.equal.wit","match":"\\="},{"name":"punctuation.comma.wit","match":"\\,"},{"name":"keyword.operator.key-value.wit","match":"\\:"},{"name":"punctuation.semicolon.wit","match":"\\;"},{"name":"punctuation.brackets.round.begin.wit","match":"\\("},{"name":"punctuation.brackets.round.end.wit","match":"\\)"},{"name":"punctuation.brackets.curly.begin.wit","match":"\\{"},{"name":"punctuation.brackets.curly.end.wit","match":"\\}"},{"name":"punctuation.brackets.angle.begin.wit","match":"\\\u003c"},{"name":"punctuation.brackets.angle.end.wit","match":"\\\u003e"},{"name":"keyword.operator.star.wit","match":"\\*"},{"name":"keyword.operator.arrow.skinny.wit","match":"\\-\\\u003e"}]},"option":{"name":"meta.option.ty.wit","begin":"\\b(option)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.option.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.option.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"package":{"name":"meta.package-decl.wit","match":"^(package)\\s+([^\\s]+)\\s*","captures":{"1":{"name":"storage.modifier.package-decl.wit"},"2":{"name":"meta.id.package-decl.wit","patterns":[{"name":"meta.package-identifier.wit","match":"([^\\:]+)(\\:)([^\\@]+)((\\@)([^\\s]+))?","captures":{"1":{"name":"entity.name.namespace.package-identifier.wit","patterns":[{"include":"#identifier"}]},"2":{"name":"keyword.operator.namespace.package-identifier.wit"},"3":{"name":"entity.name.type.package-identifier.wit","patterns":[{"include":"#identifier"}]},"5":{"name":"keyword.operator.versioning.package-identifier.wit"},"6":{"name":"constant.numeric.versioning.package-identifier.wit"}}}]}}},"parameter-list":{"name":"meta.param-list.wit","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"include":"#named-type-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}},"applyEndPatternLast":true},"primitive":{"name":"meta.primitive.ty.wit","patterns":[{"include":"#numeric"},{"include":"#boolean"},{"include":"#string"}]},"record":{"name":"meta.record-item.wit","begin":"\\b(record)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#record-fields"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.declaration.record.record-item.wit"},"2":{"name":"entity.name.type.id.record-item.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"record-fields":{"name":"meta.record-fields.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)","end":"((\\,)|(?=\\})|(?=\\n))","patterns":[{"include":"#comment"},{"name":"meta.types.record-fields.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.declaration.id.record-fields.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"resource":{"name":"meta.resource-item.wit","begin":"\\b(resource)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#resource-methods"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.resource.wit"},"2":{"name":"entity.name.type.id.resource.wit"}},"applyEndPatternLast":true},"resource-methods":{"name":"meta.resource-methods.wit","begin":"(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"name":"meta.constructor-type.wit","begin":"\\b(constructor)\\b","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#parameter-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.constructor.constructor-type.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"applyEndPatternLast":true},{"include":"#function"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"result":{"name":"meta.result.ty.wit","begin":"\\b(result)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"variable.other.inferred-type.result.wit","match":"(?\u003c!\\w)(\\_)(?!\\w)"},{"name":"meta.types.list.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"(?\u003c!result)\\s*(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.result.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"result-base":{"name":"entity.name.type.result.wit","match":"\\b(result)\\b"},"result-list":{"name":"meta.result-list.wit","begin":"(\\-\\\u003e)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#parameter-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.operator.arrow.skinny.wit"}},"applyEndPatternLast":true},"string":{"name":"entity.name.type.string.wit","match":"\\b(string|char)\\b"},"toplevel-use":{"name":"meta.toplevel-use-item.wit","match":"^(use)\\s+([^\\s]+)(\\s+(as)\\s+([^\\s]+))?\\s*","captures":{"1":{"name":"keyword.other.use.toplevel-use-item.wit"},"2":{"name":"meta.interface.toplevel-use-item.wit","patterns":[{"name":"entity.name.type.declaration.interface.toplevel-use-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.interface.toplevel-use-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.interface.toplevel-use-item.wit"},"2":{"name":"constant.numeric.versioning.interface.toplevel-use-item.wit"}}}]},"4":{"name":"keyword.control.as.toplevel-use-item.wit"},"5":{"name":"entity.name.type.toplevel-use-item.wit"}}},"tuple":{"name":"meta.tuple.ty.wit","begin":"\\b(tuple)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.tuple.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.tuple.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"type-definition":{"name":"meta.type-item.wit","begin":"\\b(type)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\=)","end":"(?\u003c=\\n)","patterns":[{"name":"meta.types.type-item.wit","include":"#types"},{"include":"#comment"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.declaration.type.type-item.wit storage.type.wit"},"2":{"name":"entity.name.type.id.type-item.wit"},"7":{"name":"punctuation.equal.wit"}},"applyEndPatternLast":true},"typedef-item":{"name":"meta.typedef-item.wit","patterns":[{"include":"#feature-gate"},{"include":"#resource"},{"include":"#variant"},{"include":"#record"},{"include":"#flags"},{"include":"#enum"},{"include":"#type-definition"}]},"types":{"name":"meta.ty.wit","patterns":[{"include":"#primitive"},{"include":"#container"},{"include":"#result-base"},{"include":"#identifier"}]},"use":{"name":"meta.use-item.wit","begin":"\\b(use)\\b\\s+([^\\s]+)(\\.)(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"entity.name.type.declaration.use-names-item.use-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.use.use-item.wit"},"2":{"patterns":[{"include":"#use-path"},{"include":"#whitespace"}]},"3":{"name":"keyword.operator.namespace-separator.use-item.wit"},"4":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"use-path":{"name":"meta.use-path.wit","patterns":[{"name":"entity.name.namespace.id.use-path.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.use-path.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.use-path.wit"},"2":{"name":"constant.numeric.versioning.id.use-path.wit"}}},{"name":"keyword.operator.namespace-separator.use-path.wit","match":"\\."}]},"variant":{"name":"meta.variant.wit","begin":"\\b(variant)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#variant-cases"},{"include":"#enum-cases"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.variant.wit"},"2":{"name":"entity.name.type.id.variant.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"variant-cases":{"name":"meta.variant-cases.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\()","end":"(\\))\\s*(\\,)?","patterns":[{"name":"meta.types.variant-cases.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.other.enummember.id.variant-cases.wit"},"6":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"whitespace":{"name":"meta.whitespace.wit","match":"\\s+"},"world":{"name":"meta.world-item.wit","begin":"^\\s*\\b(default\\s+)?(world)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#feature-gate"},{"name":"meta.export-item.wit","begin":"\\b(export)\\b\\s+([^\\s]+)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#extern"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.export.export-item.wit"},"2":{"name":"meta.id.export-item.wit","patterns":[{"name":"variable.other.constant.id.export-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.export-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.export-item.wit"},"2":{"name":"constant.numeric.versioning.id.export-item.wit"}}}]}},"applyEndPatternLast":true},{"name":"meta.import-item.wit","begin":"\\b(import)\\s+([^\\s]+)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#extern"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.import.import-item.wit"},"2":{"name":"meta.id.import-item.wit","patterns":[{"name":"variable.other.id.import-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.import-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.import-item.wit"},"2":{"name":"constant.numeric.versioning.id.import-item.wit"}}}]}},"applyEndPatternLast":true},{"name":"meta.include-item.wit","begin":"\\b(include)\\s+([^\\s]+)\\s*","end":"(?\u003c=\\n)","patterns":[{"name":"meta.with.include-item.wit","begin":"\\b(with)\\b\\s+(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"meta.include-names-item.wit","match":"([^\\s]+)\\s+(as)\\s+([^\\s\\,]+)","captures":{"1":{"name":"variable.other.id.include-names-item.wit"},"2":{"name":"keyword.control.as.include-names-item.wit"},"3":{"name":"entity.name.type.include-names-item.wit"}}},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.with.include-item.wit"},"2":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}],"beginCaptures":{"1":{"name":"keyword.control.include.include-item.wit"},"2":{"name":"meta.use-path.include-item.wit","patterns":[{"include":"#use-path"}]}},"applyEndPatternLast":true},{"include":"#use"},{"include":"#typedef-item"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.default.world-item.wit"},"2":{"name":"keyword.declaration.world.world-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.world-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}}}
|
data/grammars/source.wwb.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"scopeName":"source.wwb","patterns":[{"include":"#keywords"},{"include":"#types"},{"include":"source.vba"}],"repository":{"keywords":{"patterns":[{"name":"keyword.control.wwb","match":"((?i)\\b(AndAlso|OrElse|IsNot|Return)\\b)"}]},"types":{"patterns":[{"name":"support.type.builtin.wwb","match":"((?i)\\b(Decimal|Huge_|PortInt|SByte|UHuge_|UInteger|ULong)\\b)"}]}}}
|
|
1
|
+
{"name":"WinWrap Basic","scopeName":"source.wwb","patterns":[{"include":"#keywords"},{"include":"#types"},{"include":"source.vba"}],"repository":{"keywords":{"patterns":[{"name":"keyword.control.wwb","match":"((?i)\\b(AndAlso|OrElse|IsNot|Return)\\b)"}]},"types":{"patterns":[{"name":"support.type.builtin.wwb","match":"((?i)\\b(Decimal|Huge_|PortInt|SByte|UHuge_|UInteger|ULong)\\b)"}]}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Code Owners","scopeName":"text.codeowners","patterns":[{"include":"#main"}],"repository":{"main":{"patterns":[{"include":"etc#comment"},{"include":"etc#esc"},{"include":"#pattern"}]},"owner":{"name":"meta.owner.codeowners","match":"(@)((?:[-.\\w]+/)?[-.\\w]+)(?=$| |#)","captures":{"1":{"name":"keyword.operator.mention.codeowners"},"2":{"name":"variable.assignment.team"}}},"pattern":{"name":"meta.pattern.codeowners","begin":"^((?:[^#\\s\\\\]|\\\\[^#])++)","end":"$|(?=#)","patterns":[{"include":"#comment"},{"begin":"\\s","end":"(?=$|#)","patterns":[{"include":"etc#emailUnquoted"},{"include":"#owner"}]}],"beginCaptures":{"1":{"patterns":[{"name":"keyword.operator.glob.wildcard.globstar.codeowners","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.codeowners","match":"[*?]"},{"name":"punctuation.directory.separator.meta.codeowners","match":"/"},{"name":"entity.other.file.name.codeowners","match":"[^\\[\\]\\\\*?#/\\s]+"}]}}}}}
|
|
1
|
+
{"name":"Code Owners","scopeName":"text.codeowners","patterns":[{"include":"#main"}],"repository":{"main":{"patterns":[{"include":"etc#comment"},{"include":"etc#esc"},{"include":"#pattern"}]},"owner":{"name":"meta.owner.codeowners","match":"(@)((?:[-.\\w]+/)?[-.\\w]+)(?=$| |#)","captures":{"1":{"name":"keyword.operator.mention.codeowners"},"2":{"name":"variable.assignment.team"}}},"pattern":{"name":"meta.pattern.codeowners","begin":"^((?:[^#\\s\\\\]|\\\\[^#])++)","end":"$|(?=#)","patterns":[{"include":"etc#comment"},{"begin":"\\s","end":"(?=$|#)","patterns":[{"include":"etc#emailUnquoted"},{"include":"#owner"}]}],"beginCaptures":{"1":{"patterns":[{"name":"keyword.operator.glob.wildcard.globstar.codeowners","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.codeowners","match":"[*?]"},{"name":"punctuation.directory.separator.meta.codeowners","match":"/"},{"name":"entity.other.file.name.codeowners","match":"[^\\[\\]\\\\*?#/\\s]+"}]}}}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"Git Commit","scopeName":"text.git-commit","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.git-commit","begin":"^#","end":"$","patterns":[{"name":"meta.generic.variable.other.modified.git-commit","match":"(modified)(:) +(.+)","captures":{"1":{"name":"markup.changed.git-commit"},"3":{"name":"markup.bold.filename.git-commit"}}},{"name":"meta.generic.variable.other.renamed.git-commit","match":"(renamed)(:) +(.+)(-\u003e)(.+)","captures":{"1":{"name":"markup.changed.git-commit"},"3":{"name":"markup.bold.filename.git-commit"},"4":{"name":"markup.raw.token.git-commit"},"5":{"name":"markup.bold.filename.git-commit"}}},{"name":"meta.generic.variable.other.deleted.git-commit","match":"(deleted)(:) +(.+)","captures":{"1":{"name":"markup.deleted.git-commit"},"3":{"name":"markup.bold.filename.git-commit"}}},{"name":"meta.generic.variable.other.new-file.git-commit","match":"(new file)(:) +(.+)","captures":{"1":{"name":"markup.inserted.git-commit"},"3":{"name":"markup.bold.filename.git-commit"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.git-commit"}}},"main":{"patterns":[{"include":"#comment"}]}}}
|