%YAML 1.2 --- name: TatML file_extensions: - tatml - tml scope: source.tatml contexts: main: - include: comments - include: strings - include: keywords - include: elements - include: picots - include: numbers - include: identifiers - include: operators comments: - match: '//' scope: punctuation.definition.comment.tatml push: - meta_scope: comment.line.double-slash.tatml - match: $ pop: true - match: '/\*' scope: punctuation.definition.comment.tatml push: - meta_scope: comment.block.tatml - match: '\*/' pop: true strings: - match: '"' scope: punctuation.definition.string.begin.tatml push: - meta_scope: string.quoted.double.tatml - match: '\\.' scope: constant.character.escape.tatml - match: '"' scope: punctuation.definition.string.end.tatml pop: true keywords: - match: '\b(pattern|thread|shuttles|repeat|if|reverse_work|join_to_start|import|use|with|connect|to|as)\b' scope: keyword.control.tatml - match: '\b(prev|current|not_last)\b' scope: keyword.other.tatml - match: '\b(shuttle1|shuttle2)\b' scope: variable.language.tatml elements: - match: '\b(R|C|SR|MR)\b' scope: entity.name.function.tatml picots: - match: '\b(p|sp|lp|jp)\b' scope: constant.language.tatml numbers: - match: '\b\d+\b' scope: constant.numeric.tatml identifiers: - match: '\b[a-zA-Z_][a-zA-Z0-9_]*\b' scope: variable.other.tatml - match: '\bpicot\d+\b' scope: variable.parameter.tatml operators: - match: ':' scope: punctuation.separator.tatml - match: '\.' scope: punctuation.accessor.tatml - match: ',' scope: punctuation.separator.tatml - match: ';' scope: punctuation.terminator.tatml - match: '\(' scope: punctuation.section.parens.begin.tatml - match: '\)' scope: punctuation.section.parens.end.tatml - match: '\{' scope: punctuation.section.braces.begin.tatml - match: '\}' scope: punctuation.section.braces.end.tatml - match: '\[' scope: punctuation.section.brackets.begin.tatml - match: '\]' scope: punctuation.section.brackets.end.tatml - match: 'join' scope: support.function.tatml