@theia/scm 1.48.3 → 1.49.0
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/decorations/scm-decorations-service.d.ts +9 -3
- package/lib/browser/decorations/scm-decorations-service.d.ts.map +1 -1
- package/lib/browser/decorations/scm-decorations-service.js +50 -30
- package/lib/browser/decorations/scm-decorations-service.js.map +1 -1
- package/lib/browser/dirty-diff/content-lines.d.ts +2 -0
- package/lib/browser/dirty-diff/content-lines.d.ts.map +1 -1
- package/lib/browser/dirty-diff/content-lines.js +7 -0
- package/lib/browser/dirty-diff/content-lines.js.map +1 -1
- package/lib/browser/dirty-diff/diff-computer.d.ts +23 -14
- package/lib/browser/dirty-diff/diff-computer.d.ts.map +1 -1
- package/lib/browser/dirty-diff/diff-computer.js +91 -27
- package/lib/browser/dirty-diff/diff-computer.js.map +1 -1
- package/lib/browser/dirty-diff/diff-computer.spec.js +120 -52
- package/lib/browser/dirty-diff/diff-computer.spec.js.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts +5 -3
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.js +14 -7
- package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-module.js +9 -0
- package/lib/browser/dirty-diff/dirty-diff-module.js.map +1 -1
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts +49 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.js +292 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.js.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +47 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.js +320 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.js.map +1 -0
- package/lib/browser/scm-colors.d.ts +6 -0
- package/lib/browser/scm-colors.d.ts.map +1 -0
- package/lib/browser/scm-colors.js +25 -0
- package/lib/browser/scm-colors.js.map +1 -0
- package/lib/browser/scm-contribution.d.ts +20 -6
- package/lib/browser/scm-contribution.d.ts.map +1 -1
- package/lib/browser/scm-contribution.js +112 -22
- package/lib/browser/scm-contribution.js.map +1 -1
- package/lib/browser/scm-tree-widget.js +1 -1
- package/lib/browser/scm-tree-widget.js.map +1 -1
- package/package.json +8 -6
- package/src/browser/decorations/scm-decorations-service.ts +60 -36
- package/src/browser/dirty-diff/content-lines.ts +9 -0
- package/src/browser/dirty-diff/diff-computer.spec.ts +120 -52
- package/src/browser/dirty-diff/diff-computer.ts +88 -40
- package/src/browser/dirty-diff/dirty-diff-decorator.ts +17 -10
- package/src/browser/dirty-diff/dirty-diff-module.ts +9 -0
- package/src/browser/dirty-diff/dirty-diff-navigator.ts +288 -0
- package/src/browser/dirty-diff/dirty-diff-widget.ts +364 -0
- package/src/browser/scm-colors.ts +21 -0
- package/src/browser/scm-contribution.ts +97 -6
- package/src/browser/scm-tree-widget.tsx +1 -1
- package/src/browser/style/dirty-diff-decorator.css +2 -1
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 1C-Soft LLC and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DirtyDiffWidget = exports.DirtyDiffWidgetFactory = exports.DirtyDiffWidgetProps = exports.PLUGIN_SCM_CHANGE_TITLE_MENU = exports.SCM_CHANGE_TITLE_MENU = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
23
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
+
const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
|
|
25
|
+
const monaco_editor_provider_1 = require("@theia/monaco/lib/browser/monaco-editor-provider");
|
|
26
|
+
const monaco_editor_peek_view_widget_1 = require("@theia/monaco/lib/browser/monaco-editor-peek-view-widget");
|
|
27
|
+
const diff_computer_1 = require("./diff-computer");
|
|
28
|
+
const scm_colors_1 = require("../scm-colors");
|
|
29
|
+
const monaco = require("@theia/monaco-editor-core");
|
|
30
|
+
exports.SCM_CHANGE_TITLE_MENU = ['scm-change-title-menu'];
|
|
31
|
+
/** Reserved for plugin contributions, corresponds to contribution point 'scm/change/title'. */
|
|
32
|
+
exports.PLUGIN_SCM_CHANGE_TITLE_MENU = ['plugin-scm-change-title-menu'];
|
|
33
|
+
exports.DirtyDiffWidgetProps = Symbol('DirtyDiffWidgetProps');
|
|
34
|
+
exports.DirtyDiffWidgetFactory = Symbol('DirtyDiffWidgetFactory');
|
|
35
|
+
let DirtyDiffWidget = class DirtyDiffWidget {
|
|
36
|
+
constructor(props, editorProvider, contextKeyService, menuModelRegistry, menuCommandExecutor) {
|
|
37
|
+
this.props = props;
|
|
38
|
+
this.editorProvider = editorProvider;
|
|
39
|
+
this.contextKeyService = contextKeyService;
|
|
40
|
+
this.menuModelRegistry = menuModelRegistry;
|
|
41
|
+
this.menuCommandExecutor = menuCommandExecutor;
|
|
42
|
+
this.onDidCloseEmitter = new core_1.Emitter();
|
|
43
|
+
this.onDidClose = this.onDidCloseEmitter.event;
|
|
44
|
+
this.index = -1;
|
|
45
|
+
}
|
|
46
|
+
create() {
|
|
47
|
+
this.peekView = new DirtyDiffPeekView(this);
|
|
48
|
+
this.peekView.onDidClose(e => this.onDidCloseEmitter.fire(e));
|
|
49
|
+
this.diffEditorPromise = this.peekView.create();
|
|
50
|
+
}
|
|
51
|
+
get editor() {
|
|
52
|
+
return this.props.editor;
|
|
53
|
+
}
|
|
54
|
+
get uri() {
|
|
55
|
+
return this.editor.uri;
|
|
56
|
+
}
|
|
57
|
+
get previousRevisionUri() {
|
|
58
|
+
return this.props.previousRevisionUri;
|
|
59
|
+
}
|
|
60
|
+
get changes() {
|
|
61
|
+
return this.props.changes;
|
|
62
|
+
}
|
|
63
|
+
get currentChange() {
|
|
64
|
+
return this.changes[this.index];
|
|
65
|
+
}
|
|
66
|
+
get currentChangeIndex() {
|
|
67
|
+
return this.index;
|
|
68
|
+
}
|
|
69
|
+
showChange(index) {
|
|
70
|
+
this.checkCreated();
|
|
71
|
+
if (index >= 0 && index < this.changes.length) {
|
|
72
|
+
this.index = index;
|
|
73
|
+
this.showCurrentChange();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
showNextChange() {
|
|
77
|
+
this.checkCreated();
|
|
78
|
+
const index = this.index;
|
|
79
|
+
const length = this.changes.length;
|
|
80
|
+
if (length > 0 && (index < 0 || length > 1)) {
|
|
81
|
+
this.index = index < 0 ? 0 : cycle(index, 1, length);
|
|
82
|
+
this.showCurrentChange();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
showPreviousChange() {
|
|
86
|
+
this.checkCreated();
|
|
87
|
+
const index = this.index;
|
|
88
|
+
const length = this.changes.length;
|
|
89
|
+
if (length > 0 && (index < 0 || length > 1)) {
|
|
90
|
+
this.index = index < 0 ? length - 1 : cycle(index, -1, length);
|
|
91
|
+
this.showCurrentChange();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async getContentWithSelectedChanges(predicate) {
|
|
95
|
+
this.checkCreated();
|
|
96
|
+
const changes = this.changes.filter(predicate);
|
|
97
|
+
const { diffEditor } = await this.diffEditorPromise;
|
|
98
|
+
const diffEditorModel = diffEditor.getModel();
|
|
99
|
+
return applyChanges(changes, diffEditorModel.original, diffEditorModel.modified);
|
|
100
|
+
}
|
|
101
|
+
dispose() {
|
|
102
|
+
var _a;
|
|
103
|
+
(_a = this.peekView) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
104
|
+
this.onDidCloseEmitter.dispose();
|
|
105
|
+
}
|
|
106
|
+
showCurrentChange() {
|
|
107
|
+
this.peekView.setTitle(this.computePrimaryHeading(), this.computeSecondaryHeading());
|
|
108
|
+
const { previousRange, currentRange } = this.changes[this.index];
|
|
109
|
+
this.peekView.show(vscode_languageserver_protocol_1.Position.create(diff_computer_1.LineRange.getEndPosition(currentRange).line, 0), this.computeHeightInLines());
|
|
110
|
+
this.diffEditorPromise.then(({ diffEditor }) => {
|
|
111
|
+
let startLine = diff_computer_1.LineRange.getStartPosition(currentRange).line;
|
|
112
|
+
let endLine = diff_computer_1.LineRange.getEndPosition(currentRange).line;
|
|
113
|
+
if (diff_computer_1.LineRange.isEmpty(currentRange)) { // the change is a removal
|
|
114
|
+
++endLine;
|
|
115
|
+
}
|
|
116
|
+
else if (!diff_computer_1.LineRange.isEmpty(previousRange)) { // the change is a modification
|
|
117
|
+
--startLine;
|
|
118
|
+
++endLine;
|
|
119
|
+
}
|
|
120
|
+
diffEditor.revealLinesInCenter(startLine + 1, endLine + 1, // monaco line numbers are 1-based
|
|
121
|
+
monaco.editor.ScrollType.Immediate);
|
|
122
|
+
});
|
|
123
|
+
this.editor.focus();
|
|
124
|
+
}
|
|
125
|
+
computePrimaryHeading() {
|
|
126
|
+
return this.uri.path.base;
|
|
127
|
+
}
|
|
128
|
+
computeSecondaryHeading() {
|
|
129
|
+
const index = this.index + 1;
|
|
130
|
+
const length = this.changes.length;
|
|
131
|
+
return length > 1 ? core_1.nls.localizeByDefault('{0} of {1} changes', index, length) :
|
|
132
|
+
core_1.nls.localizeByDefault('{0} of {1} change', index, length);
|
|
133
|
+
}
|
|
134
|
+
computeHeightInLines() {
|
|
135
|
+
const editor = this.editor.getControl();
|
|
136
|
+
const lineHeight = editor.getOption(monaco.editor.EditorOption.lineHeight);
|
|
137
|
+
const editorHeight = editor.getLayoutInfo().height;
|
|
138
|
+
const editorHeightInLines = Math.floor(editorHeight / lineHeight);
|
|
139
|
+
const { previousRange, currentRange } = this.changes[this.index];
|
|
140
|
+
const changeHeightInLines = diff_computer_1.LineRange.getLineCount(currentRange) + diff_computer_1.LineRange.getLineCount(previousRange);
|
|
141
|
+
return Math.min(changeHeightInLines + /* padding */ 8, Math.floor(editorHeightInLines / 3));
|
|
142
|
+
}
|
|
143
|
+
checkCreated() {
|
|
144
|
+
if (!this.peekView) {
|
|
145
|
+
throw new Error('create() method needs to be called first.');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
(0, tslib_1.__decorate)([
|
|
150
|
+
(0, inversify_1.postConstruct)(),
|
|
151
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
152
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
|
153
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
|
154
|
+
], DirtyDiffWidget.prototype, "create", null);
|
|
155
|
+
DirtyDiffWidget = (0, tslib_1.__decorate)([
|
|
156
|
+
(0, inversify_1.injectable)(),
|
|
157
|
+
(0, tslib_1.__param)(0, (0, inversify_1.inject)(exports.DirtyDiffWidgetProps)),
|
|
158
|
+
(0, tslib_1.__param)(1, (0, inversify_1.inject)(monaco_editor_provider_1.MonacoEditorProvider)),
|
|
159
|
+
(0, tslib_1.__param)(2, (0, inversify_1.inject)(context_key_service_1.ContextKeyService)),
|
|
160
|
+
(0, tslib_1.__param)(3, (0, inversify_1.inject)(core_1.MenuModelRegistry)),
|
|
161
|
+
(0, tslib_1.__param)(4, (0, inversify_1.inject)(core_1.MenuCommandExecutor)),
|
|
162
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, monaco_editor_provider_1.MonacoEditorProvider, Object, core_1.MenuModelRegistry, Object])
|
|
163
|
+
], DirtyDiffWidget);
|
|
164
|
+
exports.DirtyDiffWidget = DirtyDiffWidget;
|
|
165
|
+
function cycle(index, offset, length) {
|
|
166
|
+
return (index + offset + length) % length;
|
|
167
|
+
}
|
|
168
|
+
// adapted from https://github.com/microsoft/vscode/blob/823d54f86ee13eb357bc6e8e562e89d793f3c43b/extensions/git/src/staging.ts
|
|
169
|
+
function applyChanges(changes, original, modified) {
|
|
170
|
+
const result = [];
|
|
171
|
+
let currentLine = 1;
|
|
172
|
+
for (const change of changes) {
|
|
173
|
+
const { previousRange, currentRange } = change;
|
|
174
|
+
const isInsertion = diff_computer_1.LineRange.isEmpty(previousRange);
|
|
175
|
+
const isDeletion = diff_computer_1.LineRange.isEmpty(currentRange);
|
|
176
|
+
const convert = (range) => {
|
|
177
|
+
let startLineNumber;
|
|
178
|
+
let endLineNumber;
|
|
179
|
+
if (!diff_computer_1.LineRange.isEmpty(range)) {
|
|
180
|
+
startLineNumber = range.start + 1;
|
|
181
|
+
endLineNumber = range.end;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
startLineNumber = range.start;
|
|
185
|
+
endLineNumber = 0;
|
|
186
|
+
}
|
|
187
|
+
return [startLineNumber, endLineNumber];
|
|
188
|
+
};
|
|
189
|
+
const [originalStartLineNumber, originalEndLineNumber] = convert(previousRange);
|
|
190
|
+
const [modifiedStartLineNumber, modifiedEndLineNumber] = convert(currentRange);
|
|
191
|
+
let toLine = isInsertion ? originalStartLineNumber + 1 : originalStartLineNumber;
|
|
192
|
+
let toCharacter = 1;
|
|
193
|
+
// if this is a deletion at the very end of the document,
|
|
194
|
+
// we need to account for a newline at the end of the last line,
|
|
195
|
+
// which may have been deleted
|
|
196
|
+
if (isDeletion && originalEndLineNumber === original.getLineCount()) {
|
|
197
|
+
toLine--;
|
|
198
|
+
toCharacter = original.getLineMaxColumn(toLine);
|
|
199
|
+
}
|
|
200
|
+
result.push(original.getValueInRange(new monaco.Range(currentLine, 1, toLine, toCharacter)));
|
|
201
|
+
if (!isDeletion) {
|
|
202
|
+
let fromLine = modifiedStartLineNumber;
|
|
203
|
+
let fromCharacter = 1;
|
|
204
|
+
// if this is an insertion at the very end of the document,
|
|
205
|
+
// we must start the next range after the last character of the previous line,
|
|
206
|
+
// in order to take the correct eol
|
|
207
|
+
if (isInsertion && originalStartLineNumber === original.getLineCount()) {
|
|
208
|
+
fromLine--;
|
|
209
|
+
fromCharacter = modified.getLineMaxColumn(fromLine);
|
|
210
|
+
}
|
|
211
|
+
result.push(modified.getValueInRange(new monaco.Range(fromLine, fromCharacter, modifiedEndLineNumber + 1, 1)));
|
|
212
|
+
}
|
|
213
|
+
currentLine = isInsertion ? originalStartLineNumber + 1 : originalEndLineNumber + 1;
|
|
214
|
+
}
|
|
215
|
+
result.push(original.getValueInRange(new monaco.Range(currentLine, 1, original.getLineCount() + 1, 1)));
|
|
216
|
+
return result.join('');
|
|
217
|
+
}
|
|
218
|
+
class DirtyDiffPeekView extends monaco_editor_peek_view_widget_1.MonacoEditorPeekViewWidget {
|
|
219
|
+
constructor(widget) {
|
|
220
|
+
super(widget.editor, { isResizeable: true, showArrow: true, frameWidth: 1, keepEditorSelection: true, className: 'dirty-diff' });
|
|
221
|
+
this.widget = widget;
|
|
222
|
+
}
|
|
223
|
+
async create() {
|
|
224
|
+
try {
|
|
225
|
+
super.create();
|
|
226
|
+
const diffEditor = await this.diffEditorPromise;
|
|
227
|
+
return new Promise(resolve => {
|
|
228
|
+
// setTimeout is needed here because the non-side-by-side diff editor might still not have created the view zones;
|
|
229
|
+
// otherwise, the first change shown might not be properly revealed in the diff editor.
|
|
230
|
+
// see also https://github.com/microsoft/vscode/blob/b30900b56c4b3ca6c65d7ab92032651f4cb23f15/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts#L248
|
|
231
|
+
const disposable = diffEditor.diffEditor.onDidUpdateDiff(() => setTimeout(() => {
|
|
232
|
+
resolve(diffEditor);
|
|
233
|
+
disposable.dispose();
|
|
234
|
+
}));
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
this.dispose();
|
|
239
|
+
throw e;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
show(rangeOrPos, heightInLines) {
|
|
243
|
+
const borderColor = this.getBorderColor();
|
|
244
|
+
this.style({
|
|
245
|
+
arrowColor: borderColor,
|
|
246
|
+
frameColor: borderColor,
|
|
247
|
+
headerBackgroundColor: monaco_editor_peek_view_widget_1.peekViewTitleBackground,
|
|
248
|
+
primaryHeadingColor: monaco_editor_peek_view_widget_1.peekViewTitleForeground,
|
|
249
|
+
secondaryHeadingColor: monaco_editor_peek_view_widget_1.peekViewTitleInfoForeground
|
|
250
|
+
});
|
|
251
|
+
this.updateActions();
|
|
252
|
+
super.show(rangeOrPos, heightInLines);
|
|
253
|
+
}
|
|
254
|
+
getBorderColor() {
|
|
255
|
+
const { currentChange } = this.widget;
|
|
256
|
+
if (!currentChange) {
|
|
257
|
+
return monaco_editor_peek_view_widget_1.peekViewBorder;
|
|
258
|
+
}
|
|
259
|
+
if (diff_computer_1.Change.isAddition(currentChange)) {
|
|
260
|
+
return scm_colors_1.ScmColors.editorGutterAddedBackground;
|
|
261
|
+
}
|
|
262
|
+
else if (diff_computer_1.Change.isRemoval(currentChange)) {
|
|
263
|
+
return scm_colors_1.ScmColors.editorGutterDeletedBackground;
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
return scm_colors_1.ScmColors.editorGutterModifiedBackground;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
updateActions() {
|
|
270
|
+
this.clearActions();
|
|
271
|
+
const { contextKeyService, menuModelRegistry, menuCommandExecutor } = this.widget;
|
|
272
|
+
contextKeyService.with({ originalResourceScheme: this.widget.previousRevisionUri.scheme }, () => {
|
|
273
|
+
for (const menuPath of [exports.SCM_CHANGE_TITLE_MENU, exports.PLUGIN_SCM_CHANGE_TITLE_MENU]) {
|
|
274
|
+
const menu = menuModelRegistry.getMenu(menuPath);
|
|
275
|
+
for (const item of menu.children) {
|
|
276
|
+
if (item instanceof core_1.ActionMenuNode) {
|
|
277
|
+
const { command, id, label, icon, when } = item;
|
|
278
|
+
if (icon && menuCommandExecutor.isVisible(menuPath, command, this.widget) && (!when || contextKeyService.match(when))) {
|
|
279
|
+
this.addAction(id, label, icon, menuCommandExecutor.isEnabled(menuPath, command, this.widget), () => {
|
|
280
|
+
menuCommandExecutor.executeCommand(menuPath, command, this.widget);
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
this.addAction('dirtydiff.next', core_1.nls.localizeByDefault('Show Next Change'), (0, browser_1.codicon)('arrow-down'), true, () => this.widget.showNextChange());
|
|
288
|
+
this.addAction('dirtydiff.previous', core_1.nls.localizeByDefault('Show Previous Change'), (0, browser_1.codicon)('arrow-up'), true, () => this.widget.showPreviousChange());
|
|
289
|
+
this.addAction('peekview.close', core_1.nls.localizeByDefault('Close'), (0, browser_1.codicon)('close'), true, () => this.dispose());
|
|
290
|
+
}
|
|
291
|
+
fillHead(container) {
|
|
292
|
+
super.fillHead(container, true);
|
|
293
|
+
}
|
|
294
|
+
fillBody(container) {
|
|
295
|
+
this.diffEditorPromise = this.widget.editorProvider.createEmbeddedDiffEditor(this.editor, container, this.widget.previousRevisionUri).then(diffEditor => {
|
|
296
|
+
this.toDispose.push(diffEditor);
|
|
297
|
+
return diffEditor;
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
doLayoutBody(height, width) {
|
|
301
|
+
super.doLayoutBody(height, width);
|
|
302
|
+
this.layout(height, width);
|
|
303
|
+
this.height = height;
|
|
304
|
+
}
|
|
305
|
+
onWidth(width) {
|
|
306
|
+
super.onWidth(width);
|
|
307
|
+
const { height } = this;
|
|
308
|
+
if (height !== undefined) {
|
|
309
|
+
this.layout(height, width);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
layout(height, width) {
|
|
313
|
+
var _a;
|
|
314
|
+
(_a = this.diffEditorPromise) === null || _a === void 0 ? void 0 : _a.then(({ diffEditor }) => diffEditor.layout({ height, width }));
|
|
315
|
+
}
|
|
316
|
+
doRevealRange(range) {
|
|
317
|
+
this.editor.revealPosition(vscode_languageserver_protocol_1.Position.create(range.end.line, 0), { vertical: 'centerIfOutsideViewport' });
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=dirty-diff-widget.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare namespace ScmColors {
|
|
2
|
+
const editorGutterModifiedBackground = "editorGutter.modifiedBackground";
|
|
3
|
+
const editorGutterAddedBackground = "editorGutter.addedBackground";
|
|
4
|
+
const editorGutterDeletedBackground = "editorGutter.deletedBackground";
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=scm-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-colors.d.ts","sourceRoot":"","sources":["../../src/browser/scm-colors.ts"],"names":[],"mappings":"AAgBA,yBAAiB,SAAS,CAAC;IAChB,MAAM,8BAA8B,oCAAoC,CAAC;IACzE,MAAM,2BAA2B,iCAAiC,CAAC;IACnE,MAAM,6BAA6B,mCAAmC,CAAC;CACjF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2019 Red Hat, Inc. and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ScmColors = void 0;
|
|
19
|
+
var ScmColors;
|
|
20
|
+
(function (ScmColors) {
|
|
21
|
+
ScmColors.editorGutterModifiedBackground = 'editorGutter.modifiedBackground';
|
|
22
|
+
ScmColors.editorGutterAddedBackground = 'editorGutter.addedBackground';
|
|
23
|
+
ScmColors.editorGutterDeletedBackground = 'editorGutter.deletedBackground';
|
|
24
|
+
})(ScmColors = exports.ScmColors || (exports.ScmColors = {}));
|
|
25
|
+
//# sourceMappingURL=scm-colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-colors.js","sourceRoot":"","sources":["../../src/browser/scm-colors.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,IAAiB,SAAS,CAIzB;AAJD,WAAiB,SAAS;IACT,wCAA8B,GAAG,iCAAiC,CAAC;IACnE,qCAA2B,GAAG,8BAA8B,CAAC;IAC7D,uCAA6B,GAAG,gCAAgC,CAAC;AAClF,CAAC,EAJgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIzB"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { AbstractViewContribution, FrontendApplicationContribution, LabelProvider, StatusBar, StatusBarEntry, KeybindingRegistry, ViewContainerTitleOptions, StylingParticipant, ColorTheme, CssStyleCollector } from '@theia/core/lib/browser';
|
|
2
2
|
import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
3
|
-
import { CommandRegistry, DisposableCollection, CommandService } from '@theia/core/lib/common';
|
|
3
|
+
import { CommandRegistry, Command, DisposableCollection, CommandService, MenuModelRegistry } from '@theia/core/lib/common';
|
|
4
4
|
import { ContextKeyService, ContextKey } from '@theia/core/lib/browser/context-key-service';
|
|
5
5
|
import { ScmService } from './scm-service';
|
|
6
6
|
import { ScmWidget } from '../browser/scm-widget';
|
|
7
7
|
import { ScmQuickOpenService } from './scm-quick-open-service';
|
|
8
8
|
import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution';
|
|
9
9
|
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
10
|
+
import { ScmColors } from './scm-colors';
|
|
10
11
|
import { ScmCommand } from './scm-provider';
|
|
11
12
|
import { ScmDecorationsService } from '../browser/decorations/scm-decorations-service';
|
|
13
|
+
import { DirtyDiffNavigator } from './dirty-diff/dirty-diff-navigator';
|
|
12
14
|
export declare const SCM_WIDGET_FACTORY_ID: string;
|
|
13
15
|
export declare const SCM_VIEW_CONTAINER_ID = "scm-view-container";
|
|
14
16
|
export declare const SCM_VIEW_CONTAINER_TITLE_OPTIONS: ViewContainerTitleOptions;
|
|
17
|
+
export declare namespace ScmMenus {
|
|
18
|
+
const CHANGES_GROUP: string[];
|
|
19
|
+
}
|
|
15
20
|
export declare namespace SCM_COMMANDS {
|
|
16
21
|
const CHANGE_REPOSITORY: {
|
|
17
22
|
id: string;
|
|
@@ -46,12 +51,19 @@ export declare namespace SCM_COMMANDS {
|
|
|
46
51
|
label: string;
|
|
47
52
|
originalLabel: string;
|
|
48
53
|
};
|
|
54
|
+
const GOTO_NEXT_CHANGE: Command;
|
|
55
|
+
const GOTO_PREVIOUS_CHANGE: Command;
|
|
56
|
+
const SHOW_NEXT_CHANGE: Command;
|
|
57
|
+
const SHOW_PREVIOUS_CHANGE: Command;
|
|
58
|
+
const CLOSE_CHANGE_PEEK_VIEW: {
|
|
59
|
+
id: string;
|
|
60
|
+
category: string;
|
|
61
|
+
originalCategory: string;
|
|
62
|
+
label: string;
|
|
63
|
+
originalLabel: string;
|
|
64
|
+
};
|
|
49
65
|
}
|
|
50
|
-
export
|
|
51
|
-
const editorGutterModifiedBackground = "editorGutter.modifiedBackground";
|
|
52
|
-
const editorGutterAddedBackground = "editorGutter.addedBackground";
|
|
53
|
-
const editorGutterDeletedBackground = "editorGutter.deletedBackground";
|
|
54
|
-
}
|
|
66
|
+
export { ScmColors };
|
|
55
67
|
export declare class ScmContribution extends AbstractViewContribution<ScmWidget> implements FrontendApplicationContribution, TabBarToolbarContribution, ColorContribution, StylingParticipant {
|
|
56
68
|
protected readonly statusBar: StatusBar;
|
|
57
69
|
protected readonly scmService: ScmService;
|
|
@@ -61,6 +73,7 @@ export declare class ScmContribution extends AbstractViewContribution<ScmWidget>
|
|
|
61
73
|
protected readonly commandRegistry: CommandRegistry;
|
|
62
74
|
protected readonly contextKeys: ContextKeyService;
|
|
63
75
|
protected readonly scmDecorationsService: ScmDecorationsService;
|
|
76
|
+
protected readonly dirtyDiffNavigator: DirtyDiffNavigator;
|
|
64
77
|
protected scmFocus: ContextKey<boolean>;
|
|
65
78
|
constructor();
|
|
66
79
|
protected init(): void;
|
|
@@ -68,6 +81,7 @@ export declare class ScmContribution extends AbstractViewContribution<ScmWidget>
|
|
|
68
81
|
onStart(): void;
|
|
69
82
|
protected updateContextKeys(): void;
|
|
70
83
|
registerCommands(commandRegistry: CommandRegistry): void;
|
|
84
|
+
registerMenus(menus: MenuModelRegistry): void;
|
|
71
85
|
registerToolbarItems(registry: TabBarToolbarRegistry): void;
|
|
72
86
|
registerKeybindings(keybindings: KeybindingRegistry): void;
|
|
73
87
|
protected acceptInput(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/scm-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,wBAAwB,EACxB,+BAA+B,EAAE,aAAa,EAC9C,SAAS,EAET,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EAEzB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAqB,MAAM,+CAA+C,CAAC;AACpI,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"scm-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/scm-contribution.ts"],"names":[],"mappings":"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"}
|