{
	"information_for_contributors": [
		"This file has been converted from https://github.com/textmate/git.tmbundle/blob/master/Syntaxes/Git%20Commit%20Message.tmLanguage",
		"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/textmate/git.tmbundle/commit/93897a78c6e52bef13dadc0d4091d203c5facb40",
	"name": "Git Commit Message",
	"scopeName": "text.git-commit",
	"patterns": [
		{
			"begin": "\\A(?!# Please enter the commit message)",
			"end": "^(?=# Please enter the commit message)",
			"name": "meta.scope.message.git-commit",
			"patterns": [
				{
					"begin": "\\A(?=#)",
					"end": "^(?!#)",
					"patterns": [
						{
							"include": "#comment"
						}
					]
				},
				{
					"begin": "^(?!# Please enter the commit message)",
					"end": "^(?=# Please enter the commit message)",
					"patterns": [
						{
							"begin": "\\G",
							"end": "^(?!\\G)",
							"name": "meta.scope.subject.git-commit",
							"patterns": [
								{
									"captures": {
										"1": {
											"name": "keyword.other.$2.git-commit"
										}
									},
									"match": "\\G((fixup|squash)!)\\s*"
								},
								{
									"match": ".{73,}$",
									"name": "invalid.illegal.line-too-long.git-commit"
								},
								{
									"match": ".{51,}$",
									"name": "invalid.deprecated.line-too-long.git-commit"
								}
							]
						},
						{
							"begin": "^(?!# Please enter the commit message)",
							"end": "^(?=# Please enter the commit message)",
							"patterns": [
								{
									"include": "#comment"
								}
							]
						}
					]
				}
			]
		},
		{
			"begin": "^(?=# Please enter the commit message)",
			"end": "\\z",
			"name": "meta.scope.metadata.git-commit",
			"patterns": [
				{
					"include": "#metadata"
				}
			]
		}
	],
	"repository": {
		"comment": {
			"begin": "^(#)",
			"captures": {
				"1": {
					"name": "punctuation.definition.comment.git-commit"
				}
			},
			"end": "\\n",
			"name": "comment.line.number-sign.git-commit"
		},
		"metadata": {
			"patterns": [
				{
					"begin": "(?=^# Changes to be committed:)",
					"end": "(?!\\G)((?=^# \\w)|(?!^#))",
					"patterns": [
						{
							"begin": "(^[ \\t]+)?(?=#)",
							"beginCaptures": {
								"1": {
									"name": "punctuation.whitespace.comment.leading.git-commit"
								}
							},
							"contentName": "comment.line.number-sign.git-commit",
							"end": "(?!\\G)^",
							"patterns": [
								{
									"match": "\\G#",
									"name": "punctuation.definition.comment.git-commit"
								},
								{
									"match": "((modified|renamed):.*)$\\n?",
									"name": "markup.changed.git-commit"
								},
								{
									"match": "(new file:.*)$\\n?",
									"name": "markup.inserted.git-commit"
								},
								{
									"match": "(deleted:.*)$\\n?",
									"name": "markup.deleted.git-commit"
								}
							]
						}
					]
				},
				{
					"include": "#comment"
				},
				{
					"begin": "(?=diff\\ \\-\\-git)",
					"comment": "diff presented at the end of the commit message when using commit -v.",
					"contentName": "source.diff",
					"end": "\\z",
					"name": "meta.embedded.diff.git-commit",
					"patterns": [
						{
							"include": "source.diff"
						}
					]
				}
			]
		}
	}
}