import angular_expression from './angular-expression.mjs'
import angular_template from './angular-template.mjs'

const lang = Object.freeze(JSON.parse("{\"injectTo\":[\"text.html.derivative\",\"text.html.derivative.ng\",\"source.ts.ng\"],\"injectionSelector\":\"L:text.html -comment -expression.ng -meta.tag -source.css -source.js\",\"name\":\"angular-template-blocks\",\"patterns\":[{\"include\":\"#block\"}],\"repository\":{\"block\":{\"begin\":\"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#transition\"}]},\"2\":{\"name\":\"keyword.control.block.kind.ng\"}},\"end\":\"(?<=})\",\"name\":\"control.block.ng\",\"patterns\":[{\"include\":\"#blockExpression\"},{\"include\":\"#blockBody\"}]},\"blockBody\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"contentName\":\"control.block.body.ng\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"text.html.derivative.ng\"},{\"include\":\"template.ng\"}]},\"blockExpression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"contentName\":\"control.block.expression.ng\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#blockExpressionOfClause\"},{\"include\":\"#blockExpressionLetBinding\"},{\"include\":\"#blockExpressionTrackClause\"},{\"include\":\"expression.ng\"}]},\"blockExpressionLetBinding\":{\"begin\":\"\\\\blet\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ng\"}},\"end\":\"(?=[$)])|(?<=;)\",\"patterns\":[{\"include\":\"expression.ng\"}]},\"blockExpressionOfClause\":{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.constant.ng\"},\"2\":{\"name\":\"keyword.operator.expression.of.ng\"}},\"end\":\"(?=[$)])|(?<=;)\",\"patterns\":[{\"include\":\"expression.ng\"}]},\"blockExpressionTrackClause\":{\"begin\":\"\\\\btrack\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.track.ng\"}},\"end\":\"(?=[$)])|(?<=;)\",\"patterns\":[{\"include\":\"expression.ng\"}]},\"transition\":{\"match\":\"@\",\"name\":\"keyword.control.block.transition.ng\"}},\"scopeName\":\"template.blocks.ng\",\"embeddedLangs\":[\"angular-expression\",\"angular-template\"]}"))

export default [
...angular_expression,
...angular_template,
lang
]
