{
  "displayName": "Git Commit Message",
  "name": "git-commit",
  "patterns": [
    {
      "begin": "(?=^diff --git)",
      "contentName": "source.diff",
      "end": "\\z",
      "name": "meta.embedded.diff.git-commit",
      "patterns": [
        {
          "include": "source.diff"
        }
      ]
    },
    {
      "begin": "^(?!#)",
      "end": "^(?=#)",
      "name": "meta.scope.message.git-commit",
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "invalid.deprecated.line-too-long.git-commit"
            },
            "2": {
              "name": "invalid.illegal.line-too-long.git-commit"
            }
          },
          "match": "\\G.{0,50}(.{0,22}(.*))$",
          "name": "meta.scope.subject.git-commit"
        }
      ]
    },
    {
      "begin": "^(?=#)",
      "contentName": "comment.line.number-sign.git-commit",
      "end": "^(?!#)",
      "name": "meta.scope.metadata.git-commit",
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "markup.changed.git-commit"
            }
          },
          "match": "^#\\t((modified|renamed):.*)$"
        },
        {
          "captures": {
            "1": {
              "name": "markup.inserted.git-commit"
            }
          },
          "match": "^#\\t(new file:.*)$"
        },
        {
          "captures": {
            "1": {
              "name": "markup.deleted.git-commit"
            }
          },
          "match": "^#\\t(deleted.*)$"
        },
        {
          "captures": {
            "1": {
              "name": "keyword.other.file-type.git-commit"
            },
            "2": {
              "name": "string.unquoted.filename.git-commit"
            }
          },
          "match": "^#\\t([^:]+): *(.*)$"
        }
      ]
    }
  ],
  "scopeName": "text.git-commit"
}
