@theia/scm 1.69.0-next.54 → 1.69.0-next.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +3 -6
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-widget.js +48 -43
- package/lib/browser/dirty-diff/dirty-diff-widget.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/dirty-diff/dirty-diff-widget.ts +57 -44
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Disposable, Event, MenuModelRegistry, MenuPath, URI } from '@theia/core';
|
|
2
2
|
import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
|
|
3
3
|
import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor';
|
|
4
|
-
import { MonacoDiffEditor } from '@theia/monaco/lib/browser/monaco-diff-editor';
|
|
5
4
|
import { MonacoEditorProvider } from '@theia/monaco/lib/browser/monaco-editor-provider';
|
|
6
5
|
import { Change } from './diff-computer';
|
|
7
6
|
export declare const SCM_CHANGE_TITLE_MENU: MenuPath;
|
|
@@ -22,11 +21,10 @@ export declare class DirtyDiffWidget implements Disposable {
|
|
|
22
21
|
private readonly onDidCloseEmitter;
|
|
23
22
|
readonly onDidClose: Event<unknown>;
|
|
24
23
|
protected index: number;
|
|
25
|
-
private peekView;
|
|
26
|
-
private diffEditorPromise;
|
|
24
|
+
private readonly peekView;
|
|
25
|
+
private readonly diffEditorPromise;
|
|
27
26
|
protected _changes?: readonly Change[];
|
|
28
27
|
constructor(props: DirtyDiffWidgetProps, editorProvider: MonacoEditorProvider, contextKeyService: ContextKeyService, menuModelRegistry: MenuModelRegistry);
|
|
29
|
-
create(): void;
|
|
30
28
|
get changes(): readonly Change[];
|
|
31
29
|
set changes(changes: readonly Change[]);
|
|
32
30
|
get editor(): MonacoEditor;
|
|
@@ -35,7 +33,7 @@ export declare class DirtyDiffWidget implements Disposable {
|
|
|
35
33
|
get currentChange(): Change | undefined;
|
|
36
34
|
get currentChangeIndex(): number;
|
|
37
35
|
protected handleChangedChanges(updated: readonly Change[]): void;
|
|
38
|
-
showChange(index: number):
|
|
36
|
+
showChange(index: number): void;
|
|
39
37
|
showNextChange(): void;
|
|
40
38
|
showPreviousChange(): void;
|
|
41
39
|
getContentWithSelectedChanges(predicate: (change: Change, index: number, changes: readonly Change[]) => boolean): Promise<string>;
|
|
@@ -45,6 +43,5 @@ export declare class DirtyDiffWidget implements Disposable {
|
|
|
45
43
|
protected computePrimaryHeading(): string;
|
|
46
44
|
protected computeSecondaryHeading(): string;
|
|
47
45
|
protected computeHeightInLines(): number;
|
|
48
|
-
protected checkCreated(): Promise<MonacoDiffEditor>;
|
|
49
46
|
}
|
|
50
47
|
//# sourceMappingURL=dirty-diff-widget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dirty-diff-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/dirty-diff/dirty-diff-widget.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAe,UAAU,EAAW,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"dirty-diff-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/dirty-diff/dirty-diff-widget.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAe,UAAU,EAAW,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAGxF,OAAO,EAAE,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAIpD,eAAO,MAAM,qBAAqB,EAAE,QAAoC,CAAC;AACzE,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,EAAE,QAA2C,CAAC;AAEvF,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC;CACrC;AAED,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,eAAe,CAAC;AAEtF,qBACa,eAAgB,YAAW,UAAU;IAUZ,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB;IAC9C,QAAQ,CAAC,cAAc,EAAE,oBAAoB;IAChD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAX5E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAgC;IACnE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;gBAGc,KAAK,EAAE,oBAAoB,EACrC,cAAc,EAAE,oBAAoB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB;IAO5E,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,CAE/B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAErC;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,GAAG,IAAI,GAAG,CAEb;IAED,IAAI,mBAAmB,IAAI,GAAG,CAE7B;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAsBhE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO/B,cAAc,IAAI,IAAI;IAStB,kBAAkB,IAAI,IAAI;IASpB,6BAA6B,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvI,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAyBnC,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,SAAS,CAAC,qBAAqB,IAAI,MAAM;IAIzC,SAAS,CAAC,uBAAuB,IAAI,MAAM;IAO3C,SAAS,CAAC,oBAAoB,IAAI,MAAM;CAW3C"}
|
|
@@ -41,8 +41,6 @@ let DirtyDiffWidget = class DirtyDiffWidget {
|
|
|
41
41
|
this.onDidCloseEmitter = new core_1.Emitter();
|
|
42
42
|
this.onDidClose = this.onDidCloseEmitter.event;
|
|
43
43
|
this.index = -1;
|
|
44
|
-
}
|
|
45
|
-
create() {
|
|
46
44
|
this.peekView = new DirtyDiffPeekView(this);
|
|
47
45
|
this.peekView.onDidClose(e => this.onDidCloseEmitter.fire(e));
|
|
48
46
|
this.diffEditorPromise = this.peekView.create();
|
|
@@ -91,15 +89,13 @@ let DirtyDiffWidget = class DirtyDiffWidget {
|
|
|
91
89
|
this._changes = updated;
|
|
92
90
|
this.updateHeading();
|
|
93
91
|
}
|
|
94
|
-
|
|
95
|
-
await this.checkCreated();
|
|
92
|
+
showChange(index) {
|
|
96
93
|
if (index >= 0 && index < this.changes.length) {
|
|
97
94
|
this.index = index;
|
|
98
95
|
this.showCurrentChange();
|
|
99
96
|
}
|
|
100
97
|
}
|
|
101
98
|
showNextChange() {
|
|
102
|
-
this.checkCreated();
|
|
103
99
|
const index = this.index;
|
|
104
100
|
const length = this.changes.length;
|
|
105
101
|
if (length > 0 && (index < 0 || length > 1)) {
|
|
@@ -108,7 +104,6 @@ let DirtyDiffWidget = class DirtyDiffWidget {
|
|
|
108
104
|
}
|
|
109
105
|
}
|
|
110
106
|
showPreviousChange() {
|
|
111
|
-
this.checkCreated();
|
|
112
107
|
const index = this.index;
|
|
113
108
|
const length = this.changes.length;
|
|
114
109
|
if (length > 0 && (index < 0 || length > 1)) {
|
|
@@ -117,21 +112,23 @@ let DirtyDiffWidget = class DirtyDiffWidget {
|
|
|
117
112
|
}
|
|
118
113
|
}
|
|
119
114
|
async getContentWithSelectedChanges(predicate) {
|
|
120
|
-
await this.checkCreated();
|
|
121
115
|
const changes = this.changes.filter(predicate);
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
return applyChanges(changes, diffEditorModel.original, diffEditorModel.modified);
|
|
116
|
+
const diffEditor = await this.diffEditorPromise;
|
|
117
|
+
return applyChanges(changes, diffEditor.originalModel.textEditorModel, diffEditor.modifiedModel.textEditorModel);
|
|
125
118
|
}
|
|
126
119
|
dispose() {
|
|
127
|
-
this.peekView
|
|
120
|
+
this.peekView.dispose();
|
|
128
121
|
this.onDidCloseEmitter.dispose();
|
|
129
122
|
}
|
|
130
123
|
showCurrentChange() {
|
|
131
124
|
this.updateHeading();
|
|
132
125
|
const { previousRange, currentRange } = this.changes[this.index];
|
|
133
|
-
this.peekView.show(vscode_languageserver_protocol_1.Position.create(diff_computer_1.LineRange.getEndPosition(currentRange).line, 0), this.computeHeightInLines())
|
|
134
|
-
|
|
126
|
+
this.peekView.show(vscode_languageserver_protocol_1.Position.create(diff_computer_1.LineRange.getEndPosition(currentRange).line, 0), this.computeHeightInLines()).then(async () => {
|
|
127
|
+
this.editor.focus();
|
|
128
|
+
const diffEditor = await this.diffEditorPromise;
|
|
129
|
+
if (diffEditor.isDisposed()) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
135
132
|
let startLine = diff_computer_1.LineRange.getStartPosition(currentRange).line;
|
|
136
133
|
let endLine = diff_computer_1.LineRange.getEndPosition(currentRange).line;
|
|
137
134
|
if (diff_computer_1.LineRange.isEmpty(currentRange)) { // the change is a removal
|
|
@@ -141,10 +138,9 @@ let DirtyDiffWidget = class DirtyDiffWidget {
|
|
|
141
138
|
--startLine;
|
|
142
139
|
++endLine;
|
|
143
140
|
}
|
|
144
|
-
diffEditor.revealLinesInCenter(startLine + 1, endLine + 1, // monaco line numbers are 1-based
|
|
141
|
+
diffEditor.diffEditor.revealLinesInCenter(startLine + 1, endLine + 1, // monaco line numbers are 1-based
|
|
145
142
|
monaco.editor.ScrollType.Immediate);
|
|
146
143
|
});
|
|
147
|
-
this.editor.focus();
|
|
148
144
|
}
|
|
149
145
|
updateHeading() {
|
|
150
146
|
this.peekView.setTitle(this.computePrimaryHeading(), this.computeSecondaryHeading());
|
|
@@ -167,17 +163,8 @@ let DirtyDiffWidget = class DirtyDiffWidget {
|
|
|
167
163
|
const changeHeightInLines = diff_computer_1.LineRange.getLineCount(currentRange) + diff_computer_1.LineRange.getLineCount(previousRange);
|
|
168
164
|
return Math.min(changeHeightInLines + /* padding */ 8, Math.floor(editorHeightInLines / 3));
|
|
169
165
|
}
|
|
170
|
-
async checkCreated() {
|
|
171
|
-
return this.diffEditorPromise;
|
|
172
|
-
}
|
|
173
166
|
};
|
|
174
167
|
exports.DirtyDiffWidget = DirtyDiffWidget;
|
|
175
|
-
tslib_1.__decorate([
|
|
176
|
-
(0, inversify_1.postConstruct)(),
|
|
177
|
-
tslib_1.__metadata("design:type", Function),
|
|
178
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
179
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
180
|
-
], DirtyDiffWidget.prototype, "create", null);
|
|
181
168
|
exports.DirtyDiffWidget = DirtyDiffWidget = tslib_1.__decorate([
|
|
182
169
|
(0, inversify_1.injectable)(),
|
|
183
170
|
tslib_1.__param(0, (0, inversify_1.inject)(exports.DirtyDiffWidgetProps)),
|
|
@@ -248,34 +235,27 @@ class DirtyDiffPeekView extends monaco_editor_peek_view_widget_1.MonacoEditorPee
|
|
|
248
235
|
try {
|
|
249
236
|
this.bodyElement = document.createElement('div');
|
|
250
237
|
this.bodyElement.classList.add('body');
|
|
251
|
-
|
|
238
|
+
this.diffEditorPromise = this.widget.editorProvider.createEmbeddedDiffEditor(this.editor, this.bodyElement, this.widget.previousRevisionUri);
|
|
239
|
+
const diffEditor = await this.diffEditorPromise;
|
|
252
240
|
this.diffEditor = diffEditor;
|
|
253
241
|
this.toDispose.push(diffEditor);
|
|
254
242
|
super.create();
|
|
255
|
-
return
|
|
256
|
-
// The diff computation is asynchronous and may complete before or after we register the listener.
|
|
257
|
-
// This can happen when the file is already open in another editor, causing the model to be cached
|
|
258
|
-
// and the diff to compute almost instantly. To handle this race condition, we check if the diff
|
|
259
|
-
// is already available before waiting for onDidUpdateDiff.
|
|
260
|
-
// setTimeout is needed because the non-side-by-side diff editor might still not have created the view zones;
|
|
261
|
-
// otherwise, the first change shown might not be properly revealed in the diff editor.
|
|
262
|
-
// See also https://github.com/microsoft/vscode/blob/b30900b56c4b3ca6c65d7ab92032651f4cb23f15/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts#L248
|
|
263
|
-
if (diffEditor.diffEditor.getLineChanges()) {
|
|
264
|
-
setTimeout(() => resolve(diffEditor));
|
|
265
|
-
return;
|
|
266
|
-
}
|
|
267
|
-
const disposable = diffEditor.diffEditor.onDidUpdateDiff(() => setTimeout(() => {
|
|
268
|
-
resolve(diffEditor);
|
|
269
|
-
disposable.dispose();
|
|
270
|
-
}));
|
|
271
|
-
});
|
|
243
|
+
return diffEditor;
|
|
272
244
|
}
|
|
273
245
|
catch (e) {
|
|
274
246
|
this.dispose();
|
|
275
247
|
throw e;
|
|
276
248
|
}
|
|
277
249
|
}
|
|
278
|
-
show(rangeOrPos, heightInLines) {
|
|
250
|
+
async show(rangeOrPos, heightInLines) {
|
|
251
|
+
const { diffEditorPromise } = this;
|
|
252
|
+
if (!diffEditorPromise) {
|
|
253
|
+
throw new Error('Call the create() method first');
|
|
254
|
+
}
|
|
255
|
+
const diffEditor = await diffEditorPromise;
|
|
256
|
+
if (diffEditor.isDisposed()) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
279
259
|
const borderColor = this.getBorderColor();
|
|
280
260
|
this.style({
|
|
281
261
|
arrowColor: borderColor,
|
|
@@ -286,6 +266,31 @@ class DirtyDiffPeekView extends monaco_editor_peek_view_widget_1.MonacoEditorPee
|
|
|
286
266
|
});
|
|
287
267
|
this.updateActions();
|
|
288
268
|
super.show(rangeOrPos, heightInLines);
|
|
269
|
+
diffEditor.handleVisibilityChanged(true);
|
|
270
|
+
return new Promise(resolve => {
|
|
271
|
+
// The diff computation is asynchronous and may complete before or after we register the listener.
|
|
272
|
+
// This can happen when the file is already open in another editor, causing the model to be cached
|
|
273
|
+
// and the diff to compute almost instantly. To handle this race condition, we check if the diff
|
|
274
|
+
// is already available before waiting for onDidUpdateDiff.
|
|
275
|
+
// setTimeout is needed because the non-side-by-side diff editor might still not have created the view zones;
|
|
276
|
+
// otherwise, the first change shown might not be properly revealed in the diff editor.
|
|
277
|
+
// See also https://github.com/microsoft/vscode/blob/b30900b56c4b3ca6c65d7ab92032651f4cb23f15/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts#L248
|
|
278
|
+
if (diffEditor.diffEditor.getLineChanges()) {
|
|
279
|
+
setTimeout(() => resolve());
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
const disposable = diffEditor.diffEditor.onDidUpdateDiff(() => setTimeout(() => {
|
|
283
|
+
resolve();
|
|
284
|
+
disposable.dispose();
|
|
285
|
+
}));
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
hide() {
|
|
289
|
+
const { diffEditor } = this;
|
|
290
|
+
if (diffEditor && !diffEditor.isDisposed()) {
|
|
291
|
+
diffEditor.handleVisibilityChanged(false);
|
|
292
|
+
}
|
|
293
|
+
super.hide();
|
|
289
294
|
}
|
|
290
295
|
getBorderColor() {
|
|
291
296
|
const { currentChange } = this.widget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dirty-diff-widget.js","sourceRoot":"","sources":["../../../src/browser/dirty-diff/dirty-diff-widget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dirty-diff-widget.js","sourceRoot":"","sources":["../../../src/browser/dirty-diff/dirty-diff-widget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/scm",
|
|
3
|
-
"version": "1.69.0-next.
|
|
3
|
+
"version": "1.69.0-next.65+3b83c706b",
|
|
4
4
|
"description": "Theia - Source control Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.69.0-next.
|
|
7
|
-
"@theia/editor": "1.69.0-next.
|
|
8
|
-
"@theia/filesystem": "1.69.0-next.
|
|
9
|
-
"@theia/monaco": "1.69.0-next.
|
|
6
|
+
"@theia/core": "1.69.0-next.65+3b83c706b",
|
|
7
|
+
"@theia/editor": "1.69.0-next.65+3b83c706b",
|
|
8
|
+
"@theia/filesystem": "1.69.0-next.65+3b83c706b",
|
|
9
|
+
"@theia/monaco": "1.69.0-next.65+3b83c706b",
|
|
10
10
|
"@theia/monaco-editor-core": "1.96.302",
|
|
11
11
|
"@types/diff": "^5.2.1",
|
|
12
12
|
"diff": "^5.2.0",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"nyc": {
|
|
56
56
|
"extends": "../../configs/nyc.json"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "3b83c706bf9e72c496a4eadc9d56df0859498088"
|
|
59
59
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { inject, injectable
|
|
17
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
18
|
import { Position, Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
19
19
|
import { CommandMenu, Disposable, Emitter, Event, MenuModelRegistry, MenuPath, URI, nls } from '@theia/core';
|
|
20
20
|
import { codicon } from '@theia/core/lib/browser';
|
|
@@ -47,8 +47,8 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
47
47
|
private readonly onDidCloseEmitter = new Emitter<unknown>();
|
|
48
48
|
readonly onDidClose: Event<unknown> = this.onDidCloseEmitter.event;
|
|
49
49
|
protected index: number = -1;
|
|
50
|
-
private peekView: DirtyDiffPeekView;
|
|
51
|
-
private diffEditorPromise: Promise<MonacoDiffEditor>;
|
|
50
|
+
private readonly peekView: DirtyDiffPeekView;
|
|
51
|
+
private readonly diffEditorPromise: Promise<MonacoDiffEditor>;
|
|
52
52
|
protected _changes?: readonly Change[];
|
|
53
53
|
|
|
54
54
|
constructor(
|
|
@@ -56,10 +56,7 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
56
56
|
@inject(MonacoEditorProvider) readonly editorProvider: MonacoEditorProvider,
|
|
57
57
|
@inject(ContextKeyService) readonly contextKeyService: ContextKeyService,
|
|
58
58
|
@inject(MenuModelRegistry) readonly menuModelRegistry: MenuModelRegistry,
|
|
59
|
-
) {
|
|
60
|
-
|
|
61
|
-
@postConstruct()
|
|
62
|
-
create(): void {
|
|
59
|
+
) {
|
|
63
60
|
this.peekView = new DirtyDiffPeekView(this);
|
|
64
61
|
this.peekView.onDidClose(e => this.onDidCloseEmitter.fire(e));
|
|
65
62
|
this.diffEditorPromise = this.peekView.create();
|
|
@@ -115,8 +112,7 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
115
112
|
this.updateHeading();
|
|
116
113
|
}
|
|
117
114
|
|
|
118
|
-
|
|
119
|
-
await this.checkCreated();
|
|
115
|
+
showChange(index: number): void {
|
|
120
116
|
if (index >= 0 && index < this.changes.length) {
|
|
121
117
|
this.index = index;
|
|
122
118
|
this.showCurrentChange();
|
|
@@ -124,7 +120,6 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
124
120
|
}
|
|
125
121
|
|
|
126
122
|
showNextChange(): void {
|
|
127
|
-
this.checkCreated();
|
|
128
123
|
const index = this.index;
|
|
129
124
|
const length = this.changes.length;
|
|
130
125
|
if (length > 0 && (index < 0 || length > 1)) {
|
|
@@ -134,7 +129,6 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
134
129
|
}
|
|
135
130
|
|
|
136
131
|
showPreviousChange(): void {
|
|
137
|
-
this.checkCreated();
|
|
138
132
|
const index = this.index;
|
|
139
133
|
const length = this.changes.length;
|
|
140
134
|
if (length > 0 && (index < 0 || length > 1)) {
|
|
@@ -144,24 +138,28 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
144
138
|
}
|
|
145
139
|
|
|
146
140
|
async getContentWithSelectedChanges(predicate: (change: Change, index: number, changes: readonly Change[]) => boolean): Promise<string> {
|
|
147
|
-
await this.checkCreated();
|
|
148
141
|
const changes = this.changes.filter(predicate);
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
return applyChanges(changes, diffEditorModel.original, diffEditorModel.modified);
|
|
142
|
+
const diffEditor = await this.diffEditorPromise;
|
|
143
|
+
return applyChanges(changes, diffEditor.originalModel.textEditorModel, diffEditor.modifiedModel.textEditorModel);
|
|
152
144
|
}
|
|
153
145
|
|
|
154
146
|
dispose(): void {
|
|
155
|
-
this.peekView
|
|
147
|
+
this.peekView.dispose();
|
|
156
148
|
this.onDidCloseEmitter.dispose();
|
|
157
149
|
}
|
|
158
150
|
|
|
159
151
|
protected showCurrentChange(): void {
|
|
160
152
|
this.updateHeading();
|
|
161
153
|
const { previousRange, currentRange } = this.changes[this.index];
|
|
162
|
-
this.peekView.show(
|
|
163
|
-
|
|
164
|
-
|
|
154
|
+
this.peekView.show(
|
|
155
|
+
Position.create(LineRange.getEndPosition(currentRange).line, 0),
|
|
156
|
+
this.computeHeightInLines()
|
|
157
|
+
).then(async () => {
|
|
158
|
+
this.editor.focus();
|
|
159
|
+
const diffEditor = await this.diffEditorPromise;
|
|
160
|
+
if (diffEditor.isDisposed()) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
165
163
|
let startLine = LineRange.getStartPosition(currentRange).line;
|
|
166
164
|
let endLine = LineRange.getEndPosition(currentRange).line;
|
|
167
165
|
if (LineRange.isEmpty(currentRange)) { // the change is a removal
|
|
@@ -170,10 +168,9 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
170
168
|
--startLine;
|
|
171
169
|
++endLine;
|
|
172
170
|
}
|
|
173
|
-
diffEditor.revealLinesInCenter(startLine + 1, endLine + 1, // monaco line numbers are 1-based
|
|
171
|
+
diffEditor.diffEditor.revealLinesInCenter(startLine + 1, endLine + 1, // monaco line numbers are 1-based
|
|
174
172
|
monaco.editor.ScrollType.Immediate);
|
|
175
173
|
});
|
|
176
|
-
this.editor.focus();
|
|
177
174
|
}
|
|
178
175
|
|
|
179
176
|
protected updateHeading(): void {
|
|
@@ -202,10 +199,6 @@ export class DirtyDiffWidget implements Disposable {
|
|
|
202
199
|
|
|
203
200
|
return Math.min(changeHeightInLines + /* padding */ 8, Math.floor(editorHeightInLines / 3));
|
|
204
201
|
}
|
|
205
|
-
|
|
206
|
-
protected async checkCreated(): Promise<MonacoDiffEditor> {
|
|
207
|
-
return this.diffEditorPromise;
|
|
208
|
-
}
|
|
209
202
|
}
|
|
210
203
|
|
|
211
204
|
function cycle(index: number, offset: -1 | 1, length: number): number {
|
|
@@ -277,6 +270,7 @@ function applyChanges(changes: readonly Change[], original: monaco.editor.ITextM
|
|
|
277
270
|
|
|
278
271
|
class DirtyDiffPeekView extends MonacoEditorPeekViewWidget {
|
|
279
272
|
|
|
273
|
+
private diffEditorPromise?: Promise<MonacoDiffEditor>;
|
|
280
274
|
private diffEditor?: MonacoDiffEditor;
|
|
281
275
|
private height?: number;
|
|
282
276
|
|
|
@@ -288,34 +282,27 @@ class DirtyDiffPeekView extends MonacoEditorPeekViewWidget {
|
|
|
288
282
|
try {
|
|
289
283
|
this.bodyElement = document.createElement('div');
|
|
290
284
|
this.bodyElement.classList.add('body');
|
|
291
|
-
|
|
285
|
+
this.diffEditorPromise = this.widget.editorProvider.createEmbeddedDiffEditor(this.editor, this.bodyElement, this.widget.previousRevisionUri);
|
|
286
|
+
const diffEditor = await this.diffEditorPromise;
|
|
292
287
|
this.diffEditor = diffEditor;
|
|
293
288
|
this.toDispose.push(diffEditor);
|
|
294
289
|
super.create();
|
|
295
|
-
return
|
|
296
|
-
// The diff computation is asynchronous and may complete before or after we register the listener.
|
|
297
|
-
// This can happen when the file is already open in another editor, causing the model to be cached
|
|
298
|
-
// and the diff to compute almost instantly. To handle this race condition, we check if the diff
|
|
299
|
-
// is already available before waiting for onDidUpdateDiff.
|
|
300
|
-
// setTimeout is needed because the non-side-by-side diff editor might still not have created the view zones;
|
|
301
|
-
// otherwise, the first change shown might not be properly revealed in the diff editor.
|
|
302
|
-
// See also https://github.com/microsoft/vscode/blob/b30900b56c4b3ca6c65d7ab92032651f4cb23f15/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts#L248
|
|
303
|
-
if (diffEditor.diffEditor.getLineChanges()) {
|
|
304
|
-
setTimeout(() => resolve(diffEditor));
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
const disposable = diffEditor.diffEditor.onDidUpdateDiff(() => setTimeout(() => {
|
|
308
|
-
resolve(diffEditor);
|
|
309
|
-
disposable.dispose();
|
|
310
|
-
}));
|
|
311
|
-
});
|
|
290
|
+
return diffEditor;
|
|
312
291
|
} catch (e) {
|
|
313
292
|
this.dispose();
|
|
314
293
|
throw e;
|
|
315
294
|
}
|
|
316
295
|
}
|
|
317
296
|
|
|
318
|
-
override show(rangeOrPos: Range | Position, heightInLines: number): void {
|
|
297
|
+
override async show(rangeOrPos: Range | Position, heightInLines: number): Promise<void> {
|
|
298
|
+
const { diffEditorPromise } = this;
|
|
299
|
+
if (!diffEditorPromise) {
|
|
300
|
+
throw new Error('Call the create() method first');
|
|
301
|
+
}
|
|
302
|
+
const diffEditor = await diffEditorPromise;
|
|
303
|
+
if (diffEditor.isDisposed()) {
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
319
306
|
const borderColor = this.getBorderColor();
|
|
320
307
|
this.style({
|
|
321
308
|
arrowColor: borderColor,
|
|
@@ -326,6 +313,32 @@ class DirtyDiffPeekView extends MonacoEditorPeekViewWidget {
|
|
|
326
313
|
});
|
|
327
314
|
this.updateActions();
|
|
328
315
|
super.show(rangeOrPos, heightInLines);
|
|
316
|
+
diffEditor.handleVisibilityChanged(true);
|
|
317
|
+
return new Promise(resolve => {
|
|
318
|
+
// The diff computation is asynchronous and may complete before or after we register the listener.
|
|
319
|
+
// This can happen when the file is already open in another editor, causing the model to be cached
|
|
320
|
+
// and the diff to compute almost instantly. To handle this race condition, we check if the diff
|
|
321
|
+
// is already available before waiting for onDidUpdateDiff.
|
|
322
|
+
// setTimeout is needed because the non-side-by-side diff editor might still not have created the view zones;
|
|
323
|
+
// otherwise, the first change shown might not be properly revealed in the diff editor.
|
|
324
|
+
// See also https://github.com/microsoft/vscode/blob/b30900b56c4b3ca6c65d7ab92032651f4cb23f15/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts#L248
|
|
325
|
+
if (diffEditor.diffEditor.getLineChanges()) {
|
|
326
|
+
setTimeout(() => resolve());
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
const disposable = diffEditor.diffEditor.onDidUpdateDiff(() => setTimeout(() => {
|
|
330
|
+
resolve();
|
|
331
|
+
disposable.dispose();
|
|
332
|
+
}));
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
override hide(): void {
|
|
337
|
+
const { diffEditor } = this;
|
|
338
|
+
if (diffEditor && !diffEditor.isDisposed()) {
|
|
339
|
+
diffEditor.handleVisibilityChanged(false);
|
|
340
|
+
}
|
|
341
|
+
super.hide();
|
|
329
342
|
}
|
|
330
343
|
|
|
331
344
|
private getBorderColor(): string {
|