Skip to content

Commit 7efdde8

Browse files
committed
[diff] update grammar
1 parent b244b14 commit 7efdde8

3 files changed

Lines changed: 170 additions & 4 deletions

File tree

extensions/diff/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
"version": "0.1.0",
44
"publisher": "vscode",
55
"engines": { "vscode": "*" },
6+
"scripts": {
7+
"update-grammar": "node ../../build/npm/update-grammar.js textmate/diff.tmbundle Syntaxes/Diff.plist ./syntaxes/diff.tmLanguage.json"
8+
},
69
"contributes": {
710
"languages": [
811
{
@@ -16,7 +19,7 @@
1619
{
1720
"language": "diff",
1821
"scopeName": "source.diff",
19-
"path": "./syntaxes/diff.tmLanguage"
22+
"path": "./syntaxes/diff.tmLanguage.json"
2023
}
2124
]
2225
}
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
{
2+
"fileTypes": [
3+
"patch",
4+
"diff",
5+
"rej"
6+
],
7+
"firstLineMatch": "(?x)^\n\t\t(===\\ modified\\ file\n\t\t|==== \\s* // .+ \\s - \\s .+ \\s+ ====\n\t\t|Index:\\ \n\t\t|---\\ [^%\\n]\n\t\t|\\*\\*\\*.*\\d{4}\\s*$\n\t\t|\\d+(,\\d+)* (a|d|c) \\d+(,\\d+)* $\n\t\t|diff\\ --git\\ \n\t\t|commit\\ [0-9a-f]{40}$\n\t\t)",
8+
"keyEquivalent": "^~D",
9+
"name": "Diff",
10+
"patterns": [
11+
{
12+
"captures": {
13+
"1": {
14+
"name": "punctuation.definition.separator.diff"
15+
}
16+
},
17+
"match": "^((\\*{15})|(={67})|(-{3}))$\\n?",
18+
"name": "meta.separator.diff"
19+
},
20+
{
21+
"match": "^\\d+(,\\d+)*(a|d|c)\\d+(,\\d+)*$\\n?",
22+
"name": "meta.diff.range.normal"
23+
},
24+
{
25+
"captures": {
26+
"1": {
27+
"name": "punctuation.definition.range.diff"
28+
},
29+
"2": {
30+
"name": "meta.toc-list.line-number.diff"
31+
},
32+
"3": {
33+
"name": "punctuation.definition.range.diff"
34+
}
35+
},
36+
"match": "^(@@)\\s*(.+?)\\s*(@@)($\\n?)?",
37+
"name": "meta.diff.range.unified"
38+
},
39+
{
40+
"captures": {
41+
"3": {
42+
"name": "punctuation.definition.range.diff"
43+
},
44+
"4": {
45+
"name": "punctuation.definition.range.diff"
46+
},
47+
"6": {
48+
"name": "punctuation.definition.range.diff"
49+
},
50+
"7": {
51+
"name": "punctuation.definition.range.diff"
52+
}
53+
},
54+
"match": "^(((\\-{3}) .+ (\\-{4}))|((\\*{3}) .+ (\\*{4})))$\\n?",
55+
"name": "meta.diff.range.context"
56+
},
57+
{
58+
"match": "^diff --git a/.*$\\n?",
59+
"name": "meta.diff.header.git"
60+
},
61+
{
62+
"match": "^diff (-|\\S+\\s+\\S+).*$\\n?",
63+
"name": "meta.diff.header.command"
64+
},
65+
{
66+
"captures": {
67+
"4": {
68+
"name": "punctuation.definition.from-file.diff"
69+
},
70+
"6": {
71+
"name": "punctuation.definition.from-file.diff"
72+
},
73+
"7": {
74+
"name": "punctuation.definition.from-file.diff"
75+
}
76+
},
77+
"match": "(^(((-{3}) .+)|((\\*{3}) .+))$\\n?|^(={4}) .+(?= - ))",
78+
"name": "meta.diff.header.from-file"
79+
},
80+
{
81+
"captures": {
82+
"2": {
83+
"name": "punctuation.definition.to-file.diff"
84+
},
85+
"3": {
86+
"name": "punctuation.definition.to-file.diff"
87+
},
88+
"4": {
89+
"name": "punctuation.definition.to-file.diff"
90+
}
91+
},
92+
"match": "(^(\\+{3}) .+$\\n?| (-) .* (={4})$\\n?)",
93+
"name": "meta.diff.header.to-file"
94+
},
95+
{
96+
"captures": {
97+
"3": {
98+
"name": "punctuation.definition.inserted.diff"
99+
},
100+
"6": {
101+
"name": "punctuation.definition.inserted.diff"
102+
}
103+
},
104+
"match": "^(((>)( .*)?)|((\\+).*))$\\n?",
105+
"name": "markup.inserted.diff"
106+
},
107+
{
108+
"captures": {
109+
"1": {
110+
"name": "punctuation.definition.changed.diff"
111+
}
112+
},
113+
"match": "^(!).*$\\n?",
114+
"name": "markup.changed.diff"
115+
},
116+
{
117+
"captures": {
118+
"3": {
119+
"name": "punctuation.definition.deleted.diff"
120+
},
121+
"6": {
122+
"name": "punctuation.definition.deleted.diff"
123+
}
124+
},
125+
"match": "^(((<)( .*)?)|((-).*))$\\n?",
126+
"name": "markup.deleted.diff"
127+
},
128+
{
129+
"begin": "^(#)",
130+
"captures": {
131+
"1": {
132+
"name": "punctuation.definition.comment.diff"
133+
}
134+
},
135+
"comment": "Git produces unified diffs with embedded comments\"",
136+
"end": "\\n",
137+
"name": "comment.line.number-sign.diff"
138+
},
139+
{
140+
"match": "^index [0-9a-f]{7,40}\\.\\.[0-9a-f]{7,40}.*$\\n?",
141+
"name": "meta.diff.index.git"
142+
},
143+
{
144+
"captures": {
145+
"1": {
146+
"name": "punctuation.separator.key-value.diff"
147+
},
148+
"2": {
149+
"name": "meta.toc-list.file-name.diff"
150+
}
151+
},
152+
"match": "^Index(:) (.+)$\\n?",
153+
"name": "meta.diff.index"
154+
},
155+
{
156+
"match": "^Only in .*: .*$\\n?",
157+
"name": "meta.diff.only-in"
158+
}
159+
],
160+
"scopeName": "source.diff",
161+
"uuid": "7E848FF4-708E-11D9-97B4-0011242E4184",
162+
"version": "https://github.com/textmate/diff.tmbundle/commit/0593bb775eab1824af97ef2172fd38822abd97d7"
163+
}

extensions/diff/test/colorize-results/test_diff.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
},
101101
{
102102
"c": "-",
103-
"t": "source.diff markup.deleted.diff punctuation.definition.inserted.diff",
103+
"t": "source.diff markup.deleted.diff punctuation.definition.deleted.diff",
104104
"r": {
105105
"dark_plus": "markup.deleted: #CE9178",
106106
"light_plus": "markup.deleted: #A31515",
@@ -122,7 +122,7 @@
122122
},
123123
{
124124
"c": "-",
125-
"t": "source.diff markup.deleted.diff punctuation.definition.inserted.diff",
125+
"t": "source.diff markup.deleted.diff punctuation.definition.deleted.diff",
126126
"r": {
127127
"dark_plus": "markup.deleted: #CE9178",
128128
"light_plus": "markup.deleted: #A31515",
@@ -155,7 +155,7 @@
155155
},
156156
{
157157
"c": "-",
158-
"t": "source.diff markup.deleted.diff punctuation.definition.inserted.diff",
158+
"t": "source.diff markup.deleted.diff punctuation.definition.deleted.diff",
159159
"r": {
160160
"dark_plus": "markup.deleted: #CE9178",
161161
"light_plus": "markup.deleted: #A31515",

0 commit comments

Comments
 (0)