github-linguist 7.28.0 → 7.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/git-linguist +7 -3
- data/bin/github-linguist +6 -3
- data/grammars/etc.json +1 -1
- data/grammars/inline.graphql.json +1 -1
- data/grammars/inline.graphql.markdown.codeblock.json +1 -0
- data/grammars/inline.hbs.json +1 -1
- data/grammars/markdown.commonlisp.codeblock.json +1 -0
- data/grammars/markdown.gleam.codeblock.json +1 -0
- data/grammars/markdown.glimmer.codeblock.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/markdown.rego.codeblock.json +1 -0
- data/grammars/source.8xp.json +1 -0
- data/grammars/source.Caddyfile-test.json +1 -0
- data/grammars/source.Caddyfile.json +1 -0
- data/grammars/source.abl.json +1 -1
- data/grammars/source.amxxpawn.json +1 -0
- data/grammars/source.astro.json +1 -1
- data/grammars/source.bb.json +1 -0
- data/grammars/source.bh.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.bms.json +1 -1
- data/grammars/source.bqn.json +1 -0
- data/grammars/source.brs.json +1 -1
- data/grammars/source.clarion.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.commonlisp.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csound.json +1 -1
- data/grammars/source.d2.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.did.json +1 -1
- data/grammars/source.elvish-transcript.json +1 -1
- data/grammars/source.firrtl.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.generic-db.json +1 -1
- data/grammars/source.gjs.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.gts.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.hcl.terraform.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.lua.json +1 -1
- data/grammars/source.luau.json +1 -0
- data/grammars/source.m2.json +1 -1
- data/grammars/source.markdown.caddy.codeblock.json +1 -0
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.mojo.json +1 -0
- data/grammars/source.move.json +1 -1
- data/grammars/source.nasal.json +1 -1
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.p4.json +1 -1
- data/grammars/source.pip-requirements.json +1 -0
- data/grammars/source.pkl.json +1 -0
- data/grammars/source.praat.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.roc.json +1 -0
- data/grammars/source.ron.json +1 -0
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.slice.json +1 -1
- data/grammars/source.slint.json +1 -0
- data/grammars/source.solidity.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.templ.json +1 -0
- data/grammars/source.toit.json +1 -1
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.vba.json +1 -1
- data/grammars/source.wsd.json +1 -1
- data/grammars/sp-jsdoc.injection.json +1 -0
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.crontab.json +1 -0
- data/grammars/text.html.edge.json +1 -0
- data/grammars/text.html.ember-handlebars.json +1 -1
- data/grammars/text.html.statamic.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.srt.json +1 -1
- data/grammars/text.valve-cfg.json +1 -0
- data/grammars/text.valve-kv.json +1 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +39 -1
- data/lib/linguist/heuristics.yml +26 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +195 -9
- data/lib/linguist/repository.rb +8 -6
- data/lib/linguist/samples.json +1 -1
- metadata +31 -5
- data/grammars/markdown.graphql.codeblock.json +0 -1
- data/grammars/source.terraform.json +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#
|
1
|
+
{"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with|private)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"include":"#string-character-escape"},{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuation"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"entity.name.function"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"string-character-escape":{"name":"constant.character.escape","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u{[0-9A-Fa-f]+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Roc","scopeName":"source.roc","patterns":[{"name":"keyword.unused.roc","match":"(\\b_[a-zA-Z0-9_]*\\b)"},{"name":"keyword.control.roc","match":"\\b(dbg|if|then|else|when|is|app|packages|imports?|provides|to|as|expect|exposes)\\s+"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"include":"#punctuation"},{"include":"#module-member-access"},{"include":"#language-components"},{"include":"#infix_op"},{"include":"#type-signature"}],"repository":{"arrow":{"name":"punctuation.separator.arrow.roc","match":"-\u003e"},"brackets":{"name":"punctuation.bracket.roc","match":"(\\}|\\{)"},"comma":{"name":"punctuation.separator.comma.roc","match":"(,)"},"comments":{"patterns":[{"name":"comment.line.number-sign.roc","begin":"#","end":"$","captures":{"1":{"name":"punctuation.definition.comment.roc"}}},{"name":"comment.block.documentation.roc","begin":"##","end":"$","captures":{"1":{"name":"punctuation.definition.comment.roc"}}}]},"constructor":{"name":"entity.name.type.roc","match":"\\b[A-Z][a-zA-Z0-9_]*\\b"},"infix_op":{"name":"keyword.operator.roc","match":"(\u003c/\u003e|\u003c\\?\u003e|\u003c\\||\u003c=|\\|\\||\u0026\u0026|\u003e=|\\|\u003e|\\|=|\\|\\.|\\+\\+|::|/=|==|//|\u003e\u003e|\u003c\u003c|\u003c|\u003e|\\^|\\+|-|/|\\*)"},"language-components":{"patterns":[{"include":"#constructor"},{"include":"#unit"},{"include":"#top-level-value"},{"include":"#record-accessor"}]},"module-member-access":{"name":"meta.module.access.roc","begin":"([A-Z][a-zA-Z0-9_]*)(\\.)","end":"\\s","patterns":[{"include":"#module-member-access"},{"include":"#constructor"},{"name":"support.function.roc","match":"\\b[a-z][a-zA-Z0-9_']*\\b"}],"beginCaptures":{"1":{"name":"support.class.roc"},"2":{"name":"keyword.other.period.roc"}}},"numbers":{"patterns":[{"include":"#numbers_float"},{"include":"#numbers_int"}]},"numbers_float":{"name":"constant.numeric.float.roc","match":"\\b([0-9][0-9_]*\\.[0-9_]+(e-?[0-9_]+)?|[0-9][0-9_]*e-?[0-9][0-9_]*)\\b"},"numbers_int":{"name":"constant.numeric.roc","match":"\\b([0-9][0-9_]*)\\b"},"parens":{"name":"punctuation.parens.roc","match":"(\\(|\\))"},"period":{"name":"keyword.other.period.roc","match":"[.]"},"punctuation":{"patterns":[{"include":"#brackets"},{"include":"#sq_brackets"},{"include":"#parens"},{"include":"#comma"},{"include":"#arrow"}]},"record-accessor":{"name":"meta.record.accessor","match":"(\\.)([a-z][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.other.period.roc"},"2":{"name":"entity.name.function.record-field.roc"}}},"sq_brackets":{"name":"punctuation.bracket.roc","match":"(\\]|\\[)"},"strings":{"patterns":[{"name":"string.quoted.double.roc","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal","begin":"\\\\u\\(","end":"\\)","patterns":[{"name":"constant.numeric.roc","match":"[0-9a-fA-F]+"}],"beginCaptures":{"0":{"name":"constant.character.escape.roc"}},"endCaptures":{"0":{"name":"constant.character.escape.roc"}}},{"name":"constant.character.escape.roc","match":"\\\\[nrt\\\\\\\"\\\\]"},{"name":"source.roc","begin":"\\$\\(","end":"\\)","patterns":[{"name":"keyword.control.roc","match":"\\b(dbg|expect|if|then|else|when|is|as)\\s+"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"include":"#punctuation"},{"include":"#module-member-access"},{"include":"#language-components"},{"include":"#infix_op"},{"include":"#type-signature"}],"beginCaptures":{"0":{"name":"constant.character.escape.roc"}},"endCaptures":{"0":{"name":"constant.character.escape.roc"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.roc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.roc"}}},{"name":"string.quoted.single.roc","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.roc","match":"\\\\[nrt\\\\'\\\\]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.roc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.roc"}}}]},"top-level-value":{"name":"entity.name.function.top_level.roc","match":"^[a-z][a-zA-Z0-9_']*\\b"},"type-record":{"name":"meta.function.type-record.roc","begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.spaces.roc","match":"\\s+"},{"name":"keyword.operator.arrow.roc","match":"-\u003e"},{"name":"meta.record.field.roc","match":"([a-z][a-zA-Z0-9_]*)\\s+(\\:)","captures":{"1":{"name":"entity.name.record.field.roc"},"2":{"name":"keyword.other.roc"}}},{"name":"punctuation.separator.comma.roc","match":"\\,"},{"name":"variable.type.roc","match":"\\b[a-z][a-zA-Z0-9_]*\\b"},{"name":"storage.type.roc","match":"\\b[A-Z][a-zA-Z0-9_]*\\b"},{"include":"#comments"},{"include":"#type-record"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end"}}},"type-signature":{"name":"meta.function.type-declaration.roc","begin":"^([a-z_][a-zA-Z0-9_']*)\\s+(\\:)","end":"((^(?=[a-z]))|^$)","patterns":[{"name":"punctuation.spaces.roc","match":"\\s+"},{"include":"#module-member-access"},{"name":"variable.type.roc","match":"\\b[a-z][a-zA-Z0-9_]*\\b"},{"name":"storage.type.class.roc","match":"\\b[A-Z][a-zA-Z0-9_]*\\b"},{"include":"#arrow"},{"include":"#unit"},{"include":"#comma"},{"include":"#parens"},{"include":"#comments"},{"include":"#type-record"}],"beginCaptures":{"1":{"name":"entity.name.function.roc"},"2":{"name":"keyword.other.colon.roc"}}},"unit":{"name":"constant.unit.roc","match":"\\(\\)"}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"scopeName":"source.ron","patterns":[{"include":"#expression"}],"repository":{"array":{"begin":"\\[","end":"\\]","patterns":[{"include":"#value"},{"include":"#object-name"},{}],"beginCaptures":{"0":{"name":"punctuation.section.array.begin.ron"}},"endCaptures":{"0":{"name":"punctuation.section.array.end.ron"}}},"block_comment":{"name":"comment.block.ron","begin":"/\\*","end":"\\*/"},"character":{"name":"string.quoted.single","contentName":"constant.character.ron","begin":"'","end":"'"},"constant":{"name":"constant.language.ron","match":"\\b(true|false)\\b"},"dictionary":{"begin":"\\{","end":"\\}","patterns":[{"include":"#value"},{"include":"#object-name"},{"include":"#object"},{"include":"#tag-name"},{"name":"punctuation.separator.dictionary.ron","match":","},{"name":"punctuation.separator.dictionary.key-value.ron","match":":"}],"beginCaptures":{"0":{"name":"punctuation.section.dictionary.begin.ron"}},"endCaptures":{"0":{"name":"punctuation.section.dictionary.end.ron"}}},"escapes":{"name":"constant.character.escape.ron","match":"(\\\\)(?:(?:(x[0-7][0-7a-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.ron"},"2":{"name":"constant.character.escape.bit.ron"},"3":{"name":"constant.character.escape.unicode.ron"},"4":{"name":"constant.character.escape.unicode.punctuation.ron"},"5":{"name":"constant.character.escape.unicode.punctuation.ron"}}},"expression":{"patterns":[{"include":"#array"},{"include":"#block_comment"},{"include":"#constant"},{"include":"#dictionary"},{"include":"#line_comment"},{"include":"#number"},{"include":"#object-name"},{"include":"#object"},{"include":"#string"},{"include":"#character"},{"include":"#tag-name"}]},"line_comment":{"name":"comment.line.double-slash.ron","begin":"//","end":"$"},"number":{"name":"constant.numeric.ron","match":"(?x:-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?)"},"object":{"begin":"\\(","end":"\\)","patterns":[{"include":"#value"},{"include":"#dictionary"},{"include":"#tag-name"},{"include":"#object-name"},{"include":"#object"}],"beginCaptures":{"0":{"name":"punctuation.section.dictionary.begin.ron"}},"endCaptures":{"0":{"name":"punctuation.section.dictionary.end.ron"}}},"object-name":{"name":"entity.name.class.ron","match":"[A-Za-z_][A-Za-z_0-9]*"},"string":{"name":"string.quoted.double","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"}]},"tag-name":{"name":"entity.name.tag.ron","match":"[a-z_][A-Za-z_0-9]*"},"value":{"patterns":[{"include":"#array"},{"include":"#block_comment"},{"include":"#constant"},{"include":"#dictionary"},{"include":"#line_comment"},{"include":"#number"},{"include":"#object"},{"include":"#string"},{"include":"#character"}]}}}
|
data/grammars/source.rust.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"^\\s*///.*"},{"name":"comment.line.double-slash.rust","match":"\\s*//.*"}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{|;","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
|
1
|
+
{"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"(///).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}},{"name":"comment.line.double-slash.rust","match":"(//).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{|;","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
|
data/grammars/source.scala.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.scoping.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.comparison.scala","match":"(==?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\-|\\+|\\*|/(?![/*])|%|~)"},{"name":"keyword.operator.logical.scala","match":"(?\u003c![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|_)(!|\u0026\u0026|\\|\\|)(?![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}])"},{"name":"keyword.operator.scala","match":"(\u003c-|←|-\u003e|→|=\u003e|⇒|\\?|\\:+|@|\\|)+"}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
|
1
|
+
{"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"patterns":[{"name":"string.quoted.other constant.character.literal.scala","match":"(')'(')","captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}}},{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"\\b0[bB][01]([01_]*[01])?[Ll]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.package.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"keyword.other.import.as.scala","match":"\\s(as)\\s"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.comparison.scala","match":"(==?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\-|\\+|\\*|/(?![/*])|%|~)"},{"name":"keyword.operator.logical.scala","match":"(?\u003c![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|_)(!|\u0026\u0026|\\|\\|)(?![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}])"},{"name":"keyword.operator.scala","match":"(\u003c-|←|-\u003e|→|=\u003e|⇒|\\?|\\:+|@|\\|)+"}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
|
data/grammars/source.slice.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Slice","scopeName":"source.slice","patterns":[{"include":"#slice"}],"repository":{"attribute":{"patterns":[{"include":"#attribute.file"},{"include":"#attribute.local"}]},"attribute.directive":{"begin":"[\\w]+(?:(::)\\w+)*","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"name":"meta.attribute.arguments.slice","begin":"\\(","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#string-literal"},{"name":"variable.other.constant.attribute.slice","match":"\\b\\w+\\b"},{"name":"punctuation.separator.comma.slice","match":","},{"begin":"\\)","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.close.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.function.attribute.slice"},"1":{"name":"punctuation.separator.double-colon.slice"}}},"attribute.file":{"name":"meta.attribute.file.slice","begin":"\\[\\[","end":"(\\]\\])|$","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.double-bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.double-bracket.close.attribute.slice"}}},"attribute.local":{"name":"meta.attribute.local.slice","begin":"\\[","end":"(\\]|$)","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.bracket.close.attribute.slice"}}},"class":{"name":"meta.class.slice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#id-value"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.class.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"comment":{"patterns":[{"include":"#doc-comment.line"},{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.slice","contentName":"text.slice","begin":"\\/\\*","end":"\\*\\/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.slice"}}},"comment.line":{"name":"comment.line.double-slash.slice","contentName":"text.slice","begin":"\\/\\/","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.line.double-slash.begin.slice"}}},"compilation-mode":{"name":"meta.mode.slice","begin":"(?\u003c!\\\\)\\bmode\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?(\\w+)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.constant.mode.slice","match":"Slice1|Slice2"},{"include":"#error"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.mode.slice"}}},"custom-type":{"name":"meta.custom.slice","begin":"(?\u003c!\\\\)\\bcustom\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.custom.slice"}}},"doc-comment.line":{"name":"comment.line.documentation.slice","begin":"\\/\\/\\/","end":"$","patterns":[{"include":"#documentation.param-tag"},{"include":"#documentation.returns-tag"},{"include":"#documentation.throws-tag"},{"include":"#documentation.see-tag"},{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.documentation.begin.slice"}}},"documentation.identifier":{"patterns":[{"name":"variable.link.slice","match":"(?:\\b|(::))(?:[a-zA-Z_]\\w*(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"documentation.identifier-with-section":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},"documentation.inline-tags":{"begin":"{(?=\\s*@)","end":"}","patterns":[{"include":"#documentation.link-tag"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.documentation.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.documentation.slice"}}},"documentation.link-tag":{"name":"meta.documentation.link.slice","begin":"(@)link\\b","end":"(?=})","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"(?=})","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.link.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.param-tag":{"name":"meta.documentation.param.slice","begin":"(@)param\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.param.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.returns-tag":{"name":"meta.documentation.returns.slice","begin":"(@)returns\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.returns.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.section":{"begin":":","end":"$","patterns":[{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.documentation.slice"}}},"documentation.see-tag":{"name":"meta.documentation.see.slice","begin":"(@)see\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.see.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.text":{"begin":"(?=\\S)","end":"$","patterns":[{"include":"#documentation.inline-tags"},{"name":"text.slice","match":"."}]},"documentation.throws-tag":{"name":"meta.documentation.throws.slice","begin":"(@)throws\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.throws.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"enum":{"name":"meta.enum.slice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#enumerator-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.enum.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"enumerator":{"name":"meta.enumerator.slice","begin":"\\\\?\\w+","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#enumerator-value"}],"beginCaptures":{"0":{"name":"variable.other.constant.enum.slice","patterns":[{"include":"#field.identifier"}]}}},"enumerator-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#enumerator"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"enumerator-value":{"begin":"=","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"(?=-|\\b)[\\w-]+\\b","end":"(?=[,}])|$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},"error":{"name":"invalid","match":"\\S"},"exception":{"name":"meta.exception.slice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.exception.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"field":{"name":"meta.field.slice","begin":"\\\\?\\w+","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"field-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"field-container-inheritance":{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},"field.identifier":{"patterns":[{"match":"(\\\\?)\\b([a-zA-Z_]\\w*)\\b","captures":{"1":{"name":"punctuation.definition.identifier.escape.slice"},"2":{"patterns":[{"include":"#reserved-identifiers"}]}}},{"include":"#error"}]},"id-value":{"begin":"\\(","end":"\\)","patterns":[{"include":"#standard"},{"begin":"[^\\s\\)]+","end":"(?=\\))","patterns":[{"include":"#standard"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},"integer-literal":{"patterns":[{"name":"constant.numeric.bin.slice","match":"(-)?\\b(0b)(?:[0-1_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.bin.slice"}}},{"name":"constant.numeric.dec.slice","match":"(-)?\\b(?:[\\d_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"}}},{"name":"constant.numeric.hex.slice","match":"(-)?\\b(0x)(?:[\\da-fA-F_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.hex.slice"}}},{"include":"#error"}]},"interface":{"name":"meta.interface.slice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#operation-container"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.interface.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"modifier-keywords":{"match":"(?\u003c!\\\\)\\b(?:(compact)|(idempotent)|(stream)|(tag\\([-\\w]+\\))|(throws)|(unchecked))(\\b|(?\u003c=\\W))","captures":{"1":{"name":"storage.modifier.compact.slice"},"2":{"name":"storage.modifier.idempotent.slice"},"3":{"name":"storage.modifier.stream.slice"},"4":{"name":"meta.tag.slice","patterns":[{"include":"#tag"}]},"5":{"name":"storage.modifier.throws.slice"},"6":{"name":"storage.modifier.unchecked.slice"}}},"module-declaration":{"name":"meta.module.slice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"(?=\\b|\\\\)[\\\\\\w:]+(?\u003c=\\b|\\W)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.module.slice"}}},"operation-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"contentName":"meta.exception-list.slice","begin":"\\b(throws)\\b\\s*(\\()","end":"\\)","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#storage.identifier"},{"include":"#slice"}],"beginCaptures":{"1":{"name":"storage.modifier.throws.slice"},"2":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"name":"storage.modifier.throws.slice","match":"\\bthrows\\b"},{"name":"punctuation.definition.returns.slice","match":"-\u003e"},{"name":"punctuation.separator.comma.slice","match":","},{"name":"meta.parameter-list.slice","begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#parameter"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"match":"\\\\?\\w+(?=\\s*\\()","captures":{"0":{"name":"entity.name.function.slice","patterns":[{"include":"#field.identifier"}]}}},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"parameter":{"name":"meta.parameter.slice","begin":"\\\\?\\w+","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"preprocessor":{"patterns":[{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.if"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.unknown"},{"include":"#preprocessor.unknown"}]},"preprocessor.define":{"name":"meta.preprocessor.define.slice","begin":"^\\s*((#)\\s*define)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.elif":{"name":"meta.preprocessor.elif.slice","begin":"^\\s*((#)\\s*elif)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.elif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.else":{"name":"meta.preprocessor.else.slice","begin":"^\\s*((#)\\s*else)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.else.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.endif":{"name":"meta.preprocessor.endif.slice","begin":"^\\s*((#)\\s*endif)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.endif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.expression":{"patterns":[{"include":"#comment.line"},{"match":"(!)|(\u0026\u0026)|(\\|\\|)|(\\()|(\\))","captures":{"1":{"name":"keyword.operator.logical.not.slice"},"2":{"name":"keyword.operator.logical.and.slice"},"3":{"name":"keyword.operator.logical.or.slice"},"4":{"name":"punctuation.parenthesis.open.slice"},"5":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#preprocessor.identifier"},{"include":"#error"}]},"preprocessor.identifier":{"patterns":[{"name":"constant.other.symbol.preprocessor.slice","match":"\\b[a-zA-Z_]\\w*\\b"},{"include":"#error"}]},"preprocessor.if":{"name":"meta.preprocessor.if.slice","begin":"^\\s*((#)\\s*if)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.if.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.single-identifier":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}},"preprocessor.undef":{"name":"meta.preprocessor.undef.slice","begin":"^\\s*((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.unknown":{"name":"meta.preprocessor.unknown.slice","begin":"^\\s*((#)\\s*\\w*)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"invalid.illegal.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"reserved-identifiers":{"name":"invalid.illegal.identifier.slice","match":"(?\u003c!\\\\)\\b(?:module|struct|exception|class|interface|enum|custom|typealias|Sequence|Dictionary|bool|int8|uint8|int16|uint16|int32|uint32|varint32|varuint32|int64|uint64|varint62|varuint62|float32|float64|string|AnyClass|compact|idempotent|mode|stream|tag|throws|unchecked)\\b"},"slice":{"patterns":[{"include":"#standard"},{"include":"#compilation-mode"},{"include":"#module-declaration"},{"include":"#struct"},{"include":"#class"},{"include":"#exception"},{"include":"#enum"},{"include":"#interface"},{"include":"#custom-type"},{"include":"#type-alias"},{"include":"#modifier-keywords"},{"include":"#type.identifier"}]},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#attribute"}]},"storage.identifier":{"patterns":[{"name":"entity.name.class.slice","match":"(?:\\b|(::)|(?=\\\\))(?:(\\\\?)([a-zA-Z_]\\w*)(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.definition.identifier.escape.slice"},"3":{"patterns":[{"include":"#reserved-identifiers"}]},"4":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"string-literal":{"name":"string.quoted.double.slice","begin":"\"","end":"(\")|$","patterns":[{"name":"constant.character.escape.slice","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"}}},"struct":{"name":"meta.struct.slice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.struct.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"tag":{"begin":"\\b(tag)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#id-value"}],"beginCaptures":{"1":{"name":"storage.modifier.tag.slice"}}},"type-alias":{"name":"meta.typealias.slice","begin":"(?\u003c!\\\\)\\btypealias\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.alias.slice"}}},"type-keywords":{"match":"(?\u003c!\\\\)\\b(?:(bool)|(int8)|(uint8)|(int16)|(uint16)|(int32)|(uint32)|(varint32)|(varuint32)|(int64)|(uint64)|(varint62)|(varuint62)|(float32)|(float64)|(string)|(AnyClass)|(Sequence)|(Dictionary))\\b","captures":{"1":{"name":"storage.type.bool.slice"},"10":{"name":"storage.type.int64.slice"},"11":{"name":"storage.type.uint64.slice"},"12":{"name":"storage.type.varint62.slice"},"13":{"name":"storage.type.varuint62.slice"},"14":{"name":"storage.type.float32.slice"},"15":{"name":"storage.type.float64.slice"},"16":{"name":"storage.type.string.slice"},"17":{"name":"storage.type.AnyClass.slice"},"18":{"name":"storage.type.sequence.slice"},"19":{"name":"storage.type.dictionary.slice"},"2":{"name":"storage.type.int8.slice"},"3":{"name":"storage.type.uint8.slice"},"4":{"name":"storage.type.int16.slice"},"5":{"name":"storage.type.uint16.slice"},"6":{"name":"storage.type.int32.slice"},"7":{"name":"storage.type.uint32.slice"},"8":{"name":"storage.type.varint32.slice"},"9":{"name":"storage.type.varuint32.slice"}}},"type-name":{"patterns":[{"include":"#type-keywords"},{"include":"#storage.identifier"}]},"type.identifier":{"patterns":[{"name":"meta.generic.parameters.slice","begin":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\\u003c)","end":"(\\\u003e)\\s*(\\?)?","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.angle.open.slice"}},"endCaptures":{"1":{"name":"punctuation.angle.close.slice"},"2":{"name":"punctuation.definition.optional.slice"}}},{"match":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\?)?(?\u003c=\\b|\\W)","captures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.definition.optional.slice"}}}]}}}
|
1
|
+
{"name":"Slice","scopeName":"source.slice","patterns":[{"include":"#slice"}],"repository":{"attribute":{"patterns":[{"include":"#attribute.file"},{"include":"#attribute.local"}]},"attribute.directive":{"begin":"[\\w]+(?:(::)\\w+)*","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"name":"meta.attribute.arguments.slice","begin":"\\(","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#string-literal"},{"name":"variable.other.constant.attribute.slice","match":"\\b\\w+\\b"},{"name":"punctuation.separator.comma.slice","match":","},{"begin":"\\)","end":"(?=\\])|$","patterns":[{"include":"#comment"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.close.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.attribute.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.function.attribute.slice"},"1":{"name":"punctuation.separator.double-colon.slice"}}},"attribute.file":{"name":"meta.attribute.file.slice","begin":"\\[\\[","end":"(\\]\\])|$","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.double-bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.double-bracket.close.attribute.slice"}}},"attribute.local":{"name":"meta.attribute.local.slice","begin":"\\[","end":"(\\]|$)","patterns":[{"include":"#comment"},{"include":"#attribute.directive"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.bracket.open.attribute.slice"}},"endCaptures":{"1":{"name":"punctuation.bracket.close.attribute.slice"}}},"class":{"name":"meta.class.slice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#id-value"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.class.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"comment":{"patterns":[{"include":"#doc-comment.line"},{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.slice","contentName":"text.slice","begin":"\\/\\*","end":"\\*\\/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.slice"}}},"comment.line":{"name":"comment.line.double-slash.slice","contentName":"text.slice","begin":"\\/\\/","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.line.double-slash.begin.slice"}}},"compilation-mode":{"name":"meta.mode.slice","begin":"(?\u003c!\\\\)\\bmode\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?(\\w+)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"1":{"patterns":[{"name":"variable.other.constant.mode.slice","match":"Slice1|Slice2"},{"include":"#error"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.mode.slice"}}},"custom-type":{"name":"meta.custom.slice","begin":"(?\u003c!\\\\)\\bcustom\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.custom.slice"}}},"doc-comment.line":{"name":"comment.line.documentation.slice","begin":"\\/\\/\\/","end":"$","patterns":[{"include":"#documentation.param-tag"},{"include":"#documentation.returns-tag"},{"include":"#documentation.throws-tag"},{"include":"#documentation.see-tag"},{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.documentation.begin.slice"}}},"documentation.identifier":{"patterns":[{"name":"variable.link.slice","match":"(?:\\b|(::))(?:[a-zA-Z_]\\w*(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"documentation.identifier-with-section":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},"documentation.inline-tags":{"begin":"{(?=\\s*@)","end":"}","patterns":[{"include":"#documentation.link-tag"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.documentation.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.documentation.slice"}}},"documentation.link-tag":{"name":"meta.documentation.link.slice","begin":"(@)link\\b","end":"(?=})","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"(?=})","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.link.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.param-tag":{"name":"meta.documentation.param.slice","begin":"(@)param\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.param.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.returns-tag":{"name":"meta.documentation.returns.slice","begin":"(@)returns\\b","end":"$","patterns":[{"include":"#documentation.identifier-with-section"},{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.returns.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.section":{"begin":":","end":"$","patterns":[{"include":"#documentation.text"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.documentation.slice"}}},"documentation.see-tag":{"name":"meta.documentation.see.slice","begin":"(@)see\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.see.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"documentation.text":{"begin":"(?=\\S)","end":"$","patterns":[{"include":"#documentation.inline-tags"},{"name":"text.slice","match":"."}]},"documentation.throws-tag":{"name":"meta.documentation.throws.slice","begin":"(@)throws\\b","end":"$","patterns":[{"begin":"(?:\\b|::)(?:\\w+(?:::)?)+\\b","end":"$","patterns":[{"include":"#documentation.section"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#documentation.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.documentation.throws.slice"},"1":{"name":"punctuation.definition.annotation.documentation.slice"}}},"enum":{"name":"meta.enum.slice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#enumerator-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#enumerator-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.enum.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"enumerator":{"name":"meta.enumerator.slice","begin":"\\\\?\\w+","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#enumerator-value"}],"beginCaptures":{"0":{"name":"variable.other.constant.enum.slice","patterns":[{"include":"#field.identifier"}]}}},"enumerator-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#enumerator"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"enumerator-value":{"begin":"=","end":"(?=[,}])|$","patterns":[{"include":"#standard"},{"begin":"(?=-|\\b)[\\w-]+\\b","end":"(?=[,}])|$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},"error":{"name":"invalid","match":"\\S"},"exception":{"name":"meta.exception.slice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container-inheritance"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.exception.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"field":{"name":"meta.field.slice","begin":"\\\\?\\w+","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,}\\)])|$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"field-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"include":"#field"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"field-container-inheritance":{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},"field.identifier":{"patterns":[{"match":"(\\\\?)\\b([a-zA-Z_]\\w*)\\b","captures":{"1":{"name":"punctuation.definition.identifier.escape.slice"},"2":{"patterns":[{"include":"#reserved-identifiers"}]}}},{"include":"#error"}]},"id-value":{"begin":"\\(","end":"\\)","patterns":[{"include":"#standard"},{"begin":"[^\\s\\)]+","end":"(?=\\))","patterns":[{"include":"#standard"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#integer-literal"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},"integer-literal":{"patterns":[{"name":"constant.numeric.bin.slice","match":"(-)?\\b(0b)(?:[0-1_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.bin.slice"}}},{"name":"constant.numeric.dec.slice","match":"(-)?\\b(?:[\\d_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"}}},{"name":"constant.numeric.hex.slice","match":"(-)?\\b(0x)(?:[\\da-fA-F_]+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.negative.slice"},"2":{"name":"punctuation.definition.numeric.hex.slice"}}},{"include":"#error"}]},"interface":{"name":"meta.interface.slice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":":","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#operation-container"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#operation-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.interface.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"modifier-keywords":{"match":"(?\u003c!\\\\)\\b(?:(compact)|(idempotent)|(stream)|(tag\\([-\\w]+\\))|(throws)|(unchecked))(\\b|(?\u003c=\\W))","captures":{"1":{"name":"storage.modifier.compact.slice"},"2":{"name":"storage.modifier.idempotent.slice"},"3":{"name":"storage.modifier.stream.slice"},"4":{"name":"meta.tag.slice","patterns":[{"include":"#tag"}]},"5":{"name":"storage.modifier.throws.slice"},"6":{"name":"storage.modifier.unchecked.slice"}}},"module-declaration":{"name":"meta.module.slice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"(?=\\b|\\\\)[\\\\\\w:]+(?\u003c=\\b|\\W)","end":"$","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.other.module.slice"}}},"operation-container":{"begin":"{","end":"(?=})","patterns":[{"include":"#tag"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"contentName":"meta.exception-list.slice","begin":"\\b(throws)\\b\\s*(\\()","end":"\\)","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#storage.identifier"},{"include":"#slice"}],"beginCaptures":{"1":{"name":"storage.modifier.throws.slice"},"2":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"name":"storage.modifier.throws.slice","match":"\\bthrows\\b"},{"name":"punctuation.definition.returns.slice","match":"-\u003e"},{"name":"punctuation.separator.comma.slice","match":","},{"name":"meta.parameter-list.slice","begin":"\\(","end":"\\)","patterns":[{"include":"#tag"},{"include":"#parameter"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.slice"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.slice"}}},{"match":"\\\\?\\w+(?=\\s*\\()","captures":{"0":{"name":"entity.name.function.slice","patterns":[{"include":"#field.identifier"}]}}},{"include":"#slice"}],"beginCaptures":{"0":{"name":"punctuation.brace.open.slice"}}},"parameter":{"name":"meta.parameter.slice","begin":"\\\\?\\w+","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"begin":":","end":"(?=[,\\)])|$","patterns":[{"include":"#standard"},{"name":"storage.modifier.stream.slice","match":"\\bstream\\b"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.separator.colon.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"entity.name.variable.slice","patterns":[{"include":"#field.identifier"}]}}},"preprocessor":{"patterns":[{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.if"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.unknown"},{"include":"#preprocessor.unknown"}]},"preprocessor.define":{"name":"meta.preprocessor.define.slice","begin":"^\\s*((#)\\s*define)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.elif":{"name":"meta.preprocessor.elif.slice","begin":"^\\s*((#)\\s*elif)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.elif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.else":{"name":"meta.preprocessor.else.slice","begin":"^\\s*((#)\\s*else)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.else.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.endif":{"name":"meta.preprocessor.endif.slice","begin":"^\\s*((#)\\s*endif)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.endif.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.expression":{"patterns":[{"include":"#comment.line"},{"match":"(!)|(\u0026\u0026)|(\\|\\|)|(\\()|(\\))","captures":{"1":{"name":"keyword.operator.logical.not.slice"},"2":{"name":"keyword.operator.logical.and.slice"},"3":{"name":"keyword.operator.logical.or.slice"},"4":{"name":"punctuation.parenthesis.open.slice"},"5":{"name":"punctuation.parenthesis.close.slice"}}},{"include":"#preprocessor.identifier"},{"include":"#error"}]},"preprocessor.identifier":{"patterns":[{"name":"constant.other.symbol.preprocessor.slice","match":"\\b[a-zA-Z_]\\w*\\b"},{"include":"#error"}]},"preprocessor.if":{"name":"meta.preprocessor.if.slice","begin":"^\\s*((#)\\s*if)\\b","end":"$","patterns":[{"include":"#preprocessor.expression"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.if.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.single-identifier":{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}},"preprocessor.undef":{"name":"meta.preprocessor.undef.slice","begin":"^\\s*((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#preprocessor.single-identifier"},{"include":"#error"}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"preprocessor.unknown":{"name":"meta.preprocessor.unknown.slice","begin":"^\\s*((#)\\s*\\w*)\\b","end":"$","patterns":[{"include":"#comment.line"},{"include":"#error"}],"beginCaptures":{"1":{"name":"invalid.illegal.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}},"reserved-identifiers":{"name":"invalid.illegal.identifier.slice","match":"(?\u003c!\\\\)\\b(?:module|struct|exception|class|interface|enum|custom|typealias|Sequence|Dictionary|Result|bool|int8|uint8|int16|uint16|int32|uint32|varint32|varuint32|int64|uint64|varint62|varuint62|float32|float64|string|AnyClass|compact|idempotent|mode|stream|tag|throws|unchecked)\\b"},"slice":{"patterns":[{"include":"#standard"},{"include":"#compilation-mode"},{"include":"#module-declaration"},{"include":"#struct"},{"include":"#class"},{"include":"#exception"},{"include":"#enum"},{"include":"#interface"},{"include":"#custom-type"},{"include":"#type-alias"},{"include":"#modifier-keywords"},{"include":"#type.identifier"}]},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#attribute"}]},"storage.identifier":{"patterns":[{"name":"entity.name.class.slice","match":"(?:\\b|(::)|(?=\\\\))(?:(\\\\?)([a-zA-Z_]\\w*)(::)?)+\\b","captures":{"1":{"name":"punctuation.separator.double-colon.slice"},"2":{"name":"punctuation.definition.identifier.escape.slice"},"3":{"patterns":[{"include":"#reserved-identifiers"}]},"4":{"name":"punctuation.separator.double-colon.slice"}}},{"include":"#error"}]},"string-literal":{"name":"string.quoted.double.slice","begin":"\"","end":"(\")|$","patterns":[{"name":"constant.character.escape.slice","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"}}},"struct":{"name":"meta.struct.slice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#field-container"},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.struct.slice"}},"endCaptures":{"0":{"name":"punctuation.brace.close.slice"}}},"tag":{"begin":"\\b(tag)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#id-value"}],"beginCaptures":{"1":{"name":"storage.modifier.tag.slice"}}},"type-alias":{"name":"meta.typealias.slice","begin":"(?\u003c!\\\\)\\btypealias\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"$","patterns":[{"include":"#standard"},{"begin":"=","end":"$","patterns":[{"include":"#standard"},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}},{"include":"#error"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.identifier"}]}}},{"include":"#error"}],"beginCaptures":{"0":{"name":"storage.type.alias.slice"}}},"type-keywords":{"match":"(?\u003c!\\\\)\\b(?:(bool)|(int8)|(uint8)|(int16)|(uint16)|(int32)|(uint32)|(varint32)|(varuint32)|(int64)|(uint64)|(varint62)|(varuint62)|(float32)|(float64)|(string)|(AnyClass)|(Sequence)|(Dictionary)|(Result))\\b","captures":{"1":{"name":"storage.type.bool.slice"},"10":{"name":"storage.type.int64.slice"},"11":{"name":"storage.type.uint64.slice"},"12":{"name":"storage.type.varint62.slice"},"13":{"name":"storage.type.varuint62.slice"},"14":{"name":"storage.type.float32.slice"},"15":{"name":"storage.type.float64.slice"},"16":{"name":"storage.type.string.slice"},"17":{"name":"storage.type.AnyClass.slice"},"18":{"name":"storage.type.sequence.slice"},"19":{"name":"storage.type.dictionary.slice"},"2":{"name":"storage.type.int8.slice"},"20":{"name":"storage.type.result.slice"},"3":{"name":"storage.type.uint8.slice"},"4":{"name":"storage.type.int16.slice"},"5":{"name":"storage.type.uint16.slice"},"6":{"name":"storage.type.int32.slice"},"7":{"name":"storage.type.uint32.slice"},"8":{"name":"storage.type.varint32.slice"},"9":{"name":"storage.type.varuint32.slice"}}},"type-name":{"patterns":[{"include":"#type-keywords"},{"include":"#storage.identifier"}]},"type.identifier":{"patterns":[{"name":"meta.generic.parameters.slice","begin":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\\u003c)","end":"(\\\u003e)\\s*(\\?)?","patterns":[{"include":"#standard"},{"name":"punctuation.separator.comma.slice","match":","},{"include":"#type.identifier"},{"include":"#error"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.angle.open.slice"}},"endCaptures":{"1":{"name":"punctuation.angle.close.slice"},"2":{"name":"punctuation.definition.optional.slice"}}},{"match":"(?=\\b|\\W)([\\\\\\w:]+)\\s*(\\?)?(?\u003c=\\b|\\W)","captures":{"1":{"patterns":[{"include":"#type-name"}]},"2":{"name":"punctuation.definition.optional.slice"}}}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"slint","scopeName":"source.slint","patterns":[{"include":"#document"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"document":{"patterns":[{"include":"#general"},{"name":"keyword","match":"(?\u003c!-)\\b(from|export)\\b(?!-)"},{"name":"keyword.other","match":"(?\u003c!-)\\b(animate|states|transitions|private|public|pure|function|in|out|in-out)\\b(?!-)"},{"name":"keyword.control","match":"(?\u003c!-)\\b(if|for|return)\\b(?!-)"},{"name":"variable.language","match":"(?\u003c!-)\\b(root|parent|this|self)\\b(?!-)"},{"match":"(?\u003c!-)\\b(import)\\s*\\{\\s*(([a-zA-Z_][a-zA-Z0-9_-]*)(\\s*,\\s*([a-zA-Z_][a-zA-Z0-9_-]*))*)\\s*\\}","captures":{"1":{"name":"keyword.other"},"3":{"name":"entity.name.type"},"5":{"name":"entity.name.type"}}},{"match":"(?\u003c!-)\\b([a-zA-Z_][a-zA-Z0-9_-]*)\\s*:","captures":{"1":{"name":"variable.parameter"}}},{"match":"(?\u003c!-)\\b([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\(.*\\)\\s*=\u003e","captures":{"1":{"name":"entity.name.function"}}},{"match":"(?\u003c!-)\\b(callback)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*","captures":{"1":{"name":"entity.name.function"},"2":{"name":"entity.name.type"}}},{"begin":"(?\u003c!-)\\b(struct)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{","end":"\\}","patterns":[{"match":"([a-zA-Z_][a-zA-Z0-9_-]*)\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)\\s*,?","captures":{"1":{"name":"variable.parameter"},"2":{"name":"entity.name.type"}}}],"beginCaptures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"begin":"(?\u003c!-)\\b(global)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{","end":"\\}","patterns":[{"include":"#property"}],"beginCaptures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"begin":"(?\u003c!-)\\b(enum)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{","end":"\\}","patterns":[{"name":"entity.name.type","match":"([a-zA-Z_][a-zA-Z0-9_-]*)\\s*,?"}],"beginCaptures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"match":"(?\u003c!-)\\b(component|inherits)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)","captures":{"1":{"name":"storage.type"},"2":{"name":"entity.name.type"}}},{"match":"([a-zA-Z_][a-zA-Z0-9_-])*\\s*(:=)\\s*([a-zA-Z_][a-zA-Z0-9_-]*)","captures":{"1":{"name":"variable.parameter"},"2":{"name":"keyword.operator"},"3":{"name":"entity.name.type"}}},{"name":"support.constant","match":"(?\u003c!-)\\b(blue|red|green|yellow|red|black|linear|ease-in-quad|ease-out-quad|ease-in-out-quad|ease|ease-in|ease-out|ease-in-out|ease-in-quart|ease-out-quart|ease-in-out-quart|ease-in-quint|ease-out-quint|ease-in-out-quint|ease-in-expo|ease-out-expo|ease-in-out-expo|ease-in-sine|ease-out-sine|ease-in-out-sine|ease-in-back|ease-out-back|ease-in-out-back|ease-in-circ|ease-out-circ|ease-in-out-circ|ease-in-elastic|ease-out-elastic|ease-in-out-elastic|ease-in-bounce|ease-out-bounce|ease-in-out-bounce|cubic-bezier)\\b(?!-)"},{"include":"#property"}]},"general":{"patterns":[{"include":"#block-comments"},{"name":"comment.line","match":"//.*$"},{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\(n|\\\\|u\\{\\d+\\}|\\{[^\\}]+\\})"}]},{"name":"constant.other","match":"#([a-fA-F0-9]){3,8}"},{"name":"constant.numeric","match":"\\b\\d+(\\.\\d*)?(%|px|phx|pt|in|mm|cm|ms|s|deg|rad|turn)?\\b"}]},"property":{"patterns":[{"begin":"\\b(property)\\b","end":"(;|:|\u003c=\u003e)","patterns":[{"match":"\u003c([a-zA-Z_][a-zA-Z0-9_-]*)\u003e","captures":{"1":{"name":"entity.name.type"}}},{"name":"variable.parameter","match":"[a-zA-Z_][a-zA-Z0-9_-]*"},{"name":"keyword.operator","match":"\\b(\u003c=\u003e|:)\\b"}],"beginCaptures":{"1":{"name":"keyword.other"}}}]}}}
|