@codingame/monaco-vscode-timeline-service-override 14.0.5 → 15.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-timeline-service-override",
3
- "version": "14.0.5",
3
+ "version": "15.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - timeline service-override",
6
6
  "keywords": [],
@@ -15,12 +15,12 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common": "14.0.5",
19
- "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "14.0.5",
20
- "@codingame/monaco-vscode-api": "14.0.5",
21
- "@codingame/monaco-vscode-b71b5434-ce96-5581-8993-e8da380bd63f-common": "14.0.5",
22
- "@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common": "14.0.5",
23
- "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common": "14.0.5"
18
+ "@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common": "15.0.0",
19
+ "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "15.0.0",
20
+ "@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common": "15.0.0",
21
+ "@codingame/monaco-vscode-a4c2011e-8775-52bd-abf0-4a3c07a9696b-common": "15.0.0",
22
+ "@codingame/monaco-vscode-api": "15.0.0",
23
+ "@codingame/monaco-vscode-b71b5434-ce96-5581-8993-e8da380bd63f-common": "15.0.0"
24
24
  },
25
25
  "main": "index.js",
26
26
  "module": "index.js",
@@ -30,12 +30,12 @@
30
30
  "default": "./index.js"
31
31
  },
32
32
  "./vscode/*": {
33
- "default": "./vscode/src/*.js",
34
- "types": "./vscode/src/*.d.ts"
33
+ "types": "./vscode/src/*.d.ts",
34
+ "default": "./vscode/src/*.js"
35
35
  },
36
36
  "./*": {
37
- "default": "./*.js",
38
- "types": "./*.d.ts"
37
+ "types": "./*.d.ts",
38
+ "default": "./*.js"
39
39
  }
40
40
  },
41
41
  "typesVersions": {
@@ -19,7 +19,7 @@ function getLocalHistoryDateFormatter() {
19
19
  }
20
20
  const LOCAL_HISTORY_MENU_CONTEXT_VALUE = 'localHistory:item';
21
21
  const LOCAL_HISTORY_MENU_CONTEXT_KEY = ( ContextKeyExpr.equals('timelineItem', LOCAL_HISTORY_MENU_CONTEXT_VALUE));
22
- const LOCAL_HISTORY_ICON_ENTRY = registerIcon('localHistory-icon', Codicon.circleOutline, ( localize(7122, "Icon for a local history entry in the timeline view.")));
23
- const LOCAL_HISTORY_ICON_RESTORE = registerIcon('localHistory-restore', Codicon.check, ( localize(7123, "Icon for restoring contents of a local history entry.")));
22
+ const LOCAL_HISTORY_ICON_ENTRY = registerIcon('localHistory-icon', Codicon.circleOutline, ( localize(7206, "Icon for a local history entry in the timeline view.")));
23
+ const LOCAL_HISTORY_ICON_RESTORE = registerIcon('localHistory-restore', Codicon.check, ( localize(7207, "Icon for restoring contents of a local history entry.")));
24
24
 
25
25
  export { LOCAL_HISTORY_ICON_ENTRY, LOCAL_HISTORY_ICON_RESTORE, LOCAL_HISTORY_MENU_CONTEXT_KEY, LOCAL_HISTORY_MENU_CONTEXT_VALUE, getLocalHistoryDateFormatter };
@@ -6,7 +6,7 @@ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/netw
6
6
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
7
7
  import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
8
8
  import { IWorkingCopyHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyHistory.service';
9
- import { API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
9
+ import { API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
10
10
  import { LocalHistoryFileSystemProvider } from './localHistoryFileSystemProvider.js';
11
11
  import { ContextKeyExpr, RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
12
12
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
@@ -21,8 +21,8 @@ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench
21
21
  import { ResourceContextKey, ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
22
22
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
23
23
  import { getIconClasses } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/getIconClasses';
24
- import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model';
25
- import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language';
24
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
25
+ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
26
26
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
27
27
  import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
28
28
  import { LOCAL_HISTORY_MENU_CONTEXT_KEY, LOCAL_HISTORY_ICON_RESTORE, getLocalHistoryDateFormatter } from './localHistory.js';
@@ -31,9 +31,9 @@ import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/
31
31
  import { IHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/history/common/history.service';
32
32
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
33
33
 
34
- const LOCAL_HISTORY_CATEGORY = ( localize2(7124, 'Local History'));
34
+ const LOCAL_HISTORY_CATEGORY = ( localize2(7208, 'Local History'));
35
35
  const CTX_LOCAL_HISTORY_ENABLED = ( ContextKeyExpr.has('config.workbench.localHistory.enabled'));
36
- const COMPARE_WITH_FILE_LABEL = ( localize2(7125, 'Compare with File'));
36
+ const COMPARE_WITH_FILE_LABEL = ( localize2(7209, 'Compare with File'));
37
37
  registerAction2(class extends Action2 {
38
38
  constructor() {
39
39
  super({
@@ -60,7 +60,7 @@ registerAction2(class extends Action2 {
60
60
  constructor() {
61
61
  super({
62
62
  id: 'workbench.action.localHistory.compareWithPrevious',
63
- title: ( localize2(7126, 'Compare with Previous')),
63
+ title: ( localize2(7210, 'Compare with Previous')),
64
64
  menu: {
65
65
  id: MenuId.TimelineItemContext,
66
66
  group: '1_compare',
@@ -88,7 +88,7 @@ registerAction2(class extends Action2 {
88
88
  constructor() {
89
89
  super({
90
90
  id: 'workbench.action.localHistory.selectForCompare',
91
- title: ( localize2(7127, 'Select for Compare')),
91
+ title: ( localize2(7211, 'Select for Compare')),
92
92
  menu: {
93
93
  id: MenuId.TimelineItemContext,
94
94
  group: '2_compare_with',
@@ -111,7 +111,7 @@ registerAction2(class extends Action2 {
111
111
  constructor() {
112
112
  super({
113
113
  id: 'workbench.action.localHistory.compareWithSelected',
114
- title: ( localize2(7128, 'Compare with Selected')),
114
+ title: ( localize2(7212, 'Compare with Selected')),
115
115
  menu: {
116
116
  id: MenuId.TimelineItemContext,
117
117
  group: '2_compare_with',
@@ -140,7 +140,7 @@ registerAction2(class extends Action2 {
140
140
  constructor() {
141
141
  super({
142
142
  id: 'workbench.action.localHistory.open',
143
- title: ( localize2(7129, 'Show Contents')),
143
+ title: ( localize2(7213, 'Show Contents')),
144
144
  menu: {
145
145
  id: MenuId.TimelineItemContext,
146
146
  group: '3_contents',
@@ -158,7 +158,7 @@ registerAction2(class extends Action2 {
158
158
  }
159
159
  }
160
160
  });
161
- const RESTORE_CONTENTS_LABEL = ( localize2(7130, 'Restore Contents'));
161
+ const RESTORE_CONTENTS_LABEL = ( localize2(7214, 'Restore Contents'));
162
162
  registerAction2(class extends Action2 {
163
163
  constructor() {
164
164
  super({
@@ -195,7 +195,7 @@ registerAction2(class extends Action2 {
195
195
  return restore(accessor, item);
196
196
  }
197
197
  });
198
- const restoreSaveSource = SaveSourceRegistry.registerSource('localHistoryRestore.source', ( localize(7131, "File Restored")));
198
+ const restoreSaveSource = SaveSourceRegistry.registerSource('localHistoryRestore.source', ( localize(7215, "File Restored")));
199
199
  async function restore(accessor, item) {
200
200
  const fileService = accessor.get(IFileService);
201
201
  const dialogService = accessor.get(IDialogService);
@@ -207,12 +207,12 @@ async function restore(accessor, item) {
207
207
  const { confirmed } = await dialogService.confirm({
208
208
  type: 'warning',
209
209
  message: ( localize(
210
- 7132,
210
+ 7216,
211
211
  "Do you want to restore the contents of '{0}'?",
212
212
  basename(entry.workingCopy.resource)
213
213
  )),
214
- detail: ( localize(7133, "Restoring will discard any unsaved changes.")),
215
- primaryButton: ( localize(7134, "&&Restore"))
214
+ detail: ( localize(7217, "Restoring will discard any unsaved changes.")),
215
+ primaryButton: ( localize(7218, "&&Restore"))
216
216
  });
217
217
  if (!confirmed) {
218
218
  return;
@@ -229,7 +229,7 @@ async function restore(accessor, item) {
229
229
  await fileService.cloneFile(entry.location, entry.workingCopy.resource);
230
230
  }
231
231
  catch (error) {
232
- await dialogService.error(( localize(7135, "Unable to restore '{0}'.", basename(entry.workingCopy.resource))), toErrorMessage(error));
232
+ await dialogService.error(( localize(7219, "Unable to restore '{0}'.", basename(entry.workingCopy.resource))), toErrorMessage(error));
233
233
  return;
234
234
  }
235
235
  if (workingCopies) {
@@ -249,7 +249,7 @@ registerAction2(class extends Action2 {
249
249
  constructor() {
250
250
  super({
251
251
  id: 'workbench.action.localHistory.restoreViaPicker',
252
- title: ( localize2(7136, 'Find Entry to Restore')),
252
+ title: ( localize2(7220, 'Find Entry to Restore')),
253
253
  f1: true,
254
254
  category: LOCAL_HISTORY_CATEGORY,
255
255
  precondition: CTX_LOCAL_HISTORY_ENABLED
@@ -282,7 +282,7 @@ registerAction2(class extends Action2 {
282
282
  }
283
283
  resourcesSortedByRecency.push(...[...resources].sort((r1, r2) => r1.fsPath < r2.fsPath ? -1 : 1));
284
284
  resourcePicker.busy = false;
285
- resourcePicker.placeholder = ( localize(7137, "Select the file to show local history for"));
285
+ resourcePicker.placeholder = ( localize(7221, "Select the file to show local history for"));
286
286
  resourcePicker.matchOnLabel = true;
287
287
  resourcePicker.matchOnDescription = true;
288
288
  resourcePicker.items = ( [...resourcesSortedByRecency].map(resource => ({
@@ -306,7 +306,7 @@ registerAction2(class extends Action2 {
306
306
  const entries = await workingCopyHistoryService.getEntries(resource, cts.token);
307
307
  entryPicker.busy = false;
308
308
  entryPicker.canAcceptInBackground = true;
309
- entryPicker.placeholder = ( localize(7138, "Select the local history entry to open"));
309
+ entryPicker.placeholder = ( localize(7222, "Select the local history entry to open"));
310
310
  entryPicker.matchOnLabel = true;
311
311
  entryPicker.matchOnDescription = true;
312
312
  entryPicker.items = ( Array.from(entries).reverse().map(entry => ({
@@ -330,12 +330,12 @@ registerAction2(class extends Action2 {
330
330
  }));
331
331
  }
332
332
  });
333
- MenuRegistry.appendMenuItem(MenuId.TimelineTitle, { command: { id: 'workbench.action.localHistory.restoreViaPicker', title: ( localize2(7139, 'Local History: Find Entry to Restore...')) }, group: 'submenu', order: 1, when: CTX_LOCAL_HISTORY_ENABLED });
333
+ MenuRegistry.appendMenuItem(MenuId.TimelineTitle, { command: { id: 'workbench.action.localHistory.restoreViaPicker', title: ( localize2(7223, 'Local History: Find Entry to Restore...')) }, group: 'submenu', order: 1, when: CTX_LOCAL_HISTORY_ENABLED });
334
334
  registerAction2(class extends Action2 {
335
335
  constructor() {
336
336
  super({
337
337
  id: 'workbench.action.localHistory.rename',
338
- title: ( localize2(7140, 'Rename')),
338
+ title: ( localize2(7224, 'Rename')),
339
339
  menu: {
340
340
  id: MenuId.TimelineItemContext,
341
341
  group: '5_edit',
@@ -351,9 +351,9 @@ registerAction2(class extends Action2 {
351
351
  if (entry) {
352
352
  const disposables = ( new DisposableStore());
353
353
  const inputBox = disposables.add(quickInputService.createInputBox());
354
- inputBox.title = ( localize(7141, "Rename Local History Entry"));
354
+ inputBox.title = ( localize(7225, "Rename Local History Entry"));
355
355
  inputBox.ignoreFocusOut = true;
356
- inputBox.placeholder = ( localize(7142, "Enter the new name of the local history entry"));
356
+ inputBox.placeholder = ( localize(7226, "Enter the new name of the local history entry"));
357
357
  inputBox.value = SaveSourceRegistry.getSourceLabel(entry.source);
358
358
  inputBox.show();
359
359
  disposables.add(inputBox.onDidAccept(() => {
@@ -369,7 +369,7 @@ registerAction2(class extends Action2 {
369
369
  constructor() {
370
370
  super({
371
371
  id: 'workbench.action.localHistory.delete',
372
- title: ( localize2(7143, 'Delete')),
372
+ title: ( localize2(7227, 'Delete')),
373
373
  menu: {
374
374
  id: MenuId.TimelineItemContext,
375
375
  group: '5_edit',
@@ -387,13 +387,13 @@ registerAction2(class extends Action2 {
387
387
  const { confirmed } = await dialogService.confirm({
388
388
  type: 'warning',
389
389
  message: ( localize(
390
- 7144,
390
+ 7228,
391
391
  "Do you want to delete the local history entry of '{0}' from {1}?",
392
392
  entry.workingCopy.name,
393
393
  toLocalHistoryEntryDateLabel(entry.timestamp)
394
394
  )),
395
- detail: ( localize(7145, "This action is irreversible!")),
396
- primaryButton: ( localize(7146, "&&Delete")),
395
+ detail: ( localize(7229, "This action is irreversible!")),
396
+ primaryButton: ( localize(7230, "&&Delete")),
397
397
  });
398
398
  if (!confirmed) {
399
399
  return;
@@ -407,7 +407,7 @@ registerAction2(class extends Action2 {
407
407
  constructor() {
408
408
  super({
409
409
  id: 'workbench.action.localHistory.deleteAll',
410
- title: ( localize2(7147, 'Delete All')),
410
+ title: ( localize2(7231, 'Delete All')),
411
411
  f1: true,
412
412
  category: LOCAL_HISTORY_CATEGORY,
413
413
  precondition: CTX_LOCAL_HISTORY_ENABLED
@@ -418,9 +418,9 @@ registerAction2(class extends Action2 {
418
418
  const workingCopyHistoryService = accessor.get(IWorkingCopyHistoryService);
419
419
  const { confirmed } = await dialogService.confirm({
420
420
  type: 'warning',
421
- message: ( localize(7148, "Do you want to delete all entries of all files in local history?")),
422
- detail: ( localize(7149, "This action is irreversible!")),
423
- primaryButton: ( localize(7150, "&&Delete All")),
421
+ message: ( localize(7232, "Do you want to delete all entries of all files in local history?")),
422
+ detail: ( localize(7233, "This action is irreversible!")),
423
+ primaryButton: ( localize(7234, "&&Delete All")),
424
424
  });
425
425
  if (!confirmed) {
426
426
  return;
@@ -432,7 +432,7 @@ registerAction2(class extends Action2 {
432
432
  constructor() {
433
433
  super({
434
434
  id: 'workbench.action.localHistory.create',
435
- title: ( localize2(7151, 'Create Entry')),
435
+ title: ( localize2(7235, 'Create Entry')),
436
436
  f1: true,
437
437
  category: LOCAL_HISTORY_CATEGORY,
438
438
  precondition: ( ContextKeyExpr.and(CTX_LOCAL_HISTORY_ENABLED, ActiveEditorContext))
@@ -450,10 +450,10 @@ registerAction2(class extends Action2 {
450
450
  }
451
451
  const disposables = ( new DisposableStore());
452
452
  const inputBox = disposables.add(quickInputService.createInputBox());
453
- inputBox.title = ( localize(7152, "Create Local History Entry"));
453
+ inputBox.title = ( localize(7236, "Create Local History Entry"));
454
454
  inputBox.ignoreFocusOut = true;
455
455
  inputBox.placeholder = ( localize(
456
- 7153,
456
+ 7237,
457
457
  "Enter the new name of the local history entry for '{0}'",
458
458
  labelService.getUriBasenameLabel(resource)
459
459
  ));
@@ -472,7 +472,7 @@ async function openEntry(entry, editorService, options) {
472
472
  await editorService.openEditor({
473
473
  resource,
474
474
  label: ( localize(
475
- 7154,
475
+ 7238,
476
476
  "{0} ({1} • {2})",
477
477
  entry.workingCopy.name,
478
478
  SaveSourceRegistry.getSourceLabel(entry.source),
@@ -494,7 +494,7 @@ function toDiffEditorArguments(arg1, arg2, options) {
494
494
  const resource = arg2;
495
495
  modifiedResource = resource;
496
496
  label = ( localize(
497
- 7155,
497
+ 7239,
498
498
  "{0} ({1} • {2}) ↔ {3}",
499
499
  arg1.workingCopy.name,
500
500
  SaveSourceRegistry.getSourceLabel(arg1.source),
@@ -506,7 +506,7 @@ function toDiffEditorArguments(arg1, arg2, options) {
506
506
  const modified = arg2;
507
507
  modifiedResource = LocalHistoryFileSystemProvider.toLocalHistoryFileSystem({ location: modified.location, associatedResource: modified.workingCopy.resource });
508
508
  label = ( localize(
509
- 7156,
509
+ 7240,
510
510
  "{0} ({1} • {2}) ↔ {3} ({4} • {5})",
511
511
  arg1.workingCopy.name,
512
512
  SaveSourceRegistry.getSourceLabel(arg1.source),
@@ -7,7 +7,7 @@ import { ITimelineService } from '@codingame/monaco-vscode-api/vscode/vs/workben
7
7
  import { IWorkingCopyHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyHistory.service';
8
8
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
9
9
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
10
- import { API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
10
+ import { API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
11
11
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
12
12
  import { LocalHistoryFileSystemProvider } from './localHistoryFileSystemProvider.js';
13
13
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
@@ -18,7 +18,7 @@ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
18
18
  import { LOCAL_HISTORY_MENU_CONTEXT_VALUE, LOCAL_HISTORY_ICON_ENTRY, getLocalHistoryDateFormatter } from './localHistory.js';
19
19
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
20
20
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
21
- import { getVirtualWorkspaceAuthority } from '@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/workspace/common/virtualWorkspace';
21
+ import { getVirtualWorkspaceAuthority } from '@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/workspace/common/virtualWorkspace';
22
22
 
23
23
  var LocalHistoryTimeline_1;
24
24
  let LocalHistoryTimeline = class LocalHistoryTimeline extends Disposable {
@@ -35,7 +35,7 @@ let LocalHistoryTimeline = class LocalHistoryTimeline extends Disposable {
35
35
  this.configurationService = configurationService;
36
36
  this.contextService = contextService;
37
37
  this.id = 'timeline.localHistory';
38
- this.label = ( localize(7157, "Local History"));
38
+ this.label = ( localize(7241, "Local History"));
39
39
  this.scheme = '*';
40
40
  this._onDidChange = this._register(( new Emitter()));
41
41
  this.onDidChange = this._onDidChange.event;
@@ -13,13 +13,13 @@ import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/conf
13
13
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
14
14
  import { MenuRegistry, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
15
15
  import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
16
- import { ExplorerFolderContext } from '@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common/vscode/vs/workbench/contrib/files/common/files';
16
+ import { ExplorerFolderContext } from '@codingame/monaco-vscode-a4c2011e-8775-52bd-abf0-4a3c07a9696b-common/vscode/vs/workbench/contrib/files/common/files';
17
17
  import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
18
18
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
19
19
  import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
20
20
 
21
- const timelineViewIcon = registerIcon('timeline-view-icon', Codicon.history, ( localize(10582, 'View icon of the timeline view.')));
22
- const timelineOpenIcon = registerIcon('timeline-open', Codicon.history, ( localize(10583, 'Icon for the open timeline action.')));
21
+ const timelineViewIcon = registerIcon('timeline-view-icon', Codicon.history, ( localize(10690, 'View icon of the timeline view.')));
22
+ const timelineOpenIcon = registerIcon('timeline-open', Codicon.history, ( localize(10691, 'Icon for the open timeline action.')));
23
23
  class TimelinePaneDescriptor {
24
24
  constructor() {
25
25
  this.id = TimelinePaneId;
@@ -40,14 +40,14 @@ const configurationRegistry = ( Registry.as(Extensions.Configuration));
40
40
  configurationRegistry.registerConfiguration({
41
41
  id: 'timeline',
42
42
  order: 1001,
43
- title: ( localize(10584, "Timeline")),
43
+ title: ( localize(10692, "Timeline")),
44
44
  type: 'object',
45
45
  properties: {
46
46
  'timeline.pageSize': {
47
47
  type: ['number', 'null'],
48
48
  default: 50,
49
49
  markdownDescription: ( localize(
50
- 10585,
50
+ 10693,
51
51
  "The number of items to show in the Timeline view by default and when loading more items. Setting to `null` will automatically choose a page size based on the visible area of the Timeline view."
52
52
  )),
53
53
  },
@@ -55,7 +55,7 @@ configurationRegistry.registerConfiguration({
55
55
  type: 'boolean',
56
56
  default: true,
57
57
  description: ( localize(
58
- 10586,
58
+ 10694,
59
59
  "Controls whether the Timeline view will load the next page of items when you scroll to the end of the list."
60
60
  )),
61
61
  },
@@ -65,7 +65,7 @@ configurationRegistry.registerConfiguration({
65
65
  var OpenTimelineAction;
66
66
  (function (OpenTimelineAction) {
67
67
  OpenTimelineAction.ID = 'files.openTimeline';
68
- OpenTimelineAction.LABEL = ( localize(10587, "Open Timeline"));
68
+ OpenTimelineAction.LABEL = ( localize(10695, "Open Timeline"));
69
69
  function handler() {
70
70
  return (accessor, arg) => {
71
71
  const service = accessor.get(ITimelineService);
@@ -85,10 +85,10 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, ({
85
85
  },
86
86
  when: ( ContextKeyExpr.and(( ExplorerFolderContext.toNegated()), ResourceContextKey.HasResource, TimelineHasProviderContext))
87
87
  }));
88
- const timelineFilter = registerIcon('timeline-filter', Codicon.filter, ( localize(10588, 'Icon for the filter timeline action.')));
88
+ const timelineFilter = registerIcon('timeline-filter', Codicon.filter, ( localize(10696, 'Icon for the filter timeline action.')));
89
89
  MenuRegistry.appendMenuItem(MenuId.TimelineTitle, {
90
90
  submenu: MenuId.TimelineFilterSubMenu,
91
- title: ( localize(10589, "Filter Timeline")),
91
+ title: ( localize(10697, "Filter Timeline")),
92
92
  group: 'navigation',
93
93
  order: 100,
94
94
  icon: timelineFilter
@@ -17,7 +17,6 @@ import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/th
17
17
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
18
18
  import { IProgressService } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service";
19
19
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
20
- import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
21
20
  import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
22
21
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
23
22
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
@@ -71,7 +70,7 @@ export declare class TimelinePane extends ViewPane {
71
70
  private pendingRequests;
72
71
  private timelinesBySource;
73
72
  private uri;
74
- constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, storageService: IStorageService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, editorService: IEditorService, commandService: ICommandService, progressService: IProgressService, timelineService: ITimelineService, openerService: IOpenerService, themeService: IThemeService, telemetryService: ITelemetryService, hoverService: IHoverService, labelService: ILabelService, uriIdentityService: IUriIdentityService, extensionService: IExtensionService);
73
+ constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, storageService: IStorageService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, editorService: IEditorService, commandService: ICommandService, progressService: IProgressService, timelineService: ITimelineService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, labelService: ILabelService, uriIdentityService: IUriIdentityService, extensionService: IExtensionService);
75
74
  private _followActiveEditor;
76
75
  get followActiveEditor(): boolean;
77
76
  set followActiveEditor(value: boolean);
@@ -39,12 +39,11 @@ import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/u
39
39
  import { createActionViewItem, getContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
40
40
  import { MenuId, registerAction2, Action2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
41
41
  import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
42
- import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
43
42
  import { ActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems';
44
43
  import { ColorScheme } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/theme';
45
44
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
46
45
  import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
47
- import { API_OPEN_EDITOR_COMMAND_ID, API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
46
+ import { API_OPEN_EDITOR_COMMAND_ID, API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
48
47
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
49
48
  import { isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
50
49
  import { renderMarkdownAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
@@ -178,7 +177,7 @@ class LoadMoreCommand {
178
177
  return this.label;
179
178
  }
180
179
  get label() {
181
- return this.loading ? ( localize(10590, "Loading...")) : ( localize(10591, "Load more"));
180
+ return this.loading ? ( localize(10698, "Loading...")) : ( localize(10699, "Load more"));
182
181
  }
183
182
  get themeIcon() {
184
183
  return undefined;
@@ -188,9 +187,9 @@ const TimelineFollowActiveEditorContext = ( new RawContextKey('timelineFollowAct
188
187
  const TimelineExcludeSources = ( new RawContextKey('timelineExcludeSources', '[]', true));
189
188
  const TimelineViewFocusedContext = ( new RawContextKey('timelineFocused', true));
190
189
  let TimelinePane = class TimelinePane extends ViewPane {
191
- static { this.TITLE = ( localize2(10592, "Timeline")); }
192
- constructor(options, keybindingService, contextMenuService, contextKeyService, configurationService, storageService, viewDescriptorService, instantiationService, editorService, commandService, progressService, timelineService, openerService, themeService, telemetryService, hoverService, labelService, uriIdentityService, extensionService) {
193
- super({ ...options, titleMenuId: MenuId.TimelineTitle }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
190
+ static { this.TITLE = ( localize2(10700, "Timeline")); }
191
+ constructor(options, keybindingService, contextMenuService, contextKeyService, configurationService, storageService, viewDescriptorService, instantiationService, editorService, commandService, progressService, timelineService, openerService, themeService, hoverService, labelService, uriIdentityService, extensionService) {
192
+ super({ ...options, titleMenuId: MenuId.TimelineTitle }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);
194
193
  this.storageService = storageService;
195
194
  this.editorService = editorService;
196
195
  this.commandService = commandService;
@@ -376,8 +375,9 @@ let TimelinePane = class TimelinePane extends ViewPane {
376
375
  this._maxItemCount = this.pageSize;
377
376
  this.timelinesBySource.clear();
378
377
  if (cancelPending) {
379
- for (const { tokenSource } of ( this.pendingRequests.values())) {
380
- tokenSource.dispose(true);
378
+ for (const pendingRequest of ( this.pendingRequests.values())) {
379
+ pendingRequest.request.tokenSource.cancel();
380
+ pendingRequest.dispose();
381
381
  }
382
382
  this.pendingRequests.clear();
383
383
  if (!this.isBodyVisible() && this.tree) {
@@ -443,28 +443,33 @@ let TimelinePane = class TimelinePane extends ViewPane {
443
443
  }
444
444
  options = { cursor: reset ? undefined : timeline?.cursor, limit: this.pageSize };
445
445
  }
446
- let request = this.pendingRequests.get(source);
447
- if (request !== undefined) {
448
- options.cursor = request.options.cursor;
446
+ const pendingRequest = this.pendingRequests.get(source);
447
+ if (pendingRequest !== undefined) {
448
+ options.cursor = pendingRequest.request.options.cursor;
449
449
  if (typeof options.limit === 'number') {
450
- if (typeof request.options.limit === 'number') {
451
- options.limit += request.options.limit;
450
+ if (typeof pendingRequest.request.options.limit === 'number') {
451
+ options.limit += pendingRequest.request.options.limit;
452
452
  }
453
453
  else {
454
- options.limit = request.options.limit;
454
+ options.limit = pendingRequest.request.options.limit;
455
455
  }
456
456
  }
457
457
  }
458
- request?.tokenSource.dispose(true);
458
+ pendingRequest?.request?.tokenSource.cancel();
459
+ pendingRequest?.dispose();
459
460
  options.cacheResults = true;
460
461
  options.resetCache = reset;
461
- request = this.timelineService.getTimeline(source, uri, options, ( new CancellationTokenSource()));
462
- if (request === undefined) {
462
+ const tokenSource = ( new CancellationTokenSource());
463
+ const newRequest = this.timelineService.getTimeline(source, uri, options, tokenSource);
464
+ if (newRequest === undefined) {
465
+ tokenSource.dispose();
463
466
  return false;
464
467
  }
465
- this.pendingRequests.set(source, request);
466
- request.tokenSource.token.onCancellationRequested(() => this.pendingRequests.delete(source));
467
- this.handleRequest(request);
468
+ const disposables = ( new DisposableStore());
469
+ this.pendingRequests.set(source, { request: newRequest, dispose: () => disposables.dispose() });
470
+ disposables.add(tokenSource);
471
+ disposables.add(tokenSource.token.onCancellationRequested(() => this.pendingRequests.delete(source)));
472
+ this.handleRequest(newRequest);
468
473
  return true;
469
474
  }
470
475
  updateTimeline(timeline, reset) {
@@ -484,6 +489,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
484
489
  response = await this.progressService.withProgress({ location: this.id }, () => request.result);
485
490
  }
486
491
  finally {
492
+ this.pendingRequests.get(request.source)?.dispose();
487
493
  this.pendingRequests.delete(request.source);
488
494
  }
489
495
  if (response === undefined ||
@@ -624,7 +630,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
624
630
  this._isEmpty = !this.hasVisibleItems;
625
631
  if (this.uri === undefined) {
626
632
  this.updateFilename(undefined);
627
- this.message = ( localize(10593, "The active editor cannot provide timeline information."));
633
+ this.message = ( localize(10701, "The active editor cannot provide timeline information."));
628
634
  }
629
635
  else if (this._isEmpty) {
630
636
  if (this.pendingRequests.size !== 0) {
@@ -634,24 +640,24 @@ let TimelinePane = class TimelinePane extends ViewPane {
634
640
  this.updateFilename(this.labelService.getUriBasenameLabel(this.uri));
635
641
  const scmProviderCount = this.contextKeyService.getContextKeyValue('scm.providerCount');
636
642
  if (this.timelineService.getSources().filter(({ id }) => !( this.excludedSources.has(id))).length === 0) {
637
- this.message = ( localize(10594, "All timeline sources have been filtered out."));
643
+ this.message = ( localize(10702, "All timeline sources have been filtered out."));
638
644
  }
639
645
  else {
640
646
  if (this.configurationService.getValue('workbench.localHistory.enabled') && !( this.excludedSources.has('timeline.localHistory'))) {
641
647
  this.message = ( localize(
642
- 10595,
648
+ 10703,
643
649
  "Local History will track recent changes as you save them unless the file has been excluded or is too large."
644
650
  ));
645
651
  }
646
652
  else if (this.excludedSources.size > 0) {
647
- this.message = ( localize(10596, "No filtered timeline information was provided."));
653
+ this.message = ( localize(10704, "No filtered timeline information was provided."));
648
654
  }
649
655
  else {
650
- this.message = ( localize(10597, "No timeline information was provided."));
656
+ this.message = ( localize(10705, "No timeline information was provided."));
651
657
  }
652
658
  }
653
659
  if (!scmProviderCount || scmProviderCount === 0) {
654
- this.message += ' ' + ( localize(10598, "Source Control has not been configured."));
660
+ this.message += ' ' + ( localize(10706, "Source Control has not been configured."));
655
661
  }
656
662
  }
657
663
  }
@@ -708,16 +714,16 @@ let TimelinePane = class TimelinePane extends ViewPane {
708
714
  container.classList.add('tree-explorer-viewlet-tree-view', 'timeline-tree-view');
709
715
  this.$message = append(this.$container, $('.message'));
710
716
  this.$message.classList.add('timeline-subtle');
711
- this.message = ( localize(10593, "The active editor cannot provide timeline information."));
717
+ this.message = ( localize(10701, "The active editor cannot provide timeline information."));
712
718
  this.$tree = document.createElement('div');
713
719
  this.$tree.classList.add('customview-tree', 'file-icon-themable-tree', 'hide-arrows');
714
720
  container.appendChild(this.$tree);
715
721
  this.treeRenderer = this.instantiationService.createInstance(TimelineTreeRenderer, this.commands);
716
- this.treeRenderer.onDidScrollToEnd(item => {
722
+ this._register(this.treeRenderer.onDidScrollToEnd(item => {
717
723
  if (this.pageOnScroll) {
718
724
  this.loadMore(item);
719
725
  }
720
- });
726
+ }));
721
727
  this.tree = this.instantiationService.createInstance((WorkbenchObjectTree), 'TimelinePane', this.$tree, ( new TimelineListVirtualDelegate()), [this.treeRenderer], {
722
728
  identityProvider: ( new TimelineIdentityProvider()),
723
729
  accessibilityProvider: {
@@ -725,7 +731,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
725
731
  if (isLoadMoreCommand(element)) {
726
732
  return element.ariaLabel;
727
733
  }
728
- return element.accessibilityInformation ? element.accessibilityInformation.label : ( localize(10599, "{0}: {1}", element.relativeTimeFullWord ?? '', element.label));
734
+ return element.accessibilityInformation ? element.accessibilityInformation.label : ( localize(10707, "{0}: {1}", element.relativeTimeFullWord ?? '', element.label));
729
735
  },
730
736
  getRole(element) {
731
737
  if (isLoadMoreCommand(element)) {
@@ -734,7 +740,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
734
740
  return element.accessibilityInformation && element.accessibilityInformation.role ? element.accessibilityInformation.role : 'treeitem';
735
741
  },
736
742
  getWidgetAriaLabel() {
737
- return localize(10592, "Timeline");
743
+ return localize(10700, "Timeline");
738
744
  }
739
745
  },
740
746
  keyboardNavigationLabelProvider: ( new TimelineKeyboardNavigationLabelProvider()),
@@ -794,7 +800,7 @@ let TimelinePane = class TimelinePane extends ViewPane {
794
800
  setLoadingUriMessage() {
795
801
  const file = this.uri && this.labelService.getUriBasenameLabel(this.uri);
796
802
  this.updateFilename(file);
797
- this.message = file ? ( localize(10600, "Loading timeline for {0}...", file)) : '';
803
+ this.message = file ? ( localize(10708, "Loading timeline for {0}...", file)) : '';
798
804
  }
799
805
  onContextMenu(commands, treeEvent) {
800
806
  const item = treeEvent.element;
@@ -849,11 +855,10 @@ TimelinePane = ( __decorate([
849
855
  ( __param(11, ITimelineService)),
850
856
  ( __param(12, IOpenerService)),
851
857
  ( __param(13, IThemeService)),
852
- ( __param(14, ITelemetryService)),
853
- ( __param(15, IHoverService)),
854
- ( __param(16, ILabelService)),
855
- ( __param(17, IUriIdentityService)),
856
- ( __param(18, IExtensionService))
858
+ ( __param(14, IHoverService)),
859
+ ( __param(15, ILabelService)),
860
+ ( __param(16, IUriIdentityService)),
861
+ ( __param(17, IExtensionService))
857
862
  ], TimelinePane));
858
863
  class TimelineElementTemplate {
859
864
  static { this.id = 'TimelineElementTemplate'; }
@@ -917,7 +922,7 @@ let TimelineTreeRenderer = class TimelineTreeRenderer {
917
922
  this.onDidScrollToEnd = this._onDidScrollToEnd.event;
918
923
  this.templateId = TimelineElementTemplate.id;
919
924
  this.actionViewItemProvider = createActionViewItem.bind(undefined, this.instantiationService);
920
- this._hoverDelegate = this.instantiationService.createInstance(WorkbenchHoverDelegate, 'element', true, {
925
+ this._hoverDelegate = this.instantiationService.createInstance(WorkbenchHoverDelegate, 'element', { instantHover: true }, {
921
926
  position: {
922
927
  hoverPosition: HoverPosition.RIGHT
923
928
  }
@@ -974,6 +979,9 @@ let TimelineTreeRenderer = class TimelineTreeRenderer {
974
979
  setTimeout(() => this._onDidScrollToEnd.fire(item), 0);
975
980
  }
976
981
  }
982
+ disposeElement(element, index, templateData, height) {
983
+ templateData.actionBar.actionRunner.dispose();
984
+ }
977
985
  disposeTemplate(template) {
978
986
  template.dispose();
979
987
  }
@@ -982,9 +990,9 @@ TimelineTreeRenderer = ( __decorate([
982
990
  ( __param(1, IInstantiationService)),
983
991
  ( __param(2, IThemeService))
984
992
  ], TimelineTreeRenderer));
985
- const timelineRefresh = registerIcon('timeline-refresh', Codicon.refresh, ( localize(10601, 'Icon for the refresh timeline action.')));
986
- const timelinePin = registerIcon('timeline-pin', Codicon.pin, ( localize(10602, 'Icon for the pin timeline action.')));
987
- const timelineUnpin = registerIcon('timeline-unpin', Codicon.pinned, ( localize(10603, 'Icon for the unpin timeline action.')));
993
+ const timelineRefresh = registerIcon('timeline-refresh', Codicon.refresh, ( localize(10709, 'Icon for the refresh timeline action.')));
994
+ const timelinePin = registerIcon('timeline-pin', Codicon.pin, ( localize(10710, 'Icon for the pin timeline action.')));
995
+ const timelineUnpin = registerIcon('timeline-unpin', Codicon.pinned, ( localize(10711, 'Icon for the unpin timeline action.')));
988
996
  let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
989
997
  constructor(pane, timelineService, storageService, contextKeyService, menuService) {
990
998
  super();
@@ -998,9 +1006,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
998
1006
  constructor() {
999
1007
  super({
1000
1008
  id: 'timeline.refresh',
1001
- title: ( localize2(10604, "Refresh")),
1009
+ title: ( localize2(10712, "Refresh")),
1002
1010
  icon: timelineRefresh,
1003
- category: ( localize2(10592, "Timeline")),
1011
+ category: ( localize2(10700, "Timeline")),
1004
1012
  menu: {
1005
1013
  id: MenuId.TimelineTitle,
1006
1014
  group: 'navigation',
@@ -1016,9 +1024,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
1016
1024
  this._register(MenuRegistry.appendMenuItem(MenuId.TimelineTitle, ({
1017
1025
  command: {
1018
1026
  id: 'timeline.toggleFollowActiveEditor',
1019
- title: ( localize2(10605, 'Pin the Current Timeline')),
1027
+ title: ( localize2(10713, 'Pin the Current Timeline')),
1020
1028
  icon: timelinePin,
1021
- category: ( localize2(10592, "Timeline")),
1029
+ category: ( localize2(10700, "Timeline")),
1022
1030
  },
1023
1031
  group: 'navigation',
1024
1032
  order: 98,
@@ -1027,9 +1035,9 @@ let TimelinePaneCommands = class TimelinePaneCommands extends Disposable {
1027
1035
  this._register(MenuRegistry.appendMenuItem(MenuId.TimelineTitle, ({
1028
1036
  command: {
1029
1037
  id: 'timeline.toggleFollowActiveEditor',
1030
- title: ( localize2(10606, 'Unpin the Current Timeline')),
1038
+ title: ( localize2(10714, 'Unpin the Current Timeline')),
1031
1039
  icon: timelineUnpin,
1032
- category: ( localize2(10592, "Timeline")),
1040
+ category: ( localize2(10700, "Timeline")),
1033
1041
  },
1034
1042
  group: 'navigation',
1035
1043
  order: 98,
@@ -1,6 +1,5 @@
1
1
  import { CancellationTokenSource } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
- import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
- import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
4
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
5
  import { TimelineChangeEvent, TimelineOptions, TimelineProvidersChangeEvent, TimelineProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/timeline/common/timeline";
@@ -10,18 +9,18 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
10
9
  import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
11
10
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
12
11
  export declare const TimelineHasProviderContext: RawContextKey<boolean>;
13
- export declare class TimelineService implements ITimelineService {
12
+ export declare class TimelineService extends Disposable implements ITimelineService {
14
13
  private readonly logService;
15
14
  protected viewsService: IViewsService;
16
15
  protected configurationService: IConfigurationService;
17
16
  protected contextKeyService: IContextKeyService;
18
17
  readonly _serviceBrand: undefined;
19
18
  private readonly _onDidChangeProviders;
20
- readonly onDidChangeProviders: Event<TimelineProvidersChangeEvent>;
19
+ readonly onDidChangeProviders: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<TimelineProvidersChangeEvent>;
21
20
  private readonly _onDidChangeTimeline;
22
- readonly onDidChangeTimeline: Event<TimelineChangeEvent>;
21
+ readonly onDidChangeTimeline: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<TimelineChangeEvent>;
23
22
  private readonly _onDidChangeUri;
24
- readonly onDidChangeUri: Event<URI>;
23
+ readonly onDidChangeUri: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<URI>;
25
24
  private readonly hasProviderContext;
26
25
  private readonly providers;
27
26
  private readonly providerSubscriptions;
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
5
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
5
6
  import { TimelinePaneId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/timeline/common/timeline';
6
7
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
@@ -9,17 +10,18 @@ import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/c
9
10
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
10
11
 
11
12
  const TimelineHasProviderContext = ( new RawContextKey('timelineHasProvider', false));
12
- let TimelineService = class TimelineService {
13
+ let TimelineService = class TimelineService extends Disposable {
13
14
  constructor(logService, viewsService, configurationService, contextKeyService) {
15
+ super();
14
16
  this.logService = logService;
15
17
  this.viewsService = viewsService;
16
18
  this.configurationService = configurationService;
17
19
  this.contextKeyService = contextKeyService;
18
- this._onDidChangeProviders = ( new Emitter());
20
+ this._onDidChangeProviders = this._register(( new Emitter()));
19
21
  this.onDidChangeProviders = this._onDidChangeProviders.event;
20
- this._onDidChangeTimeline = ( new Emitter());
22
+ this._onDidChangeTimeline = this._register(( new Emitter()));
21
23
  this.onDidChangeTimeline = this._onDidChangeTimeline.event;
22
- this._onDidChangeUri = ( new Emitter());
24
+ this._onDidChangeUri = this._register(( new Emitter()));
23
25
  this.onDidChangeUri = this._onDidChangeUri.event;
24
26
  this.providers = ( new Map());
25
27
  this.providerSubscriptions = ( new Map());
@@ -53,10 +55,10 @@ let TimelineService = class TimelineService {
53
55
  result.items.sort((a, b) => (b.timestamp - a.timestamp) || b.source.localeCompare(a.source, undefined, { numeric: true, sensitivity: 'base' }));
54
56
  return result;
55
57
  }),
56
- options: options,
58
+ options,
57
59
  source: provider.id,
58
- tokenSource: tokenSource,
59
- uri: uri
60
+ tokenSource,
61
+ uri
60
62
  };
61
63
  }
62
64
  registerTimelineProvider(provider) {
@@ -88,6 +90,7 @@ let TimelineService = class TimelineService {
88
90
  return;
89
91
  }
90
92
  this.providers.delete(id);
93
+ this.providerSubscriptions.get(id)?.dispose();
91
94
  this.providerSubscriptions.delete(id);
92
95
  this.updateHasProviderContext();
93
96
  this._onDidChangeProviders.fire({ removed: [id] });