{
  "scopeName": "host-object-literal.ng",
  "injectionSelector": "L:meta.decorator.ts -comment -text.html -expression.ng",
  "patterns": [
    {
      "include": "#hostObjectLiteral"
    }
  ],
  "repository": {
    "hostObjectLiteral": {
      "begin": "(host)\\s*(:)\\s*{",
      "beginCaptures": {
        "1": {
          "name": "meta.object-literal.key.ts"
        },
        "2": {
          "name": "meta.object-literal.key.ts punctuation.separator.key-value.ts"
        }
      },
      "contentName": "hostbindings.ng",
      "end": "}",
      "patterns": [
        {
          "include": "#ngHostBindingDynamic"
        },
        {
          "include": "#ngHostBindingStatic"
        },
        {
          "include": "source.ts"
        }
      ]
    },
    "ngHostBindingDynamic": {
      "begin": "\\s*('|\")([\\[(].*?[\\])])(\\1)(:)",
      "beginCaptures": {
        "1": {
          "name": "string"
        },
        "2": {
          "name": "entity.other.attribute-name.html"
        },
        "3": {
          "name": "string"
        },
        "4": {
          "name": "meta.object-literal.key.ts punctuation.separator.key-value.ts"
        }
      },
      "contentName": "hostbinding.dynamic.ng",
      "patterns": [
        {
          "include": "#ngHostBindingDynamicValue"
        }
      ],
      "end": "(?=,|})"
    },
    "ngHostBindingDynamicValue": {
      "begin": "\\s*(`|'|\")",
      "beginCaptures": {
        "1": {
          "name": "string"
        }
      },
      "patterns": [
        {
          "include": "expression.ng"
        }
      ],
      "end": "\\1",
      "endCaptures": {
        "0": {
          "name": "string"
        }
      }
    },
    "ngHostBindingStatic": {
      "begin": "\\s*('|\")?(.*?)(\\1)?\\s*:",
      "end": "(?=,|})",
      "beginCaptures": {
        "1": {
          "name": "string"
        },
        "2": {
          "name": "entity.other.attribute-name.html"
        },
        "3": {
          "name": "string"
        },
        "4": {
          "name": "meta.object-literal.key.ts punctuation.separator.key-value.ts"
        }
      },
      "contentName": "hostbinding.static.ng",
      "patterns": [
        {
          "include": "source.ts"
        }
      ]
    }
  }
}
