diffLanguage top-level constant
Language
const diffLanguage
Diff (source.diff).
Implementation
const diffLanguage = Language(
name: 'diff',
scopeName: 'source.diff',
displayName: 'Diff',
aliases: ['patch'],
grammar: <String, Object?>{
'displayName': 'Diff',
'name': 'diff',
'patterns': [
{
'captures': {
'1': {'name': 'punctuation.definition.separator.diff'},
},
'match': '^((\\*{15})|(={67})|(-{3}))\$\\n?',
'name': 'meta.separator.diff',
},
{
'match': '^\\d+(,\\d+)*([acd])\\d+(,\\d+)*\$\\n?',
'name': 'meta.diff.range.normal',
},
{
'captures': {
'1': {'name': 'punctuation.definition.range.diff'},
'2': {'name': 'meta.toc-list.line-number.diff'},
'3': {'name': 'punctuation.definition.range.diff'},
},
'match': '^(@@)\\s*(.+?)\\s*(@@)(\$\\n?)?',
'name': 'meta.diff.range.unified',
},
{
'captures': {
'3': {'name': 'punctuation.definition.range.diff'},
'4': {'name': 'punctuation.definition.range.diff'},
'6': {'name': 'punctuation.definition.range.diff'},
'7': {'name': 'punctuation.definition.range.diff'},
},
'match': '^(((-{3}) .+ (-{4}))|((\\*{3}) .+ (\\*{4})))\$\\n?',
'name': 'meta.diff.range.context',
},
{'match': '^diff --git a/.*\$\\n?', 'name': 'meta.diff.header.git'},
{
'match': '^diff (-|\\S+\\s+\\S+).*\$\\n?',
'name': 'meta.diff.header.command',
},
{
'captures': {
'4': {'name': 'punctuation.definition.from-file.diff'},
'6': {'name': 'punctuation.definition.from-file.diff'},
'7': {'name': 'punctuation.definition.from-file.diff'},
},
'match': '^((((-{3}) .+)|((\\*{3}) .+))\$\\n?|(={4}) .+(?= - ))',
'name': 'meta.diff.header.from-file',
},
{
'captures': {
'2': {'name': 'punctuation.definition.to-file.diff'},
'3': {'name': 'punctuation.definition.to-file.diff'},
'4': {'name': 'punctuation.definition.to-file.diff'},
},
'match': '(^(\\+{3}) .+\$\\n?| (-) .* (={4})\$\\n?)',
'name': 'meta.diff.header.to-file',
},
{
'captures': {
'3': {'name': 'punctuation.definition.inserted.diff'},
'6': {'name': 'punctuation.definition.inserted.diff'},
},
'match': '^(((>)( .*)?)|((\\+).*))\$\\n?',
'name': 'markup.inserted.diff',
},
{
'captures': {
'1': {'name': 'punctuation.definition.changed.diff'},
},
'match': '^(!).*\$\\n?',
'name': 'markup.changed.diff',
},
{
'captures': {
'3': {'name': 'punctuation.definition.deleted.diff'},
'6': {'name': 'punctuation.definition.deleted.diff'},
},
'match': '^(((<)( .*)?)|((-).*))\$\\n?',
'name': 'markup.deleted.diff',
},
{
'begin': '^(#)',
'captures': {
'1': {'name': 'punctuation.definition.comment.diff'},
},
'end': '\\n',
'name': 'comment.line.number-sign.diff',
},
{
'match': '^index [0-9a-f]{7,40}\\.\\.[0-9a-f]{7,40}.*\$\\n?',
'name': 'meta.diff.index.git',
},
{
'captures': {
'1': {'name': 'punctuation.separator.key-value.diff'},
'2': {'name': 'meta.toc-list.file-name.diff'},
},
'match': '^Index(:) (.+)\$\\n?',
'name': 'meta.diff.index',
},
{'match': '^Only in .*: .*\$\\n?', 'name': 'meta.diff.only-in'},
],
'scopeName': 'source.diff',
},
);