@codingame/monaco-vscode-scm-service-override 11.1.2 → 12.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.
Files changed (31) hide show
  1. package/index.d.ts +2 -1
  2. package/index.js +22 -1
  3. package/package.json +24 -7
  4. package/vscode/src/vs/workbench/contrib/scm/browser/activity.d.ts +42 -0
  5. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +34 -32
  6. package/vscode/src/vs/workbench/contrib/scm/browser/diff.d.ts +22 -0
  7. package/vscode/src/vs/workbench/contrib/scm/browser/diff.js +93 -0
  8. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css.js +2 -2
  9. package/vscode/src/vs/workbench/contrib/scm/browser/menus.d.ts +49 -0
  10. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +31 -32
  11. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.d.ts +1 -0
  12. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +153 -187
  13. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.d.ts +59 -0
  14. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.js +245 -217
  15. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.d.ts +27 -0
  16. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +31 -29
  17. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.d.ts +57 -0
  18. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +4 -2
  19. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.d.ts +185 -0
  20. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +365 -336
  21. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.d.ts +17 -0
  22. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +17 -16
  23. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.d.ts +66 -0
  24. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/scm/browser/workingSet.d.ts +25 -0
  26. package/vscode/src/vs/workbench/contrib/scm/browser/workingSet.js +9 -6
  27. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +16 -0
  28. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +4 -2
  29. package/vscode/src/vs/workbench/contrib/scm/common/scmService.d.ts +27 -0
  30. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +13 -11
  31. package/scm.js +0 -17
package/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { default } from 'vscode/service-override/scm';
1
+ import { type IEditorOverrideServices } from "vscode/vscode/vs/editor/standalone/browser/standaloneServices";
2
+ export default function getServiceOverride(): IEditorOverrideServices;
package/index.js CHANGED
@@ -1 +1,22 @@
1
- export { default } from './scm.js';
1
+
2
+ import 'vscode/vscode/vs/editor/standalone/browser/standaloneServices';
3
+ import { ISCMService, ISCMViewService } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm.service';
4
+ import { SCMService } from './vscode/src/vs/workbench/contrib/scm/common/scmService.js';
5
+ import { SCMViewService } from './vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js';
6
+ import { IQuickDiffService } from 'vscode/vscode/vs/workbench/contrib/scm/common/quickDiff.service';
7
+ import { QuickDiffService } from './vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js';
8
+ import './vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js';
9
+ import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
10
+ import { IDirtyDiffModelService } from 'vscode/vscode/vs/workbench/contrib/scm/browser/diff.service';
11
+ import { DirtyDiffModelService } from './vscode/src/vs/workbench/contrib/scm/browser/diff.js';
12
+
13
+ function getServiceOverride() {
14
+ return {
15
+ [ISCMService.toString()]: new SyncDescriptor(SCMService, [], true),
16
+ [ISCMViewService.toString()]: new SyncDescriptor(SCMViewService, [], true),
17
+ [IQuickDiffService.toString()]: new SyncDescriptor(QuickDiffService, [], true),
18
+ [IDirtyDiffModelService.toString()]: new SyncDescriptor(DirtyDiffModelService, [], true)
19
+ };
20
+ }
21
+
22
+ export { getServiceOverride as default };
package/package.json CHANGED
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-scm-service-override",
3
- "version": "11.1.2",
3
+ "version": "12.0.0",
4
+ "private": false,
5
+ "description": "VSCode public API plugged on the monaco editor - scm service-override",
4
6
  "keywords": [],
5
7
  "author": {
6
8
  "name": "CodinGame",
@@ -12,8 +14,21 @@
12
14
  "url": "git+ssh://git@github.com/CodinGame/monaco-vscode-api.git"
13
15
  },
14
16
  "type": "module",
15
- "private": false,
16
- "description": "VSCode public API plugged on the monaco editor - scm service-override",
17
+ "dependencies": {
18
+ "@codingame/monaco-vscode-27663a0b-1249-58ba-9085-e52d706b50bc-common": "12.0.0",
19
+ "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "12.0.0",
20
+ "@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common": "12.0.0",
21
+ "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "12.0.0",
22
+ "@codingame/monaco-vscode-b4efa70b-52b9-5670-ab5c-f10b10b6834e-common": "12.0.0",
23
+ "@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common": "12.0.0",
24
+ "@codingame/monaco-vscode-e571cbbb-526b-5d8b-92c5-a0437d2dabb3-common": "12.0.0",
25
+ "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common": "12.0.0",
26
+ "@codingame/monaco-vscode-f99b74f5-fcb7-512f-8c6c-35f5a107577d-common": "12.0.0",
27
+ "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common": "12.0.0",
28
+ "vscode": "npm:@codingame/monaco-vscode-api@12.0.0"
29
+ },
30
+ "peerDependencies": {},
31
+ "peerDependenciesMeta": {},
17
32
  "main": "index.js",
18
33
  "module": "index.js",
19
34
  "types": "index.d.ts",
@@ -22,10 +37,12 @@
22
37
  "default": "./index.js"
23
38
  },
24
39
  "./vscode/*": {
25
- "default": "./vscode/src/*.js"
40
+ "default": "./vscode/src/*.js",
41
+ "types": "./vscode/src/*.d.ts"
42
+ },
43
+ "./*": {
44
+ "default": "./*.js",
45
+ "types": "./*.d.ts"
26
46
  }
27
- },
28
- "dependencies": {
29
- "vscode": "npm:@codingame/monaco-vscode-api@11.1.2"
30
47
  }
31
48
  }
@@ -0,0 +1,42 @@
1
+ import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
2
+ import { ISCMViewService } from "vscode/vscode/vs/workbench/contrib/scm/common/scm.service";
3
+ import { ISCMService } from "vscode/vscode/vs/workbench/contrib/scm/common/scm.service";
4
+ import { IActivityService } from "vscode/vscode/vs/workbench/services/activity/common/activity.service";
5
+ import { IWorkbenchContribution } from "vscode/vscode/vs/workbench/common/contributions";
6
+ import { IContextKeyService } from "vscode/vscode/vs/platform/contextkey/common/contextkey.service";
7
+ import { IStatusbarService } from "vscode/vscode/vs/workbench/services/statusbar/browser/statusbar.service";
8
+ import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
9
+ import { IUriIdentityService } from "vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
10
+ import { ITitleService } from "vscode/vscode/vs/workbench/services/title/browser/titleService.service";
11
+ import { IEditorGroupsService } from "vscode/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
12
+ export declare class SCMActiveRepositoryController extends Disposable implements IWorkbenchContribution {
13
+ private readonly activityService;
14
+ private readonly configurationService;
15
+ private readonly contextKeyService;
16
+ private readonly scmService;
17
+ private readonly scmViewService;
18
+ private readonly statusbarService;
19
+ private readonly titleService;
20
+ private readonly _countBadgeConfig;
21
+ private readonly _repositories;
22
+ private readonly _activeRepositoryHistoryItemRefName;
23
+ private readonly _countBadgeRepositories;
24
+ private readonly _countBadge;
25
+ private _activeRepositoryNameContextKey;
26
+ private _activeRepositoryBranchNameContextKey;
27
+ constructor(activityService: IActivityService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, scmService: ISCMService, scmViewService: ISCMViewService, statusbarService: IStatusbarService, titleService: ITitleService);
28
+ private _getRepositoryResourceCount;
29
+ private _updateActivityCountBadge;
30
+ private _updateStatusBar;
31
+ private _updateActiveRepositoryContextKeys;
32
+ }
33
+ export declare class SCMActiveResourceContextKeyController extends Disposable implements IWorkbenchContribution {
34
+ private readonly scmService;
35
+ private readonly uriIdentityService;
36
+ private readonly _repositories;
37
+ private readonly _onDidRepositoryChange;
38
+ constructor(editorGroupsService: IEditorGroupsService, scmService: ISCMService, uriIdentityService: IUriIdentityService);
39
+ private _getEditorHasChanges;
40
+ private _getEditorRepositoryId;
41
+ dispose(): void;
42
+ }
@@ -1,14 +1,16 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { localize } from 'vscode/vscode/vs/nls';
3
4
  import { basename } from 'vscode/vscode/vs/base/common/resources';
4
5
  import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
5
6
  import { Event, Emitter } from 'vscode/vscode/vs/base/common/event';
6
- import { VIEW_PANE_ID } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm';
7
+ import { VIEW_PANE_ID } from '@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common/vscode/vs/workbench/contrib/scm/common/scm';
7
8
  import { ISCMService, ISCMViewService } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm.service';
8
- import { NumberBadge } from 'vscode/vscode/vs/workbench/services/activity/common/activity';
9
+ import { NumberBadge } from '@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common/vscode/vs/workbench/services/activity/common/activity';
9
10
  import { IActivityService } from 'vscode/vscode/vs/workbench/services/activity/common/activity.service';
10
11
  import { RawContextKey } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
11
12
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
13
+ import { StatusbarAlignment } from 'vscode/vscode/vs/workbench/services/statusbar/browser/statusbar';
12
14
  import { IStatusbarService } from 'vscode/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
13
15
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
14
16
  import { EditorResourceAccessor } from 'vscode/vscode/vs/workbench/common/editor';
@@ -16,7 +18,7 @@ import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/commo
16
18
  import { Iterable } from 'vscode/vscode/vs/base/common/iterator';
17
19
  import { ITitleService } from 'vscode/vscode/vs/workbench/services/title/browser/titleService.service';
18
20
  import { IEditorGroupsService } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
19
- import { getRepositoryResourceCount } from 'vscode/vscode/vs/workbench/contrib/scm/browser/util';
21
+ import { getRepositoryResourceCount } from '@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common/vscode/vs/workbench/contrib/scm/browser/util';
20
22
  import 'vscode/vscode/vs/base/common/arrays';
21
23
  import { autorunWithStore, autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
22
24
  import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
@@ -25,8 +27,8 @@ import { observableFromEvent } from 'vscode/vscode/vs/base/common/observableInte
25
27
  import { observableConfigValue } from 'vscode/vscode/vs/platform/observable/common/platformObservableUtils';
26
28
 
27
29
  const ActiveRepositoryContextKeys = {
28
- ActiveRepositoryName: ( (new RawContextKey('scmActiveRepositoryName', ''))),
29
- ActiveRepositoryBranchName: ( (new RawContextKey('scmActiveRepositoryBranchName', ''))),
30
+ ActiveRepositoryName: ( new RawContextKey('scmActiveRepositoryName', '')),
31
+ ActiveRepositoryBranchName: ( new RawContextKey('scmActiveRepositoryBranchName', '')),
30
32
  };
31
33
  let SCMActiveRepositoryController = class SCMActiveRepositoryController extends Disposable {
32
34
  constructor(activityService, configurationService, contextKeyService, scmService, scmViewService, statusbarService, titleService) {
@@ -50,10 +52,10 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
50
52
  switch (this._countBadgeConfig.read(reader)) {
51
53
  case 'all': {
52
54
  const repositories = this._repositories.read(reader);
53
- return [...( (Iterable.map(
55
+ return [...( Iterable.map(
54
56
  repositories,
55
57
  r => ({ provider: r.provider, resourceCount: this._getRepositoryResourceCount(r) })
56
- )))];
58
+ ))];
57
59
  }
58
60
  case 'focused': {
59
61
  const repository = this.scmViewService.activeRepository.read(reader);
@@ -62,7 +64,7 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
62
64
  case 'off':
63
65
  return [];
64
66
  default:
65
- throw ( (new Error('Invalid countBadge setting')));
67
+ throw ( new Error('Invalid countBadge setting'));
66
68
  }
67
69
  });
68
70
  this._countBadge = derived(this, reader => {
@@ -101,7 +103,7 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
101
103
  if (count === 0) {
102
104
  return;
103
105
  }
104
- const badge = ( (new NumberBadge(count, num => ( localize(6584, '{0} pending changes', num)))));
106
+ const badge = ( new NumberBadge(count, num => ( localize(8405, '{0} pending changes', num))));
105
107
  store.add(this.activityService.showViewActivity(VIEW_PANE_ID, { badge }));
106
108
  }
107
109
  _updateStatusBar(repository, commands, store) {
@@ -127,15 +129,15 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
127
129
  repoAgnosticActionName = '';
128
130
  }
129
131
  const statusbarEntry = {
130
- name: ( localize(6585, "Source Control")) + (repoAgnosticActionName ? ` ${repoAgnosticActionName}` : ''),
132
+ name: ( localize(8406, "Source Control")) + (repoAgnosticActionName ? ` ${repoAgnosticActionName}` : ''),
131
133
  text: command.title,
132
134
  ariaLabel: tooltip,
133
135
  tooltip,
134
136
  command: command.id ? command : undefined
135
137
  };
136
138
  store.add(index === 0 ?
137
- this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, 0 , 10000) :
138
- this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, 0 , { id: `status.scm.${index - 1}`, alignment: 1 , compact: true }));
139
+ this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, StatusbarAlignment.LEFT, 10000) :
140
+ this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, StatusbarAlignment.LEFT, { id: `status.scm.${index - 1}`, alignment: StatusbarAlignment.RIGHT, compact: true }));
139
141
  }
140
142
  }
141
143
  _updateActiveRepositoryContextKeys(repositoryName, branchName) {
@@ -143,24 +145,24 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
143
145
  this._activeRepositoryBranchNameContextKey.set(branchName ?? '');
144
146
  }
145
147
  };
146
- SCMActiveRepositoryController = ( (__decorate([
147
- ( (__param(0, IActivityService))),
148
- ( (__param(1, IConfigurationService))),
149
- ( (__param(2, IContextKeyService))),
150
- ( (__param(3, ISCMService))),
151
- ( (__param(4, ISCMViewService))),
152
- ( (__param(5, IStatusbarService))),
153
- ( (__param(6, ITitleService)))
154
- ], SCMActiveRepositoryController)));
148
+ SCMActiveRepositoryController = ( __decorate([
149
+ ( __param(0, IActivityService)),
150
+ ( __param(1, IConfigurationService)),
151
+ ( __param(2, IContextKeyService)),
152
+ ( __param(3, ISCMService)),
153
+ ( __param(4, ISCMViewService)),
154
+ ( __param(5, IStatusbarService)),
155
+ ( __param(6, ITitleService))
156
+ ], SCMActiveRepositoryController));
155
157
  let SCMActiveResourceContextKeyController = class SCMActiveResourceContextKeyController extends Disposable {
156
158
  constructor(editorGroupsService, scmService, uriIdentityService) {
157
159
  super();
158
160
  this.scmService = scmService;
159
161
  this.uriIdentityService = uriIdentityService;
160
162
  this._repositories = observableFromEvent(this, Event.any(this.scmService.onDidAddRepository, this.scmService.onDidRemoveRepository), () => this.scmService.repositories);
161
- this._onDidRepositoryChange = ( (new Emitter()));
162
- const activeResourceHasChangesContextKey = ( (new RawContextKey('scmActiveResourceHasChanges', false, ( localize(6586, "Whether the active resource has changes")))));
163
- const activeResourceRepositoryContextKey = ( (new RawContextKey('scmActiveResourceRepository', undefined, ( localize(6587, "The active resource's repository")))));
163
+ this._onDidRepositoryChange = ( new Emitter());
164
+ const activeResourceHasChangesContextKey = ( new RawContextKey('scmActiveResourceHasChanges', false, ( localize(8407, "Whether the active resource has changes"))));
165
+ const activeResourceRepositoryContextKey = ( new RawContextKey('scmActiveResourceRepository', undefined, ( localize(8408, "The active resource's repository"))));
164
166
  this._store.add(autorunWithStore((reader, store) => {
165
167
  for (const repository of this._repositories.read(reader)) {
166
168
  store.add(Event.runAndSubscribe(repository.provider.onDidChangeResources, () => {
@@ -188,10 +190,10 @@ let SCMActiveResourceContextKeyController = class SCMActiveResourceContextKeyCon
188
190
  }
189
191
  const activeResourceRepository = this.scmService.getRepository(activeResource);
190
192
  for (const resourceGroup of activeResourceRepository?.provider.groups ?? []) {
191
- if (( (resourceGroup.resources
193
+ if (( resourceGroup.resources
192
194
  .some(
193
195
  scmResource => this.uriIdentityService.extUri.isEqual(activeResource, scmResource.sourceUri)
194
- )))) {
196
+ ))) {
195
197
  return true;
196
198
  }
197
199
  }
@@ -210,10 +212,10 @@ let SCMActiveResourceContextKeyController = class SCMActiveResourceContextKeyCon
210
212
  super.dispose();
211
213
  }
212
214
  };
213
- SCMActiveResourceContextKeyController = ( (__decorate([
214
- ( (__param(0, IEditorGroupsService))),
215
- ( (__param(1, ISCMService))),
216
- ( (__param(2, IUriIdentityService)))
217
- ], SCMActiveResourceContextKeyController)));
215
+ SCMActiveResourceContextKeyController = ( __decorate([
216
+ ( __param(0, IEditorGroupsService)),
217
+ ( __param(1, ISCMService)),
218
+ ( __param(2, IUriIdentityService))
219
+ ], SCMActiveResourceContextKeyController));
218
220
 
219
221
  export { SCMActiveRepositoryController, SCMActiveResourceContextKeyController };
@@ -0,0 +1,22 @@
1
+ import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
2
+ import { DirtyDiffModel } from "vscode/vscode/vs/workbench/contrib/scm/browser/dirtydiffDecorator";
3
+ import { ITextFileService } from "vscode/vscode/vs/workbench/services/textfile/common/textfiles.service";
4
+ import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
5
+ import { IEditorService } from "vscode/vscode/vs/workbench/services/editor/common/editorService.service";
6
+ import { DiffAlgorithmName } from "vscode/vscode/vs/editor/common/services/editorWorker";
7
+ import { IUriIdentityService } from "vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
8
+ import { URI } from "vscode/vscode/vs/base/common/uri";
9
+ import { IDirtyDiffModelService } from "vscode/vscode/vs/workbench/contrib/scm/browser/diff.service";
10
+ export declare class DirtyDiffModelService extends Disposable implements IDirtyDiffModelService {
11
+ private readonly editorService;
12
+ private readonly instantiationService;
13
+ private readonly textFileService;
14
+ private readonly uriIdentityService;
15
+ _serviceBrand: undefined;
16
+ private readonly _dirtyDiffModels;
17
+ private readonly _diffModels;
18
+ private _visibleTextEditorControls;
19
+ constructor(editorService: IEditorService, instantiationService: IInstantiationService, textFileService: ITextFileService, uriIdentityService: IUriIdentityService);
20
+ getDirtyDiffModel(uri: URI): DirtyDiffModel | undefined;
21
+ getDiffModel(uri: URI, algorithm: DiffAlgorithmName): DirtyDiffModel | undefined;
22
+ }
@@ -0,0 +1,93 @@
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
3
+ import { ResourceMap } from 'vscode/vscode/vs/base/common/map';
4
+ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
5
+ import { DirtyDiffModel } from 'vscode/vscode/vs/workbench/contrib/scm/browser/dirtydiffDecorator';
6
+ import { ITextFileService } from 'vscode/vscode/vs/workbench/services/textfile/common/textfiles.service';
7
+ import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
8
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
9
+ import 'vscode/vscode/vs/base/common/arrays';
10
+ import 'vscode/vscode/vs/base/common/event';
11
+ import { autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
12
+ import 'vscode/vscode/vs/base/common/observableInternal/derived';
13
+ import 'vscode/vscode/vs/base/common/cancellation';
14
+ import { observableFromEvent } from 'vscode/vscode/vs/base/common/observableInternal/utils';
15
+ import { isCodeEditor, isDiffEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
16
+ import 'vscode/vscode/vs/platform/instantiation/common/extensions';
17
+ import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
18
+
19
+ let DirtyDiffModelService = class DirtyDiffModelService extends Disposable {
20
+ constructor(editorService, instantiationService, textFileService, uriIdentityService) {
21
+ super();
22
+ this.editorService = editorService;
23
+ this.instantiationService = instantiationService;
24
+ this.textFileService = textFileService;
25
+ this.uriIdentityService = uriIdentityService;
26
+ this._dirtyDiffModels = ( new ResourceMap());
27
+ this._diffModels = ( new ResourceMap());
28
+ this._visibleTextEditorControls = observableFromEvent(this.editorService.onDidVisibleEditorsChange, () => this.editorService.visibleTextEditorControls);
29
+ this._register(autorun(reader => {
30
+ const visibleTextEditorControls = this._visibleTextEditorControls.read(reader);
31
+ for (const [uri, dirtyDiffModel] of this._dirtyDiffModels) {
32
+ const textEditorControl = visibleTextEditorControls
33
+ .find(editor => isCodeEditor(editor) &&
34
+ this.uriIdentityService.extUri.isEqual(editor.getModel()?.uri, uri));
35
+ if (textEditorControl) {
36
+ continue;
37
+ }
38
+ dirtyDiffModel.dispose();
39
+ this._dirtyDiffModels.delete(uri);
40
+ }
41
+ for (const [uri, dirtyDiffModel] of this._diffModels) {
42
+ const diffEditorControl = visibleTextEditorControls
43
+ .find(editor => isDiffEditor(editor) &&
44
+ this.uriIdentityService.extUri.isEqual(editor.getModel()?.modified.uri, uri));
45
+ if (diffEditorControl) {
46
+ continue;
47
+ }
48
+ for (const algorithm of ( dirtyDiffModel.keys())) {
49
+ dirtyDiffModel.get(algorithm)?.dispose();
50
+ dirtyDiffModel.delete(algorithm);
51
+ }
52
+ this._diffModels.delete(uri);
53
+ }
54
+ }));
55
+ }
56
+ getDirtyDiffModel(uri) {
57
+ let model = this._dirtyDiffModels.get(uri);
58
+ if (model) {
59
+ return model;
60
+ }
61
+ const textFileModel = this.textFileService.files.get(uri);
62
+ if (!textFileModel?.isResolved()) {
63
+ return undefined;
64
+ }
65
+ model = this.instantiationService.createInstance(DirtyDiffModel, textFileModel, undefined);
66
+ this._dirtyDiffModels.set(uri, model);
67
+ return model;
68
+ }
69
+ getDiffModel(uri, algorithm) {
70
+ let model = this._diffModels.get(uri)?.get(algorithm);
71
+ if (model) {
72
+ return model;
73
+ }
74
+ const textFileModel = this.textFileService.files.get(uri);
75
+ if (!textFileModel?.isResolved()) {
76
+ return undefined;
77
+ }
78
+ model = this.instantiationService.createInstance(DirtyDiffModel, textFileModel, algorithm);
79
+ if (!( this._diffModels.has(uri))) {
80
+ this._diffModels.set(uri, ( new Map()));
81
+ }
82
+ this._diffModels.get(uri).set(algorithm, model);
83
+ return model;
84
+ }
85
+ };
86
+ DirtyDiffModelService = ( __decorate([
87
+ ( __param(0, IEditorService)),
88
+ ( __param(1, IInstantiationService)),
89
+ ( __param(2, ITextFileService)),
90
+ ( __param(3, IUriIdentityService))
91
+ ], DirtyDiffModelService));
92
+
93
+ export { DirtyDiffModelService };
@@ -1,6 +1,6 @@
1
- import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
1
+ import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css';
2
2
 
3
- var css = ".scm-view{height:100%;position:relative}.scm-overflow-widgets-container{height:0;left:0;overflow:visible;position:absolute;top:0;width:0;z-index:5000}.scm-view .monaco-tl-contents>div{overflow:hidden;padding-right:12px}.scm-view .count{display:flex;margin-left:6px}.scm-view .count.hidden{display:none}.scm-view .scm-provider{align-items:center;display:flex;flex-direction:column;flex-flow:nowrap;height:100%}.scm-view.auto-provider-counts .scm-provider>.count[data-count=\"0\"],.scm-view.hide-provider-counts .scm-provider>.count{display:none}.scm-view .scm-provider>.label{flex:1;min-width:50px;overflow:hidden;text-overflow:ellipsis}.scm-view .scm-provider>.label>.name{font-weight:700}.scm-view .scm-provider>.label>.description{font-size:.9em;margin-left:.5em;opacity:.7}.scm-view .scm-provider>.actions{justify-content:flex-end;overflow:hidden}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item{align-items:center;display:flex;padding-left:4px}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item:first-child{min-width:20px}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label,.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.monaco-dropdown>.dropdown-label>.action-label{align-items:center;display:flex;line-height:16px;overflow:hidden}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label>.codicon{font-size:12px;justify-content:center}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item:last-of-type{padding-right:0}.scm-view .scm-provider>.body{flex-grow:1}.scm-view .scm-provider>.status>.monaco-action-bar>.actions-container{border-color:var(--vscode-sideBar-border)}.scm-view .monaco-list-row{line-height:22px}.scm-view .monaco-list-row .monaco-icon-label-container{height:22px}.scm-view .monaco-list-row .history,.scm-view .monaco-list-row .history-item-group,.scm-view .monaco-list-row .resource-group{align-items:center;display:flex;height:100%}.scm-view .monaco-list-row .history-item .monaco-icon-label,.scm-view .monaco-list-row .history-item-group .monaco-icon-label{align-items:center;flex-grow:1}.scm-view .monaco-list-row .history-item{align-items:center;display:flex}.scm-view .monaco-list-row .history-item>.graph-container{display:flex;flex-shrink:0;height:22px}.scm-view .monaco-list-row .history-item>.graph-container.current>.graph>circle:last-child{fill:var(--vscode-sideBar-background)}.scm-view .monaco-list-row:hover .history-item>.graph-container.current>.graph>circle:last-child{fill:var(--vscode-list-hoverBackground)}.scm-view .monaco-list-row .history-item>.graph-container>.graph>circle{stroke:var(--vscode-sideBar-background)}.scm-view .monaco-list-row:hover .history-item>.graph-container>.graph>circle{stroke:var(--vscode-list-hoverBackground)}.scm-view .monaco-list-row .history-item>.label-container{display:flex;flex-shrink:0;gap:4px}.scm-view .monaco-list-row .history-item>.label-container>.label{align-items:center;border-radius:10px;display:flex;line-height:18px}.scm-view .monaco-list-row .history-item>.label-container>.label>.count{font-size:12px;margin-left:0;padding-left:4px}.scm-view .monaco-list-row .history-item>.label-container>.label>.codicon{color:inherit!important;font-size:14px;padding:2px}.scm-view .monaco-list-row .history-item>.label-container>.label>.codicon.codicon-git-branch{font-size:12px;padding:3px}.scm-view .monaco-list-row .history-item>.label-container>.label>.description{font-size:12px;max-width:100px;overflow:hidden;padding-right:4px;text-overflow:ellipsis}.scm-view .monaco-list-row .history-item .monaco-icon-label .icon-container{display:flex;padding-right:4px}.scm-view .monaco-list-row .history-item .monaco-icon-label .avatar{border-radius:14px;height:14px;width:14px}.scm-view .monaco-list-row .history-item .monaco-icon-label.history-item-current .label-name{font-weight:600}.scm-view .monaco-list-row .history-item .monaco-icon-label.history-item-current .label-description{font-weight:500}.scm-view .monaco-list-row .history>.name,.scm-view .monaco-list-row .resource-group>.name{flex:1;overflow:hidden;text-overflow:ellipsis}.scm-view .monaco-list-row .resource{display:flex;height:100%}.scm-view .monaco-list-row .resource.faded{opacity:.7}.scm-view .monaco-list-row .resource>.name{flex:1;overflow:hidden}.scm-view .monaco-list-row .resource>.name>.monaco-icon-label:after{margin-right:3px}.scm-view .monaco-list-row .resource>.decoration-icon{background-position:50% 50%;background-repeat:no-repeat;height:100%;margin-left:5px;width:16px}.scm-view .monaco-list-row .resource>.decoration-icon.codicon{margin-right:0;margin-top:3px}.scm-view .monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{flex-grow:100}.scm-view .monaco-list .monaco-list-row .history-item>.actions,.scm-view .monaco-list .monaco-list-row .resource-group>.actions,.scm-view .monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{display:none;max-width:fit-content}.scm-view .monaco-list .monaco-list-row.focused .history-item>.actions,.scm-view .monaco-list .monaco-list-row.focused .resource-group>.actions,.scm-view .monaco-list .monaco-list-row.focused .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list .monaco-list-row:hover .history-item>.actions,.scm-view .monaco-list .monaco-list-row:hover .resource-group>.actions,.scm-view .monaco-list .monaco-list-row:hover .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list:not(.selection-multiple) .monaco-list-row .resource:hover>.actions{display:block}.scm-view .monaco-list .monaco-list-row.focused.force-no-hover,.scm-view .monaco-list .monaco-list-row.force-no-hover,.scm-view .monaco-list .monaco-list-row.selected.force-no-hover,.scm-view .monaco-list .monaco-list-row:hover.force-no-hover{background:transparent!important}.scm-view .monaco-list .monaco-list-row.cursor-default{cursor:default}.scm-view.show-actions .scm-provider>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .history-item>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .resource-group>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .scm-input>.scm-editor>.actions{display:block}.scm-view .monaco-list-row .actions .action-label{padding:2px}.scm-view .scm-input{align-items:center;display:flex;height:100%;padding-left:11px}.scm-view .scm-input .scm-editor .scm-editor-toolbar{padding:1px 3px 1px 1px}.scm-view .scm-input .scm-editor .scm-editor-toolbar.hidden{display:none}.scm-view .scm-input .scm-editor .scm-editor-toolbar.scroll-decoration{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.scm-view .scm-input .scm-editor .scm-editor-toolbar .action-label.codicon.codicon-debug-stop{color:var(--vscode-icon-foreground)!important}.scm-view .scm-editor-container .monaco-editor{border-radius:2px}.scm-view .scm-editor{align-items:flex-start;background-color:var(--vscode-input-background);border:1px solid var(--vscode-input-border,transparent);border-radius:2px;box-sizing:border-box;display:flex;width:100%}.scm-view .button-container{align-items:center;display:flex;height:100%;padding-left:11px}.scm-view .button-container .codicon.codicon-cloud-upload,.scm-view .button-container .codicon.codicon-sync{margin:0 4px 0 0}.scm-view .button-container .codicon.codicon-arrow-down,.scm-view .button-container .codicon.codicon-arrow-up{font-size:small!important;margin:0 4px 0 0}.scm-view .button-container>.monaco-button-dropdown{flex-grow:1;overflow:hidden}.scm-view .button-container>.monaco-button-dropdown>.monaco-dropdown-button{align-items:center;display:flex;padding:0 4px}.scm-view .button-container>.monaco-button-dropdown>.monaco-button.monaco-text-button{min-width:0}.scm-view .button-container>.monaco-button-dropdown>.monaco-button.monaco-text-button>span:not(.codicon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scm-view .scm-editor.hidden{display:none}.monaco-workbench .part.panel .scm-view .scm-editor-container{outline:1px solid var(--vscode-panelInput-border)}.monaco-workbench .part.panel .scm-view .scm-editor.synthetic-focus,.scm-view .scm-editor.synthetic-focus{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.scm-view .scm-editor.validation-info{outline:1px solid var(--vscode-inputValidation-infoBorder)!important;outline-offset:-1px}.scm-view .scm-editor.validation-warning{outline:1px solid var(--vscode-inputValidation-warningBorder)!important;outline-offset:-1px}.scm-view .scm-editor.validation-error{outline:1px solid var(--vscode-inputValidation-errorBorder)!important;outline-offset:-1px}.scm-editor-validation-container{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-style:solid;border-width:1px;border-top:none;box-sizing:border-box;display:flex;padding:2px}.scm-editor-validation-container.validation-info{background-color:var(--vscode-inputValidation-infoBackground);border-color:var(--vscode-inputValidation-infoBorder);color:var(--vscode-inputValidation-infoForeground)}.scm-editor-validation-container.validation-warning{background-color:var(--vscode-inputValidation-warningBackground);border-color:var(--vscode-inputValidation-warningBorder);color:var(--vscode-inputValidation-warningForeground)}.scm-editor-validation-container.validation-error{background-color:var(--vscode-inputValidation-errorBackground);border-color:var(--vscode-inputValidation-errorBorder);color:var(--vscode-inputValidation-errorForeground)}.scm-editor-validation{border-style:none;box-sizing:border-box;display:block;flex:auto;font-size:.9em;padding:1px 3px}.scm-editor-validation p{margin:0;padding:0}.scm-editor-validation a{color:var(--vscode-textLink-foreground);-webkit-user-select:none;user-select:none}.scm-editor-validation a:active,.scm-editor-validation a:hover{color:var(--vscode-textLink-activeForeground)}.scm-editor-validation-actions{align-self:start;margin-top:1px}.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor,.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor .margin,.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor .monaco-editor-background,.scm-view .scm-editor-container .monaco-editor,.scm-view .scm-editor-container .monaco-editor .margin,.scm-view .scm-editor-container .monaco-editor-background{background-color:var(--vscode-input-background);color:inherit}.scm-view .scm-editor-container .mtk1{color:var(--vscode-input-foreground)}.scm-view .scm-editor-container .placeholder-text.mtk1{color:var(--vscode-input-placeholderForeground)}.scm-repositories-view .scm-provider{margin:0 12px 0 20px;overflow:hidden}.scm-repositories-view .scm-provider>.label>.name{font-weight:400}.monaco-hover.history-item-hover p:first-child{margin-top:4px}.monaco-hover.history-item-hover p:last-child{margin-bottom:0}.monaco-hover.history-item-hover p:last-child span:not(.codicon){margin-bottom:2px!important}.monaco-hover.history-item-hover hr{margin-bottom:4px;margin-top:4px}.monaco-hover.history-item-hover hr+p{margin:4px 0}.monaco-hover.history-item-hover span:not(.codicon){margin-bottom:0!important}.monaco-hover.history-item-hover p>span>span.codicon.codicon-git-branch{font-size:12px;margin-bottom:2px!important}.monaco-hover.history-item-hover p>span>span.codicon.codicon-tag,.monaco-hover.history-item-hover p>span>span.codicon.codicon-target{font-size:14px;margin-bottom:2px!important}.monaco-hover.history-item-hover p>span>span.codicon.codicon-cloud{font-size:14px;margin-bottom:1px!important}.monaco-hover.history-item-hover .hover-row.status-bar .action{align-items:center;display:flex}.monaco-hover.history-item-hover .hover-row.status-bar .action .codicon{color:inherit;font-size:12px}.pane-header .scm-graph-view-badge-container{align-items:center;display:flex;min-width:fit-content}.pane-header .scm-graph-view-badge-container>.scm-graph-view-badge.monaco-count-badge.long{background-color:var(--vscode-badge-background);border:1px solid var(--vscode-contrastBorder);color:var(--vscode-badge-foreground);margin:0 6px;padding:2px 4px}.monaco-workbench .part.auxiliarybar>.title>.title-actions .action-label.scm-graph-history-item-picker,.monaco-workbench .part.auxiliarybar>.title>.title-actions .action-label.scm-graph-repository-picker{display:flex}.monaco-toolbar .action-item>.action-label.scm-graph-history-item-picker,.monaco-toolbar .action-item>.action-label.scm-graph-repository-picker{align-items:center;color:var(--vscode-icon-foreground);font-weight:400;line-height:16px}.monaco-toolbar .action-item.disabled>.action-label.scm-graph-history-item-picker,.monaco-toolbar .action-item.disabled>.action-label.scm-graph-repository-picker{color:var(--vscode-disabledForeground)}.monaco-toolbar .action-label.scm-graph-history-item-picker .codicon,.monaco-toolbar .action-label.scm-graph-repository-picker .codicon{color:inherit;font-size:14px}.monaco-toolbar .action-label.scm-graph-history-item-picker>.name,.monaco-toolbar .action-label.scm-graph-repository-picker>.name{max-width:100px;overflow:hidden;text-overflow:ellipsis}.scm-history-view .scm-provider .label-name{font-weight:700}.scm-history-view .scm-provider .monaco-icon-label{align-items:center}.scm-history-view .scm-provider .state-label.monaco-count-badge.long{background:var(--vscode-debugView-stateLabelBackground);border-radius:2px;color:var(--vscode-debugView-stateLabelForeground);display:flex;font-size:.8em;margin:0 10px}.scm-history-view .scm-provider .actions{display:flex;flex-grow:1}.scm-history-view .history-item-load-more{display:flex;height:22px}.scm-history-view .history-item-load-more .graph-placeholder{mask-image:linear-gradient(#000,transparent)}.scm-history-view .history-item-load-more .history-item-placeholder{flex-grow:1}.scm-history-view .history-item-load-more .history-item-placeholder .monaco-highlighted-label{align-items:center;color:var(--vscode-textLink-foreground);display:flex;justify-content:center}.scm-history-view .history-item-load-more .history-item-placeholder .monaco-highlighted-label .codicon{color:var(--vscode-textLink-foreground);font-size:12px}.scm-history-view .history-item-load-more .history-item-placeholder.shimmer{padding:2px 0}.scm-history-view .history-item-load-more .history-item-placeholder.shimmer .monaco-icon-label-container{background:var(--vscode-scmGraph-historyItemHoverDefaultLabelBackground);border-radius:2px;height:18px;opacity:.5}";
3
+ var css = ".scm-view{height:100%;position:relative}.scm-overflow-widgets-container{height:0;left:0;overflow:visible;position:absolute;top:0;width:0;z-index:5000}.scm-view .monaco-tl-contents>div{overflow:hidden;padding-right:12px}.scm-view .count{display:flex;margin-left:6px}.scm-view .count.hidden{display:none}.scm-view .scm-provider{align-items:center;display:flex;flex-direction:column;flex-flow:nowrap;height:100%}.scm-view.auto-provider-counts .scm-provider>.count[data-count=\"0\"],.scm-view.hide-provider-counts .scm-provider>.count{display:none}.scm-view .scm-provider>.label{flex:1;min-width:50px;overflow:hidden;text-overflow:ellipsis}.scm-view .scm-provider>.label>.name{font-weight:700}.scm-view .scm-provider>.label>.description{font-size:.9em;margin-left:.5em;opacity:.7}.scm-view .scm-provider>.actions{justify-content:flex-end;overflow:hidden}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item{align-items:center;display:flex;padding-left:4px}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item:first-child{min-width:20px}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label,.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.monaco-dropdown>.dropdown-label>.action-label{align-items:center;display:flex;line-height:16px;overflow:hidden}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label>.codicon{font-size:12px;justify-content:center}.scm-view .scm-provider>.actions>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item:last-of-type{padding-right:0}.scm-view .scm-provider>.body{flex-grow:1}.scm-view .scm-provider>.status>.monaco-action-bar>.actions-container{border-color:var(--vscode-sideBar-border)}.scm-view .monaco-list-row{line-height:22px}.scm-view .monaco-list-row .monaco-icon-label-container{height:22px}.scm-view .monaco-list-row .history,.scm-view .monaco-list-row .history-item-group,.scm-view .monaco-list-row .resource-group{align-items:center;display:flex;height:100%}.scm-view .monaco-list-row .history-item .monaco-icon-label,.scm-view .monaco-list-row .history-item-group .monaco-icon-label{align-items:center;flex-grow:1}.scm-view .monaco-list-row .history-item{align-items:center;display:flex}.scm-view .monaco-list-row .history-item>.graph-container{display:flex;flex-shrink:0;height:22px}.scm-view .monaco-list-row .history-item>.graph-container.current>.graph>circle:last-child{fill:var(--vscode-sideBar-background)}.scm-view .monaco-list-row:hover .history-item>.graph-container.current>.graph>circle:last-child{fill:var(--vscode-list-hoverBackground)}.scm-view .monaco-list-row .history-item>.graph-container>.graph>circle{stroke:var(--vscode-sideBar-background)}.scm-view .monaco-list-row:hover .history-item>.graph-container>.graph>circle{stroke:var(--vscode-list-hoverBackground)}.scm-view .monaco-list-row .history-item>.label-container{display:flex;flex-shrink:0;gap:4px}.scm-view .monaco-list-row .history-item>.label-container>.label{align-items:center;border-radius:10px;display:flex;line-height:18px}.scm-view .monaco-list-row .history-item>.label-container>.label>.count{font-size:12px;margin-left:0;padding-left:4px}.scm-view .monaco-list-row .history-item>.label-container>.label>.codicon{color:inherit!important;font-size:14px;padding:2px}.scm-view .monaco-list-row .history-item>.label-container>.label>.codicon.codicon-git-branch{font-size:12px;padding:3px}.scm-view .monaco-list-row .history-item>.label-container>.label>.description{font-size:12px;max-width:100px;overflow:hidden;padding-right:4px;text-overflow:ellipsis}.scm-view .monaco-list-row .history-item .monaco-icon-label .icon-container{display:flex;padding-right:4px}.scm-view .monaco-list-row .history-item .monaco-icon-label .avatar{border-radius:14px;height:14px;width:14px}.scm-view .monaco-list-row .history-item .monaco-icon-label.history-item-current .label-name{font-weight:600}.scm-view .monaco-list-row .history-item .monaco-icon-label.history-item-current .label-description{font-weight:500}.scm-view .monaco-list-row .history>.name,.scm-view .monaco-list-row .resource-group>.name{flex:1;overflow:hidden;text-overflow:ellipsis}.scm-view .monaco-list-row .resource{display:flex;height:100%}.scm-view .monaco-list-row .resource.faded{opacity:.7}.scm-view .monaco-list-row .resource>.name{flex:1;overflow:hidden}.scm-view .monaco-list-row .resource>.name>.monaco-icon-label:after{margin-right:3px}.scm-view .monaco-list-row .resource>.decoration-icon{background-position:50% 50%;background-repeat:no-repeat;height:100%;margin-left:5px;width:16px}.scm-view .monaco-list-row .resource>.decoration-icon.codicon{margin-right:0;margin-top:3px}.scm-view .monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{flex-grow:100}.scm-view .monaco-list .monaco-list-row .history-item>.actions,.scm-view .monaco-list .monaco-list-row .resource-group>.actions,.scm-view .monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions{display:none;max-width:fit-content}.scm-view .monaco-list .monaco-list-row.focused .history-item>.actions,.scm-view .monaco-list .monaco-list-row.focused .resource-group>.actions,.scm-view .monaco-list .monaco-list-row.focused .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list .monaco-list-row:hover .history-item>.actions,.scm-view .monaco-list .monaco-list-row:hover .resource-group>.actions,.scm-view .monaco-list .monaco-list-row:hover .resource>.name>.monaco-icon-label>.actions,.scm-view .monaco-list:not(.selection-multiple) .monaco-list-row .resource:hover>.actions{display:block}.scm-view .monaco-list .monaco-list-row.focused.force-no-hover,.scm-view .monaco-list .monaco-list-row.force-no-hover,.scm-view .monaco-list .monaco-list-row.selected.force-no-hover,.scm-view .monaco-list .monaco-list-row:hover.force-no-hover{background:transparent!important}.scm-view .monaco-list .monaco-list-row.cursor-default{cursor:default}.scm-view.show-actions .scm-provider>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .history-item>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .resource-group>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .resource>.name>.monaco-icon-label>.actions,.scm-view.show-actions>.monaco-list .monaco-list-row .scm-input>.scm-editor>.actions{display:block}.scm-view .monaco-list-row .actions .action-label{padding:2px}.scm-view .scm-input{align-items:center;display:flex;height:100%;padding-left:11px}.scm-view .scm-input .scm-editor .scm-editor-toolbar{padding:1px 3px 1px 1px}.scm-view .scm-input .scm-editor .scm-editor-toolbar.hidden{display:none}.scm-view .scm-input .scm-editor .scm-editor-toolbar.scroll-decoration{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.scm-view .scm-input .scm-editor .scm-editor-toolbar .action-label.codicon.codicon-debug-stop{color:var(--vscode-icon-foreground)!important}.scm-view .scm-editor-container .monaco-editor{border-radius:2px}.scm-view .scm-editor{align-items:flex-start;background-color:var(--vscode-input-background);border:1px solid var(--vscode-input-border,transparent);border-radius:2px;box-sizing:border-box;display:flex;width:100%}.scm-view .button-container{align-items:center;display:flex;height:100%;padding-left:11px}.scm-view .button-container .codicon.codicon-cloud-upload,.scm-view .button-container .codicon.codicon-sync{margin:0 4px 0 0}.scm-view .button-container .codicon.codicon-arrow-down,.scm-view .button-container .codicon.codicon-arrow-up{font-size:small!important;margin:0 4px 0 0}.scm-view .button-container>.monaco-button-dropdown{flex-grow:1;overflow:hidden}.scm-view .button-container>.monaco-button-dropdown>.monaco-dropdown-button{align-items:center;display:flex;padding:0 4px}.scm-view .button-container>.monaco-button-dropdown>.monaco-button.monaco-text-button{min-width:0}.scm-view .button-container>.monaco-button-dropdown>.monaco-button.monaco-text-button>span:not(.codicon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scm-view .scm-editor.hidden{display:none}.monaco-workbench .part.panel .scm-view .scm-editor-container{outline:1px solid var(--vscode-panelInput-border)}.monaco-workbench .part.panel .scm-view .scm-editor.synthetic-focus,.scm-view .scm-editor.synthetic-focus{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.scm-view .scm-editor.validation-info{outline:1px solid var(--vscode-inputValidation-infoBorder)!important;outline-offset:-1px}.scm-view .scm-editor.validation-warning{outline:1px solid var(--vscode-inputValidation-warningBorder)!important;outline-offset:-1px}.scm-view .scm-editor.validation-error{outline:1px solid var(--vscode-inputValidation-errorBorder)!important;outline-offset:-1px}.scm-editor-validation-container{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-style:solid;border-width:1px;border-top:none;box-sizing:border-box;display:flex;padding:2px}.scm-editor-validation-container.validation-info{background-color:var(--vscode-inputValidation-infoBackground);border-color:var(--vscode-inputValidation-infoBorder);color:var(--vscode-inputValidation-infoForeground)}.scm-editor-validation-container.validation-warning{background-color:var(--vscode-inputValidation-warningBackground);border-color:var(--vscode-inputValidation-warningBorder);color:var(--vscode-inputValidation-warningForeground)}.scm-editor-validation-container.validation-error{background-color:var(--vscode-inputValidation-errorBackground);border-color:var(--vscode-inputValidation-errorBorder);color:var(--vscode-inputValidation-errorForeground)}.scm-editor-validation{border-style:none;box-sizing:border-box;display:block;flex:auto;font-size:.9em;padding:1px 3px}.scm-editor-validation p{margin:0;padding:0}.scm-editor-validation a{color:var(--vscode-textLink-foreground);-webkit-user-select:none;user-select:none}.scm-editor-validation a:active,.scm-editor-validation a:hover{color:var(--vscode-textLink-activeForeground)}.scm-editor-validation-actions{align-self:start;margin-top:1px}.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor,.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor .margin,.monaco-workbench .part.basepanel>.content .scm-view .scm-editor-container .monaco-editor .monaco-editor-background,.scm-view .scm-editor-container .monaco-editor,.scm-view .scm-editor-container .monaco-editor .margin,.scm-view .scm-editor-container .monaco-editor-background{background-color:var(--vscode-input-background);color:inherit}.scm-view .scm-editor-container .mtk1{color:var(--vscode-input-foreground)}.scm-view .scm-editor-container .placeholder-text.mtk1{color:var(--vscode-input-placeholderForeground)}.scm-repositories-view .scm-provider{margin:0 12px 0 20px;overflow:hidden}.scm-repositories-view .scm-provider>.label>.name{font-weight:400}.monaco-hover.history-item-hover p:first-child{margin-top:4px}.monaco-hover.history-item-hover p:last-child{margin-bottom:0}.monaco-hover.history-item-hover p:last-child span:not(.codicon){margin-bottom:2px!important}.monaco-hover.history-item-hover hr{margin-bottom:4px;margin-top:4px}.monaco-hover.history-item-hover hr+p{margin:4px 0}.monaco-hover.history-item-hover span:not(.codicon){margin-bottom:0!important}.monaco-hover.history-item-hover p>span>span.codicon.codicon-git-branch{font-size:12px;margin-bottom:2px!important}.monaco-hover.history-item-hover p>span>span.codicon.codicon-tag,.monaco-hover.history-item-hover p>span>span.codicon.codicon-target{font-size:14px;margin-bottom:2px!important}.monaco-hover.history-item-hover p>span>span.codicon.codicon-cloud{font-size:14px;margin-bottom:1px!important}.monaco-hover.history-item-hover .hover-row.status-bar .action{align-items:center;display:flex}.monaco-hover.history-item-hover .hover-row.status-bar .action .codicon{color:inherit;font-size:12px}.pane-header .scm-graph-view-badge-container{align-items:center;display:flex;min-width:fit-content}.pane-header .scm-graph-view-badge-container>.scm-graph-view-badge.monaco-count-badge.long{background-color:var(--vscode-badge-background);border:1px solid var(--vscode-contrastBorder);color:var(--vscode-badge-foreground);margin:0 6px;padding:2px 4px}.monaco-workbench .part.auxiliarybar>.title>.title-actions .action-label.scm-graph-history-item-picker,.monaco-workbench .part.auxiliarybar>.title>.title-actions .action-label.scm-graph-repository-picker,.monaco-workbench .part.panel>.title>.title-actions .action-label.scm-graph-history-item-picker,.monaco-workbench .part.panel>.title>.title-actions .action-label.scm-graph-repository-picker{display:flex}.monaco-toolbar .action-item>.action-label.scm-graph-history-item-picker,.monaco-toolbar .action-item>.action-label.scm-graph-repository-picker{align-items:center;color:var(--vscode-icon-foreground);font-weight:400;line-height:16px}.monaco-toolbar .action-item.disabled>.action-label.scm-graph-history-item-picker,.monaco-toolbar .action-item.disabled>.action-label.scm-graph-repository-picker{color:var(--vscode-disabledForeground)}.monaco-toolbar .action-label.scm-graph-history-item-picker .codicon,.monaco-toolbar .action-label.scm-graph-repository-picker .codicon{color:inherit;font-size:14px}.monaco-toolbar .action-label.scm-graph-history-item-picker>.name,.monaco-toolbar .action-label.scm-graph-repository-picker>.name{max-width:100px;overflow:hidden;text-overflow:ellipsis}.scm-history-view .scm-provider .label-name{font-weight:700}.scm-history-view .scm-provider .monaco-icon-label{align-items:center}.scm-history-view .scm-provider .state-label.monaco-count-badge.long{background:var(--vscode-debugView-stateLabelBackground);border-radius:2px;color:var(--vscode-debugView-stateLabelForeground);display:flex;font-size:.8em;margin:0 10px}.scm-history-view .scm-provider .actions{display:flex;flex-grow:1}.scm-history-view .history-item-load-more{display:flex;height:22px}.scm-history-view .history-item-load-more .graph-placeholder{mask-image:linear-gradient(#000,transparent)}.scm-history-view .history-item-load-more .history-item-placeholder{flex-grow:1}.scm-history-view .history-item-load-more .history-item-placeholder .monaco-highlighted-label{align-items:center;color:var(--vscode-textLink-foreground);display:flex;justify-content:center}.scm-history-view .history-item-load-more .history-item-placeholder .monaco-highlighted-label .codicon{color:var(--vscode-textLink-foreground);font-size:12px}.scm-history-view .history-item-load-more .history-item-placeholder.shimmer{padding:2px 0}.scm-history-view .history-item-load-more .history-item-placeholder.shimmer .monaco-icon-label-container{background:var(--vscode-scmGraph-historyItemHoverDefaultLabelBackground);border-radius:2px;height:18px;opacity:.5}";
4
4
  n(css,{});
5
5
 
6
6
  export { css, css as default };
@@ -0,0 +1,49 @@
1
+ import { IAction } from "vscode/vscode/vs/base/common/actions";
2
+ import { IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
3
+ import { IMenu } from "vscode/vscode/vs/platform/actions/common/actions";
4
+ import { IMenuService } from "vscode/vscode/vs/platform/actions/common/actions.service";
5
+ import { IContextKeyService } from "vscode/vscode/vs/platform/contextkey/common/contextkey.service";
6
+ import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
7
+ import { ISCMMenus, ISCMProvider, ISCMRepositoryMenus, ISCMResource, ISCMResourceGroup } from "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common/vscode/vs/workbench/contrib/scm/common/scm";
8
+ import { ISCMService } from "vscode/vscode/vs/workbench/contrib/scm/common/scm.service";
9
+ export declare class SCMTitleMenu implements IDisposable {
10
+ private _actions;
11
+ get actions(): IAction[];
12
+ private _secondaryActions;
13
+ get secondaryActions(): IAction[];
14
+ private readonly _onDidChangeTitle;
15
+ readonly onDidChangeTitle: import("vscode/vscode/vs/base/common/event").Event<void>;
16
+ readonly menu: IMenu;
17
+ private readonly disposables;
18
+ constructor(menuService: IMenuService, contextKeyService: IContextKeyService);
19
+ private updateTitleActions;
20
+ dispose(): void;
21
+ }
22
+ export declare class SCMRepositoryMenus implements ISCMRepositoryMenus, IDisposable {
23
+ private readonly provider;
24
+ private readonly menuService;
25
+ private contextKeyService;
26
+ readonly titleMenu: SCMTitleMenu;
27
+ readonly repositoryMenu: IMenu;
28
+ private readonly resourceGroupMenusItems;
29
+ private _repositoryContextMenu;
30
+ get repositoryContextMenu(): IMenu;
31
+ private readonly disposables;
32
+ constructor(provider: ISCMProvider, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, menuService: IMenuService);
33
+ getResourceGroupMenu(group: ISCMResourceGroup): IMenu;
34
+ getResourceMenu(resource: ISCMResource): IMenu;
35
+ getResourceFolderMenu(group: ISCMResourceGroup): IMenu;
36
+ private getOrCreateResourceGroupMenusItem;
37
+ private onDidChangeResourceGroups;
38
+ dispose(): void;
39
+ }
40
+ export declare class SCMMenus implements ISCMMenus, IDisposable {
41
+ private instantiationService;
42
+ readonly titleMenu: SCMTitleMenu;
43
+ private readonly disposables;
44
+ private readonly menus;
45
+ constructor(scmService: ISCMService, instantiationService: IInstantiationService);
46
+ private onDidRemoveRepository;
47
+ getRepositoryMenus(provider: ISCMProvider): SCMRepositoryMenus;
48
+ dispose(): void;
49
+ }