const lang = Object.freeze({ "displayName": "Typst", "name": "typst", "patterns": [{ "include": "#markup" }], "repository": { "arguments": { "patterns": [{ "match": "\\b[[:alpha:]_][[:alnum:]_-]*(?=:)", "name": "variable.parameter.typst" }, { "include": "#code" }] }, "code": { "patterns": [{ "include": "#common" }, { "begin": "{", "captures": { "0": { "name": "punctuation.definition.block.code.typst" } }, "end": "}", "name": "meta.block.code.typst", "patterns": [{ "include": "#code" }] }, { "begin": "\\[", "captures": { "0": { "name": "punctuation.definition.block.content.typst" } }, "end": "\\]", "name": "meta.block.content.typst", "patterns": [{ "include": "#markup" }] }, { "begin": "//", "beginCaptures": { "0": { "name": "punctuation.definition.comment.typst" } }, "end": "\n", "name": "comment.line.double-slash.typst" }, { "match": ":", "name": "punctuation.separator.colon.typst" }, { "match": ",", "name": "punctuation.separator.comma.typst" }, { "match": "=>|\\.\\.", "name": "keyword.operator.typst" }, { "match": "==|!=|<=|<|>=|>", "name": "keyword.operator.relational.typst" }, { "match": "\\+=|-=|\\*=|/=|=", "name": "keyword.operator.assignment.typst" }, { "match": "\\+|\\*|/|(?", "name": "entity.other.label.typst" }, { "captures": { "1": { "name": "punctuation.definition.reference.typst" } }, "match": "(@)[[:alpha:]_][[:alnum:]_-]*", "name": "entity.other.reference.typst" }, { "begin": "(#)(let|set|show)\\b", "beginCaptures": { "0": { "name": "keyword.other.typst" }, "1": { "name": "punctuation.definition.keyword.typst" } }, "end": "\n|(;)|(?=])", "endCaptures": { "1": { "name": "punctuation.terminator.statement.typst" } }, "patterns": [{ "include": "#code" }] }, { "captures": { "1": { "name": "punctuation.definition.keyword.typst" } }, "match": "(#)(as|in)\\b", "name": "keyword.other.typst" }, { "begin": "((#)if|(?<=(}|])\\s*)else)\\b", "beginCaptures": { "0": { "name": "keyword.control.conditional.typst" }, "2": { "name": "punctuation.definition.keyword.typst" } }, "end": "\n|(?=])|(?<=}|])", "patterns": [{ "include": "#code" }] }, { "begin": "(#)(for|while)\\b", "beginCaptures": { "0": { "name": "keyword.control.loop.typst" }, "1": { "name": "punctuation.definition.keyword.typst" } }, "end": "\n|(?=])|(?<=}|])", "patterns": [{ "include": "#code" }] }, { "captures": { "1": { "name": "punctuation.definition.keyword.typst" } }, "match": "(#)(break|continue)\\b", "name": "keyword.control.loop.typst" }, { "begin": "(#)(import|include|export)\\b", "beginCaptures": { "0": { "name": "keyword.control.import.typst" }, "1": { "name": "punctuation.definition.keyword.typst" } }, "end": "\n|(;)|(?=])", "endCaptures": { "1": { "name": "punctuation.terminator.statement.typst" } }, "patterns": [{ "include": "#code" }] }, { "captures": { "1": { "name": "punctuation.definition.keyword.typst" } }, "match": "(#)(return)\\b", "name": "keyword.control.flow.typst" }, { "captures": { "2": { "name": "punctuation.definition.function.typst" } }, "comment": "Function name", "match": "((#)[[:alpha:]_][[:alnum:]_-]*!?)(?=\\[|\\()", "name": "entity.name.function.typst" }, { "begin": "(?<=#[[:alpha:]_][[:alnum:]_-]*!?)\\(", "captures": { "0": { "name": "punctuation.definition.group.typst" } }, "comment": "Function arguments", "end": "\\)", "patterns": [{ "include": "#arguments" }] }, { "captures": { "1": { "name": "punctuation.definition.variable.typst" } }, "match": "(#)[[:alpha:]_][.[:alnum:]_-]*", "name": "entity.other.interpolated.typst" }, { "begin": "#", "end": "\\s", "name": "meta.block.content.typst", "patterns": [{ "include": "#code" }] }] } }, "scopeName": "source.typst", "aliases": ["typ"] }); var typst = [ lang ]; export { typst as default };