@codingame/monaco-vscode-scm-service-override 23.2.2 → 24.1.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 (23) hide show
  1. package/package.json +2 -14
  2. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +7 -7
  3. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css +44 -23
  4. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +1 -1
  5. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffDecorator.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.js +2 -2
  8. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.d.ts +1 -1
  9. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.js +14 -14
  10. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +94 -94
  11. package/vscode/src/vs/workbench/contrib/scm/browser/scmAccessibilityHelp.js +23 -23
  12. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.d.ts +1 -1
  13. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.js +151 -110
  14. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.d.ts +9 -2
  15. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +139 -50
  16. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +2 -5
  17. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.d.ts +2 -2
  18. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +71 -47
  19. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.d.ts +1 -1
  20. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +1 -1
  21. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.d.ts +2 -2
  22. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +13 -19
  23. package/vscode/src/vs/workbench/contrib/scm/browser/workingSet.js +1 -1
@@ -5,12 +5,12 @@ import * as scm from './media/scm.css';
5
5
  import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
6
  import { basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
7
  import { Disposable, DisposableStore, toDisposable, combinedDisposable, MutableDisposable, dispose, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
- import { ViewAction, ViewPane } from '@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common/vscode/vs/workbench/browser/parts/views/viewPane';
8
+ import { ViewAction, ViewPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane';
9
9
  import { append, $, Dimension, trackFocus, isPointerEvent, isActiveElement, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
10
10
  import { asCSSUrl } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/cssValue';
11
11
  import { ViewMode, VIEW_PANE_ID, ISCMRepositorySortKey, ISCMRepositorySelectionMode, InputValidationType, SCMInputChangeReason } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm';
12
12
  import { ISCMViewService, ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
13
- import { ResourceLabels } from '@codingame/monaco-vscode-3b5a5cd1-d4ff-500a-b609-57e0cd4afa0a-common/vscode/vs/workbench/browser/labels';
13
+ import { ResourceLabels } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/labels';
14
14
  import { CountBadge } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/countBadge/countBadge';
15
15
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
16
16
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
@@ -24,12 +24,12 @@ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/ac
24
24
  import { ActionRunner, Action, toAction, Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
25
25
  import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
26
26
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
27
- import { isSCMResource, connectPrimaryMenu, isSCMResourceGroup, isSCMInput, isSCMActionButton, isSCMRepository, isSCMResourceNode, getActionViewItemProvider, collectContextMenuActions, isSCMViewService } from '@codingame/monaco-vscode-bc6f260d-ec63-5c95-9446-1ca7d0872719-common/vscode/vs/workbench/contrib/scm/browser/util';
27
+ import { isSCMResource, connectPrimaryMenu, isSCMResourceGroup, isSCMInput, isSCMActionButton, isSCMRepository, isSCMResourceNode, getActionViewItemProvider, collectContextMenuActions, isSCMViewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/util';
28
28
  import { WorkbenchCompressibleAsyncDataTree } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
29
29
  import { ConfigurationTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
30
30
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
31
31
  import { disposableTimeout, ThrottledDelayer, Sequencer, Throttler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
32
- import { ResourceTree } from '@codingame/monaco-vscode-bc6f260d-ec63-5c95-9446-1ca7d0872719-common/vscode/vs/base/common/resourceTree';
32
+ import { ResourceTree } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resourceTree';
33
33
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
34
34
  import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
35
35
  import { compareFileNames, comparePaths } from '@codingame/monaco-vscode-api/vscode/vs/base/common/comparers';
@@ -40,7 +40,7 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
40
40
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
41
41
  import { EditorResourceAccessor, SideBySideEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
42
42
  import { CodeEditorWidget } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/widget/codeEditor/codeEditorWidget';
43
- import { getSimpleEditorOptions, setupSimpleEditorSelectionStyling } from '@codingame/monaco-vscode-08fd81c0-7fd8-5f7c-9776-f918dd532714-common/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
43
+ import { getSimpleEditorOptions, setupSimpleEditorSelectionStyling } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
44
44
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
45
45
  import { EditorExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
46
46
  import { MenuPreventer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/codeEditor/browser/menuPreventer';
@@ -64,7 +64,7 @@ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/th
64
64
  import { AnchorAlignment } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/contextview/contextview';
65
65
  import { RepositoryRenderer, RepositoryActionRunner } from './scmRepositoryRenderer.js';
66
66
  import { isDark } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/theme';
67
- import { API_OPEN_EDITOR_COMMAND_ID, API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-05c09f77-cd1d-5960-b387-e7023df3160b-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
67
+ import { API_OPEN_EDITOR_COMMAND_ID, API_OPEN_DIFF_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorCommands';
68
68
  import { getFlatActionBarActions, createActionViewItem, getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
69
69
  import { openLinkFromMarkdown } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer';
70
70
  import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
@@ -79,7 +79,7 @@ import { defaultCountBadgeStyles, defaultButtonStyles } from '@codingame/monaco-
79
79
  import { InlineCompletionsController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController';
80
80
  import { CodeActionController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/codeAction/browser/codeActionController';
81
81
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
82
- import { fillEditorsDragData } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/browser/dnd';
82
+ import { fillEditorsDragData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/dnd';
83
83
  import { CodeDataTransfers } from '@codingame/monaco-vscode-api/vscode/vs/platform/dnd/browser/dnd';
84
84
  import { FormatOnType } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/format/browser/formatActions';
85
85
  import { EditorOptions, EditorOption } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/config/editorOptions';
@@ -87,10 +87,10 @@ import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/plat
87
87
  import { EditOperation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation';
88
88
  import { WorkbenchToolBar, HiddenItemStrategy } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
89
89
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
90
- import { DropdownWithPrimaryActionViewItem } from '@codingame/monaco-vscode-2c64d2c2-fdf7-5675-a2fe-f6f65fbdedbf-common/vscode/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem';
90
+ import { DropdownWithPrimaryActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem';
91
91
  import { clamp, rot } from '@codingame/monaco-vscode-api/vscode/vs/base/common/numbers';
92
92
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
93
- import { OpenScmGroupAction } from '@codingame/monaco-vscode-aac7027b-326c-513a-95a9-e4eedd151b38-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver';
93
+ import { OpenScmGroupAction } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver';
94
94
  import { ContentHoverController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/hover/browser/contentHoverController';
95
95
  import { GlyphHoverController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/hover/browser/glyphHoverController';
96
96
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
@@ -101,7 +101,7 @@ import { IAccessibilityService } from '@codingame/monaco-vscode-api/vscode/vs/pl
101
101
  import { AccessibilityCommandId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/common/accessibilityCommands';
102
102
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
103
103
  import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
104
- import { CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID } from '@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
104
+ import { CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
105
105
  import { runOnChange } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/runOnChange';
106
106
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
107
107
 
@@ -159,7 +159,6 @@ let ActionButtonRenderer = class ActionButtonRenderer {
159
159
  this.actionButtons = ( new Map());
160
160
  }
161
161
  renderTemplate(container) {
162
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
163
162
  container.parentElement.parentElement.classList.add('cursor-default', 'force-no-hover');
164
163
  const buttonContainer = append(container, $('.button-container'));
165
164
  const actionButton = ( new SCMActionButton(
@@ -257,7 +256,6 @@ let InputRenderer = class InputRenderer {
257
256
  this.editorSelections = ( new WeakMap());
258
257
  }
259
258
  renderTemplate(container) {
260
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
261
259
  container.parentElement.parentElement.classList.add('force-no-hover');
262
260
  const templateDisposable = ( new DisposableStore());
263
261
  const inputElement = append(container, $('.scm-input'));
@@ -350,7 +348,6 @@ let ResourceGroupRenderer = class ResourceGroupRenderer {
350
348
  this.telemetryService = telemetryService;
351
349
  }
352
350
  renderTemplate(container) {
353
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-twistie');
354
351
  const element = append(container, $('.resource-group'));
355
352
  const name = append(element, $('.name'));
356
353
  const actionsContainer = append(element, $('.actions'));
@@ -761,7 +758,7 @@ let SCMAccessibilityProvider = class SCMAccessibilityProvider {
761
758
  this.labelService = labelService;
762
759
  }
763
760
  getWidgetAriaLabel() {
764
- return localize(10447, "Source Control Management");
761
+ return localize(10582, "Source Control Management");
765
762
  }
766
763
  getAriaLabel(element) {
767
764
  if (ResourceTree.isResourceNode(element)) {
@@ -773,17 +770,17 @@ let SCMAccessibilityProvider = class SCMAccessibilityProvider {
773
770
  else if (isSCMInput(element)) {
774
771
  const verbosity = this.configurationService.getValue(AccessibilityVerbositySettingId.SourceControl) === true;
775
772
  if (!verbosity || !this.accessibilityService.isScreenReaderOptimized()) {
776
- return localize(10448, "Source Control Input");
773
+ return localize(10583, "Source Control Input");
777
774
  }
778
775
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
779
776
  return kbLabel
780
777
  ? ( localize(
781
- 10449,
778
+ 10584,
782
779
  "Source Control Input, Use {0} to open Source Control Accessibility Help.",
783
780
  kbLabel
784
781
  ))
785
782
  : ( localize(
786
- 10450,
783
+ 10585,
787
784
  "Source Control Input, Run the Open Accessibility Help command for more information."
788
785
  ));
789
786
  }
@@ -842,14 +839,14 @@ const ContextKeys = {
842
839
  }
843
840
  };
844
841
  MenuRegistry.appendMenuItem(MenuId.SCMTitle, {
845
- title: ( localize(10451, "View & Sort")),
842
+ title: ( localize(10586, "View & Sort")),
846
843
  submenu: Menus.ViewSort,
847
844
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)))),
848
845
  group: '0_view&sort',
849
846
  order: 1
850
847
  });
851
848
  MenuRegistry.appendMenuItem(Menus.ViewSort, {
852
- title: ( localize(10452, "Repositories")),
849
+ title: ( localize(10587, "Repositories")),
853
850
  submenu: Menus.Repositories,
854
851
  when: ContextKeyExpr.greater(ContextKeys.RepositoryCount.key, 1),
855
852
  group: '0_repositories'
@@ -936,39 +933,63 @@ RepositoryVisibilityActionController = ( __decorate([
936
933
  ( __param(2, ISCMService))
937
934
  ], RepositoryVisibilityActionController));
938
935
  class SetListViewModeAction extends ViewAction {
939
- constructor() {
936
+ constructor(id = 'workbench.scm.action.setListViewMode', menu = {}) {
940
937
  super({
941
- id: 'workbench.scm.action.setListViewMode',
942
- title: ( localize(10453, "View as List")),
938
+ id,
939
+ title: ( localize(10588, "View as List")),
943
940
  viewId: VIEW_PANE_ID,
944
941
  f1: false,
945
942
  icon: Codicon.listTree,
946
943
  toggled: ( ContextKeys.SCMViewMode.isEqualTo(ViewMode.List)),
947
- menu: { id: Menus.ViewSort, group: '1_viewmode' }
944
+ menu: { id: Menus.ViewSort, group: '1_viewmode', ...menu }
948
945
  });
949
946
  }
950
947
  async runInView(_, view) {
951
948
  view.viewMode = ViewMode.List;
952
949
  }
953
950
  }
954
- class SetTreeViewModeAction extends ViewAction {
951
+ class SetListViewModeNavigationAction extends SetListViewModeAction {
955
952
  constructor() {
953
+ super('workbench.scm.action.setListViewModeNavigation', {
954
+ id: MenuId.SCMTitle,
955
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)), ( ContextKeys.SCMViewMode.isEqualTo(ViewMode.Tree)))),
956
+ group: 'navigation',
957
+ isHiddenByDefault: true,
958
+ order: -1e3
959
+ });
960
+ }
961
+ }
962
+ class SetTreeViewModeAction extends ViewAction {
963
+ constructor(id = 'workbench.scm.action.setTreeViewMode', menu = {}) {
956
964
  super({
957
- id: 'workbench.scm.action.setTreeViewMode',
958
- title: ( localize(10454, "View as Tree")),
965
+ id,
966
+ title: ( localize(10589, "View as Tree")),
959
967
  viewId: VIEW_PANE_ID,
960
968
  f1: false,
961
969
  icon: Codicon.listFlat,
962
970
  toggled: ( ContextKeys.SCMViewMode.isEqualTo(ViewMode.Tree)),
963
- menu: { id: Menus.ViewSort, group: '1_viewmode' }
971
+ menu: { id: Menus.ViewSort, group: '1_viewmode', ...menu }
964
972
  });
965
973
  }
966
974
  async runInView(_, view) {
967
975
  view.viewMode = ViewMode.Tree;
968
976
  }
969
977
  }
978
+ class SetTreeViewModeNavigationAction extends SetTreeViewModeAction {
979
+ constructor() {
980
+ super('workbench.scm.action.setTreeViewModeNavigation', {
981
+ id: MenuId.SCMTitle,
982
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)), ( ContextKeys.SCMViewMode.isEqualTo(ViewMode.List)))),
983
+ group: 'navigation',
984
+ isHiddenByDefault: true,
985
+ order: -1e3
986
+ });
987
+ }
988
+ }
970
989
  registerAction2(SetListViewModeAction);
971
990
  registerAction2(SetTreeViewModeAction);
991
+ registerAction2(SetListViewModeNavigationAction);
992
+ registerAction2(SetTreeViewModeNavigationAction);
972
993
  class RepositorySortAction extends Action2 {
973
994
  constructor(sortKey, title) {
974
995
  super({
@@ -995,17 +1016,17 @@ class RepositorySortAction extends Action2 {
995
1016
  }
996
1017
  class RepositorySortByDiscoveryTimeAction extends RepositorySortAction {
997
1018
  constructor() {
998
- super(ISCMRepositorySortKey.DiscoveryTime, ( localize(10455, "Sort by Discovery Time")));
1019
+ super(ISCMRepositorySortKey.DiscoveryTime, ( localize(10590, "Sort by Discovery Time")));
999
1020
  }
1000
1021
  }
1001
1022
  class RepositorySortByNameAction extends RepositorySortAction {
1002
1023
  constructor() {
1003
- super(ISCMRepositorySortKey.Name, ( localize(10456, "Sort by Name")));
1024
+ super(ISCMRepositorySortKey.Name, ( localize(10591, "Sort by Name")));
1004
1025
  }
1005
1026
  }
1006
1027
  class RepositorySortByPathAction extends RepositorySortAction {
1007
1028
  constructor() {
1008
- super(ISCMRepositorySortKey.Path, ( localize(10457, "Sort by Path")));
1029
+ super(ISCMRepositorySortKey.Path, ( localize(10592, "Sort by Path")));
1009
1030
  }
1010
1031
  }
1011
1032
  registerAction2(RepositorySortByDiscoveryTimeAction);
@@ -1041,12 +1062,12 @@ class RepositorySelectionModeAction extends Action2 {
1041
1062
  }
1042
1063
  class RepositorySingleSelectionModeAction extends RepositorySelectionModeAction {
1043
1064
  constructor() {
1044
- super(ISCMRepositorySelectionMode.Single, ( localize(10458, "Select Single Repository")), 1);
1065
+ super(ISCMRepositorySelectionMode.Single, ( localize(10593, "Select Single Repository")), 1);
1045
1066
  }
1046
1067
  }
1047
1068
  class RepositoryMultiSelectionModeAction extends RepositorySelectionModeAction {
1048
1069
  constructor() {
1049
- super(ISCMRepositorySelectionMode.Multiple, ( localize(10459, "Select Multiple Repositories")), 2);
1070
+ super(ISCMRepositorySelectionMode.Multiple, ( localize(10594, "Select Multiple Repositories")), 2);
1050
1071
  }
1051
1072
  }
1052
1073
  registerAction2(RepositorySingleSelectionModeAction);
@@ -1070,17 +1091,17 @@ class SetSortKeyAction extends ViewAction {
1070
1091
  }
1071
1092
  class SetSortByNameAction extends SetSortKeyAction {
1072
1093
  constructor() {
1073
- super(ViewSortKey.Name, ( localize(10460, "Sort Changes by Name")));
1094
+ super(ViewSortKey.Name, ( localize(10595, "Sort Changes by Name")));
1074
1095
  }
1075
1096
  }
1076
1097
  class SetSortByPathAction extends SetSortKeyAction {
1077
1098
  constructor() {
1078
- super(ViewSortKey.Path, ( localize(10461, "Sort Changes by Path")));
1099
+ super(ViewSortKey.Path, ( localize(10596, "Sort Changes by Path")));
1079
1100
  }
1080
1101
  }
1081
1102
  class SetSortByStatusAction extends SetSortKeyAction {
1082
1103
  constructor() {
1083
- super(ViewSortKey.Status, ( localize(10462, "Sort Changes by Status")));
1104
+ super(ViewSortKey.Status, ( localize(10597, "Sort Changes by Status")));
1084
1105
  }
1085
1106
  }
1086
1107
  registerAction2(SetSortByNameAction);
@@ -1090,7 +1111,7 @@ class CollapseAllRepositoriesAction extends ViewAction {
1090
1111
  constructor() {
1091
1112
  super({
1092
1113
  id: `workbench.scm.action.collapseAllRepositories`,
1093
- title: ( localize(10463, "Collapse All Repositories")),
1114
+ title: ( localize(10598, "Collapse All Repositories")),
1094
1115
  viewId: VIEW_PANE_ID,
1095
1116
  f1: false,
1096
1117
  icon: Codicon.collapseAll,
@@ -1109,7 +1130,7 @@ class ExpandAllRepositoriesAction extends ViewAction {
1109
1130
  constructor() {
1110
1131
  super({
1111
1132
  id: `workbench.scm.action.expandAllRepositories`,
1112
- title: ( localize(10464, "Expand All Repositories")),
1133
+ title: ( localize(10599, "Expand All Repositories")),
1113
1134
  viewId: VIEW_PANE_ID,
1114
1135
  f1: false,
1115
1136
  icon: Codicon.expandAll,
@@ -1139,7 +1160,7 @@ registerAction2(class extends Action2 {
1139
1160
  constructor() {
1140
1161
  super({
1141
1162
  id: SCMInputWidgetCommandId.SetupAction,
1142
- title: ( localize(10465, "Generate Commit Message")),
1163
+ title: ( localize(10600, "Generate Commit Message")),
1143
1164
  icon: Codicon.sparkle,
1144
1165
  f1: false,
1145
1166
  menu: {
@@ -1214,10 +1235,10 @@ let SCMInputWidgetToolbar = class SCMInputWidgetToolbar extends WorkbenchToolBar
1214
1235
  this._onDidChange = ( new Emitter());
1215
1236
  this.onDidChange = this._onDidChange.event;
1216
1237
  this._disposables = this._register(( new MutableDisposable()));
1217
- this._dropdownAction = ( new Action('scmInputMoreActions', ( localize(10466, "More Actions...")), 'codicon-chevron-down'));
1238
+ this._dropdownAction = ( new Action('scmInputMoreActions', ( localize(10601, "More Actions...")), 'codicon-chevron-down'));
1218
1239
  this._cancelAction = ( new MenuItemAction({
1219
1240
  id: SCMInputWidgetCommandId.CancelAction,
1220
- title: ( localize(10467, "Cancel")),
1241
+ title: ( localize(10602, "Cancel")),
1221
1242
  icon: Codicon.stopCircle,
1222
1243
  }, undefined, undefined, undefined, undefined, contextKeyService, commandService));
1223
1244
  }
@@ -1433,13 +1454,13 @@ let SCMInputWidget = class SCMInputWidget {
1433
1454
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
1434
1455
  return kbLabel
1435
1456
  ? ( localize(
1436
- 10468,
1457
+ 10603,
1437
1458
  "{0}, Use {1} to open Source Control Accessibility Help.",
1438
1459
  placeholder,
1439
1460
  kbLabel
1440
1461
  ))
1441
1462
  : ( localize(
1442
- 10469,
1463
+ 10604,
1443
1464
  "{0}, Run the Open Accessibility Help command for more information.",
1444
1465
  placeholder
1445
1466
  ));
@@ -1695,7 +1716,7 @@ let SCMInputWidget = class SCMInputWidget {
1695
1716
  }
1696
1717
  const actionsContainer = append(validationContainer, $('.scm-editor-validation-actions'));
1697
1718
  const actionbar = ( new ActionBar(actionsContainer));
1698
- const action = ( new Action('scmInputWidget.validationMessage.close', ( localize(10470, "Close")), ThemeIcon.asClassName(Codicon.close), true, () => {
1719
+ const action = ( new Action('scmInputWidget.validationMessage.close', ( localize(10605, "Close")), ThemeIcon.asClassName(Codicon.close), true, () => {
1699
1720
  this.contextViewService.hideContextView();
1700
1721
  this.element.style.borderBottomLeftRadius = '2px';
1701
1722
  this.element.style.borderBottomRightRadius = '2px';
@@ -1922,12 +1943,15 @@ let SCMViewPane = class SCMViewPane extends ViewPane {
1922
1943
  overrideStyles: this.getLocationBasedColors().listOverrideStyles,
1923
1944
  compressionEnabled: compressionEnabled.get(),
1924
1945
  collapseByDefault: (e) => {
1925
- if (isSCMRepository(e) || isSCMResourceGroup(e) || isSCMResourceNode(e)) {
1926
- return false;
1946
+ return !(isSCMRepository(e) || isSCMResourceGroup(e) || isSCMResourceNode(e));
1947
+ },
1948
+ accessibilityProvider: this.instantiationService.createInstance(SCMAccessibilityProvider),
1949
+ twistieAdditionalCssClass: (e) => {
1950
+ if (isSCMActionButton(e) || isSCMInput(e)) {
1951
+ return 'force-no-twistie';
1927
1952
  }
1928
- return (viewState?.expanded ?? []).indexOf(getSCMResourceId(e)) === -1;
1953
+ return undefined;
1929
1954
  },
1930
- accessibilityProvider: this.instantiationService.createInstance(SCMAccessibilityProvider)
1931
1955
  });
1932
1956
  this.disposables.add(this.tree);
1933
1957
  this.tree.onDidOpen(this.open, this, this.disposables);
@@ -8,7 +8,7 @@ import { IWorkbenchLayoutService } from "@codingame/monaco-vscode-api/vscode/vs/
8
8
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
9
9
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
10
10
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
11
- import { ViewPaneContainer } from "@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common/vscode/vs/workbench/browser/parts/views/viewPaneContainer";
11
+ import { ViewPaneContainer } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPaneContainer";
12
12
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
13
13
  export declare class SCMViewPaneContainer extends ViewPaneContainer {
14
14
  constructor(layoutService: IWorkbenchLayoutService, telemetryService: ITelemetryService, instantiationService: IInstantiationService, contextMenuService: IContextMenuService, themeService: IThemeService, storageService: IStorageService, configurationService: IConfigurationService, extensionService: IExtensionService, contextService: IWorkspaceContextService, viewDescriptorService: IViewDescriptorService, logService: ILogService);
@@ -13,7 +13,7 @@ import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/
13
13
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
14
14
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
15
15
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
16
- import { ViewPaneContainer } from '@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
16
+ import { ViewPaneContainer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
17
17
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
18
18
 
19
19
  registerCss(scm);
@@ -9,7 +9,7 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
9
9
  import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
10
10
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
11
11
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
12
- import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
12
+ import { IObservable, ISettableObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
13
13
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
14
14
  import { IQuickPickItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput";
15
15
  import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
@@ -46,12 +46,12 @@ export declare class SCMViewService implements ISCMViewService {
46
46
  readonly selectionModeConfig: IObservable<ISCMRepositorySelectionMode>;
47
47
  readonly graphShowIncomingChangesConfig: IObservable<boolean>;
48
48
  readonly graphShowOutgoingChangesConfig: IObservable<boolean>;
49
- private didFinishLoading;
50
49
  private didSelectRepository;
51
50
  private previousState;
52
51
  private readonly disposables;
53
52
  private _repositories;
54
53
  get repositories(): ISCMRepository[];
54
+ readonly didFinishLoadingRepositories: ISettableObservable<boolean, void>;
55
55
  get visibleRepositories(): ISCMRepository[];
56
56
  set visibleRepositories(visibleRepositories: ISCMRepository[]);
57
57
  private _onDidChangeRepositories;
@@ -25,12 +25,12 @@ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platf
25
25
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
26
26
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
27
27
  import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
28
- import { getSCMRepositoryIcon } from '@codingame/monaco-vscode-bc6f260d-ec63-5c95-9446-1ca7d0872719-common/vscode/vs/workbench/contrib/scm/browser/util';
28
+ import { getSCMRepositoryIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/util';
29
29
  import { latestChangedValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/experimental/utils';
30
+ import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
30
31
  import { derived, derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
31
32
  import { observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
32
33
  import { derivedObservableWithCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/utils';
33
- import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
34
34
  import { runOnChange } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils/runOnChange';
35
35
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
36
36
 
@@ -55,7 +55,7 @@ let RepositoryPicker = class RepositoryPicker {
55
55
  this._quickInputService = _quickInputService;
56
56
  this._scmViewService = _scmViewService;
57
57
  this._autoQuickPickItem = {
58
- label: ( localize(10471, "Auto")),
58
+ label: ( localize(10606, "Auto")),
59
59
  description: this._autoQuickItemDescription,
60
60
  repository: 'auto'
61
61
  };
@@ -134,10 +134,10 @@ let SCMViewService = class SCMViewService {
134
134
  this.configurationService = configurationService;
135
135
  this.storageService = storageService;
136
136
  this.workspaceContextService = workspaceContextService;
137
- this.didFinishLoading = false;
138
137
  this.didSelectRepository = false;
139
138
  this.disposables = ( new DisposableStore());
140
139
  this._repositories = [];
140
+ this.didFinishLoadingRepositories = observableValue(this, false);
141
141
  this._onDidChangeRepositories = ( new Emitter());
142
142
  this.onDidChangeRepositories = this._onDidChangeRepositories.event;
143
143
  this._onDidSetVisibleRepositories = ( new Emitter());
@@ -148,18 +148,12 @@ let SCMViewService = class SCMViewService {
148
148
  const added = ( new Set(last.added));
149
149
  const removed = ( new Set(last.removed));
150
150
  for (const repository of e.added) {
151
- if (( removed.has(repository))) {
152
- removed.delete(repository);
153
- }
154
- else {
151
+ if (!removed.delete(repository)) {
155
152
  added.add(repository);
156
153
  }
157
154
  }
158
155
  for (const repository of e.removed) {
159
- if (( added.has(repository))) {
160
- added.delete(repository);
161
- }
162
- else {
156
+ if (!added.delete(repository)) {
163
157
  removed.add(repository);
164
158
  }
165
159
  }
@@ -243,18 +237,18 @@ let SCMViewService = class SCMViewService {
243
237
  storageService.onWillSaveState(this.onWillSaveState, this, this.disposables);
244
238
  extensionService.onWillStop(() => {
245
239
  this.onWillSaveState();
246
- this.didFinishLoading = false;
240
+ this.didFinishLoadingRepositories.set(false, undefined);
247
241
  }, this, this.disposables);
248
242
  }
249
243
  onDidAddRepository(repository) {
250
- if (!this.didFinishLoading) {
244
+ if (!this.didFinishLoadingRepositories.get()) {
251
245
  this.eventuallyFinishLoading();
252
246
  }
253
247
  const repositoryView = {
254
248
  repository, discoveryTime: Date.now(), focused: false, selectionIndex: -1
255
249
  };
256
250
  let removed = Iterable.empty();
257
- if (this.previousState && !this.didFinishLoading) {
251
+ if (this.previousState && !this.didFinishLoadingRepositories.get()) {
258
252
  const index = this.previousState.all.indexOf(getProviderStorageKey(repository.provider));
259
253
  if (index === -1) {
260
254
  const added = [];
@@ -303,7 +297,7 @@ let SCMViewService = class SCMViewService {
303
297
  }
304
298
  }
305
299
  onDidRemoveRepository(repository) {
306
- if (!this.didFinishLoading) {
300
+ if (!this.didFinishLoadingRepositories.get()) {
307
301
  this.eventuallyFinishLoading();
308
302
  }
309
303
  const repositoriesIndex = this._repositories.findIndex(r => r.repository === repository);
@@ -413,7 +407,7 @@ let SCMViewService = class SCMViewService {
413
407
  repositories.splice(index < 0 ? ~index : index, 0, repositoryView);
414
408
  }
415
409
  onWillSaveState() {
416
- if (!this.didFinishLoading) {
410
+ if (!this.didFinishLoadingRepositories.get()) {
417
411
  return;
418
412
  }
419
413
  const all = ( this.repositories.map(r => getProviderStorageKey(r.provider)));
@@ -425,10 +419,10 @@ let SCMViewService = class SCMViewService {
425
419
  this.finishLoading();
426
420
  }
427
421
  finishLoading() {
428
- if (this.didFinishLoading) {
422
+ if (this.didFinishLoadingRepositories.get()) {
429
423
  return;
430
424
  }
431
- this.didFinishLoading = true;
425
+ this.didFinishLoadingRepositories.set(true, undefined);
432
426
  }
433
427
  dispose() {
434
428
  this.disposables.dispose();
@@ -6,7 +6,7 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
6
6
  import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
7
7
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
8
8
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
9
- import { getProviderKey } from '@codingame/monaco-vscode-bc6f260d-ec63-5c95-9446-1ca7d0872719-common/vscode/vs/workbench/contrib/scm/browser/util';
9
+ import { getProviderKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/util';
10
10
  import { ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
11
11
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
12
12
  import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';