@codingame/monaco-vscode-timeline-service-override 8.0.0 → 8.0.1
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/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.js +2 -2
- package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryCommands.js +33 -33
- package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.js +1 -1
- package/vscode/src/vs/workbench/contrib/timeline/browser/timeline.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/timeline/browser/timelinePane.js +21 -21
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-timeline-service-override",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.1",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@8.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@8.0.1"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -23,7 +23,7 @@ function getLocalHistoryDateFormatter() {
|
|
|
23
23
|
}
|
|
24
24
|
const LOCAL_HISTORY_MENU_CONTEXT_VALUE = 'localHistory:item';
|
|
25
25
|
const LOCAL_HISTORY_MENU_CONTEXT_KEY = ( (ContextKeyExpr.equals('timelineItem', LOCAL_HISTORY_MENU_CONTEXT_VALUE)));
|
|
26
|
-
const LOCAL_HISTORY_ICON_ENTRY = registerIcon('localHistory-icon', Codicon.circleOutline, ( localize(
|
|
27
|
-
const LOCAL_HISTORY_ICON_RESTORE = registerIcon('localHistory-restore', Codicon.check, ( localize(
|
|
26
|
+
const LOCAL_HISTORY_ICON_ENTRY = registerIcon('localHistory-icon', Codicon.circleOutline, ( localize(10529, "Icon for a local history entry in the timeline view.")));
|
|
27
|
+
const LOCAL_HISTORY_ICON_RESTORE = registerIcon('localHistory-restore', Codicon.check, ( localize(10530, "Icon for restoring contents of a local history entry.")));
|
|
28
28
|
|
|
29
29
|
export { LOCAL_HISTORY_ICON_ENTRY, LOCAL_HISTORY_ICON_RESTORE, LOCAL_HISTORY_MENU_CONTEXT_KEY, LOCAL_HISTORY_MENU_CONTEXT_VALUE, getLocalHistoryDateFormatter };
|
|
@@ -27,9 +27,9 @@ import { firstOrDefault } from 'vscode/vscode/vs/base/common/arrays';
|
|
|
27
27
|
import { LOCAL_HISTORY_MENU_CONTEXT_KEY, LOCAL_HISTORY_ICON_RESTORE, getLocalHistoryDateFormatter } from './localHistory.js';
|
|
28
28
|
import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService.service';
|
|
29
29
|
|
|
30
|
-
const LOCAL_HISTORY_CATEGORY = ( localize2(
|
|
30
|
+
const LOCAL_HISTORY_CATEGORY = ( localize2(6711, 'Local History'));
|
|
31
31
|
const CTX_LOCAL_HISTORY_ENABLED = ( (ContextKeyExpr.has('config.workbench.localHistory.enabled')));
|
|
32
|
-
const COMPARE_WITH_FILE_LABEL = ( localize2(
|
|
32
|
+
const COMPARE_WITH_FILE_LABEL = ( localize2(6712, 'Compare with File'));
|
|
33
33
|
registerAction2(class extends Action2 {
|
|
34
34
|
constructor() {
|
|
35
35
|
super({
|
|
@@ -56,7 +56,7 @@ registerAction2(class extends Action2 {
|
|
|
56
56
|
constructor() {
|
|
57
57
|
super({
|
|
58
58
|
id: 'workbench.action.localHistory.compareWithPrevious',
|
|
59
|
-
title: ( localize2(
|
|
59
|
+
title: ( localize2(6713, 'Compare with Previous')),
|
|
60
60
|
menu: {
|
|
61
61
|
id: MenuId.TimelineItemContext,
|
|
62
62
|
group: '1_compare',
|
|
@@ -84,7 +84,7 @@ registerAction2(class extends Action2 {
|
|
|
84
84
|
constructor() {
|
|
85
85
|
super({
|
|
86
86
|
id: 'workbench.action.localHistory.selectForCompare',
|
|
87
|
-
title: ( localize2(
|
|
87
|
+
title: ( localize2(6714, 'Select for Compare')),
|
|
88
88
|
menu: {
|
|
89
89
|
id: MenuId.TimelineItemContext,
|
|
90
90
|
group: '2_compare_with',
|
|
@@ -107,7 +107,7 @@ registerAction2(class extends Action2 {
|
|
|
107
107
|
constructor() {
|
|
108
108
|
super({
|
|
109
109
|
id: 'workbench.action.localHistory.compareWithSelected',
|
|
110
|
-
title: ( localize2(
|
|
110
|
+
title: ( localize2(6715, 'Compare with Selected')),
|
|
111
111
|
menu: {
|
|
112
112
|
id: MenuId.TimelineItemContext,
|
|
113
113
|
group: '2_compare_with',
|
|
@@ -136,7 +136,7 @@ registerAction2(class extends Action2 {
|
|
|
136
136
|
constructor() {
|
|
137
137
|
super({
|
|
138
138
|
id: 'workbench.action.localHistory.open',
|
|
139
|
-
title: ( localize2(
|
|
139
|
+
title: ( localize2(6716, 'Show Contents')),
|
|
140
140
|
menu: {
|
|
141
141
|
id: MenuId.TimelineItemContext,
|
|
142
142
|
group: '3_contents',
|
|
@@ -154,7 +154,7 @@ registerAction2(class extends Action2 {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
});
|
|
157
|
-
const RESTORE_CONTENTS_LABEL = ( localize2(
|
|
157
|
+
const RESTORE_CONTENTS_LABEL = ( localize2(6717, 'Restore Contents'));
|
|
158
158
|
registerAction2(class extends Action2 {
|
|
159
159
|
constructor() {
|
|
160
160
|
super({
|
|
@@ -191,7 +191,7 @@ registerAction2(class extends Action2 {
|
|
|
191
191
|
return restore(accessor, item);
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
|
-
const restoreSaveSource = SaveSourceRegistry.registerSource('localHistoryRestore.source', ( localize(
|
|
194
|
+
const restoreSaveSource = SaveSourceRegistry.registerSource('localHistoryRestore.source', ( localize(6718, "File Restored")));
|
|
195
195
|
async function restore(accessor, item) {
|
|
196
196
|
const fileService = accessor.get(IFileService);
|
|
197
197
|
const dialogService = accessor.get(IDialogService);
|
|
@@ -203,12 +203,12 @@ async function restore(accessor, item) {
|
|
|
203
203
|
const { confirmed } = await dialogService.confirm({
|
|
204
204
|
type: 'warning',
|
|
205
205
|
message: ( localize(
|
|
206
|
-
|
|
206
|
+
6719,
|
|
207
207
|
"Do you want to restore the contents of '{0}'?",
|
|
208
208
|
basename(entry.workingCopy.resource)
|
|
209
209
|
)),
|
|
210
|
-
detail: ( localize(
|
|
211
|
-
primaryButton: ( localize(
|
|
210
|
+
detail: ( localize(6720, "Restoring will discard any unsaved changes.")),
|
|
211
|
+
primaryButton: ( localize(6721, "&&Restore"))
|
|
212
212
|
});
|
|
213
213
|
if (!confirmed) {
|
|
214
214
|
return;
|
|
@@ -225,7 +225,7 @@ async function restore(accessor, item) {
|
|
|
225
225
|
await fileService.cloneFile(entry.location, entry.workingCopy.resource);
|
|
226
226
|
}
|
|
227
227
|
catch (error) {
|
|
228
|
-
await dialogService.error(( localize(
|
|
228
|
+
await dialogService.error(( localize(6722, "Unable to restore '{0}'.", basename(entry.workingCopy.resource))), toErrorMessage(error));
|
|
229
229
|
return;
|
|
230
230
|
}
|
|
231
231
|
if (workingCopies) {
|
|
@@ -245,7 +245,7 @@ registerAction2(class extends Action2 {
|
|
|
245
245
|
constructor() {
|
|
246
246
|
super({
|
|
247
247
|
id: 'workbench.action.localHistory.restoreViaPicker',
|
|
248
|
-
title: ( localize2(
|
|
248
|
+
title: ( localize2(6723, 'Find Entry to Restore')),
|
|
249
249
|
f1: true,
|
|
250
250
|
category: LOCAL_HISTORY_CATEGORY,
|
|
251
251
|
precondition: CTX_LOCAL_HISTORY_ENABLED
|
|
@@ -267,7 +267,7 @@ registerAction2(class extends Action2 {
|
|
|
267
267
|
resourcePicker.show();
|
|
268
268
|
const resources = await workingCopyHistoryService.getAll(cts.token);
|
|
269
269
|
resourcePicker.busy = false;
|
|
270
|
-
resourcePicker.placeholder = ( localize(
|
|
270
|
+
resourcePicker.placeholder = ( localize(6724, "Select the file to show local history for"));
|
|
271
271
|
resourcePicker.matchOnLabel = true;
|
|
272
272
|
resourcePicker.matchOnDescription = true;
|
|
273
273
|
resourcePicker.items = ( (resources.map(resource => ({
|
|
@@ -289,7 +289,7 @@ registerAction2(class extends Action2 {
|
|
|
289
289
|
entryPicker.show();
|
|
290
290
|
const entries = await workingCopyHistoryService.getEntries(resource, cts.token);
|
|
291
291
|
entryPicker.busy = false;
|
|
292
|
-
entryPicker.placeholder = ( localize(
|
|
292
|
+
entryPicker.placeholder = ( localize(6725, "Select the local history entry to open"));
|
|
293
293
|
entryPicker.matchOnLabel = true;
|
|
294
294
|
entryPicker.matchOnDescription = true;
|
|
295
295
|
entryPicker.items = ( (Array.from(entries).reverse().map(entry => ({
|
|
@@ -310,12 +310,12 @@ registerAction2(class extends Action2 {
|
|
|
310
310
|
return openEntry(selectedItem.entry, editorService);
|
|
311
311
|
}
|
|
312
312
|
});
|
|
313
|
-
MenuRegistry.appendMenuItem(MenuId.TimelineTitle, { command: { id: 'workbench.action.localHistory.restoreViaPicker', title: ( localize2(
|
|
313
|
+
MenuRegistry.appendMenuItem(MenuId.TimelineTitle, { command: { id: 'workbench.action.localHistory.restoreViaPicker', title: ( localize2(6726, 'Local History: Find Entry to Restore...')) }, group: 'submenu', order: 1, when: CTX_LOCAL_HISTORY_ENABLED });
|
|
314
314
|
registerAction2(class extends Action2 {
|
|
315
315
|
constructor() {
|
|
316
316
|
super({
|
|
317
317
|
id: 'workbench.action.localHistory.rename',
|
|
318
|
-
title: ( localize2(
|
|
318
|
+
title: ( localize2(6727, 'Rename')),
|
|
319
319
|
menu: {
|
|
320
320
|
id: MenuId.TimelineItemContext,
|
|
321
321
|
group: '5_edit',
|
|
@@ -330,9 +330,9 @@ registerAction2(class extends Action2 {
|
|
|
330
330
|
const { entry } = await findLocalHistoryEntry(workingCopyHistoryService, item);
|
|
331
331
|
if (entry) {
|
|
332
332
|
const inputBox = quickInputService.createInputBox();
|
|
333
|
-
inputBox.title = ( localize(
|
|
333
|
+
inputBox.title = ( localize(6728, "Rename Local History Entry"));
|
|
334
334
|
inputBox.ignoreFocusOut = true;
|
|
335
|
-
inputBox.placeholder = ( localize(
|
|
335
|
+
inputBox.placeholder = ( localize(6729, "Enter the new name of the local history entry"));
|
|
336
336
|
inputBox.value = SaveSourceRegistry.getSourceLabel(entry.source);
|
|
337
337
|
inputBox.show();
|
|
338
338
|
inputBox.onDidAccept(() => {
|
|
@@ -348,7 +348,7 @@ registerAction2(class extends Action2 {
|
|
|
348
348
|
constructor() {
|
|
349
349
|
super({
|
|
350
350
|
id: 'workbench.action.localHistory.delete',
|
|
351
|
-
title: ( localize2(
|
|
351
|
+
title: ( localize2(6730, 'Delete')),
|
|
352
352
|
menu: {
|
|
353
353
|
id: MenuId.TimelineItemContext,
|
|
354
354
|
group: '5_edit',
|
|
@@ -366,13 +366,13 @@ registerAction2(class extends Action2 {
|
|
|
366
366
|
const { confirmed } = await dialogService.confirm({
|
|
367
367
|
type: 'warning',
|
|
368
368
|
message: ( localize(
|
|
369
|
-
|
|
369
|
+
6731,
|
|
370
370
|
"Do you want to delete the local history entry of '{0}' from {1}?",
|
|
371
371
|
entry.workingCopy.name,
|
|
372
372
|
toLocalHistoryEntryDateLabel(entry.timestamp)
|
|
373
373
|
)),
|
|
374
|
-
detail: ( localize(
|
|
375
|
-
primaryButton: ( localize(
|
|
374
|
+
detail: ( localize(6732, "This action is irreversible!")),
|
|
375
|
+
primaryButton: ( localize(6733, "&&Delete")),
|
|
376
376
|
});
|
|
377
377
|
if (!confirmed) {
|
|
378
378
|
return;
|
|
@@ -386,7 +386,7 @@ registerAction2(class extends Action2 {
|
|
|
386
386
|
constructor() {
|
|
387
387
|
super({
|
|
388
388
|
id: 'workbench.action.localHistory.deleteAll',
|
|
389
|
-
title: ( localize2(
|
|
389
|
+
title: ( localize2(6734, 'Delete All')),
|
|
390
390
|
f1: true,
|
|
391
391
|
category: LOCAL_HISTORY_CATEGORY,
|
|
392
392
|
precondition: CTX_LOCAL_HISTORY_ENABLED
|
|
@@ -397,9 +397,9 @@ registerAction2(class extends Action2 {
|
|
|
397
397
|
const workingCopyHistoryService = accessor.get(IWorkingCopyHistoryService);
|
|
398
398
|
const { confirmed } = await dialogService.confirm({
|
|
399
399
|
type: 'warning',
|
|
400
|
-
message: ( localize(
|
|
401
|
-
detail: ( localize(
|
|
402
|
-
primaryButton: ( localize(
|
|
400
|
+
message: ( localize(6735, "Do you want to delete all entries of all files in local history?")),
|
|
401
|
+
detail: ( localize(6736, "This action is irreversible!")),
|
|
402
|
+
primaryButton: ( localize(6737, "&&Delete All")),
|
|
403
403
|
});
|
|
404
404
|
if (!confirmed) {
|
|
405
405
|
return;
|
|
@@ -411,7 +411,7 @@ registerAction2(class extends Action2 {
|
|
|
411
411
|
constructor() {
|
|
412
412
|
super({
|
|
413
413
|
id: 'workbench.action.localHistory.create',
|
|
414
|
-
title: ( localize2(
|
|
414
|
+
title: ( localize2(6738, 'Create Entry')),
|
|
415
415
|
f1: true,
|
|
416
416
|
category: LOCAL_HISTORY_CATEGORY,
|
|
417
417
|
precondition: ( (ContextKeyExpr.and(CTX_LOCAL_HISTORY_ENABLED, ActiveEditorContext)))
|
|
@@ -428,10 +428,10 @@ registerAction2(class extends Action2 {
|
|
|
428
428
|
return;
|
|
429
429
|
}
|
|
430
430
|
const inputBox = quickInputService.createInputBox();
|
|
431
|
-
inputBox.title = ( localize(
|
|
431
|
+
inputBox.title = ( localize(6739, "Create Local History Entry"));
|
|
432
432
|
inputBox.ignoreFocusOut = true;
|
|
433
433
|
inputBox.placeholder = ( localize(
|
|
434
|
-
|
|
434
|
+
6740,
|
|
435
435
|
"Enter the new name of the local history entry for '{0}'",
|
|
436
436
|
labelService.getUriBasenameLabel(resource)
|
|
437
437
|
));
|
|
@@ -450,7 +450,7 @@ async function openEntry(entry, editorService) {
|
|
|
450
450
|
await editorService.openEditor({
|
|
451
451
|
resource,
|
|
452
452
|
label: ( localize(
|
|
453
|
-
|
|
453
|
+
6741,
|
|
454
454
|
"{0} ({1} • {2})",
|
|
455
455
|
entry.workingCopy.name,
|
|
456
456
|
SaveSourceRegistry.getSourceLabel(entry.source),
|
|
@@ -471,7 +471,7 @@ function toDiffEditorArguments(arg1, arg2) {
|
|
|
471
471
|
const resource = arg2;
|
|
472
472
|
modifiedResource = resource;
|
|
473
473
|
label = ( localize(
|
|
474
|
-
|
|
474
|
+
6742,
|
|
475
475
|
"{0} ({1} • {2}) ↔ {3}",
|
|
476
476
|
arg1.workingCopy.name,
|
|
477
477
|
SaveSourceRegistry.getSourceLabel(arg1.source),
|
|
@@ -483,7 +483,7 @@ function toDiffEditorArguments(arg1, arg2) {
|
|
|
483
483
|
const modified = arg2;
|
|
484
484
|
modifiedResource = LocalHistoryFileSystemProvider.toLocalHistoryFileSystem({ location: modified.location, associatedResource: modified.workingCopy.resource });
|
|
485
485
|
label = ( localize(
|
|
486
|
-
|
|
486
|
+
6743,
|
|
487
487
|
"{0} ({1} • {2}) ↔ {3} ({4} • {5})",
|
|
488
488
|
arg1.workingCopy.name,
|
|
489
489
|
SaveSourceRegistry.getSourceLabel(arg1.source),
|
|
@@ -34,7 +34,7 @@ let LocalHistoryTimeline = class LocalHistoryTimeline extends Disposable {
|
|
|
34
34
|
this.configurationService = configurationService;
|
|
35
35
|
this.contextService = contextService;
|
|
36
36
|
this.id = 'timeline.localHistory';
|
|
37
|
-
this.label = ( localize(
|
|
37
|
+
this.label = ( localize(6744, "Local History"));
|
|
38
38
|
this.scheme = '*';
|
|
39
39
|
this._onDidChange = this._register(( (new Emitter())));
|
|
40
40
|
this.onDidChange = this._onDidChange.event;
|
|
@@ -17,8 +17,8 @@ import { ResourceContextKey } from 'vscode/vscode/vs/workbench/common/contextkey
|
|
|
17
17
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
18
18
|
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
19
19
|
|
|
20
|
-
const timelineViewIcon = registerIcon('timeline-view-icon', Codicon.history, ( localize(
|
|
21
|
-
const timelineOpenIcon = registerIcon('timeline-open', Codicon.history, ( localize(
|
|
20
|
+
const timelineViewIcon = registerIcon('timeline-view-icon', Codicon.history, ( localize(2983, 'View icon of the timeline view.')));
|
|
21
|
+
const timelineOpenIcon = registerIcon('timeline-open', Codicon.history, ( localize(2984, 'Icon for the open timeline action.')));
|
|
22
22
|
class TimelinePaneDescriptor {
|
|
23
23
|
constructor() {
|
|
24
24
|
this.id = TimelinePaneId;
|
|
@@ -39,14 +39,14 @@ const configurationRegistry = ( (Registry.as(Extensions.Configuration)));
|
|
|
39
39
|
configurationRegistry.registerConfiguration({
|
|
40
40
|
id: 'timeline',
|
|
41
41
|
order: 1001,
|
|
42
|
-
title: ( localize(
|
|
42
|
+
title: ( localize(2985, "Timeline")),
|
|
43
43
|
type: 'object',
|
|
44
44
|
properties: {
|
|
45
45
|
'timeline.pageSize': {
|
|
46
46
|
type: ['number', 'null'],
|
|
47
47
|
default: null,
|
|
48
48
|
markdownDescription: ( localize(
|
|
49
|
-
|
|
49
|
+
2986,
|
|
50
50
|
"The number of items to show in the Timeline view by default and when loading more items. Setting to `null` (the default) will automatically choose a page size based on the visible area of the Timeline view."
|
|
51
51
|
)),
|
|
52
52
|
},
|
|
@@ -54,7 +54,7 @@ configurationRegistry.registerConfiguration({
|
|
|
54
54
|
type: 'boolean',
|
|
55
55
|
default: false,
|
|
56
56
|
description: ( localize(
|
|
57
|
-
|
|
57
|
+
2987,
|
|
58
58
|
"Experimental. Controls whether the Timeline view will load the next page of items when you scroll to the end of the list."
|
|
59
59
|
)),
|
|
60
60
|
},
|
|
@@ -64,7 +64,7 @@ configurationRegistry.registerConfiguration({
|
|
|
64
64
|
var OpenTimelineAction;
|
|
65
65
|
( ((function(OpenTimelineAction) {
|
|
66
66
|
OpenTimelineAction.ID = 'files.openTimeline';
|
|
67
|
-
OpenTimelineAction.LABEL = ( localize(
|
|
67
|
+
OpenTimelineAction.LABEL = ( localize(2988, "Open Timeline"));
|
|
68
68
|
function handler() {
|
|
69
69
|
return (accessor, arg) => {
|
|
70
70
|
const service = accessor.get(ITimelineService);
|
|
@@ -88,10 +88,10 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, ({
|
|
|
88
88
|
TimelineHasProviderContext
|
|
89
89
|
)))
|
|
90
90
|
}));
|
|
91
|
-
const timelineFilter = registerIcon('timeline-filter', Codicon.filter, ( localize(
|
|
91
|
+
const timelineFilter = registerIcon('timeline-filter', Codicon.filter, ( localize(2989, 'Icon for the filter timeline action.')));
|
|
92
92
|
MenuRegistry.appendMenuItem(MenuId.TimelineTitle, {
|
|
93
93
|
submenu: MenuId.TimelineFilterSubMenu,
|
|
94
|
-
title: ( localize(
|
|
94
|
+
title: ( localize(2990, "Filter Timeline")),
|
|
95
95
|
group: 'navigation',
|
|
96
96
|
order: 100,
|
|
97
97
|
icon: timelineFilter
|
|
@@ -175,7 +175,7 @@ class LoadMoreCommand {
|
|
|
175
175
|
return this.label;
|
|
176
176
|
}
|
|
177
177
|
get label() {
|
|
178
|
-
return this.loading ? ( localize(
|
|
178
|
+
return this.loading ? ( localize(6694, "Loading...")) : ( localize(6695, "Load more"));
|
|
179
179
|
}
|
|
180
180
|
get themeIcon() {
|
|
181
181
|
return undefined;
|
|
@@ -184,7 +184,7 @@ class LoadMoreCommand {
|
|
|
184
184
|
const TimelineFollowActiveEditorContext = ( (new RawContextKey('timelineFollowActiveEditor', true, true)));
|
|
185
185
|
const TimelineExcludeSources = ( (new RawContextKey('timelineExcludeSources', '[]', true)));
|
|
186
186
|
let TimelinePane = class TimelinePane extends ViewPane {
|
|
187
|
-
static { this.TITLE = ( localize2(
|
|
187
|
+
static { this.TITLE = ( localize2(6696, "Timeline")); }
|
|
188
188
|
constructor(options, keybindingService, contextMenuService, contextKeyService, configurationService, storageService, viewDescriptorService, instantiationService, editorService, commandService, progressService, timelineService, openerService, themeService, telemetryService, hoverService, labelService, uriIdentityService, extensionService) {
|
|
189
189
|
super({ ...options, titleMenuId: MenuId.TimelineTitle }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
|
|
190
190
|
this.storageService = storageService;
|
|
@@ -620,7 +620,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
620
620
|
this._isEmpty = !this.hasVisibleItems;
|
|
621
621
|
if (this.uri === undefined) {
|
|
622
622
|
this.updateFilename(undefined);
|
|
623
|
-
this.message = ( localize(
|
|
623
|
+
this.message = ( localize(6697, "The active editor cannot provide timeline information."));
|
|
624
624
|
}
|
|
625
625
|
else if (this._isEmpty) {
|
|
626
626
|
if (this.pendingRequests.size !== 0) {
|
|
@@ -630,24 +630,24 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
630
630
|
this.updateFilename(this.labelService.getUriBasenameLabel(this.uri));
|
|
631
631
|
const scmProviderCount = this.contextKeyService.getContextKeyValue('scm.providerCount');
|
|
632
632
|
if (this.timelineService.getSources().filter(({ id }) => !( (this.excludedSources.has(id)))).length === 0) {
|
|
633
|
-
this.message = ( localize(
|
|
633
|
+
this.message = ( localize(6698, "All timeline sources have been filtered out."));
|
|
634
634
|
}
|
|
635
635
|
else {
|
|
636
636
|
if (this.configurationService.getValue('workbench.localHistory.enabled') && !( (this.excludedSources.has('timeline.localHistory')))) {
|
|
637
637
|
this.message = ( localize(
|
|
638
|
-
|
|
638
|
+
6699,
|
|
639
639
|
"Local History will track recent changes as you save them unless the file has been excluded or is too large."
|
|
640
640
|
));
|
|
641
641
|
}
|
|
642
642
|
else if (this.excludedSources.size > 0) {
|
|
643
|
-
this.message = ( localize(
|
|
643
|
+
this.message = ( localize(6700, "No filtered timeline information was provided."));
|
|
644
644
|
}
|
|
645
645
|
else {
|
|
646
|
-
this.message = ( localize(
|
|
646
|
+
this.message = ( localize(6701, "No timeline information was provided."));
|
|
647
647
|
}
|
|
648
648
|
}
|
|
649
649
|
if (!scmProviderCount || scmProviderCount === 0) {
|
|
650
|
-
this.message += ' ' + ( localize(
|
|
650
|
+
this.message += ' ' + ( localize(6702, "Source Control has not been configured."));
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
653
|
}
|
|
@@ -704,7 +704,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
704
704
|
container.classList.add('tree-explorer-viewlet-tree-view', 'timeline-tree-view');
|
|
705
705
|
this.$message = append(this.$container, $('.message'));
|
|
706
706
|
this.$message.classList.add('timeline-subtle');
|
|
707
|
-
this.message = ( localize(
|
|
707
|
+
this.message = ( localize(6697, "The active editor cannot provide timeline information."));
|
|
708
708
|
this.$tree = document.createElement('div');
|
|
709
709
|
this.$tree.classList.add('customview-tree', 'file-icon-themable-tree', 'hide-arrows');
|
|
710
710
|
container.appendChild(this.$tree);
|
|
@@ -721,7 +721,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
721
721
|
if (isLoadMoreCommand(element)) {
|
|
722
722
|
return element.ariaLabel;
|
|
723
723
|
}
|
|
724
|
-
return element.accessibilityInformation ? element.accessibilityInformation.label : ( localize(
|
|
724
|
+
return element.accessibilityInformation ? element.accessibilityInformation.label : ( localize(6703, "{0}: {1}", element.relativeTimeFullWord ?? '', element.label));
|
|
725
725
|
},
|
|
726
726
|
getRole(element) {
|
|
727
727
|
if (isLoadMoreCommand(element)) {
|
|
@@ -730,7 +730,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
730
730
|
return element.accessibilityInformation && element.accessibilityInformation.role ? element.accessibilityInformation.role : 'treeitem';
|
|
731
731
|
},
|
|
732
732
|
getWidgetAriaLabel() {
|
|
733
|
-
return ( localize(
|
|
733
|
+
return ( localize(6696, "Timeline"));
|
|
734
734
|
}
|
|
735
735
|
},
|
|
736
736
|
keyboardNavigationLabelProvider: ( (new TimelineKeyboardNavigationLabelProvider())),
|
|
@@ -791,7 +791,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
791
791
|
setLoadingUriMessage() {
|
|
792
792
|
const file = this.uri && this.labelService.getUriBasenameLabel(this.uri);
|
|
793
793
|
this.updateFilename(file);
|
|
794
|
-
this.message = file ? ( localize(
|
|
794
|
+
this.message = file ? ( localize(6704, "Loading timeline for {0}...", file)) : '';
|
|
795
795
|
}
|
|
796
796
|
onContextMenu(commands, treeEvent) {
|
|
797
797
|
const item = treeEvent.element;
|
|
@@ -979,9 +979,9 @@ TimelineTreeRenderer = ( (__decorate([
|
|
|
979
979
|
( (__param(1, IInstantiationService))),
|
|
980
980
|
( (__param(2, IThemeService)))
|
|
981
981
|
], TimelineTreeRenderer)));
|
|
982
|
-
const timelineRefresh = registerIcon('timeline-refresh', Codicon.refresh, ( localize(
|
|
983
|
-
const timelinePin = registerIcon('timeline-pin', Codicon.pin, ( localize(
|
|
984
|
-
const timelineUnpin = registerIcon('timeline-unpin', Codicon.pinned, ( localize(
|
|
982
|
+
const timelineRefresh = registerIcon('timeline-refresh', Codicon.refresh, ( localize(6705, 'Icon for the refresh timeline action.')));
|
|
983
|
+
const timelinePin = registerIcon('timeline-pin', Codicon.pin, ( localize(6706, 'Icon for the pin timeline action.')));
|
|
984
|
+
const timelineUnpin = registerIcon('timeline-unpin', Codicon.pinned, ( localize(6707, 'Icon for the unpin timeline action.')));
|
|
985
985
|
let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
986
986
|
constructor(pane, timelineService, storageService, contextKeyService, menuService) {
|
|
987
987
|
super();
|
|
@@ -995,9 +995,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
|
995
995
|
constructor() {
|
|
996
996
|
super({
|
|
997
997
|
id: 'timeline.refresh',
|
|
998
|
-
title: ( localize2(
|
|
998
|
+
title: ( localize2(6708, "Refresh")),
|
|
999
999
|
icon: timelineRefresh,
|
|
1000
|
-
category: ( localize2(
|
|
1000
|
+
category: ( localize2(6696, "Timeline")),
|
|
1001
1001
|
menu: {
|
|
1002
1002
|
id: MenuId.TimelineTitle,
|
|
1003
1003
|
group: 'navigation',
|
|
@@ -1013,9 +1013,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
|
1013
1013
|
this._register(MenuRegistry.appendMenuItem(MenuId.TimelineTitle, ({
|
|
1014
1014
|
command: {
|
|
1015
1015
|
id: 'timeline.toggleFollowActiveEditor',
|
|
1016
|
-
title: ( localize2(
|
|
1016
|
+
title: ( localize2(6709, 'Pin the Current Timeline')),
|
|
1017
1017
|
icon: timelinePin,
|
|
1018
|
-
category: ( localize2(
|
|
1018
|
+
category: ( localize2(6696, "Timeline")),
|
|
1019
1019
|
},
|
|
1020
1020
|
group: 'navigation',
|
|
1021
1021
|
order: 98,
|
|
@@ -1024,9 +1024,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
|
1024
1024
|
this._register(MenuRegistry.appendMenuItem(MenuId.TimelineTitle, ({
|
|
1025
1025
|
command: {
|
|
1026
1026
|
id: 'timeline.toggleFollowActiveEditor',
|
|
1027
|
-
title: ( localize2(
|
|
1027
|
+
title: ( localize2(6710, 'Unpin the Current Timeline')),
|
|
1028
1028
|
icon: timelineUnpin,
|
|
1029
|
-
category: ( localize2(
|
|
1029
|
+
category: ( localize2(6696, "Timeline")),
|
|
1030
1030
|
},
|
|
1031
1031
|
group: 'navigation',
|
|
1032
1032
|
order: 98,
|