"use strict";
exports.id = 1902;
exports.ids = [1902];
exports.modules = {

/***/ 91902:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ scala)
/* harmony export */ });
const lang = Object.freeze({ "fileTypes": ["scala"], "firstLineMatch": "^#!/.*\\b\\w*scala\\b", "foldingStartMarker": "/\\*\\*|\\{\\s*$", "foldingStopMarker": "\\*\\*/|^\\s*\\}", "keyEquivalent": "^~S", "repository": { "empty-parentheses": { "match": "(\\(\\))", "captures": { "1": { "name": "meta.bracket.scala" } }, "name": "meta.parentheses.scala" }, "imports": { "end": "(?<=[\\n;])", "begin": "\\b(import)\\s+", "beginCaptures": { "1": { "name": "keyword.other.import.scala" } }, "patterns": [{ "include": "#comments" }, { "match": "\\b(given)\\b", "name": "keyword.other.import.given.scala" }, { "match": "[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?", "name": "entity.name.class.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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))", "name": "entity.name.import.scala" }, { "match": "\\.", "name": "punctuation.definition.import" }, { "end": "}", "begin": "{", "beginCaptures": { "0": { "name": "meta.bracket.scala" } }, "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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" } } }, { "match": "\\b(given)\\b", "name": "keyword.other.import.given.scala" }, { "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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" } } }], "endCaptures": { "0": { "name": "meta.bracket.scala" } }, "name": "meta.import.selector.scala" }], "name": "meta.import.scala" }, "exports": { "end": "(?<=[\\n;])", "begin": "\\b(export)\\s+", "beginCaptures": { "1": { "name": "keyword.other.export.scala" } }, "patterns": [{ "include": "#comments" }, { "match": "\\b(given)\\b", "name": "keyword.other.export.given.scala" }, { "match": "[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?", "name": "entity.name.class.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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))", "name": "entity.name.export.scala" }, { "match": "\\.", "name": "punctuation.definition.export" }, { "end": "}", "begin": "{", "beginCaptures": { "0": { "name": "meta.bracket.scala" } }, "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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" } } }, { "match": "\\b(given)\\b", "name": "keyword.other.export.given.scala" }, { "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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" } } }], "endCaptures": { "0": { "name": "meta.bracket.scala" } }, "name": "meta.export.selector.scala" }], "name": "meta.export.scala" }, "constants": { "patterns": [{ "match": "\\b(false|null|true)\\b", "name": "constant.language.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": "\\b(this|super)\\b", "name": "variable.language.scala" }] }, "script-header": { "match": "^#!(.*)$", "captures": { "1": { "name": "string.unquoted.shebang.scala" } }, "name": "comment.block.shebang.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" }] }, "strings": { "patterns": [{ "end": '"""(?!")', "begin": '"""', "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.scala" } }, "patterns": [{ "match": "\\\\\\\\|\\\\u[0-9A-Fa-f]{4}", "name": "constant.character.escape.scala" }], "endCaptures": { "0": { "name": "punctuation.definition.string.end.scala" } }, "name": "string.quoted.triple.scala" }, { "begin": '\\b(raw)(""")', "end": '(""")(?!")|\\$\n|(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])', "beginCaptures": { "1": { "name": "keyword.interpolation.scala" }, "2": { "name": "string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala" } }, "patterns": [{ "match": '\\$[\\$"]', "name": "constant.character.escape.scala" }, { "include": "#string-interpolation" }, { "match": ".", "name": "string.quoted.triple.interpolated.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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?))(""")', "end": '(""")(?!")|\\$\n|(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])', "beginCaptures": { "1": { "name": "keyword.interpolation.scala" }, "2": { "name": "string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala" } }, "patterns": [{ "include": "#string-interpolation" }, { "match": "\\\\\\\\|\\\\u[0-9A-Fa-f]{4}", "name": "constant.character.escape.scala" }, { "match": ".", "name": "string.quoted.triple.interpolated.scala" }], "endCaptures": { "1": { "name": "string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala" }, "2": { "name": "invalid.illegal.unrecognized-string-escape.scala" } } }, { "end": '"', "begin": '"', "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.scala" } }, "patterns": [{ "match": `\\\\(?:[btnfr\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})`, "name": "constant.character.escape.scala" }, { "match": "\\\\.", "name": "invalid.illegal.unrecognized-string-escape.scala" }], "endCaptures": { "0": { "name": "punctuation.definition.string.end.scala" } }, "name": "string.quoted.double.scala" }, { "begin": '\\b(raw)(")', "end": '(")|\\$\n|(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])', "beginCaptures": { "1": { "name": "keyword.interpolation.scala" }, "2": { "name": "string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala" } }, "patterns": [{ "match": '\\$[\\$"]', "name": "constant.character.escape.scala" }, { "include": "#string-interpolation" }, { "match": ".", "name": "string.quoted.double.interpolated.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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?))(")', "end": '(")|\\$\n|(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])', "beginCaptures": { "1": { "name": "keyword.interpolation.scala" }, "2": { "name": "string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala" } }, "patterns": [{ "match": '\\$[\\$"]', "name": "constant.character.escape.scala" }, { "include": "#string-interpolation" }, { "match": `\\\\(?:[btnfr\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})`, "name": "constant.character.escape.scala" }, { "match": "\\\\.", "name": "invalid.illegal.unrecognized-string-escape.scala" }, { "match": ".", "name": "string.quoted.double.interpolated.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": "(?<=\\()\\s*(using)\\s", "captures": { "1": { "name": "keyword.declaration.scala" } } }] }, "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", "begin": "\\$\\{", "beginCaptures": { "0": { "name": "punctuation.definition.template-expression.begin.scala" } }, "end": "\\}", "endCaptures": { "0": { "name": "punctuation.definition.template-expression.end.scala" } }, "patterns": [{ "include": "#code" }], "contentName": "meta.embedded.line.scala" }] }, "xml-entity": { "match": "(&)([: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" } }, "name": "constant.character.entity.xml" }, "xml-singlequotedString": { "end": "'", "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.xml" } }, "patterns": [{ "include": "#xml-entity" }], "endCaptures": { "0": { "name": "punctuation.definition.string.end.xml" } }, "name": "string.quoted.single.xml" }, "meta-colons": { "patterns": [{ "match": "(?<!:):(?!:)", "name": "meta.colon.scala" }], "comment": "For themes: Matching type colons" }, "keywords": { "patterns": [{ "match": "\\b(return|throw)\\b", "name": "keyword.control.flow.jump.scala" }, { "match": "\\b(classOf|isInstanceOf|asInstanceOf)\\b", "name": "support.function.type-of.scala" }, { "match": "\\b(else|if|then|do|while|for|yield|match|case)\\b", "name": "keyword.control.flow.scala" }, { "match": "^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", "name": "keyword.control.flow.end.scala" }, { "match": "^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", "name": "keyword.declaration.stable.end.scala" }, { "match": "^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", "name": "keyword.declaration.volatile.end.scala" }, { "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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" } } }, { "match": "\\b(catch|finally|try)\\b", "name": "keyword.control.exception.scala" }, { "match": "^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", "name": "keyword.control.exception.end.scala" }, { "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)", "captures": { "1": { "name": "keyword.declaration.end.scala" }, "2": { "name": "entity.name.declaration" } } }, { "match": "(==?|!=|<=|>=|<>|<|>)", "name": "keyword.operator.comparison.scala" }, { "match": "(\\-|\\+|\\*|/(?![/*])|%|~)", "name": "keyword.operator.arithmetic.scala" }, { "match": "(?<![!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]|_)(!|&&|\\|\\|)(?![!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}])", "name": "keyword.operator.logical.scala" }, { "match": "(<-|\u2190|->|\u2192|=>|\u21D2|\\?|\\:+|@|\\|)+", "name": "keyword.operator.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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])", "captures": { "1": { "name": "keyword.type.scala" } } }, "inline": { "patterns": [{ "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)", "name": "storage.modifier.other" }, { "match": "\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)", "name": "keyword.control.flow.scala" }] }, "scala-quoted-or-symbol": { "patterns": [{ "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))(?!')", "captures": { "1": { "name": "keyword.control.flow.staging.scala constant.other.symbol.scala" }, "2": { "name": "constant.other.symbol.scala" } } }, { "match": "'(?=\\s*\\{(?!'))", "name": "keyword.control.flow.staging.scala" }, { "match": "'(?=\\s*\\[(?!'))", "name": "keyword.control.flow.staging.scala" }, { "match": "\\$(?=\\s*\\{)", "name": "keyword.control.flow.staging.scala" }] }, "xml-doublequotedString": { "end": '"', "begin": '"', "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.xml" } }, "patterns": [{ "include": "#xml-entity" }], "endCaptures": { "0": { "name": "punctuation.definition.string.end.xml" } }, "name": "string.quoted.double.xml" }, "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", "captures": { "1": { "name": "keyword.declaration.scala" }, "2": { "name": "keyword.declaration.scala" }, "3": { "name": "entity.name.class.declaration" } } }, { "match": "(?<!\\.)\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?", "captures": { "1": { "name": "keyword.other.scoping.scala" }, "2": { "name": "keyword.declaration.scala" }, "3": { "name": "entity.name.class.declaration" } } }, { "end": "(?<=[\\n;])", "begin": "\\b(package)\\s+", "beginCaptures": { "1": { "name": "keyword.other.import.scala" } }, "patterns": [{ "include": "#comments" }, { "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))", "name": "entity.name.package.scala" }, { "match": "\\.", "name": "punctuation.definition.package" }], "name": "meta.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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?", "captures": { "1": { "name": "keyword.declaration.scala" }, "2": { "name": "entity.name.given.declaration" } } }] }, "char-literal": { "end": "'|$", "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.character.begin.scala" } }, "patterns": [{ "match": `\\\\(?:[btnfr\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})`, "name": "constant.character.escape.scala" }, { "match": "\\\\.", "name": "invalid.illegal.unrecognized-character-escape.scala" }, { "match": "[^']{2,}", "name": "invalid.illegal.character-literal-too-long" }, { "match": "(?<!')[^']", "name": "invalid.illegal.character-literal-too-long" }], "endCaptures": { "0": { "name": "punctuation.definition.character.end.scala" } }, "name": "string.quoted.other constant.character.literal.scala" }, "initialization": { "match": "\\b(new)\\b", "captures": { "1": { "name": "keyword.declaration.scala" } } }, "curly-braces": { "begin": "\\{", "end": "\\}", "beginCaptures": { "0": { "name": "punctuation.section.block.begin.scala" } }, "endCaptures": { "0": { "name": "punctuation.section.block.end.scala" } }, "patterns": [{ "include": "#code" }] }, "meta-brackets": { "patterns": [{ "match": "\\{", "comment": "The punctuation.section.*.begin is needed for return snippet in source bundle", "name": "punctuation.section.block.begin.scala" }, { "match": "\\}", "comment": "The punctuation.section.*.end is needed for return snippet in source bundle", "name": "punctuation.section.block.end.scala" }, { "match": "{|}|\\(|\\)|\\[|\\]", "name": "meta.bracket.scala" }], "comment": "For themes: Brackets look nice when colored." }, "qualifiedClassName": { "match": "(\\b([A-Z][\\w]*)(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)", "captures": { "1": { "name": "entity.name.class" } } }, "backQuotedVariable": { "match": "`[^`]+`" }, "storage-modifiers": { "patterns": [{ "match": "\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b", "name": "storage.modifier.access" }, { "match": "\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b", "name": "storage.modifier.other" }, { "match": "(?<=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)", "name": "storage.modifier.other" }] }, "meta-bounds": { "match": "<%|=:=|<:<|<%<|>:|<:", "comment": "For themes: Matching view bounds", "name": "meta.bounds.scala" }, "using-directive": { "end": "\\n", "begin": "^\\s*(//>)\\s*(using)[^\\S\\n]+(?:(\\S+))?", "beginCaptures": { "1": { "name": "punctuation.definition.comment.scala" }, "2": { "name": "keyword.other.import.scala" }, "3": { "patterns": [{ "match": "[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)", "name": "entity.name.import.scala" }, { "match": "\\.", "name": "punctuation.definition.import" }] } }, "patterns": [{ "include": "#constants" }, { "include": "#strings" }, { "match": "[^\\s,]+", "name": "string.quoted.double.scala" }], "name": "comment.line.shebang.scala" }, "comments": { "patterns": [{ "include": "#block-comments" }, { "end": "(?!\\G)", "begin": "(^[ \\t]+)?(?=//)", "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.scala" } }, "patterns": [{ "end": "\\n", "begin": "//", "beginCaptures": { "0": { "name": "punctuation.definition.comment.scala" } }, "name": "comment.line.double-slash.scala" }] }] }, "block-comments": { "patterns": [{ "match": "/\\*\\*/", "captures": { "0": { "name": "punctuation.definition.comment.scala" } }, "name": "comment.block.empty.scala" }, { "end": "\\*/", "begin": "^\\s*(/\\*\\*)(?!/)", "beginCaptures": { "1": { "name": "punctuation.definition.comment.scala" } }, "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" } } }, { "match": "@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b", "name": "keyword.other.documentation.scaladoc.scala" }, { "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" }], "endCaptures": { "0": { "name": "punctuation.definition.comment.scala" } }, "name": "comment.block.documentation.scala" }, { "end": "\\*/", "begin": "/\\*", "captures": { "0": { "name": "punctuation.definition.comment.scala" } }, "patterns": [{ "include": "#block-comments" }], "name": "comment.block.scala" }] }, "xml-embedded-content": { "patterns": [{ "end": "}", "begin": "{", "patterns": [{ "include": "#code" }], "captures": { "0": { "name": "meta.bracket.scala" } }, "name": "meta.source.embedded.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" }] }, "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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))|(?="))?', "captures": { "1": { "name": "keyword.declaration.scala" }, "2": { "name": "entity.name.class" } } }] }, "extension": { "patterns": [{ "match": "^\\s*(extension)\\s+(?=[\\[\\(])", "captures": { "1": { "name": "keyword.declaration.scala" } } }] }, "parameter-list": { "patterns": [{ "match": "(?<=[^\\._$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]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+", "captures": { "1": { "name": "variable.parameter.scala" }, "2": { "name": "meta.colon.scala" } } }] }, "xml-literal": { "patterns": [{ "end": "(>(<))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(>)", "begin": "(<)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^>]*)?></\\2>)", "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" } }, "patterns": [{ "include": "#xml-embedded-content" }], "comment": "We do not allow a tag name to start with a - since this would likely conflict with the <- operator. This is not very common for tag names anyway.  Also code such as -- if (val <val2 || val> val3) will falsly be recognized as an xml tag.  The solution is to put a space on either side of the comparison operator", "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.no-content.xml" }, { "end": "(/?>)", "begin": "(</?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^>]*?>)", "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" } }, "name": "meta.tag.xml" }, { "include": "#xml-entity" }] } }, "uuid": "158C0929-299A-40C8-8D89-316BE0C446E8", "patterns": [{ "include": "#code" }], "name": "scala", "scopeName": "source.scala", "displayName": "Scala" });
var scala = [
  lang
];




/***/ })

};
;