{
	"information_for_contributors": [
		"This file has been converted from https://github.com/RedCMD/YAML-Syntax-Highlighter/blob/master/syntaxes/yaml-1.2.tmLanguage.json",
		"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/RedCMD/YAML-Syntax-Highlighter/commit/53d38bbc66b704803de54ffce5b251bf97211c60",
	"name": "YAML 1.2",
	"scopeName": "source.yaml.1.2",
	"comment": "https://yaml.org/spec/1.2.2",
	"patterns": [
		{
			"include": "#stream"
		}
	],
	"repository": {
		"stream": {
			"patterns": [
				{
					"comment": "allows me to just use `\\G` instead of the performance heavy `(^|\\G)`",
					"begin": "^(?!\\G)",
					"while": "^",
					"name": "meta.stream.yaml",
					"patterns": [
						{
							"include": "#byte-order-mark"
						},
						{
							"include": "#directives"
						},
						{
							"include": "#document"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"comment": "For when YAML is embedded inside a Markdown code-block",
					"begin": "\\G(?!$)",
					"while": "\\G",
					"name": "meta.stream.yaml",
					"patterns": [
						{
							"include": "#byte-order-mark"
						},
						{
							"include": "#directives"
						},
						{
							"include": "#document"
						},
						{
							"include": "#presentation-detail"
						}
					]
				}
			]
		},
		"directive-YAML": {
			"comment": "https://yaml.org/spec/1.2.2/#681-yaml-directives",
			"begin": "(?=%YAML[\t ]+1\\.2(?=[\r\n\t ]))",
			"end": "\\G(?=(?>\\.{3}|---)[\r\n\t ])",
			"name": "meta.1.2.yaml",
			"patterns": [
				{
					"comment": "https://yaml.org/spec/1.2.2/#681-yaml-directives",
					"begin": "\\G(%)(YAML)([\t ]+)(1\\.2)",
					"end": "\\G(?=---[\r\n\t ])",
					"beginCaptures": {
						"1": {
							"name": "punctuation.definition.directive.begin.yaml"
						},
						"2": {
							"name": "keyword.other.directive.yaml.yaml"
						},
						"3": {
							"name": "punctuation.whitespace.separator.yaml"
						},
						"4": {
							"name": "constant.numeric.yaml-version.yaml"
						}
					},
					"name": "meta.directives.yaml",
					"patterns": [
						{
							"include": "#directive-invalid"
						},
						{
							"include": "#directives"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"include": "#document"
				}
			]
		},
		"directives": {
			"comment": "https://yaml.org/spec/1.2.2/#68-directives",
			"patterns": [
				{
					"include": "source.yaml.1.3#directive-YAML"
				},
				{
					"include": "source.yaml.1.2#directive-YAML"
				},
				{
					"include": "source.yaml.1.1#directive-YAML"
				},
				{
					"include": "source.yaml.1.0#directive-YAML"
				},
				{
					"begin": "(?=%)",
					"while": "\\G(?!%|---[\r\n\t ])",
					"name": "meta.directives.yaml",
					"patterns": [
						{
							"comment": "https://yaml.org/spec/1.2.2/#682-tag-directives",
							"begin": "\\G(%)(TAG)(?>([\t ]++)((!)(?>[0-9A-Za-z-]*+(!))?+))?+",
							"end": "$",
							"applyEndPatternLast": true,
							"beginCaptures": {
								"1": {
									"name": "punctuation.definition.directive.begin.yaml"
								},
								"2": {
									"name": "keyword.other.directive.tag.yaml"
								},
								"3": {
									"name": "punctuation.whitespace.separator.yaml"
								},
								"4": {
									"name": "storage.type.tag-handle.yaml"
								},
								"5": {
									"name": "punctuation.definition.tag.begin.yaml"
								},
								"6": {
									"name": "punctuation.definition.tag.end.yaml"
								},
								"comment": "https://yaml.org/spec/1.2.2/#rule-c-tag-handle"
							},
							"patterns": [
								{
									"comment": "technically the beginning should only validate against a valid uri scheme [A-Za-z][A-Za-z0-9.+-]*",
									"begin": "\\G[\t ]++(?!#)",
									"end": "(?=[\r\n\t ])",
									"beginCaptures": {
										"0": {
											"name": "punctuation.whitespace.separator.yaml"
										}
									},
									"contentName": "support.type.tag-prefix.yaml",
									"patterns": [
										{
											"match": "%[0-9a-fA-F]{2}",
											"name": "constant.character.escape.unicode.8-bit.yaml"
										},
										{
											"match": "%[^\r\n\t ]{2,0}",
											"name": "invalid.illegal.constant.character.escape.unicode.8-bit.yaml"
										},
										{
											"match": "\\G[,\\[\\]{}]",
											"name": "invalid.illegal.character.uri.yaml"
										},
										{
											"include": "source.yaml#non-printable"
										},
										{
											"match": "[^\r\n\t a-zA-Z0-9-#;/?:@&=+$,_.!~*'()\\[\\]]++",
											"name": "invalid.illegal.unrecognized.yaml"
										}
									]
								},
								{
									"include": "#presentation-detail"
								}
							]
						},
						{
							"comment": "https://yaml.org/spec/1.2.2/#rule-ns-reserved-directive",
							"begin": "(%)([\\x{85}[^ \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]++)",
							"end": "$",
							"beginCaptures": {
								"1": {
									"name": "punctuation.definition.directive.begin.yaml"
								},
								"2": {
									"name": "keyword.other.directive.other.yaml"
								}
							},
							"patterns": [
								{
									"match": "\\G([\t ]++)([\\x{85}[^ \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]++)",
									"captures": {
										"1": {
											"name": "punctuation.whitespace.separator.yaml"
										},
										"2": {
											"name": "string.unquoted.directive-name.yaml"
										}
									}
								},
								{
									"match": "([\t ]++)([\\x{85}[^ \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]++)",
									"captures": {
										"1": {
											"name": "punctuation.whitespace.separator.yaml"
										},
										"2": {
											"name": "string.unquoted.directive-parameter.yaml"
										}
									}
								},
								{
									"include": "#presentation-detail"
								}
							]
						},
						{
							"match": "\\G\\.{3}(?=[\r\n\t ])",
							"name": "invalid.illegal.entity.other.document.end.yaml"
						},
						{
							"include": "#presentation-detail"
						}
					]
				}
			]
		},
		"directive-invalid": {
			"patterns": [
				{
					"match": "\\G\\.{3}(?=[\r\n\t ])",
					"name": "invalid.illegal.entity.other.document.end.yaml"
				},
				{
					"begin": "\\G(%)(YAML)",
					"end": "$",
					"beginCaptures": {
						"1": {
							"name": "punctuation.definition.directive.begin.yaml"
						},
						"2": {
							"name": "invalid.illegal.keyword.other.directive.yaml.yaml"
						}
					},
					"name": "meta.directive.yaml",
					"patterns": [
						{
							"match": "\\G([\t ]++|:)([0-9]++\\.[0-9]++)?+",
							"captures": {
								"1": {
									"name": "punctuation.whitespace.separator.yaml"
								},
								"2": {
									"name": "constant.numeric.yaml-version.yaml"
								}
							}
						},
						{
							"include": "#presentation-detail"
						}
					]
				}
			]
		},
		"document": {
			"comment": "https://yaml.org/spec/1.2.2/#91-documents",
			"patterns": [
				{
					"begin": "---(?=[\r\n\t ])",
					"while": "\\G(?!(?>\\.{3}|---)[\r\n\t ])",
					"beginCaptures": {
						"0": {
							"name": "entity.other.document.begin.yaml"
						}
					},
					"name": "meta.document.yaml",
					"patterns": [
						{
							"include": "#block-node"
						}
					]
				},
				{
					"begin": "(?=\\.{3}[\r\n\t ])",
					"while": "\\G(?=[\t \\x{FEFF}]*+(?>#|$))",
					"patterns": [
						{
							"begin": "\\G\\.{3}",
							"end": "$",
							"beginCaptures": {
								"0": {
									"name": "entity.other.document.end.yaml"
								}
							},
							"patterns": [
								{
									"include": "#presentation-detail"
								}
							]
						},
						{
							"include": "#byte-order-mark"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"begin": "\\G(?!%|[\t \\x{FEFF}]*+(?>#|$))",
					"while": "\\G(?!(?>\\.{3}|---)[\r\n\t ])",
					"name": "meta.document.yaml",
					"patterns": [
						{
							"include": "#block-node"
						}
					]
				}
			]
		},
		"block-node": {
			"patterns": [
				{
					"include": "#block-mapping"
				},
				{
					"include": "#block-sequence"
				},
				{
					"include": "#block-scalar"
				},
				{
					"include": "#anchor-property"
				},
				{
					"include": "#tag-property"
				},
				{
					"include": "#alias"
				},
				{
					"begin": "(?=\"|')",
					"while": "\\G",
					"patterns": [
						{
							"begin": "(?!\\G)",
							"while": "\\G",
							"patterns": [
								{
									"include": "#presentation-detail"
								}
							]
						},
						{
							"include": "#double"
						},
						{
							"include": "#single"
						}
					]
				},
				{
					"begin": "(?={)",
					"end": "$",
					"patterns": [
						{
							"include": "#flow-mapping"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"begin": "(?=\\[)",
					"end": "$",
					"patterns": [
						{
							"include": "#flow-sequence"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"include": "#block-plain-out"
				},
				{
					"include": "#presentation-detail"
				}
			]
		},
		"block-mapping": {
			"//": "The check for plain keys is expensive",
			"begin": "(?=((?<=[-?:]) )?+)(?<![^\t ][\t ]*+:|---)\\G( *+)([\t ]*+)(?>((?>[!&*][^\r\n\t ]*+[\t ]++)*+)(?=(?>(?#Double Quote)\"(?>[^\\\\\"]++|\\\\.)*+\"|(?#Single Quote)'(?>[^']++|'')*+'|(?#Flow-Map){(?>[^}]++|}[ \t]*+(?!:[\r\n\t ]))++}|(?#Flow-Seq)\\[(?>[^]]++|][ \t]*+(?!:[\r\n\t ]))++]|(?#Plain)(?>[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ]))(?>[^:#]++|:(?![\r\n\t ])|(?<! |\t)#++)*+)?+(?#Map Value)[\t ]*+:[\r\n\t ])|(?#Explicit)(?=\\?[\r\n\t ]))",
			"while": "\\G(?>(\\1\\2)((?>[!&*][^\r\n\t ]*+[\t ]++)*+)((?>\t[\t ]*+)?+[^\r\n\t ?:\\-#!&*\"'\\[\\]{}0-9A-Za-z$()+./;<=\\\\^_~\\x{85}\\x{A0}-\\x{D7FF}\\x{E000}-\\x{FFFD}\\x{010000}-\\x{10FFFF}])?+|( *+)([\t ]*+[^\r\n#])?+)",
			"beginCaptures": {
				"2": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"3": {
					"name": "punctuation.whitespace.separator.yaml"
				},
				"4": {
					"comment": "May cause lag on long lines starting with a tag, anchor or alias",
					"patterns": [
						{
							"include": "#tag-property"
						},
						{
							"include": "#anchor-property"
						},
						{
							"include": "#alias"
						},
						{
							"include": "#presentation-detail"
						}
					]
				}
			},
			"whileCaptures": {
				"1": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"2": {
					"comment": "May cause lag on long lines starting with a tag, anchor or alias",
					"patterns": [
						{
							"include": "#tag-property"
						},
						{
							"include": "#anchor-property"
						},
						{
							"include": "#alias"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				"3": {
					"name": "invalid.illegal.expected-indentation.yaml"
				},
				"4": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"5": {
					"name": "invalid.illegal.expected-indentation.yaml"
				}
			},
			"name": "meta.mapping.yaml",
			"patterns": [
				{
					"include": "#block-map-key-double"
				},
				{
					"include": "source.yaml#block-map-key-single"
				},
				{
					"include": "#block-map-key-plain"
				},
				{
					"include": "#block-map-key-explicit"
				},
				{
					"include": "#block-map-value"
				},
				{
					"include": "#flow-mapping"
				},
				{
					"include": "#flow-sequence"
				},
				{
					"include": "#presentation-detail"
				}
			]
		},
		"block-sequence": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-l+block-sequence",
			"begin": "(?=((?<=[-?:]) )?+)(?<![^\t ][\t ]*+:|---)\\G( *+)(-)(?=[\r\n\t ])",
			"while": "\\G(?>(\\1\\2)(?!-[\r\n\t ])((?>\t[\t ]*+)?+[^\r\n\t #\\]}])?+|(?!\\1\\2)( *+)([\t ]*+[^\r\n#])?+)",
			"beginCaptures": {
				"2": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"3": {
					"name": "punctuation.definition.block.sequence.item.yaml"
				}
			},
			"whileCaptures": {
				"1": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"2": {
					"name": "invalid.illegal.expected-indentation.yaml"
				},
				"3": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"4": {
					"name": "invalid.illegal.expected-indentation.yaml"
				}
			},
			"name": "meta.block.sequence.yaml",
			"patterns": [
				{
					"include": "#block-node"
				}
			]
		},
		"block-map-key-explicit": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-c-l-block-map-explicit-key",
			"begin": "(?=((?<=[-?:]) )?+)\\G( *+)(\\?)(?=[\r\n\t ])",
			"while": "\\G(?>(\\1\\2)(?![?:0-9A-Za-z$()+./;<=\\\\^_~\\x{85}\\x{A0}-\\x{D7FF}\\x{E000}-\\x{FFFD}\\x{010000}-\\x{10FFFF}&&[^\\x{FEFF}]])((?>\t[\t ]*+)?+[^\r\n\t #\\-\\[\\]{}])?+|(?!\\1\\2)( *+)([\t ]*+[^\r\n#])?+)",
			"beginCaptures": {
				"2": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"3": {
					"name": "punctuation.definition.map.key.yaml"
				},
				"4": {
					"name": "punctuation.whitespace.separator.yaml"
				}
			},
			"whileCaptures": {
				"1": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"2": {
					"name": "invalid.illegal.expected-indentation.yaml"
				},
				"3": {
					"name": "punctuation.whitespace.indentation.yaml"
				},
				"4": {
					"name": "invalid.illegal.expected-indentation.yaml"
				}
			},
			"name": "meta.map.explicit.yaml",
			"patterns": [
				{
					"include": "#key-double"
				},
				{
					"include": "source.yaml#key-single"
				},
				{
					"include": "#flow-key-plain-out"
				},
				{
					"include": "#block-map-value"
				},
				{
					"include": "#block-node"
				}
			]
		},
		"block-map-key-double": {
			"comment": "https://yaml.org/spec/1.2.2/#double-quoted-style (BLOCK-KEY)",
			"begin": "\\G\"",
			"end": "\"",
			"beginCaptures": {
				"0": {
					"name": "punctuation.definition.string.begin.yaml"
				}
			},
			"endCaptures": {
				"0": {
					"name": "punctuation.definition.string.end.yaml"
				}
			},
			"name": "meta.map.key.yaml string.quoted.double.yaml entity.name.tag.yaml",
			"patterns": [
				{
					"match": ".[\t ]*+$",
					"name": "invalid.illegal.multiline-key.yaml"
				},
				{
					"match": "[^\t -\\x{10FFFF}]++",
					"name": "invalid.illegal.character.yaml"
				},
				{
					"include": "#double-escape"
				}
			]
		},
		"block-map-key-plain": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-plain-one-line (BLOCK-KEY)",
			"begin": "\\G(?=[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ]))",
			"end": "(?=[\t ]*+:[\r\n\t ]|(?>[\t ]++|\\G)#)",
			"name": "meta.map.key.yaml string.unquoted.plain.yaml entity.name.tag.yaml",
			"patterns": [
				{
					"include": "#tag-implicit-plain-out"
				},
				{
					"match": "\\G([\t ]++)(.)",
					"captures": {
						"1": {
							"name": "punctuation.whitespace.separator.yaml"
						},
						"2": {
							"name": "invalid.illegal.multiline-key.yaml"
						}
					}
				},
				{
					"match": "[\t ]++$",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[^\r\n\t ](?=[\t ]*+$)",
					"name": "invalid.illegal.expected-map-separator.yaml"
				},
				{
					"match": "\\x{FEFF}",
					"name": "invalid.illegal.bom.yaml"
				},
				{
					"include": "source.yaml#non-printable"
				}
			]
		},
		"block-map-value": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-c-l-block-map-implicit-value",
			"//": "Assumming 3rd party preprocessing variables `{{...}}` turn into valid map-keys when inside a block-mapping",
			"begin": ":(?=[\r\n\t ])|(?<=}})(?=[\t ]++#|[\t ]*+$)",
			"while": "\\G(?![?:!\"'0-9A-Za-z$()+./;<=\\\\^_~\\[{\\x{85}\\x{A0}-\\x{D7FF}\\x{E000}-\\x{FFFD}\\x{010000}-\\x{10FFFF}&&[^\\x{FEFF}]]|-[^\r\n\t ])",
			"beginCaptures": {
				"0": {
					"name": "punctuation.separator.map.value.yaml"
				}
			},
			"name": "meta.map.value.yaml",
			"patterns": [
				{
					"include": "#block-node"
				}
			]
		},
		"block-scalar": {
			"comment": "https://yaml.org/spec/1.2.2/#81-block-scalar-styles",
			"patterns": [
				{
					"comment": "https://yaml.org/spec/1.2.2/#8111-block-indentation-indicator",
					"begin": "(?>(\\|)|(>))(?<chomp>[+-])?+([1-9])(?(<chomp>)|\\g<chomp>)?+",
					"while": "\\G(?> {\\4}| *+($|[^#]))",
					"beginCaptures": {
						"1": {
							"name": "keyword.control.flow.block-scalar.literal.yaml"
						},
						"2": {
							"name": "keyword.control.flow.block-scalar.folded.yaml"
						},
						"3": {
							"name": "storage.modifier.chomping-indicator.yaml"
						},
						"4": {
							"name": "constant.numeric.indentation-indicator.yaml"
						}
					},
					"whileCaptures": {
						"0": {
							"name": "punctuation.whitespace.indentation.yaml"
						},
						"1": {
							"name": "invalid.illegal.expected-indentation.yaml"
						}
					},
					"name": "meta.scalar.yaml",
					"patterns": [
						{
							"begin": "$",
							"while": "\\G",
							"contentName": "string.unquoted.block.yaml",
							"patterns": [
								{
									"include": "source.yaml#non-printable"
								}
							]
						},
						{
							"begin": "\\G",
							"end": "$",
							"patterns": [
								{
									"include": "#presentation-detail"
								}
							]
						}
					]
				},
				{
					"//": "Soooooooo many edge cases",
					"begin": "(?>(\\|)|(>))([+-]?+)",
					"while": "\\G",
					"beginCaptures": {
						"1": {
							"name": "keyword.control.flow.block-scalar.literal.yaml"
						},
						"2": {
							"name": "keyword.control.flow.block-scalar.folded.yaml"
						},
						"3": {
							"name": "storage.modifier.chomping-indicator.yaml"
						}
					},
					"name": "meta.scalar.yaml",
					"patterns": [
						{
							"comment": "https://yaml.org/spec/1.2.2/#rule-l-literal-content",
							"begin": "$",
							"while": "\\G",
							"patterns": [
								{
									"comment": "https://yaml.org/spec/1.2.2/#rule-l-nb-literal-text",
									"//": "Find the highest indented line",
									"begin": "\\G( ++)$",
									"while": "\\G(?>(\\1)$|(?!\\1)( *+)($|.))",
									"captures": {
										"1": {
											"name": "punctuation.whitespace.indentation.yaml"
										},
										"2": {
											"name": "punctuation.whitespace.indentation.yaml"
										},
										"3": {
											"name": "invalid.illegal.expected-indentation.yaml"
										}
									},
									"contentName": "string.unquoted.block.yaml",
									"patterns": [
										{
											"include": "source.yaml#non-printable"
										}
									]
								},
								{
									"comment": "https://yaml.org/spec/1.2.2/#rule-b-nb-literal-next",
									"//": [
										"Funky wrapper function",
										"The `end` pattern clears the parent `\\G` anchor",
										"Affectively forcing this rule to only match at most once",
										"https://github.com/microsoft/vscode-textmate/issues/114"
									],
									"begin": "\\G(?!$)(?=( *+))",
									"end": "\\G(?!\\1)(?=[\t ]*+#)",
									"patterns": [
										{
											"comment": "https://yaml.org/spec/1.2.2/#rule-l-nb-literal-text",
											"begin": "\\G( *+)",
											"while": "\\G(?>(\\1)|( *+)($|[^\t#]|[\t ]++[^#]))",
											"captures": {
												"1": {
													"name": "punctuation.whitespace.indentation.yaml"
												},
												"2": {
													"name": "punctuation.whitespace.indentation.yaml"
												},
												"3": {
													"name": "invalid.illegal.expected-indentation.yaml"
												}
											},
											"contentName": "string.unquoted.block.yaml",
											"patterns": [
												{
													"include": "source.yaml#non-printable"
												}
											]
										}
									]
								},
								{
									"comment": "https://yaml.org/spec/1.2.2/#rule-l-chomped-empty",
									"begin": "(?!\\G)(?=[\t ]*+#)",
									"while": "\\G",
									"patterns": [
										{
											"include": "#presentation-detail"
										}
									]
								}
							]
						},
						{
							"comment": "https://yaml.org/spec/1.2.2/#rule-c-b-block-header",
							"begin": "\\G",
							"end": "$",
							"patterns": [
								{
									"include": "#presentation-detail"
								}
							]
						}
					]
				}
			]
		},
		"block-plain-out": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-plain-multi-line (FLOW-OUT)",
			"begin": "(?=[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ]))",
			"while": "\\G",
			"patterns": [
				{
					"begin": "\\G",
					"end": "(?=(?>[\t ]++|\\G)#)",
					"name": "string.unquoted.plain.out.yaml",
					"patterns": [
						{
							"include": "#tag-implicit-plain-out"
						},
						{
							"match": ":(?=[\r\n\t ])",
							"name": "invalid.illegal.multiline-key.yaml"
						},
						{
							"match": "\\G[\t ]++",
							"name": "punctuation.whitespace.separator.yaml"
						},
						{
							"match": "[\t ]++$",
							"name": "punctuation.whitespace.separator.yaml"
						},
						{
							"match": "\\x{FEFF}",
							"name": "invalid.illegal.bom.yaml"
						},
						{
							"include": "source.yaml#non-printable"
						}
					]
				},
				{
					"begin": "(?!\\G)",
					"while": "\\G",
					"patterns": [
						{
							"include": "#presentation-detail"
						}
					]
				}
			]
		},
		"flow-node": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-seq-entry (FLOW-IN)",
			"patterns": [
				{
					"begin": "(?=\\[|{)",
					"end": "(?=[:,\\]}])",
					"patterns": [
						{
							"begin": "(?!\\G)",
							"end": "(?=[:,\\]}])",
							"patterns": [
								{
									"include": "#presentation-detail"
								}
							]
						},
						{
							"include": "#flow-mapping"
						},
						{
							"include": "#flow-sequence"
						}
					]
				},
				{
					"include": "#anchor-property"
				},
				{
					"include": "#tag-property"
				},
				{
					"include": "#alias"
				},
				{
					"begin": "(?=\"|')",
					"end": "(?=[:,\\]}])",
					"patterns": [
						{
							"begin": "(?!\\G)",
							"end": "(?=[:,\\]}])",
							"patterns": [
								{
									"include": "#presentation-detail"
								}
							]
						},
						{
							"include": "#double"
						},
						{
							"include": "#single"
						}
					]
				},
				{
					"include": "#flow-plain-in"
				},
				{
					"include": "#presentation-detail"
				}
			]
		},
		"flow-mapping": {
			"comment": "https://yaml.org/spec/1.2.2/#742-flow-mappings",
			"begin": "{",
			"end": "}",
			"beginCaptures": {
				"0": {
					"name": "punctuation.definition.mapping.begin.yaml"
				}
			},
			"endCaptures": {
				"0": {
					"name": "punctuation.definition.mapping.end.yaml"
				}
			},
			"name": "meta.flow.mapping.yaml",
			"patterns": [
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-ns-s-flow-map-entries",
					"begin": "(?<={)\\G(?=[\r\n\t ,#])|,",
					"end": "(?=[^\r\n\t ,#])",
					"beginCaptures": {
						"0": {
							"name": "punctuation.separator.mapping.yaml"
						}
					},
					"patterns": [
						{
							"match": ",++",
							"name": "invalid.illegal.separator.sequence.yaml"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"include": "#flow-mapping-map-key"
				},
				{
					"include": "#flow-map-value-yaml"
				},
				{
					"include": "#flow-map-value-json"
				},
				{
					"include": "#flow-node"
				}
			]
		},
		"flow-sequence": {
			"comment": "https://yaml.org/spec/1.2.2/#741-flow-sequences",
			"begin": "\\[",
			"end": "]",
			"beginCaptures": {
				"0": {
					"name": "punctuation.definition.sequence.begin.yaml"
				}
			},
			"endCaptures": {
				"0": {
					"name": "punctuation.definition.sequence.end.yaml"
				}
			},
			"name": "meta.flow.sequence.yaml",
			"patterns": [
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-ns-s-flow-seq-entries",
					"begin": "(?<=\\[)\\G(?=[\r\n\t ,#])|,",
					"end": "(?=[^\r\n\t ,#])",
					"beginCaptures": {
						"0": {
							"name": "punctuation.separator.sequence.yaml"
						}
					},
					"patterns": [
						{
							"match": ",++",
							"name": "invalid.illegal.separator.sequence.yaml"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"include": "#flow-sequence-map-key"
				},
				{
					"include": "#flow-map-value-yaml"
				},
				{
					"include": "#flow-map-value-json"
				},
				{
					"include": "#flow-node"
				}
			]
		},
		"flow-mapping-map-key": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-map-entry (FLOW-IN)",
			"patterns": [
				{
					"begin": "\\?(?=[\r\n\t ,\\[\\]{}])",
					"end": "(?=[,\\[\\]{}])",
					"beginCaptures": {
						"0": {
							"name": "punctuation.definition.map.key.yaml"
						}
					},
					"name": "meta.flow.map.explicit.yaml",
					"patterns": [
						{
							"include": "#flow-mapping-map-key"
						},
						{
							"include": "#flow-map-value-yaml"
						},
						{
							"include": "#flow-map-value-json"
						},
						{
							"include": "#flow-node"
						}
					]
				},
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-map-implicit-entry (FLOW-IN)",
					"begin": "(?=(?>[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ,\\[\\]{}])))",
					"end": "(?=[,\\[\\]{}])",
					"name": "meta.flow.map.implicit.yaml",
					"patterns": [
						{
							"include": "#flow-key-plain-in"
						},
						{
							"match": ":(?=\\[|{)",
							"name": "invalid.illegal.separator.map.yaml"
						},
						{
							"include": "#flow-map-value-yaml"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-map-implicit-entry (FLOW-IN)",
					"begin": "(?=\"|')",
					"end": "(?=[,\\[\\]{}])",
					"name": "meta.flow.map.implicit.yaml",
					"patterns": [
						{
							"include": "#key-double"
						},
						{
							"include": "source.yaml#key-single"
						},
						{
							"include": "#flow-map-value-json"
						},
						{
							"include": "#presentation-detail"
						}
					]
				}
			]
		},
		"flow-sequence-map-key": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-map-entry (FLOW-IN)",
			"patterns": [
				{
					"begin": "\\?(?=[\r\n\t ,\\[\\]{}])",
					"end": "(?=[,\\[\\]{}])",
					"beginCaptures": {
						"0": {
							"name": "punctuation.definition.map.key.yaml"
						}
					},
					"name": "meta.flow.map.explicit.yaml",
					"patterns": [
						{
							"include": "#flow-mapping-map-key"
						},
						{
							"include": "#flow-map-value-yaml"
						},
						{
							"include": "#flow-map-value-json"
						},
						{
							"include": "#flow-node"
						}
					]
				},
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-map-implicit-entry (FLOW-IN)",
					"begin": "(?<=[\t ,\\[{]|^)(?=(?>[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ,\\[\\]{}]))(?>[^:#,\\[\\]{}]++|:(?![\r\n\t ,\\[\\]{}])|(?<! |\t)#++)*+:[\r\n\t ,\\[\\]{}])",
					"end": "(?=[,\\[\\]{}])",
					"name": "meta.flow.map.implicit.yaml",
					"patterns": [
						{
							"include": "#flow-key-plain-in"
						},
						{
							"match": ":(?=\\[|{)",
							"name": "invalid.illegal.separator.map.yaml"
						},
						{
							"include": "#flow-map-value-yaml"
						},
						{
							"include": "#presentation-detail"
						}
					]
				},
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-ns-flow-map-implicit-entry (FLOW-IN)",
					"begin": "(?=(?>\"(?>[^\\\\\"]++|\\\\.)*+\"|'(?>[^']++|'')*+')[\t ]*+:)",
					"end": "(?=[,\\[\\]{}])",
					"name": "meta.flow.map.implicit.yaml",
					"patterns": [
						{
							"include": "#key-double"
						},
						{
							"include": "source.yaml#key-single"
						},
						{
							"include": "#flow-map-value-json"
						},
						{
							"include": "#presentation-detail"
						}
					]
				}
			]
		},
		"flow-map-value-yaml": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-c-ns-flow-map-separate-value (FLOW-IN)",
			"begin": ":(?=[\r\n\t ,\\[\\]{}])",
			"end": "(?=[,\\]}])",
			"beginCaptures": {
				"0": {
					"name": "punctuation.separator.map.value.yaml"
				}
			},
			"name": "meta.flow.pair.value.yaml",
			"patterns": [
				{
					"include": "#flow-node"
				}
			]
		},
		"flow-map-value-json": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-c-ns-flow-map-separate-value (FLOW-IN)",
			"begin": "(?<=(?>[\"'\\]}]|^)[\t ]*+):",
			"end": "(?=[,\\]}])",
			"beginCaptures": {
				"0": {
					"name": "punctuation.separator.map.value.yaml"
				}
			},
			"name": "meta.flow.pair.value.yaml",
			"patterns": [
				{
					"include": "#flow-node"
				}
			]
		},
		"flow-plain-in": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-plain-multi-line (FLOW-IN)",
			"begin": "(?=[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ,\\[\\]{}]))",
			"end": "(?=(?>[\t ]++|\\G)#|[\t ]*+[,\\[\\]{}])",
			"name": "string.unquoted.plain.in.yaml",
			"patterns": [
				{
					"include": "#tag-implicit-plain-in"
				},
				{
					"match": "\\G[\t ]++",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[\t ]++$",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": ":(?=[\r\n\t ,\\[\\]{}])",
					"name": "invalid.illegal.multiline-key.yaml"
				},
				{
					"match": "\\x{FEFF}",
					"name": "invalid.illegal.bom.yaml"
				},
				{
					"include": "source.yaml#non-printable"
				}
			]
		},
		"flow-key-plain-out": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-plain-one-line (FLOW-OUT)",
			"begin": "(?=[\\x{85}[^-?:,\\[\\]{}#&*!|>'\"%@` \\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]|[?:-](?![\r\n\t ]))",
			"end": "(?=[\t ]*+:[\r\n\t ]|[\t ]++#)",
			"name": "meta.map.key.yaml string.unquoted.plain.yaml entity.name.tag.yaml",
			"patterns": [
				{
					"include": "#tag-implicit-plain-out"
				},
				{
					"match": "\\G[\t ]++",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[\t ]++$",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "\\x{FEFF}",
					"name": "invalid.illegal.bom.yaml"
				},
				{
					"include": "source.yaml#non-printable"
				}
			]
		},
		"flow-key-plain-in": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-ns-s-implicit-yaml-key (FLOW-KEY)",
			"begin": "\\G(?![\r\n\t #])",
			"end": "(?=[\t ]*+(?>:[\r\n\t ,\\[\\]{}]|[,\\[\\]{}])|[\t ]++#)",
			"name": "meta.flow.map.key.yaml string.unquoted.plain.in.yaml entity.name.tag.yaml",
			"patterns": [
				{
					"include": "#tag-implicit-plain-in"
				},
				{
					"match": "\\x{FEFF}",
					"name": "invalid.illegal.bom.yaml"
				},
				{
					"include": "source.yaml#non-printable"
				}
			]
		},
		"key-double": {
			"comment": "https://yaml.org/spec/1.2.2/#double-quoted-style (FLOW-OUT)",
			"begin": "\"",
			"end": "\"",
			"beginCaptures": {
				"0": {
					"name": "punctuation.definition.string.begin.yaml"
				}
			},
			"endCaptures": {
				"0": {
					"name": "punctuation.definition.string.end.yaml"
				}
			},
			"name": "meta.map.key.yaml string.quoted.double.yaml entity.name.tag.yaml",
			"patterns": [
				{
					"match": "[^\r\n\t -\\x{10FFFF}]++",
					"name": "invalid.illegal.character.yaml"
				},
				{
					"include": "#double-escape"
				}
			]
		},
		"double": {
			"comment": "https://yaml.org/spec/1.2.2/#double-quoted-style",
			"begin": "\"",
			"end": "\"",
			"beginCaptures": {
				"0": {
					"name": "punctuation.definition.string.begin.yaml"
				}
			},
			"endCaptures": {
				"0": {
					"name": "punctuation.definition.string.end.yaml"
				}
			},
			"name": "string.quoted.double.yaml",
			"patterns": [
				{
					"match": "(?<!\")\\G[\t ]++",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[\t ]++$",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[^\r\n\t -\\x{10FFFF}]++",
					"name": "invalid.illegal.character.yaml"
				},
				{
					"include": "#double-escape"
				}
			]
		},
		"single": {
			"comment": "https://yaml.org/spec/1.2.2/#single-quoted-style",
			"begin": "'",
			"end": "'(?!')",
			"beginCaptures": {
				"0": {
					"name": "punctuation.definition.string.begin.yaml"
				}
			},
			"endCaptures": {
				"0": {
					"name": "punctuation.definition.string.end.yaml"
				}
			},
			"name": "string.quoted.single.yaml",
			"patterns": [
				{
					"match": "(?<!')\\G[\t ]++",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[\t ]++$",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"match": "[^\r\n\t -\\x{10FFFF}]++",
					"name": "invalid.illegal.character.yaml"
				},
				{
					"match": "''",
					"name": "constant.character.escape.single-quote.yaml"
				}
			]
		},
		"double-escape": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-c-ns-esc-char",
			"patterns": [
				{
					"match": "\\\\[\r\n\t0abtnvfre \"/\\\\N_LP]",
					"name": "constant.character.escape.yaml"
				},
				{
					"match": "\\\\x[0-9a-fA-F]{2}",
					"name": "constant.character.escape.unicode.8-bit.yaml"
				},
				{
					"match": "\\\\u[0-9a-fA-F]{4}",
					"name": "constant.character.escape.unicode.16-bit.yaml"
				},
				{
					"match": "\\\\U[0-9a-fA-F]{8}",
					"name": "constant.character.escape.unicode.32-bit.yaml"
				},
				{
					"match": "\\\\(?>x[^\"]{2,0}|u[^\"]{4,0}|U[^\"]{8,0}|.)",
					"name": "invalid.illegal.constant.character.escape.yaml"
				}
			]
		},
		"tag-implicit-plain-in": {
			"comment": "https://yaml.org/spec/1.2.2/#103-core-schema",
			"patterns": [
				{
					"match": "\\G(?>null|Null|NULL|~)(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.language.null.yaml"
				},
				{
					"match": "\\G(?>true|True|TRUE|false|False|FALSE)(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.language.boolean.yaml"
				},
				{
					"match": "\\G[+-]?+[0-9]++(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.numeric.integer.decimal.yaml"
				},
				{
					"match": "\\G0o[0-7]++(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.numeric.integer.octal.yaml"
				},
				{
					"match": "\\G0x[0-9a-fA-F]++(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.numeric.integer.hexadecimal.yaml"
				},
				{
					"match": "\\G[+-]?+(?>\\.[0-9]++|[0-9]++(?>\\.[0-9]*+)?+)(?>[eE][+-]?+[0-9]++)?+(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.numeric.float.yaml"
				},
				{
					"match": "\\G[+-]?+\\.(?>inf|Inf|INF)(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.numeric.float.inf.yaml"
				},
				{
					"match": "\\G\\.(?>nan|NaN|NAN)(?=[\t ]++#|[\t ]*+(?>[\r\n,\\]}]|:[\r\n\t ,\\[\\]{}]))",
					"name": "constant.numeric.float.nan.yaml"
				}
			]
		},
		"tag-implicit-plain-out": {
			"comment": "https://yaml.org/spec/1.2.2/#103-core-schema",
			"patterns": [
				{
					"match": "\\G(?>null|Null|NULL|~)(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.language.null.yaml"
				},
				{
					"match": "\\G(?>true|True|TRUE|false|False|FALSE)(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.language.boolean.yaml"
				},
				{
					"match": "\\G[+-]?+[0-9]++(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.numeric.integer.decimal.yaml"
				},
				{
					"match": "\\G0o[0-7]++(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.numeric.integer.octal.yaml"
				},
				{
					"match": "\\G0x[0-9a-fA-F]++(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.numeric.integer.hexadecimal.yaml"
				},
				{
					"match": "\\G[+-]?+(?>\\.[0-9]++|[0-9]++(?>\\.[0-9]*+)?+)(?>[eE][+-]?+[0-9]++)?+(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.numeric.float.yaml"
				},
				{
					"match": "\\G[+-]?+\\.(?>inf|Inf|INF)(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.numeric.float.inf.yaml"
				},
				{
					"match": "\\G\\.(?>nan|NaN|NAN)(?=[\t ]++#|[\t ]*+(?>$|:[\r\n\t ]))",
					"name": "constant.numeric.float.nan.yaml"
				}
			]
		},
		"tag-property": {
			"comment": "https://yaml.org/spec/1.2.2/#rule-c-ns-tag-property",
			"//": [
				"!",
				"!!",
				"!<>",
				"!...",
				"!!...",
				"!<...>",
				"!...!..."
			],
			"patterns": [
				{
					"match": "!(?=[\r\n\t ])",
					"name": "storage.type.tag.non-specific.yaml punctuation.definition.tag.non-specific.yaml"
				},
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-c-verbatim-tag",
					"begin": "!<",
					"end": ">",
					"beginCaptures": {
						"0": {
							"name": "punctuation.definition.tag.begin.yaml"
						}
					},
					"endCaptures": {
						"0": {
							"name": "punctuation.definition.tag.end.yaml"
						}
					},
					"name": "storage.type.tag.verbatim.yaml",
					"patterns": [
						{
							"match": "%[0-9a-fA-F]{2}",
							"name": "constant.character.escape.unicode.8-bit.yaml"
						},
						{
							"match": "%[^\r\n\t ]{2,0}",
							"name": "invalid.illegal.constant.character.escape.unicode.8-bit.yaml"
						},
						{
							"include": "source.yaml#non-printable"
						},
						{
							"match": "[^\r\n\t a-zA-Z0-9-#;/?:@&=+$,_.!~*'()\\[\\]%>]++",
							"name": "invalid.illegal.unrecognized.yaml"
						}
					]
				},
				{
					"comment": "https://yaml.org/spec/1.2.2/#rule-c-ns-shorthand-tag",
					"begin": "(?=!)",
					"end": "(?=[\r\n\t ,\\[\\]{}])",
					"name": "storage.type.tag.shorthand.yaml",
					"patterns": [
						{
							"comment": "https://yaml.org/spec/1.2.2/#rule-c-secondary-tag-handle",
							"match": "\\G!!",
							"name": "punctuation.definition.tag.secondary.yaml"
						},
						{
							"comment": "https://yaml.org/spec/1.2.2/#rule-c-secondary-tag-handle",
							"match": "\\G(!)[0-9A-Za-z-]++(!)",
							"captures": {
								"1": {
									"name": "punctuation.definition.tag.named.yaml"
								},
								"2": {
									"name": "punctuation.definition.tag.named.yaml"
								}
							}
						},
						{
							"comment": "https://yaml.org/spec/1.2.2/#rule-c-primary-tag-handle",
							"match": "\\G!",
							"name": "punctuation.definition.tag.primary.yaml"
						},
						{
							"match": "%[0-9a-fA-F]{2}",
							"name": "constant.character.escape.unicode.8-bit.yaml"
						},
						{
							"match": "%[^\r\n\t ]{2,0}",
							"name": "invalid.illegal.constant.character.escape.unicode.8-bit.yaml"
						},
						{
							"include": "source.yaml#non-printable"
						},
						{
							"match": "[^\r\n\t a-zA-Z0-9-#;/?:@&=+$_.~*'()%]++",
							"name": "invalid.illegal.unrecognized.yaml"
						}
					]
				}
			]
		},
		"anchor-property": {
			"match": "(&)([\\x{85}[^ ,\\[\\]{}\\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]++)|(&)",
			"captures": {
				"0": {
					"name": "keyword.control.flow.anchor.yaml"
				},
				"1": {
					"name": "punctuation.definition.anchor.yaml"
				},
				"2": {
					"name": "variable.other.anchor.yaml"
				},
				"3": {
					"name": "invalid.illegal.flow.anchor.yaml"
				}
			}
		},
		"alias": {
			"begin": "(\\*)([\\x{85}[^ ,\\[\\]{}\\p{Cntrl}\\p{Surrogate}\\x{FEFF FFFE FFFF}]]++)|(\\*)",
			"end": "(?=:[\r\n\t ,\\[\\]{}]|[,\\[\\]{}])",
			"captures": {
				"0": {
					"name": "keyword.control.flow.alias.yaml"
				},
				"1": {
					"name": "punctuation.definition.alias.yaml"
				},
				"2": {
					"name": "variable.other.alias.yaml"
				},
				"3": {
					"name": "invalid.illegal.flow.alias.yaml"
				}
			},
			"patterns": [
				{
					"include": "#presentation-detail"
				}
			]
		},
		"byte-order-mark": {
			"comment": "﻿",
			"match": "\\G\\x{FEFF}++",
			"name": "byte-order-mark.yaml"
		},
		"presentation-detail": {
			"patterns": [
				{
					"match": "[\t ]++",
					"name": "punctuation.whitespace.separator.yaml"
				},
				{
					"include": "source.yaml#non-printable"
				},
				{
					"include": "#comment"
				},
				{
					"include": "#unknown"
				}
			]
		},
		"comment": {
			"comment": "Comments must be separated from other tokens by white space characters. `space`, `tab`, `newline` or `carriage-return`. `#(.*)` causes performance issues",
			"begin": "(?<=[\\x{FEFF}\t ]|^)#",
			"end": "$",
			"captures": {
				"0": {
					"name": "punctuation.definition.comment.yaml"
				}
			},
			"name": "comment.line.number-sign.yaml",
			"patterns": [
				{
					"include": "source.yaml#non-printable"
				}
			]
		},
		"unknown": {
			"match": ".[[^\"':,\\[\\]{}]&&!-~\\x{85}\\x{A0}-\\x{D7FF}\\x{E000}-\\x{FFFD}\\x{010000}-\\x{10FFFF}]*+",
			"name": "invalid.illegal.unrecognized.yaml"
		}
	}
}