-
-
Notifications
You must be signed in to change notification settings - Fork 31
/
source.diff.js
105 lines (103 loc) · 3.21 KB
/
source.diff.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// This is a TextMate grammar distributed by `starry-night`.
// This grammar is licensed permissive.
// See <https://github.com/wooorm/starry-night> for more info.
/**
* @import {Grammar} from '@wooorm/starry-night'
*/
/** @type {Grammar} */
const grammar = {
extensions: ['.diff', '.patch'],
names: ['diff', 'udiff'],
patterns: [
{
captures: {1: {name: 'punctuation.definition.separator.diff'}},
match: '^((\\*{15})|(={67})|(-{3}))$\\n?',
name: 'meta.separator.diff'
},
{
match: '^\\d+(,\\d+)*(a|d|c)\\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'
}
export default grammar