@codingame/monaco-vscode-scm-service-override 14.0.6 → 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.
Files changed (25) hide show
  1. package/package.json +13 -12
  2. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +9 -10
  3. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css.js +1 -1
  4. package/vscode/src/vs/workbench/contrib/scm/browser/menus.d.ts +2 -1
  5. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +36 -14
  6. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffDecorator.d.ts +7 -1
  7. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffDecorator.js +43 -8
  8. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.d.ts +5 -4
  9. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.js +5 -7
  10. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.js +22 -20
  11. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +84 -76
  12. package/vscode/src/vs/workbench/contrib/scm/browser/scmAccessibilityHelp.js +23 -23
  13. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.d.ts +2 -3
  14. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.js +43 -44
  15. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.d.ts +1 -2
  16. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +8 -9
  17. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.d.ts +1 -1
  18. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +4 -8
  19. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.d.ts +2 -3
  20. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +56 -62
  21. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.d.ts +1 -2
  22. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +2 -16
  23. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +3 -4
  24. package/vscode/src/vs/workbench/contrib/scm/browser/workingSet.js +4 -7
  25. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +1 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-scm-service-override",
3
- "version": "14.0.6",
3
+ "version": "15.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - scm service-override",
6
6
  "keywords": [],
@@ -15,17 +15,18 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-27663a0b-1249-58ba-9085-e52d706b50bc-common": "14.0.6",
19
- "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "14.0.6",
20
- "@codingame/monaco-vscode-91789cdf-e3cb-5a04-aaeb-6f7df7d3d231-common": "14.0.6",
21
- "@codingame/monaco-vscode-a17f5129-e16c-5dac-857e-dcd91bfeffa2-common": "14.0.6",
22
- "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "14.0.6",
23
- "@codingame/monaco-vscode-api": "14.0.6",
24
- "@codingame/monaco-vscode-b4efa70b-52b9-5670-ab5c-f10b10b6834e-common": "14.0.6",
25
- "@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common": "14.0.6",
26
- "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common": "14.0.6",
27
- "@codingame/monaco-vscode-f99b74f5-fcb7-512f-8c6c-35f5a107577d-common": "14.0.6",
28
- "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common": "14.0.6"
18
+ "@codingame/monaco-vscode-12c5f9eb-72d3-57ca-babd-5bef7aa9de3b-common": "15.0.0",
19
+ "@codingame/monaco-vscode-1bb39316-6fbf-572e-ab6a-818a2496c14f-common": "15.0.0",
20
+ "@codingame/monaco-vscode-27663a0b-1249-58ba-9085-e52d706b50bc-common": "15.0.0",
21
+ "@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common": "15.0.0",
22
+ "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "15.0.0",
23
+ "@codingame/monaco-vscode-81f603ca-d6ea-5402-90dd-3014dffc63b4-common": "15.0.0",
24
+ "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "15.0.0",
25
+ "@codingame/monaco-vscode-aff8bc9b-c6f8-578f-9c8a-f70d14f9c13c-common": "15.0.0",
26
+ "@codingame/monaco-vscode-api": "15.0.0",
27
+ "@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common": "15.0.0",
28
+ "@codingame/monaco-vscode-f99b74f5-fcb7-512f-8c6c-35f5a107577d-common": "15.0.0",
29
+ "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common": "15.0.0"
29
30
  },
30
31
  "main": "index.js",
31
32
  "module": "index.js",
@@ -19,12 +19,11 @@ import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/ite
19
19
  import { ITitleService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/title/browser/titleService.service';
20
20
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
21
21
  import { getRepositoryResourceCount } from '@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common/vscode/vs/workbench/contrib/scm/browser/util';
22
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
23
- import { autorunWithStore, autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/autorun';
24
- import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/derived';
25
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
26
- import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils';
22
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
27
23
  import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
24
+ import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils';
25
+ import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/derived';
26
+ import { autorunWithStore, autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/autorun';
28
27
 
29
28
  const ActiveRepositoryContextKeys = {
30
29
  ActiveRepositoryName: ( new RawContextKey('scmActiveRepositoryName', '')),
@@ -103,7 +102,7 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
103
102
  if (count === 0) {
104
103
  return;
105
104
  }
106
- const badge = ( new NumberBadge(count, num => ( localize(8584, '{0} pending changes', num))));
105
+ const badge = ( new NumberBadge(count, num => ( localize(8676, '{0} pending changes', num))));
107
106
  store.add(this.activityService.showViewActivity(VIEW_PANE_ID, { badge }));
108
107
  }
109
108
  _updateStatusBar(repository, commands, store) {
@@ -129,7 +128,7 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
129
128
  repoAgnosticActionName = '';
130
129
  }
131
130
  const statusbarEntry = {
132
- name: ( localize(8585, "Source Control")) + (repoAgnosticActionName ? ` ${repoAgnosticActionName}` : ''),
131
+ name: ( localize(8677, "Source Control")) + (repoAgnosticActionName ? ` ${repoAgnosticActionName}` : ''),
133
132
  text: command.title,
134
133
  ariaLabel: tooltip,
135
134
  tooltip,
@@ -137,7 +136,7 @@ let SCMActiveRepositoryController = class SCMActiveRepositoryController extends
137
136
  };
138
137
  store.add(index === 0 ?
139
138
  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
+ this.statusbarService.addEntry(statusbarEntry, `status.scm.${index}`, StatusbarAlignment.LEFT, { location: { id: `status.scm.${index - 1}`, priority: 10000 }, alignment: StatusbarAlignment.RIGHT, compact: true }));
141
140
  }
142
141
  }
143
142
  _updateActiveRepositoryContextKeys(repositoryName, branchName) {
@@ -161,8 +160,8 @@ let SCMActiveResourceContextKeyController = class SCMActiveResourceContextKeyCon
161
160
  this.uriIdentityService = uriIdentityService;
162
161
  this._repositories = observableFromEvent(this, Event.any(this.scmService.onDidAddRepository, this.scmService.onDidRemoveRepository), () => this.scmService.repositories);
163
162
  this._onDidRepositoryChange = ( new Emitter());
164
- const activeResourceHasChangesContextKey = ( new RawContextKey('scmActiveResourceHasChanges', false, ( localize(8586, "Whether the active resource has changes"))));
165
- const activeResourceRepositoryContextKey = ( new RawContextKey('scmActiveResourceRepository', undefined, ( localize(8587, "The active resource's repository"))));
163
+ const activeResourceHasChangesContextKey = ( new RawContextKey('scmActiveResourceHasChanges', false, ( localize(8678, "Whether the active resource has changes"))));
164
+ const activeResourceRepositoryContextKey = ( new RawContextKey('scmActiveResourceRepository', undefined, ( localize(8679, "The active resource's repository"))));
166
165
  this._store.add(autorunWithStore((reader, store) => {
167
166
  for (const repository of this._repositories.read(reader)) {
168
167
  store.add(Event.runAndSubscribe(repository.provider.onDidChangeResources, () => {
@@ -1,6 +1,6 @@
1
1
  import n from '@codingame/monaco-vscode-api/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:2px!important}.monaco-hover.history-item-hover p:last-child span:not(.codicon){padding:2px 0}.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}";
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:first-of-type{stroke:transparent}.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:2px!important}.monaco-hover.history-item-hover p:last-child span:not(.codicon){padding:2px 0}.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,.monaco-workbench .part.sidebar>.title>.title-actions .action-label.scm-graph-history-item-picker,.monaco-workbench .part.sidebar>.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 };
@@ -1,4 +1,5 @@
1
1
  import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
2
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
3
  import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
4
  import { IMenu } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
4
5
  import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service";
@@ -12,7 +13,7 @@ export declare class SCMTitleMenu implements IDisposable {
12
13
  private _secondaryActions;
13
14
  get secondaryActions(): IAction[];
14
15
  private readonly _onDidChangeTitle;
15
- readonly onDidChangeTitle: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
16
+ readonly onDidChangeTitle: Event<void>;
16
17
  readonly menu: IMenu;
17
18
  private readonly disposables;
18
19
  constructor(menuService: IMenuService, contextKeyService: IContextKeyService);
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
4
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
5
  import { DisposableStore, dispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import './media/scm.css.js';
7
7
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -48,12 +48,6 @@ SCMTitleMenu = ( __decorate([
48
48
  ( __param(1, IContextKeyService))
49
49
  ], SCMTitleMenu));
50
50
  class SCMMenusItem {
51
- get resourceGroupMenu() {
52
- if (!this._resourceGroupMenu) {
53
- this._resourceGroupMenu = this.menuService.createMenu(MenuId.SCMResourceGroupContext, this.contextKeyService);
54
- }
55
- return this._resourceGroupMenu;
56
- }
57
51
  get resourceFolderMenu() {
58
52
  if (!this._resourceFolderMenu) {
59
53
  this._resourceFolderMenu = this.menuService.createMenu(MenuId.SCMResourceFolderContext, this.contextKeyService);
@@ -64,6 +58,29 @@ class SCMMenusItem {
64
58
  this.contextKeyService = contextKeyService;
65
59
  this.menuService = menuService;
66
60
  }
61
+ getResourceGroupMenu(resourceGroup) {
62
+ if (typeof resourceGroup.contextValue === 'undefined') {
63
+ if (!this.genericResourceGroupMenu) {
64
+ this.genericResourceGroupMenu = this.menuService.createMenu(MenuId.SCMResourceGroupContext, this.contextKeyService);
65
+ }
66
+ return this.genericResourceGroupMenu;
67
+ }
68
+ if (!this.contextualResourceGroupMenus) {
69
+ this.contextualResourceGroupMenus = ( new Map());
70
+ }
71
+ let item = this.contextualResourceGroupMenus.get(resourceGroup.contextValue);
72
+ if (!item) {
73
+ const contextKeyService = this.contextKeyService.createOverlay([['scmResourceGroupState', resourceGroup.contextValue]]);
74
+ const menu = this.menuService.createMenu(MenuId.SCMResourceGroupContext, contextKeyService);
75
+ item = {
76
+ menu, dispose() {
77
+ menu.dispose();
78
+ }
79
+ };
80
+ this.contextualResourceGroupMenus.set(resourceGroup.contextValue, item);
81
+ }
82
+ return item.menu;
83
+ }
67
84
  getResourceMenu(resource) {
68
85
  if (typeof resource.contextValue === 'undefined') {
69
86
  if (!this.genericResourceMenu) {
@@ -88,9 +105,14 @@ class SCMMenusItem {
88
105
  return item.menu;
89
106
  }
90
107
  dispose() {
91
- this._resourceGroupMenu?.dispose();
92
- this._resourceFolderMenu?.dispose();
108
+ this.genericResourceGroupMenu?.dispose();
93
109
  this.genericResourceMenu?.dispose();
110
+ this._resourceFolderMenu?.dispose();
111
+ if (this.contextualResourceGroupMenus) {
112
+ dispose(( this.contextualResourceGroupMenus.values()));
113
+ this.contextualResourceGroupMenus.clear();
114
+ this.contextualResourceGroupMenus = undefined;
115
+ }
94
116
  if (this.contextualResourceMenus) {
95
117
  dispose(( this.contextualResourceMenus.values()));
96
118
  this.contextualResourceMenus.clear();
@@ -126,7 +148,7 @@ let SCMRepositoryMenus = class SCMRepositoryMenus {
126
148
  this.onDidChangeResourceGroups();
127
149
  }
128
150
  getResourceGroupMenu(group) {
129
- return this.getOrCreateResourceGroupMenusItem(group).resourceGroupMenu;
151
+ return this.getOrCreateResourceGroupMenusItem(group).getResourceGroupMenu(group);
130
152
  }
131
153
  getResourceMenu(resource) {
132
154
  return this.getOrCreateResourceGroupMenusItem(resource.resourceGroup).getResourceMenu(resource);
@@ -172,15 +194,15 @@ let SCMMenus = class SCMMenus {
172
194
  this.menus = ( new Map());
173
195
  this.titleMenu = instantiationService.createInstance(SCMTitleMenu);
174
196
  scmService.onDidRemoveRepository(this.onDidRemoveRepository, this, this.disposables);
175
- MenuRegistry.onDidChangeMenu(e => {
176
- if (!( e.has(MenuId.SCMTitle))) {
197
+ this.disposables.add(Event.runAndSubscribe(MenuRegistry.onDidChangeMenu, e => {
198
+ if (e && !( e.has(MenuId.SCMTitle))) {
177
199
  return;
178
200
  }
179
201
  this.repositoryMenuDisposables.clear();
180
202
  for (const menuItem of MenuRegistry.getMenuItems(MenuId.SCMTitle)) {
181
203
  this.repositoryMenuDisposables.add(MenuRegistry.appendMenuItem(MenuId.SCMSourceControlInline, menuItem));
182
204
  }
183
- }, this, this.disposables);
205
+ }));
184
206
  }
185
207
  onDidRemoveRepository(repository) {
186
208
  const menus = this.menus.get(repository.provider);
@@ -209,7 +231,7 @@ SCMMenus = ( __decorate([
209
231
  ( __param(1, IInstantiationService))
210
232
  ], SCMMenus));
211
233
  MenuRegistry.appendMenuItem(MenuId.SCMResourceContext, {
212
- title: ( localize(8588, "Share")),
234
+ title: ( localize(8680, "Share")),
213
235
  submenu: MenuId.SCMResourceContextShare,
214
236
  group: '45_share',
215
237
  order: 3,
@@ -4,23 +4,29 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
4
4
  import { IQuickDiffModelService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/quickDiffModel.service";
5
5
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
6
6
  import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
7
+ import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
8
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
9
+ export declare const quickDiffDecorationCount: RawContextKey<number>;
7
10
  export declare class QuickDiffWorkbenchController extends Disposable implements IWorkbenchContribution {
8
11
  private readonly editorService;
9
12
  private readonly configurationService;
10
13
  private readonly quickDiffModelService;
11
14
  private readonly uriIdentityService;
12
15
  private enabled;
16
+ private readonly quickDiffDecorationCount;
17
+ private readonly activeEditor;
13
18
  private readonly decorators;
14
19
  private viewState;
15
20
  private readonly transientDisposables;
16
21
  private readonly stylesheet;
17
- constructor(editorService: IEditorService, configurationService: IConfigurationService, quickDiffModelService: IQuickDiffModelService, uriIdentityService: IUriIdentityService);
22
+ constructor(editorService: IEditorService, configurationService: IConfigurationService, quickDiffModelService: IQuickDiffModelService, uriIdentityService: IUriIdentityService, contextKeyService: IContextKeyService);
18
23
  private onDidChangeConfiguration;
19
24
  private onDidChangeDiffWidthConfiguration;
20
25
  private onDidChangeDiffVisibilityConfiguration;
21
26
  private setViewState;
22
27
  private enable;
23
28
  private disable;
29
+ private onDidActiveEditorChange;
24
30
  private onEditorsChanged;
25
31
  dispose(): void;
26
32
  }
@@ -11,12 +11,18 @@ import { isCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/brow
11
11
  import { OverviewRulerLane, MinimapPosition } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
12
12
  import { createStyleSheet } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/domStylesheets';
13
13
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
14
- import { minimapGutterAddedBackground, overviewRulerAddedForeground, minimapGutterModifiedBackground, overviewRulerModifiedForeground, minimapGutterDeletedBackground, overviewRulerDeletedForeground, getChangeType, ChangeType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff';
14
+ import { minimapGutterAddedBackground, overviewRulerAddedForeground, minimapGutterModifiedBackground, overviewRulerModifiedForeground, minimapGutterDeletedBackground, overviewRulerDeletedForeground, getChangeType, ChangeType } from '@codingame/monaco-vscode-1bb39316-6fbf-572e-ab6a-818a2496c14f-common/vscode/vs/workbench/contrib/scm/common/quickDiff';
15
15
  import { IQuickDiffModelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/quickDiffModel.service';
16
16
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
17
17
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
18
+ import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
19
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
20
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
21
+ import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils';
22
+ import { autorunWithStore, autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/autorun';
18
23
 
19
24
  var QuickDiffDecorator_1;
25
+ const quickDiffDecorationCount = ( new RawContextKey('quickDiffDecorationCount', 0));
20
26
  let QuickDiffDecorator = QuickDiffDecorator_1 = class QuickDiffDecorator extends Disposable {
21
27
  static createDecoration(className, tooltip, options) {
22
28
  const decorationOptions = {
@@ -50,7 +56,7 @@ let QuickDiffDecorator = QuickDiffDecorator_1 = class QuickDiffDecorator extends
50
56
  const gutter = decorations === 'all' || decorations === 'gutter';
51
57
  const overview = decorations === 'all' || decorations === 'overview';
52
58
  const minimap = decorations === 'all' || decorations === 'minimap';
53
- const diffAdded = ( localize(8589, 'Added lines'));
59
+ const diffAdded = ( localize(8681, 'Added lines'));
54
60
  this.addedOptions = QuickDiffDecorator_1.createDecoration('dirty-diff-added', diffAdded, {
55
61
  gutter,
56
62
  overview: { active: overview, color: overviewRulerAddedForeground },
@@ -63,7 +69,7 @@ let QuickDiffDecorator = QuickDiffDecorator_1 = class QuickDiffDecorator extends
63
69
  minimap: { active: minimap, color: minimapGutterAddedBackground },
64
70
  isWholeLine: true
65
71
  });
66
- const diffModified = ( localize(8590, 'Changed lines'));
72
+ const diffModified = ( localize(8682, 'Changed lines'));
67
73
  this.modifiedOptions = QuickDiffDecorator_1.createDecoration('dirty-diff-modified', diffModified, {
68
74
  gutter,
69
75
  overview: { active: overview, color: overviewRulerModifiedForeground },
@@ -76,7 +82,7 @@ let QuickDiffDecorator = QuickDiffDecorator_1 = class QuickDiffDecorator extends
76
82
  minimap: { active: minimap, color: minimapGutterModifiedBackground },
77
83
  isWholeLine: true
78
84
  });
79
- this.deletedOptions = QuickDiffDecorator_1.createDecoration('dirty-diff-deleted', ( localize(8591, 'Removed lines')), {
85
+ this.deletedOptions = QuickDiffDecorator_1.createDecoration('dirty-diff-deleted', ( localize(8683, 'Removed lines')), {
80
86
  gutter,
81
87
  overview: { active: overview, color: overviewRulerDeletedForeground },
82
88
  minimap: { active: minimap, color: minimapGutterDeletedBackground },
@@ -138,7 +144,7 @@ let QuickDiffDecorator = QuickDiffDecorator_1 = class QuickDiffDecorator extends
138
144
  }
139
145
  dispose() {
140
146
  if (this.decorationsCollection) {
141
- this.decorationsCollection?.clear();
147
+ this.decorationsCollection.clear();
142
148
  }
143
149
  this.decorationsCollection = undefined;
144
150
  this.quickDiffModelRef.dispose();
@@ -149,17 +155,19 @@ QuickDiffDecorator = QuickDiffDecorator_1 = ( __decorate([
149
155
  ( __param(2, IConfigurationService))
150
156
  ], QuickDiffDecorator));
151
157
  let QuickDiffWorkbenchController = class QuickDiffWorkbenchController extends Disposable {
152
- constructor(editorService, configurationService, quickDiffModelService, uriIdentityService) {
158
+ constructor(editorService, configurationService, quickDiffModelService, uriIdentityService, contextKeyService) {
153
159
  super();
154
160
  this.editorService = editorService;
155
161
  this.configurationService = configurationService;
156
162
  this.quickDiffModelService = quickDiffModelService;
157
163
  this.uriIdentityService = uriIdentityService;
158
164
  this.enabled = false;
165
+ this.activeEditor = observableFromEvent(this, this.editorService.onDidActiveEditorChange, () => this.editorService.activeEditor);
159
166
  this.decorators = ( new ResourceMap());
160
167
  this.viewState = { width: 3, visibility: 'always' };
161
168
  this.transientDisposables = this._register(( new DisposableStore()));
162
169
  this.stylesheet = createStyleSheet(undefined, undefined, this._store);
170
+ this.quickDiffDecorationCount = quickDiffDecorationCount.bindTo(contextKeyService);
163
171
  const onDidChangeConfiguration = Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.diffDecorations'));
164
172
  this._register(onDidChangeConfiguration(this.onDidChangeConfiguration, this));
165
173
  this.onDidChangeConfiguration();
@@ -218,6 +226,7 @@ let QuickDiffWorkbenchController = class QuickDiffWorkbenchController extends Di
218
226
  }
219
227
  this.transientDisposables.add(Event.any(this.editorService.onDidCloseEditor, this.editorService.onDidVisibleEditorsChange)(() => this.onEditorsChanged()));
220
228
  this.onEditorsChanged();
229
+ this.onDidActiveEditorChange();
221
230
  this.enabled = true;
222
231
  }
223
232
  disable() {
@@ -225,12 +234,37 @@ let QuickDiffWorkbenchController = class QuickDiffWorkbenchController extends Di
225
234
  return;
226
235
  }
227
236
  this.transientDisposables.clear();
237
+ this.quickDiffDecorationCount.set(0);
228
238
  for (const [uri, decoratorMap] of this.decorators.entries()) {
229
239
  decoratorMap.dispose();
230
240
  this.decorators.delete(uri);
231
241
  }
232
242
  this.enabled = false;
233
243
  }
244
+ onDidActiveEditorChange() {
245
+ this.transientDisposables.add(autorunWithStore((reader, store) => {
246
+ const activeEditor = this.activeEditor.read(reader);
247
+ const activeTextEditorControl = this.editorService.activeTextEditorControl;
248
+ if (!isCodeEditor(activeTextEditorControl) || !activeEditor?.resource) {
249
+ this.quickDiffDecorationCount.set(0);
250
+ return;
251
+ }
252
+ const quickDiffModelRef = this.quickDiffModelService.createQuickDiffModelReference(activeEditor.resource);
253
+ if (!quickDiffModelRef) {
254
+ this.quickDiffDecorationCount.set(0);
255
+ return;
256
+ }
257
+ store.add(quickDiffModelRef);
258
+ const visibleDecorationCount = observableFromEvent(this, quickDiffModelRef.object.onDidChange, () => {
259
+ const visibleQuickDiffs = quickDiffModelRef.object.quickDiffs.filter(quickDiff => quickDiff.visible);
260
+ return quickDiffModelRef.object.changes.filter(labeledChange => ( visibleQuickDiffs.some(quickDiff => quickDiff.label === labeledChange.label))).length;
261
+ });
262
+ store.add(autorun(reader => {
263
+ const count = visibleDecorationCount.read(reader);
264
+ this.quickDiffDecorationCount.set(count);
265
+ }));
266
+ }));
267
+ }
234
268
  onEditorsChanged() {
235
269
  for (const editor of this.editorService.visibleTextEditorControls) {
236
270
  if (!isCodeEditor(editor)) {
@@ -277,7 +311,8 @@ QuickDiffWorkbenchController = ( __decorate([
277
311
  ( __param(0, IEditorService)),
278
312
  ( __param(1, IConfigurationService)),
279
313
  ( __param(2, IQuickDiffModelService)),
280
- ( __param(3, IUriIdentityService))
314
+ ( __param(3, IUriIdentityService)),
315
+ ( __param(4, IContextKeyService))
281
316
  ], QuickDiffWorkbenchController));
282
317
 
283
- export { QuickDiffWorkbenchController };
318
+ export { QuickDiffWorkbenchController, quickDiffDecorationCount };
@@ -1,13 +1,14 @@
1
1
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
2
- import { IResolvedTextFileEditorModel } from "@codingame/monaco-vscode-a17f5129-e16c-5dac-857e-dcd91bfeffa2-common/vscode/vs/workbench/services/textfile/common/textfiles";
2
+ import { IResolvedTextFileEditorModel } from "@codingame/monaco-vscode-aff8bc9b-c6f8-578f-9c8a-f70d14f9c13c-common/vscode/vs/workbench/services/textfile/common/textfiles";
3
3
  import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service";
4
4
  import { Disposable, IReference } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
5
- import { DiffAlgorithmName, IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker";
5
+ import { DiffAlgorithmName } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker";
6
+ import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
6
7
  import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
7
8
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
8
- import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService";
9
+ import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
9
10
  import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
10
- import { QuickDiff, QuickDiffChange, QuickDiffResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff";
11
+ import { QuickDiff, QuickDiffChange, QuickDiffResult } from "@codingame/monaco-vscode-1bb39316-6fbf-572e-ab6a-818a2496c14f-common/vscode/vs/workbench/contrib/scm/common/quickDiff";
11
12
  import { IQuickDiffService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff.service";
12
13
  import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
13
14
  import { ISplice } from "@codingame/monaco-vscode-api/vscode/vs/base/common/sequence";
@@ -2,14 +2,14 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
4
4
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
5
- import { isTextFileEditorModel, EncodingMode } from '@codingame/monaco-vscode-a17f5129-e16c-5dac-857e-dcd91bfeffa2-common/vscode/vs/workbench/services/textfile/common/textfiles';
5
+ import { isTextFileEditorModel, EncodingMode } from '@codingame/monaco-vscode-aff8bc9b-c6f8-578f-9c8a-f70d14f9c13c-common/vscode/vs/workbench/services/textfile/common/textfiles';
6
6
  import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
7
7
  import { ReferenceCollection, Disposable, DisposableStore, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
- import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker';
8
+ import { IEditorWorkerService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service';
9
9
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
10
- import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService';
10
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
11
11
  import { shouldSynchronizeModel } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
12
- import { compareChanges, getModifiedEndLineNumber } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff';
12
+ import { compareChanges, getModifiedEndLineNumber } from '@codingame/monaco-vscode-1bb39316-6fbf-572e-ab6a-818a2496c14f-common/vscode/vs/workbench/contrib/scm/common/quickDiff';
13
13
  import { IQuickDiffService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff.service';
14
14
  import { ThrottledDelayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
15
15
  import { ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
@@ -24,10 +24,8 @@ import { IProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platfor
24
24
  import { WorkingSetEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService';
25
25
  import { IChatEditingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatEditingService.service';
26
26
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
27
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
27
28
  import { autorunWithStore, autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/autorun';
28
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/derived';
29
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
30
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils';
31
29
 
32
30
  const decoratorQuickDiffModelOptions = {
33
31
  algorithm: 'legacy',