@codingame/monaco-vscode-timeline-service-override 11.1.1 → 11.1.2
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": "11.1.
|
|
3
|
+
"version": "11.1.2",
|
|
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@11.1.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@11.1.2"
|
|
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(10741, "Icon for a local history entry in the timeline view.")));
|
|
27
|
+
const LOCAL_HISTORY_ICON_RESTORE = registerIcon('localHistory-restore', Codicon.check, ( localize(10742, "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 };
|
|
@@ -30,9 +30,9 @@ import { ResourceSet } from 'vscode/vscode/vs/base/common/map';
|
|
|
30
30
|
import { IHistoryService } from 'vscode/vscode/vs/workbench/services/history/common/history.service';
|
|
31
31
|
import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
32
32
|
|
|
33
|
-
const LOCAL_HISTORY_CATEGORY = ( localize2(
|
|
33
|
+
const LOCAL_HISTORY_CATEGORY = ( localize2(6680, 'Local History'));
|
|
34
34
|
const CTX_LOCAL_HISTORY_ENABLED = ( (ContextKeyExpr.has('config.workbench.localHistory.enabled')));
|
|
35
|
-
const COMPARE_WITH_FILE_LABEL = ( localize2(
|
|
35
|
+
const COMPARE_WITH_FILE_LABEL = ( localize2(6681, 'Compare with File'));
|
|
36
36
|
registerAction2(class extends Action2 {
|
|
37
37
|
constructor() {
|
|
38
38
|
super({
|
|
@@ -59,7 +59,7 @@ registerAction2(class extends Action2 {
|
|
|
59
59
|
constructor() {
|
|
60
60
|
super({
|
|
61
61
|
id: 'workbench.action.localHistory.compareWithPrevious',
|
|
62
|
-
title: ( localize2(
|
|
62
|
+
title: ( localize2(6682, 'Compare with Previous')),
|
|
63
63
|
menu: {
|
|
64
64
|
id: MenuId.TimelineItemContext,
|
|
65
65
|
group: '1_compare',
|
|
@@ -87,7 +87,7 @@ registerAction2(class extends Action2 {
|
|
|
87
87
|
constructor() {
|
|
88
88
|
super({
|
|
89
89
|
id: 'workbench.action.localHistory.selectForCompare',
|
|
90
|
-
title: ( localize2(
|
|
90
|
+
title: ( localize2(6683, 'Select for Compare')),
|
|
91
91
|
menu: {
|
|
92
92
|
id: MenuId.TimelineItemContext,
|
|
93
93
|
group: '2_compare_with',
|
|
@@ -110,7 +110,7 @@ registerAction2(class extends Action2 {
|
|
|
110
110
|
constructor() {
|
|
111
111
|
super({
|
|
112
112
|
id: 'workbench.action.localHistory.compareWithSelected',
|
|
113
|
-
title: ( localize2(
|
|
113
|
+
title: ( localize2(6684, 'Compare with Selected')),
|
|
114
114
|
menu: {
|
|
115
115
|
id: MenuId.TimelineItemContext,
|
|
116
116
|
group: '2_compare_with',
|
|
@@ -139,7 +139,7 @@ registerAction2(class extends Action2 {
|
|
|
139
139
|
constructor() {
|
|
140
140
|
super({
|
|
141
141
|
id: 'workbench.action.localHistory.open',
|
|
142
|
-
title: ( localize2(
|
|
142
|
+
title: ( localize2(6685, 'Show Contents')),
|
|
143
143
|
menu: {
|
|
144
144
|
id: MenuId.TimelineItemContext,
|
|
145
145
|
group: '3_contents',
|
|
@@ -157,7 +157,7 @@ registerAction2(class extends Action2 {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
});
|
|
160
|
-
const RESTORE_CONTENTS_LABEL = ( localize2(
|
|
160
|
+
const RESTORE_CONTENTS_LABEL = ( localize2(6686, 'Restore Contents'));
|
|
161
161
|
registerAction2(class extends Action2 {
|
|
162
162
|
constructor() {
|
|
163
163
|
super({
|
|
@@ -194,7 +194,7 @@ registerAction2(class extends Action2 {
|
|
|
194
194
|
return restore(accessor, item);
|
|
195
195
|
}
|
|
196
196
|
});
|
|
197
|
-
const restoreSaveSource = SaveSourceRegistry.registerSource('localHistoryRestore.source', ( localize(
|
|
197
|
+
const restoreSaveSource = SaveSourceRegistry.registerSource('localHistoryRestore.source', ( localize(6687, "File Restored")));
|
|
198
198
|
async function restore(accessor, item) {
|
|
199
199
|
const fileService = accessor.get(IFileService);
|
|
200
200
|
const dialogService = accessor.get(IDialogService);
|
|
@@ -206,12 +206,12 @@ async function restore(accessor, item) {
|
|
|
206
206
|
const { confirmed } = await dialogService.confirm({
|
|
207
207
|
type: 'warning',
|
|
208
208
|
message: ( localize(
|
|
209
|
-
|
|
209
|
+
6688,
|
|
210
210
|
"Do you want to restore the contents of '{0}'?",
|
|
211
211
|
basename(entry.workingCopy.resource)
|
|
212
212
|
)),
|
|
213
|
-
detail: ( localize(
|
|
214
|
-
primaryButton: ( localize(
|
|
213
|
+
detail: ( localize(6689, "Restoring will discard any unsaved changes.")),
|
|
214
|
+
primaryButton: ( localize(6690, "&&Restore"))
|
|
215
215
|
});
|
|
216
216
|
if (!confirmed) {
|
|
217
217
|
return;
|
|
@@ -228,7 +228,7 @@ async function restore(accessor, item) {
|
|
|
228
228
|
await fileService.cloneFile(entry.location, entry.workingCopy.resource);
|
|
229
229
|
}
|
|
230
230
|
catch (error) {
|
|
231
|
-
await dialogService.error(( localize(
|
|
231
|
+
await dialogService.error(( localize(6691, "Unable to restore '{0}'.", basename(entry.workingCopy.resource))), toErrorMessage(error));
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
234
234
|
if (workingCopies) {
|
|
@@ -248,7 +248,7 @@ registerAction2(class extends Action2 {
|
|
|
248
248
|
constructor() {
|
|
249
249
|
super({
|
|
250
250
|
id: 'workbench.action.localHistory.restoreViaPicker',
|
|
251
|
-
title: ( localize2(
|
|
251
|
+
title: ( localize2(6692, 'Find Entry to Restore')),
|
|
252
252
|
f1: true,
|
|
253
253
|
category: LOCAL_HISTORY_CATEGORY,
|
|
254
254
|
precondition: CTX_LOCAL_HISTORY_ENABLED
|
|
@@ -283,7 +283,7 @@ registerAction2(class extends Action2 {
|
|
|
283
283
|
}
|
|
284
284
|
resourcesSortedByRecency.push(...[...resources].sort((r1, r2) => r1.fsPath < r2.fsPath ? -1 : 1));
|
|
285
285
|
resourcePicker.busy = false;
|
|
286
|
-
resourcePicker.placeholder = ( localize(
|
|
286
|
+
resourcePicker.placeholder = ( localize(6693, "Select the file to show local history for"));
|
|
287
287
|
resourcePicker.matchOnLabel = true;
|
|
288
288
|
resourcePicker.matchOnDescription = true;
|
|
289
289
|
resourcePicker.items = ( ([...resourcesSortedByRecency].map(resource => ({
|
|
@@ -307,7 +307,7 @@ registerAction2(class extends Action2 {
|
|
|
307
307
|
const entries = await workingCopyHistoryService.getEntries(resource, cts.token);
|
|
308
308
|
entryPicker.busy = false;
|
|
309
309
|
entryPicker.canAcceptInBackground = true;
|
|
310
|
-
entryPicker.placeholder = ( localize(
|
|
310
|
+
entryPicker.placeholder = ( localize(6694, "Select the local history entry to open"));
|
|
311
311
|
entryPicker.matchOnLabel = true;
|
|
312
312
|
entryPicker.matchOnDescription = true;
|
|
313
313
|
entryPicker.items = ( (Array.from(entries).reverse().map(entry => ({
|
|
@@ -331,12 +331,12 @@ registerAction2(class extends Action2 {
|
|
|
331
331
|
}));
|
|
332
332
|
}
|
|
333
333
|
});
|
|
334
|
-
MenuRegistry.appendMenuItem(MenuId.TimelineTitle, { command: { id: 'workbench.action.localHistory.restoreViaPicker', title: ( localize2(
|
|
334
|
+
MenuRegistry.appendMenuItem(MenuId.TimelineTitle, { command: { id: 'workbench.action.localHistory.restoreViaPicker', title: ( localize2(6695, 'Local History: Find Entry to Restore...')) }, group: 'submenu', order: 1, when: CTX_LOCAL_HISTORY_ENABLED });
|
|
335
335
|
registerAction2(class extends Action2 {
|
|
336
336
|
constructor() {
|
|
337
337
|
super({
|
|
338
338
|
id: 'workbench.action.localHistory.rename',
|
|
339
|
-
title: ( localize2(
|
|
339
|
+
title: ( localize2(6696, 'Rename')),
|
|
340
340
|
menu: {
|
|
341
341
|
id: MenuId.TimelineItemContext,
|
|
342
342
|
group: '5_edit',
|
|
@@ -352,9 +352,9 @@ registerAction2(class extends Action2 {
|
|
|
352
352
|
if (entry) {
|
|
353
353
|
const disposables = ( (new DisposableStore()));
|
|
354
354
|
const inputBox = disposables.add(quickInputService.createInputBox());
|
|
355
|
-
inputBox.title = ( localize(
|
|
355
|
+
inputBox.title = ( localize(6697, "Rename Local History Entry"));
|
|
356
356
|
inputBox.ignoreFocusOut = true;
|
|
357
|
-
inputBox.placeholder = ( localize(
|
|
357
|
+
inputBox.placeholder = ( localize(6698, "Enter the new name of the local history entry"));
|
|
358
358
|
inputBox.value = SaveSourceRegistry.getSourceLabel(entry.source);
|
|
359
359
|
inputBox.show();
|
|
360
360
|
disposables.add(inputBox.onDidAccept(() => {
|
|
@@ -370,7 +370,7 @@ registerAction2(class extends Action2 {
|
|
|
370
370
|
constructor() {
|
|
371
371
|
super({
|
|
372
372
|
id: 'workbench.action.localHistory.delete',
|
|
373
|
-
title: ( localize2(
|
|
373
|
+
title: ( localize2(6699, 'Delete')),
|
|
374
374
|
menu: {
|
|
375
375
|
id: MenuId.TimelineItemContext,
|
|
376
376
|
group: '5_edit',
|
|
@@ -388,13 +388,13 @@ registerAction2(class extends Action2 {
|
|
|
388
388
|
const { confirmed } = await dialogService.confirm({
|
|
389
389
|
type: 'warning',
|
|
390
390
|
message: ( localize(
|
|
391
|
-
|
|
391
|
+
6700,
|
|
392
392
|
"Do you want to delete the local history entry of '{0}' from {1}?",
|
|
393
393
|
entry.workingCopy.name,
|
|
394
394
|
toLocalHistoryEntryDateLabel(entry.timestamp)
|
|
395
395
|
)),
|
|
396
|
-
detail: ( localize(
|
|
397
|
-
primaryButton: ( localize(
|
|
396
|
+
detail: ( localize(6701, "This action is irreversible!")),
|
|
397
|
+
primaryButton: ( localize(6702, "&&Delete")),
|
|
398
398
|
});
|
|
399
399
|
if (!confirmed) {
|
|
400
400
|
return;
|
|
@@ -408,7 +408,7 @@ registerAction2(class extends Action2 {
|
|
|
408
408
|
constructor() {
|
|
409
409
|
super({
|
|
410
410
|
id: 'workbench.action.localHistory.deleteAll',
|
|
411
|
-
title: ( localize2(
|
|
411
|
+
title: ( localize2(6703, 'Delete All')),
|
|
412
412
|
f1: true,
|
|
413
413
|
category: LOCAL_HISTORY_CATEGORY,
|
|
414
414
|
precondition: CTX_LOCAL_HISTORY_ENABLED
|
|
@@ -419,9 +419,9 @@ registerAction2(class extends Action2 {
|
|
|
419
419
|
const workingCopyHistoryService = accessor.get(IWorkingCopyHistoryService);
|
|
420
420
|
const { confirmed } = await dialogService.confirm({
|
|
421
421
|
type: 'warning',
|
|
422
|
-
message: ( localize(
|
|
423
|
-
detail: ( localize(
|
|
424
|
-
primaryButton: ( localize(
|
|
422
|
+
message: ( localize(6704, "Do you want to delete all entries of all files in local history?")),
|
|
423
|
+
detail: ( localize(6705, "This action is irreversible!")),
|
|
424
|
+
primaryButton: ( localize(6706, "&&Delete All")),
|
|
425
425
|
});
|
|
426
426
|
if (!confirmed) {
|
|
427
427
|
return;
|
|
@@ -433,7 +433,7 @@ registerAction2(class extends Action2 {
|
|
|
433
433
|
constructor() {
|
|
434
434
|
super({
|
|
435
435
|
id: 'workbench.action.localHistory.create',
|
|
436
|
-
title: ( localize2(
|
|
436
|
+
title: ( localize2(6707, 'Create Entry')),
|
|
437
437
|
f1: true,
|
|
438
438
|
category: LOCAL_HISTORY_CATEGORY,
|
|
439
439
|
precondition: ( (ContextKeyExpr.and(CTX_LOCAL_HISTORY_ENABLED, ActiveEditorContext)))
|
|
@@ -451,10 +451,10 @@ registerAction2(class extends Action2 {
|
|
|
451
451
|
}
|
|
452
452
|
const disposables = ( (new DisposableStore()));
|
|
453
453
|
const inputBox = disposables.add(quickInputService.createInputBox());
|
|
454
|
-
inputBox.title = ( localize(
|
|
454
|
+
inputBox.title = ( localize(6708, "Create Local History Entry"));
|
|
455
455
|
inputBox.ignoreFocusOut = true;
|
|
456
456
|
inputBox.placeholder = ( localize(
|
|
457
|
-
|
|
457
|
+
6709,
|
|
458
458
|
"Enter the new name of the local history entry for '{0}'",
|
|
459
459
|
labelService.getUriBasenameLabel(resource)
|
|
460
460
|
));
|
|
@@ -473,7 +473,7 @@ async function openEntry(entry, editorService, options) {
|
|
|
473
473
|
await editorService.openEditor({
|
|
474
474
|
resource,
|
|
475
475
|
label: ( localize(
|
|
476
|
-
|
|
476
|
+
6710,
|
|
477
477
|
"{0} ({1} • {2})",
|
|
478
478
|
entry.workingCopy.name,
|
|
479
479
|
SaveSourceRegistry.getSourceLabel(entry.source),
|
|
@@ -495,7 +495,7 @@ function toDiffEditorArguments(arg1, arg2, options) {
|
|
|
495
495
|
const resource = arg2;
|
|
496
496
|
modifiedResource = resource;
|
|
497
497
|
label = ( localize(
|
|
498
|
-
|
|
498
|
+
6711,
|
|
499
499
|
"{0} ({1} • {2}) ↔ {3}",
|
|
500
500
|
arg1.workingCopy.name,
|
|
501
501
|
SaveSourceRegistry.getSourceLabel(arg1.source),
|
|
@@ -507,7 +507,7 @@ function toDiffEditorArguments(arg1, arg2, options) {
|
|
|
507
507
|
const modified = arg2;
|
|
508
508
|
modifiedResource = LocalHistoryFileSystemProvider.toLocalHistoryFileSystem({ location: modified.location, associatedResource: modified.workingCopy.resource });
|
|
509
509
|
label = ( localize(
|
|
510
|
-
|
|
510
|
+
6712,
|
|
511
511
|
"{0} ({1} • {2}) ↔ {3} ({4} • {5})",
|
|
512
512
|
arg1.workingCopy.name,
|
|
513
513
|
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(6713, "Local History"));
|
|
38
38
|
this.scheme = '*';
|
|
39
39
|
this._onDidChange = this._register(( (new Emitter())));
|
|
40
40
|
this.onDidChange = this._onDidChange.event;
|
|
@@ -16,8 +16,8 @@ import { ResourceContextKey } from 'vscode/vscode/vs/workbench/common/contextkey
|
|
|
16
16
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
17
17
|
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
18
18
|
|
|
19
|
-
const timelineViewIcon = registerIcon('timeline-view-icon', Codicon.history, ( localize(
|
|
20
|
-
const timelineOpenIcon = registerIcon('timeline-open', Codicon.history, ( localize(
|
|
19
|
+
const timelineViewIcon = registerIcon('timeline-view-icon', Codicon.history, ( localize(2987, 'View icon of the timeline view.')));
|
|
20
|
+
const timelineOpenIcon = registerIcon('timeline-open', Codicon.history, ( localize(2988, 'Icon for the open timeline action.')));
|
|
21
21
|
class TimelinePaneDescriptor {
|
|
22
22
|
constructor() {
|
|
23
23
|
this.id = TimelinePaneId;
|
|
@@ -38,14 +38,14 @@ const configurationRegistry = ( (Registry.as(Extensions.Configuration)));
|
|
|
38
38
|
configurationRegistry.registerConfiguration({
|
|
39
39
|
id: 'timeline',
|
|
40
40
|
order: 1001,
|
|
41
|
-
title: ( localize(
|
|
41
|
+
title: ( localize(2989, "Timeline")),
|
|
42
42
|
type: 'object',
|
|
43
43
|
properties: {
|
|
44
44
|
'timeline.pageSize': {
|
|
45
45
|
type: ['number', 'null'],
|
|
46
46
|
default: null,
|
|
47
47
|
markdownDescription: ( localize(
|
|
48
|
-
|
|
48
|
+
2990,
|
|
49
49
|
"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."
|
|
50
50
|
)),
|
|
51
51
|
},
|
|
@@ -53,7 +53,7 @@ configurationRegistry.registerConfiguration({
|
|
|
53
53
|
type: 'boolean',
|
|
54
54
|
default: false,
|
|
55
55
|
description: ( localize(
|
|
56
|
-
|
|
56
|
+
2991,
|
|
57
57
|
"Experimental. Controls whether the Timeline view will load the next page of items when you scroll to the end of the list."
|
|
58
58
|
)),
|
|
59
59
|
},
|
|
@@ -63,7 +63,7 @@ configurationRegistry.registerConfiguration({
|
|
|
63
63
|
var OpenTimelineAction;
|
|
64
64
|
( ((function(OpenTimelineAction) {
|
|
65
65
|
OpenTimelineAction.ID = 'files.openTimeline';
|
|
66
|
-
OpenTimelineAction.LABEL = ( localize(
|
|
66
|
+
OpenTimelineAction.LABEL = ( localize(2992, "Open Timeline"));
|
|
67
67
|
function handler() {
|
|
68
68
|
return (accessor, arg) => {
|
|
69
69
|
const service = accessor.get(ITimelineService);
|
|
@@ -87,10 +87,10 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, ({
|
|
|
87
87
|
TimelineHasProviderContext
|
|
88
88
|
)))
|
|
89
89
|
}));
|
|
90
|
-
const timelineFilter = registerIcon('timeline-filter', Codicon.filter, ( localize(
|
|
90
|
+
const timelineFilter = registerIcon('timeline-filter', Codicon.filter, ( localize(2993, 'Icon for the filter timeline action.')));
|
|
91
91
|
MenuRegistry.appendMenuItem(MenuId.TimelineTitle, {
|
|
92
92
|
submenu: MenuId.TimelineFilterSubMenu,
|
|
93
|
-
title: ( localize(
|
|
93
|
+
title: ( localize(2994, "Filter Timeline")),
|
|
94
94
|
group: 'navigation',
|
|
95
95
|
order: 100,
|
|
96
96
|
icon: timelineFilter
|
|
@@ -174,7 +174,7 @@ class LoadMoreCommand {
|
|
|
174
174
|
return this.label;
|
|
175
175
|
}
|
|
176
176
|
get label() {
|
|
177
|
-
return this.loading ? ( localize(
|
|
177
|
+
return this.loading ? ( localize(6663, "Loading...")) : ( localize(6664, "Load more"));
|
|
178
178
|
}
|
|
179
179
|
get themeIcon() {
|
|
180
180
|
return undefined;
|
|
@@ -183,7 +183,7 @@ class LoadMoreCommand {
|
|
|
183
183
|
const TimelineFollowActiveEditorContext = ( (new RawContextKey('timelineFollowActiveEditor', true, true)));
|
|
184
184
|
const TimelineExcludeSources = ( (new RawContextKey('timelineExcludeSources', '[]', true)));
|
|
185
185
|
let TimelinePane = class TimelinePane extends ViewPane {
|
|
186
|
-
static { this.TITLE = ( localize2(
|
|
186
|
+
static { this.TITLE = ( localize2(6665, "Timeline")); }
|
|
187
187
|
constructor(options, keybindingService, contextMenuService, contextKeyService, configurationService, storageService, viewDescriptorService, instantiationService, editorService, commandService, progressService, timelineService, openerService, themeService, telemetryService, hoverService, labelService, uriIdentityService, extensionService) {
|
|
188
188
|
super({ ...options, titleMenuId: MenuId.TimelineTitle }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
|
|
189
189
|
this.storageService = storageService;
|
|
@@ -619,7 +619,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
619
619
|
this._isEmpty = !this.hasVisibleItems;
|
|
620
620
|
if (this.uri === undefined) {
|
|
621
621
|
this.updateFilename(undefined);
|
|
622
|
-
this.message = ( localize(
|
|
622
|
+
this.message = ( localize(6666, "The active editor cannot provide timeline information."));
|
|
623
623
|
}
|
|
624
624
|
else if (this._isEmpty) {
|
|
625
625
|
if (this.pendingRequests.size !== 0) {
|
|
@@ -629,24 +629,24 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
629
629
|
this.updateFilename(this.labelService.getUriBasenameLabel(this.uri));
|
|
630
630
|
const scmProviderCount = this.contextKeyService.getContextKeyValue('scm.providerCount');
|
|
631
631
|
if (this.timelineService.getSources().filter(({ id }) => !( (this.excludedSources.has(id)))).length === 0) {
|
|
632
|
-
this.message = ( localize(
|
|
632
|
+
this.message = ( localize(6667, "All timeline sources have been filtered out."));
|
|
633
633
|
}
|
|
634
634
|
else {
|
|
635
635
|
if (this.configurationService.getValue('workbench.localHistory.enabled') && !( (this.excludedSources.has('timeline.localHistory')))) {
|
|
636
636
|
this.message = ( localize(
|
|
637
|
-
|
|
637
|
+
6668,
|
|
638
638
|
"Local History will track recent changes as you save them unless the file has been excluded or is too large."
|
|
639
639
|
));
|
|
640
640
|
}
|
|
641
641
|
else if (this.excludedSources.size > 0) {
|
|
642
|
-
this.message = ( localize(
|
|
642
|
+
this.message = ( localize(6669, "No filtered timeline information was provided."));
|
|
643
643
|
}
|
|
644
644
|
else {
|
|
645
|
-
this.message = ( localize(
|
|
645
|
+
this.message = ( localize(6670, "No timeline information was provided."));
|
|
646
646
|
}
|
|
647
647
|
}
|
|
648
648
|
if (!scmProviderCount || scmProviderCount === 0) {
|
|
649
|
-
this.message += ' ' + ( localize(
|
|
649
|
+
this.message += ' ' + ( localize(6671, "Source Control has not been configured."));
|
|
650
650
|
}
|
|
651
651
|
}
|
|
652
652
|
}
|
|
@@ -703,7 +703,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
703
703
|
container.classList.add('tree-explorer-viewlet-tree-view', 'timeline-tree-view');
|
|
704
704
|
this.$message = append(this.$container, $('.message'));
|
|
705
705
|
this.$message.classList.add('timeline-subtle');
|
|
706
|
-
this.message = ( localize(
|
|
706
|
+
this.message = ( localize(6666, "The active editor cannot provide timeline information."));
|
|
707
707
|
this.$tree = document.createElement('div');
|
|
708
708
|
this.$tree.classList.add('customview-tree', 'file-icon-themable-tree', 'hide-arrows');
|
|
709
709
|
container.appendChild(this.$tree);
|
|
@@ -720,7 +720,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
720
720
|
if (isLoadMoreCommand(element)) {
|
|
721
721
|
return element.ariaLabel;
|
|
722
722
|
}
|
|
723
|
-
return element.accessibilityInformation ? element.accessibilityInformation.label : ( localize(
|
|
723
|
+
return element.accessibilityInformation ? element.accessibilityInformation.label : ( localize(6672, "{0}: {1}", element.relativeTimeFullWord ?? '', element.label));
|
|
724
724
|
},
|
|
725
725
|
getRole(element) {
|
|
726
726
|
if (isLoadMoreCommand(element)) {
|
|
@@ -729,7 +729,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
729
729
|
return element.accessibilityInformation && element.accessibilityInformation.role ? element.accessibilityInformation.role : 'treeitem';
|
|
730
730
|
},
|
|
731
731
|
getWidgetAriaLabel() {
|
|
732
|
-
return ( localize(
|
|
732
|
+
return ( localize(6665, "Timeline"));
|
|
733
733
|
}
|
|
734
734
|
},
|
|
735
735
|
keyboardNavigationLabelProvider: ( (new TimelineKeyboardNavigationLabelProvider())),
|
|
@@ -790,7 +790,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
|
|
|
790
790
|
setLoadingUriMessage() {
|
|
791
791
|
const file = this.uri && this.labelService.getUriBasenameLabel(this.uri);
|
|
792
792
|
this.updateFilename(file);
|
|
793
|
-
this.message = file ? ( localize(
|
|
793
|
+
this.message = file ? ( localize(6673, "Loading timeline for {0}...", file)) : '';
|
|
794
794
|
}
|
|
795
795
|
onContextMenu(commands, treeEvent) {
|
|
796
796
|
const item = treeEvent.element;
|
|
@@ -978,9 +978,9 @@ TimelineTreeRenderer = ( (__decorate([
|
|
|
978
978
|
( (__param(1, IInstantiationService))),
|
|
979
979
|
( (__param(2, IThemeService)))
|
|
980
980
|
], TimelineTreeRenderer)));
|
|
981
|
-
const timelineRefresh = registerIcon('timeline-refresh', Codicon.refresh, ( localize(
|
|
982
|
-
const timelinePin = registerIcon('timeline-pin', Codicon.pin, ( localize(
|
|
983
|
-
const timelineUnpin = registerIcon('timeline-unpin', Codicon.pinned, ( localize(
|
|
981
|
+
const timelineRefresh = registerIcon('timeline-refresh', Codicon.refresh, ( localize(6674, 'Icon for the refresh timeline action.')));
|
|
982
|
+
const timelinePin = registerIcon('timeline-pin', Codicon.pin, ( localize(6675, 'Icon for the pin timeline action.')));
|
|
983
|
+
const timelineUnpin = registerIcon('timeline-unpin', Codicon.pinned, ( localize(6676, 'Icon for the unpin timeline action.')));
|
|
984
984
|
let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
985
985
|
constructor(pane, timelineService, storageService, contextKeyService, menuService) {
|
|
986
986
|
super();
|
|
@@ -994,9 +994,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
|
994
994
|
constructor() {
|
|
995
995
|
super({
|
|
996
996
|
id: 'timeline.refresh',
|
|
997
|
-
title: ( localize2(
|
|
997
|
+
title: ( localize2(6677, "Refresh")),
|
|
998
998
|
icon: timelineRefresh,
|
|
999
|
-
category: ( localize2(
|
|
999
|
+
category: ( localize2(6665, "Timeline")),
|
|
1000
1000
|
menu: {
|
|
1001
1001
|
id: MenuId.TimelineTitle,
|
|
1002
1002
|
group: 'navigation',
|
|
@@ -1012,9 +1012,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
|
1012
1012
|
this._register(MenuRegistry.appendMenuItem(MenuId.TimelineTitle, ({
|
|
1013
1013
|
command: {
|
|
1014
1014
|
id: 'timeline.toggleFollowActiveEditor',
|
|
1015
|
-
title: ( localize2(
|
|
1015
|
+
title: ( localize2(6678, 'Pin the Current Timeline')),
|
|
1016
1016
|
icon: timelinePin,
|
|
1017
|
-
category: ( localize2(
|
|
1017
|
+
category: ( localize2(6665, "Timeline")),
|
|
1018
1018
|
},
|
|
1019
1019
|
group: 'navigation',
|
|
1020
1020
|
order: 98,
|
|
@@ -1023,9 +1023,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
|
|
|
1023
1023
|
this._register(MenuRegistry.appendMenuItem(MenuId.TimelineTitle, ({
|
|
1024
1024
|
command: {
|
|
1025
1025
|
id: 'timeline.toggleFollowActiveEditor',
|
|
1026
|
-
title: ( localize2(
|
|
1026
|
+
title: ( localize2(6679, 'Unpin the Current Timeline')),
|
|
1027
1027
|
icon: timelineUnpin,
|
|
1028
|
-
category: ( localize2(
|
|
1028
|
+
category: ( localize2(6665, "Timeline")),
|
|
1029
1029
|
},
|
|
1030
1030
|
group: 'navigation',
|
|
1031
1031
|
order: 98,
|