code-server/lib/vscode/extensions/julia/syntaxes/julia.tmLanguage.json
2021-03-11 10:27:10 -07:00

1113 lines
40 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"information_for_contributors": [
"This file has been converted from https://github.com/JuliaEditorSupport/atom-language-julia/blob/master/grammars/julia_vscode.json",
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/JuliaEditorSupport/atom-language-julia/commit/8ae8d9cac742c65ae0bef1a5e2d068e2cae871bc",
"name": "Julia",
"scopeName": "source.julia",
"comment": "This grammar is used by Atom (Oniguruma), GitHub (PCRE), and VSCode (Oniguruma),\nso all regexps must be compatible with both engines.\n\nSpecs:\n- https://github.com/kkos/oniguruma/blob/master/doc/RE\n- https://www.pcre.org/current/doc/html/",
"patterns": [
{
"include": "#operator"
},
{
"include": "#array"
},
{
"include": "#string"
},
{
"include": "#bracket"
},
{
"include": "#function_decl"
},
{
"include": "#function_call"
},
{
"include": "#keyword"
},
{
"include": "#number"
},
{
"include": "#comment"
},
{
"include": "#type_decl"
},
{
"include": "#symbol"
}
],
"repository": {
"array": {
"patterns": [
{
"begin": "\\[",
"beginCaptures": {
"0": {
"name": "meta.bracket.julia"
}
},
"end": "(?:\\])(?:(\\.)?'*)",
"endCaptures": {
"0": {
"name": "meta.bracket.julia"
},
"1": {
"name": "keyword.operator.transpose.julia"
}
},
"name": "meta.array.julia",
"patterns": [
{
"match": "\\bbegin\\b",
"name": "constant.numeric.julia"
},
{
"match": "\\bend\\b",
"name": "constant.numeric.julia"
},
{
"match": "\\bfor\\b",
"name": "keyword.control.julia"
},
{
"include": "$self"
}
]
}
]
},
"bracket": {
"patterns": [
{
"match": "(?:\\(|\\)|\\[|\\]|\\{|\\}|,|;)(?!('|(?:\\.'))*\\.?')",
"name": "meta.bracket.julia"
}
]
},
"comment": {
"patterns": [
{
"include": "#comment_block"
},
{
"begin": "#",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.julia"
}
},
"end": "\\n",
"name": "comment.line.number-sign.julia"
}
]
},
"comment_block": {
"patterns": [
{
"begin": "#=",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.julia"
}
},
"end": "=#",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.end.julia"
}
},
"name": "comment.block.number-sign-equals.julia",
"patterns": [
{
"include": "#comment_block"
}
]
}
]
},
"function_call": {
"patterns": [
{
"begin": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.julia"
},
"2": {
"name": "support.type.julia"
}
},
"end": "\\)(('|(\\.'))*\\.?')?",
"endCaptures": {
"0": {
"name": "meta.bracket.julia"
},
"1": {
"name": "keyword.operator.transposed-func.julia"
}
},
"patterns": [
{
"match": "\\bfor\\b",
"name": "keyword.control.julia"
},
{
"include": "$self"
}
]
}
]
},
"function_decl": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.function.julia"
},
"2": {
"name": "support.type.julia"
}
},
"match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\(.*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=>]))",
"comment": "first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function argumnets)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)"
},
{
"captures": {
"1": {
"name": "keyword.other.julia"
},
"2": {
"name": "keyword.operator.dots.julia"
},
"3": {
"name": "entity.name.function.julia"
},
"4": {
"name": "support.type.julia"
}
},
"match": "\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*(\\.))?((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()",
"comment": "similar regex to previous, but with keyword not 1-line syntax"
}
]
},
"keyword": {
"patterns": [
{
"match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b",
"name": "keyword.other.julia"
},
{
"comment": "special case for blocks to support tokenizing outer properly",
"begin": "\\b(for)\\b",
"beginCaptures": {
"0": {
"name": "keyword.control.julia"
}
},
"end": "(?<!,|\\s)(\\s*\\n)",
"patterns": [
{
"match": "\\bouter\\b",
"name": "keyword.other.julia"
},
{
"include": "$self"
}
]
},
{
"match": "\\b(?<![:_])(?:if|else|elseif|while|begin|let|do|try|catch|finally|return|break|continue)\\b",
"name": "keyword.control.julia"
},
{
"match": "\\b(?<![:_])end\\b",
"name": "keyword.control.end.julia"
},
{
"match": "\\b(?<![:_])(?:global|local|const)\\b",
"name": "keyword.storage.modifier.julia"
},
{
"match": "\\b(?<![:_])(?:export)\\b",
"name": "keyword.control.export.julia"
},
{
"match": "\\b(?<![:_])(?:import)\\b",
"name": "keyword.control.import.julia"
},
{
"match": "\\b(?<![:_])(?:using)\\b",
"name": "keyword.control.using.julia"
},
{
"match": "(@(\\.|(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*))",
"name": "support.function.macro.julia"
}
]
},
"number": {
"patterns": [
{
"match": "(?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ]))((\\b0(x|X)[0-9a-fA-F](_?[0-9a-fA-F])*)|(\\b0o[0-7](_?[0-7])*)|(\\b0b[0-1](_?[0-1])*)|((\\b[0-9](_?[0-9])*\\.?(_?[0-9]*))|(\\.[0-9](_?[0-9])*))([efE][+-]?[0-9](_?[0-9])*)?(im\\b)?|\\bInf(16|32|64)?\\b|\\bNaN(16|32|64)?\\b|\\bฯ€\\b|\\bpi\\b|\\bโ„ฏ\\b)",
"name": "constant.numeric.julia"
},
{
"match": "\\bARGS\\b|\\bC_NULL\\b|\\bDEPOT_PATH\\b|\\bENDIAN_BOM\\b|\\bENV\\b|\\bLOAD_PATH\\b|\\bPROGRAM_FILE\\b|\\bstdin\\b|\\bstdout\\b|\\bstderr\\b|\\bVERSION\\b|\\bdevnull\\b",
"name": "constant.global.julia"
},
{
"match": "\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b",
"name": "constant.language.julia"
}
]
},
"operator": {
"patterns": [
{
"match": "(?:->|<-|-->|=>)",
"name": "keyword.operator.arrow.julia"
},
{
"match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|รท=|\\.รท=|\\|=|&=|\\.&=|โŠป=|\\.โŠป=|\\$=|<<=|>>=|>>>=|=(?!=))",
"name": "keyword.operator.update.julia"
},
{
"match": "(?:<<|>>>|>>|\\.>>>|\\.>>|\\.<<)",
"name": "keyword.operator.shift.julia"
},
{
"match": "(?:\\s*(::|>:|<:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$โˆ‡][[:word:]โบ-โ‚œ!โ€ฒ\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?<!\\\\)\"))?)))(?:\\.\\.\\.)?",
"captures": {
"1": {
"name": "keyword.operator.relation.types.julia"
},
"2": {
"name": "support.type.julia"
}
}
},
{
"match": "(?:===|โˆˆ|\\.โˆˆ|โˆ‰|\\.โˆ‰|โˆ‹|\\.โˆ‹|โˆŒ|\\.โˆŒ|โ‰ˆ|\\.โ‰ˆ|โ‰‰|\\.โ‰‰|โ‰ |\\.โ‰ |โ‰ก|\\.โ‰ก|โ‰ข|\\.โ‰ข|โŠ†|\\.โŠ†|โŠ‡|\\.โŠ‡|โŠˆ|\\.โŠˆ|โŠ‰|\\.โŠ‰|โŠŠ|\\.โŠŠ|โŠ‹|\\.โŠ‹|\\.==|!==|!=|\\.>=|\\.>|\\.<=|\\.<|\\.โ‰ค|\\.โ‰ฅ|==|\\.!=|\\.=|\\.!|<:|>:|:>|(?<!>)>=|(?<!<)<=|>|<|โ‰ฅ|โ‰ค)",
"name": "keyword.operator.relation.julia"
},
{
"match": "(?<=\\s)(?:\\?)(?=\\s)",
"name": "keyword.operator.ternary.julia"
},
{
"match": "(?<=\\s)(?:\\:)(?=\\s)",
"name": "keyword.operator.ternary.julia"
},
{
"match": "(?:\\|\\||&&|(?<![[:word:]])!)",
"name": "keyword.operator.boolean.julia"
},
{
"match": "(?<=[[:word:]โบ-โ‚œ!โ€ฒโˆ‡\\)\\]\\}])(?::)",
"name": "keyword.operator.range.julia"
},
{
"match": "(?:\\|>)",
"name": "keyword.operator.applies.julia"
},
{
"match": "(?:\\||\\.\\||\\&|\\.\\&|~|\\.~|โŠป|\\.โŠป)",
"name": "keyword.operator.bitwise.julia"
},
{
"match": "(?:\\+\\+|--|\\+|\\.\\+|-|\\.\\-|\\*|\\.\\*|//(?!=)|\\.//(?!=)|/|\\./|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^|รท|\\.รท|โ‹…|\\.โ‹…|โˆฉ|\\.โˆฉ|โˆช|\\.โˆช|ร—|โˆš|โˆ›)",
"name": "keyword.operator.arithmetic.julia"
},
{
"match": "(?:โˆ˜)",
"name": "keyword.operator.compose.julia"
},
{
"match": "(?:::|(?<=\\s)isa(?=\\s))",
"name": "keyword.operator.isa.julia"
},
{
"match": "(?:(?<=\\s)in(?=\\s))",
"name": "keyword.operator.relation.in.julia"
},
{
"match": "(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+)",
"name": "keyword.operator.dots.julia"
},
{
"match": "(?:\\$(?=.+))",
"name": "keyword.operator.interpolation.julia"
},
{
"captures": {
"2": {
"name": "keyword.operator.transposed-variable.julia"
}
},
"match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)(('|(\\.'))*\\.?')"
},
{
"captures": {
"1": {
"name": "bracket.end.julia"
},
"2": {
"name": "keyword.operator.transposed-matrix.julia"
}
},
"match": "(\\])((?:'|(?:\\.'))*\\.?')"
},
{
"captures": {
"1": {
"name": "bracket.end.julia"
},
"2": {
"name": "keyword.operator.transposed-parens.julia"
}
},
"match": "(\\))((?:'|(?:\\.'))*\\.?')"
}
]
},
"string": {
"patterns": [
{
"begin": "(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "(\"\"\") ?(->)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.julia"
},
"2": {
"name": "keyword.operator.arrow.julia"
}
},
"name": "string.docstring.julia",
"patterns": [
{
"include": "#string_escaped_char"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(i?cxx)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"\"\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.cxx.julia",
"contentName": "meta.embedded.inline.cpp",
"patterns": [
{
"include": "source.cpp#root_context"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "((i?cxxt?)|([rpv]cpp))(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"4": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"name": "embed.cxx.julia",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"contentName": "meta.embedded.inline.cpp",
"patterns": [
{
"include": "source.cpp#root_context"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(py)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "([\\s\\w]*)(\"\"\")",
"endCaptures": {
"2": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.python.julia",
"contentName": "meta.embedded.inline.python",
"patterns": [
{
"include": "source.python"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(py)(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "(\\w*)(\")",
"name": "embed.python.julia",
"endCaptures": {
"2": {
"name": "punctuation.definition.string.end.julia"
}
},
"contentName": "meta.embedded.inline.python",
"patterns": [
{
"include": "source.python"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(js)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"\"\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.js.julia",
"contentName": "meta.embedded.inline.javascript",
"patterns": [
{
"include": "source.js"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(js)(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"name": "embed.js.julia",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"contentName": "meta.embedded.inline.javascript",
"patterns": [
{
"include": "source.js"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(R)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"\"\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.R.julia",
"contentName": "meta.embedded.inline.r",
"patterns": [
{
"include": "source.r"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(R)(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"name": "embed.R.julia",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"contentName": "meta.embedded.inline.r",
"patterns": [
{
"include": "source.r"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(raw)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"\"\"",
"name": "string.quoted.other.julia",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
}
},
{
"begin": "(raw)(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"name": "string.quoted.other.julia",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
}
},
{
"begin": "(sql)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"\"\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.sql.julia",
"contentName": "meta.embedded.inline.sql",
"patterns": [
{
"include": "source.sql"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(sql)(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.sql.julia",
"contentName": "meta.embedded.inline.sql",
"patterns": [
{
"include": "source.sql"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "var\"\"\"",
"end": "\"\"\"",
"name": "constant.other.symbol.julia"
},
{
"begin": "var\"",
"end": "\"",
"name": "constant.other.symbol.julia"
},
{
"begin": "(md)(\"\"\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"\"\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "embed.markdown.julia",
"contentName": "meta.embedded.inline.markdown",
"patterns": [
{
"include": "text.md"
},
{
"include": "text.html.markdown.julia"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "(md)(\")",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"name": "embed.markdown.julia",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"contentName": "meta.embedded.inline.markdown",
"patterns": [
{
"include": "text.md"
},
{
"include": "text.html.markdown.julia"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "^\\s?(doc)?(\"\"\")\\s?$",
"beginCaptures": {
"1": {
"name": "support.function.macro.julia"
},
"2": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "(\"\"\")",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "string.docstring.julia",
"comment": "This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",
"patterns": [
{
"include": "#string_escaped_char"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "'(?!')",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "string.quoted.single.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "(?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ]))\"\"\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.multiline.begin.julia"
}
},
"end": "\"\"\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.multiline.end.julia"
}
},
"name": "string.quoted.triple.double.julia",
"comment": "multi-line string with triple double quotes",
"patterns": [
{
"include": "#string_escaped_char"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"name": "string.quoted.double.julia",
"begin": "(?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ]))\"(?!\"\")",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.julia"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.julia"
}
},
"comment": "String with single pair of double quotes. Regex matches isolated double quote",
"patterns": [
{
"include": "#string_escaped_char"
},
{
"include": "#string_dollar_sign_interpolate"
}
]
},
{
"begin": "r\"\"\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.regexp.begin.julia"
}
},
"end": "(\"\"\")([imsx]{0,4})?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.regexp.end.julia"
},
"2": {
"comment": "I took this scope name from python regex grammar",
"name": "keyword.other.option-toggle.regexp.julia"
}
},
"name": "string.regexp.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "r\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.regexp.begin.julia"
}
},
"end": "(\")([imsx]{0,4})?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.regexp.end.julia"
},
"2": {
"comment": "I took this scope name from python regex grammar",
"name": "keyword.other.option-toggle.regexp.julia"
}
},
"name": "string.regexp.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)\"\"\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.julia"
},
"1": {
"name": "support.function.macro.julia"
}
},
"end": "(\"\"\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.julia"
},
"2": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "string.quoted.other.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.julia"
},
"1": {
"name": "support.function.macro.julia"
}
},
"end": "(?<![^\\\\]\\\\)(\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.julia"
},
"2": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "string.quoted.other.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)?```",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.julia"
},
"1": {
"name": "support.function.macro.julia"
}
},
"end": "(```)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.julia"
},
"2": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "string.interpolated.backtick.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)?`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.julia"
},
"1": {
"name": "support.function.macro.julia"
}
},
"end": "(?<![^\\\\]\\\\)(`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.julia"
},
"2": {
"name": "punctuation.definition.string.end.julia"
}
},
"name": "string.interpolated.backtick.julia",
"patterns": [
{
"include": "#string_escaped_char"
}
]
}
]
},
"string_escaped_char": {
"patterns": [
{
"match": "\\\\(\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)",
"name": "constant.character.escape.julia"
}
]
},
"string_dollar_sign_interpolate": {
"patterns": [
{
"match": "\\$(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*",
"name": "variable.interpolation.julia"
},
{
"begin": "\\$\\(",
"end": "\\)",
"name": "variable.interpolation.julia",
"comment": "`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",
"patterns": [
{
"include": "#nest_parens_and_self"
},
{
"include": "$self"
}
]
}
]
},
"nest_parens_and_self": {
"patterns": [
{
"begin": "\\(",
"end": "\\)",
"patterns": [
{
"include": "#nest_parens_and_self"
}
]
},
{
"include": "$self"
}
]
},
"symbol": {
"patterns": [
{
"match": "(?<![[:word:]โบ-โ‚œ!โ€ฒโˆ‡\\)\\]\\}]):(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)(?!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ]))(?![\"`])",
"name": "constant.other.symbol.julia",
"comment": "This is string.quoted.symbol.julia in tpoisot's package"
}
]
},
"type_decl": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.type.julia"
},
"2": {
"name": "entity.other.inherited-class.julia"
},
"3": {
"name": "punctuation.separator.inheritance.julia"
}
},
"match": "(?>!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*)(\\s*(<:)\\s*(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{So}โ†-โ‡ฟ])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}โ…€-โ…„โˆฟโŠพโŠฟโŠคโŠฅโˆ‚โˆ…-โˆ‡โˆŽโˆโˆโˆ‘โˆžโˆŸโˆซ-โˆณโ‹€-โ‹ƒโ—ธ-โ—ฟโ™ฏโŸ˜โŸ™โŸ€โŸโฆฐ-โฆดโจ€-โจ†โจ‰-โจ–โจ›โจœ๐›๐››๐›ป๐œ•๐œต๐๐ฏ๐ž‰๐žฉ๐Ÿƒโฑ-โพโ‚-โ‚Žโˆ -โˆขโฆ›-โฆฏโ„˜โ„ฎใ‚›-ใ‚œ๐ŸŽ-๐Ÿก]|[^\\P{Mn}\u0001-ยก]|[^\\P{Mc}\u0001-ยก]|[^\\P{Nd}\u0001-ยก]|[^\\P{Pc}\u0001-ยก]|[^\\P{Sk}\u0001-ยก]|[^\\P{Me}\u0001-ยก]|[^\\P{No}\u0001-ยก]|[โ€ฒ-โ€ทโ—]|[^\\P{So}โ†-โ‡ฟ])*(?:{.*})?)?",
"name": "meta.type.julia"
}
]
}
}
}