@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.
- package/package.json +2 -14
- package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +7 -7
- package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css +44 -23
- package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffDecorator.js +4 -4
- package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +94 -94
- package/vscode/src/vs/workbench/contrib/scm/browser/scmAccessibilityHelp.js +23 -23
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.js +151 -110
- package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +139 -50
- package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +2 -5
- package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +71 -47
- package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +13 -19
- package/vscode/src/vs/workbench/contrib/scm/browser/workingSet.js +1 -1
|
@@ -3,6 +3,7 @@ import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
4
|
import * as scm from './media/scm.css';
|
|
5
5
|
import { $, reset, append, h } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
|
+
import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover';
|
|
6
7
|
import { IconLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabel';
|
|
7
8
|
import { createMatches } from '@codingame/monaco-vscode-api/vscode/vs/base/common/filters';
|
|
8
9
|
import { combinedDisposable, DisposableStore, Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
@@ -13,7 +14,6 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
13
14
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
14
15
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
15
16
|
import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
|
|
16
|
-
import { WorkbenchHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover';
|
|
17
17
|
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
18
18
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
19
19
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
@@ -31,17 +31,15 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
31
31
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
32
32
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
33
33
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
34
|
-
import { ViewAction, ViewPane, ViewPaneShowActions } from '@codingame/monaco-vscode-
|
|
34
|
+
import { ViewAction, ViewPane, ViewPaneShowActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane';
|
|
35
35
|
import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
|
|
36
36
|
import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
|
|
37
|
-
import { renderSCMHistoryItemGraph, historyItemHoverDefaultLabelBackground, historyItemHoverLabelForeground, SWIMLANE_WIDTH, renderSCMHistoryGraphPlaceholder, getHistoryItemIndex, toISCMHistoryItemViewModelArray } from '@codingame/monaco-vscode-
|
|
38
|
-
import { getHistoryItemEditorTitle, isSCMHistoryItemViewModelTreeElement, isSCMHistoryItemChangeViewModelTreeElement, isSCMHistoryItemChangeNode, isSCMHistoryItemLoadMoreTreeElement, isSCMRepository, getProviderKey } from '@codingame/monaco-vscode-
|
|
39
|
-
import { SCMIncomingHistoryItemId, SCMOutgoingHistoryItemId } from '@codingame/monaco-vscode-
|
|
37
|
+
import { toHistoryItemHoverContent, renderSCMHistoryItemGraph, historyItemHoverDefaultLabelBackground, historyItemHoverLabelForeground, SWIMLANE_WIDTH, renderSCMHistoryGraphPlaceholder, getHistoryItemIndex, toISCMHistoryItemViewModelArray } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/scmHistory';
|
|
38
|
+
import { getHistoryItemEditorTitle, isSCMHistoryItemViewModelTreeElement, isSCMHistoryItemChangeViewModelTreeElement, isSCMHistoryItemChangeNode, isSCMHistoryItemLoadMoreTreeElement, isSCMRepository, getProviderKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/util';
|
|
39
|
+
import { SCMIncomingHistoryItemId, SCMOutgoingHistoryItemId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/history';
|
|
40
40
|
import { HISTORY_VIEW_PANE_ID, ViewMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm';
|
|
41
41
|
import { ISCMService, ISCMViewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
|
|
42
42
|
import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
|
|
43
|
-
import { Position } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
|
|
44
|
-
import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
45
43
|
import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverWidget';
|
|
46
44
|
import { registerAction2, MenuId, Action2, MenuRegistry, isIMenuItem } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
47
45
|
import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
|
|
@@ -59,23 +57,24 @@ import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/ite
|
|
|
59
57
|
import { clamp } from '@codingame/monaco-vscode-api/vscode/vs/base/common/numbers';
|
|
60
58
|
import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
61
59
|
import { compare } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
62
|
-
import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
63
60
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
64
61
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
65
62
|
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
66
63
|
import { groupBy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/collections';
|
|
67
64
|
import { getActionBarActions, getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
|
|
68
|
-
import { ResourceLabels } from '@codingame/monaco-vscode-
|
|
65
|
+
import { ResourceLabels } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/labels';
|
|
69
66
|
import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
70
67
|
import { WorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
|
|
71
68
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
72
69
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
73
70
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
74
|
-
import { ScmHistoryItemResolver } from '@codingame/monaco-vscode-
|
|
75
|
-
import { ResourceTree } from '@codingame/monaco-vscode-
|
|
71
|
+
import { ScmHistoryItemResolver } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver';
|
|
72
|
+
import { ResourceTree } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resourceTree';
|
|
76
73
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
77
74
|
import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
|
|
78
75
|
import { CodeDataTransfers } from '@codingame/monaco-vscode-api/vscode/vs/platform/dnd/browser/dnd';
|
|
76
|
+
import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
|
|
77
|
+
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
79
78
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
80
79
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
81
80
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
@@ -125,23 +124,23 @@ class SCMHistoryItemRefsActionViewItem extends ActionViewItem {
|
|
|
125
124
|
icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.gitBranch));
|
|
126
125
|
const name = $('.name');
|
|
127
126
|
if (this._historyItemsFilter === 'all') {
|
|
128
|
-
name.textContent = ( localize(
|
|
127
|
+
name.textContent = ( localize(10560, "All"));
|
|
129
128
|
}
|
|
130
129
|
else if (this._historyItemsFilter === 'auto') {
|
|
131
|
-
name.textContent = ( localize(
|
|
130
|
+
name.textContent = ( localize(10561, "Auto"));
|
|
132
131
|
}
|
|
133
132
|
else if (this._historyItemsFilter.length === 1) {
|
|
134
133
|
name.textContent = this._historyItemsFilter[0].name;
|
|
135
134
|
}
|
|
136
135
|
else {
|
|
137
|
-
name.textContent = ( localize(
|
|
136
|
+
name.textContent = ( localize(10562, "{0} Items", this._historyItemsFilter.length));
|
|
138
137
|
}
|
|
139
138
|
reset(this.label, icon, name);
|
|
140
139
|
}
|
|
141
140
|
}
|
|
142
141
|
getTooltip() {
|
|
143
142
|
if (this._historyItemsFilter === 'all') {
|
|
144
|
-
return localize(
|
|
143
|
+
return localize(10563, "All history item references");
|
|
145
144
|
}
|
|
146
145
|
else if (this._historyItemsFilter === 'auto') {
|
|
147
146
|
const historyProvider = this._repository.provider.historyProvider.get();
|
|
@@ -163,7 +162,7 @@ registerAction2(class extends ViewAction {
|
|
|
163
162
|
constructor() {
|
|
164
163
|
super({
|
|
165
164
|
id: PICK_REPOSITORY_ACTION_ID,
|
|
166
|
-
title: ( localize(
|
|
165
|
+
title: ( localize(10564, "Repository Picker")),
|
|
167
166
|
viewId: HISTORY_VIEW_PANE_ID,
|
|
168
167
|
f1: false,
|
|
169
168
|
menu: {
|
|
@@ -182,7 +181,7 @@ registerAction2(class extends ViewAction {
|
|
|
182
181
|
constructor() {
|
|
183
182
|
super({
|
|
184
183
|
id: PICK_HISTORY_ITEM_REFS_ACTION_ID,
|
|
185
|
-
title: ( localize(
|
|
184
|
+
title: ( localize(10565, "History Item Reference Picker")),
|
|
186
185
|
icon: Codicon.gitBranch,
|
|
187
186
|
viewId: HISTORY_VIEW_PANE_ID,
|
|
188
187
|
precondition: ( ContextKeys.SCMHistoryItemCount.notEqualsTo(0)),
|
|
@@ -202,7 +201,7 @@ registerAction2(class extends ViewAction {
|
|
|
202
201
|
constructor() {
|
|
203
202
|
super({
|
|
204
203
|
id: 'workbench.scm.action.graph.revealCurrentHistoryItem',
|
|
205
|
-
title: ( localize(
|
|
204
|
+
title: ( localize(10566, "Go to Current History Item")),
|
|
206
205
|
icon: Codicon.target,
|
|
207
206
|
viewId: HISTORY_VIEW_PANE_ID,
|
|
208
207
|
precondition: ( ContextKeyExpr.and(( ContextKeys.SCMHistoryItemCount.notEqualsTo(0)), ( ContextKeys.SCMCurrentHistoryItemRefInFilter.isEqualTo(true)))),
|
|
@@ -222,7 +221,7 @@ registerAction2(class extends ViewAction {
|
|
|
222
221
|
constructor() {
|
|
223
222
|
super({
|
|
224
223
|
id: 'workbench.scm.action.graph.refresh',
|
|
225
|
-
title: ( localize(
|
|
224
|
+
title: ( localize(10567, "Refresh")),
|
|
226
225
|
viewId: HISTORY_VIEW_PANE_ID,
|
|
227
226
|
f1: false,
|
|
228
227
|
icon: Codicon.refresh,
|
|
@@ -241,7 +240,7 @@ registerAction2(class extends ViewAction {
|
|
|
241
240
|
constructor() {
|
|
242
241
|
super({
|
|
243
242
|
id: 'workbench.scm.action.graph.setListViewMode',
|
|
244
|
-
title: ( localize(
|
|
243
|
+
title: ( localize(10568, "View as List")),
|
|
245
244
|
viewId: HISTORY_VIEW_PANE_ID,
|
|
246
245
|
toggled: ( ContextKeys.SCMHistoryViewMode.isEqualTo(ViewMode.List)),
|
|
247
246
|
menu: { id: MenuId.SCMHistoryTitle, group: '9_viewmode', order: 1 },
|
|
@@ -256,7 +255,7 @@ registerAction2(class extends ViewAction {
|
|
|
256
255
|
constructor() {
|
|
257
256
|
super({
|
|
258
257
|
id: 'workbench.scm.action.graph.setTreeViewMode',
|
|
259
|
-
title: ( localize(
|
|
258
|
+
title: ( localize(10569, "View as Tree")),
|
|
260
259
|
viewId: HISTORY_VIEW_PANE_ID,
|
|
261
260
|
toggled: ( ContextKeys.SCMHistoryViewMode.isEqualTo(ViewMode.Tree)),
|
|
262
261
|
menu: { id: MenuId.SCMHistoryTitle, group: '9_viewmode', order: 2 },
|
|
@@ -271,7 +270,7 @@ registerAction2(class extends Action2 {
|
|
|
271
270
|
constructor() {
|
|
272
271
|
super({
|
|
273
272
|
id: 'workbench.scm.action.graph.viewChanges',
|
|
274
|
-
title: ( localize(
|
|
273
|
+
title: ( localize(10570, "Open Changes")),
|
|
275
274
|
icon: Codicon.diffMultiple,
|
|
276
275
|
f1: false,
|
|
277
276
|
menu: [
|
|
@@ -292,35 +291,47 @@ registerAction2(class extends Action2 {
|
|
|
292
291
|
}
|
|
293
292
|
async run(accessor, provider, ...historyItems) {
|
|
294
293
|
const commandService = accessor.get(ICommandService);
|
|
295
|
-
if (!provider || historyItems.length === 0) {
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
const historyItem = historyItems[0];
|
|
299
|
-
const historyItemLast = historyItems[historyItems.length - 1];
|
|
300
294
|
const historyProvider = provider.historyProvider.get();
|
|
301
295
|
const historyItemRef = historyProvider?.historyItemRef.get();
|
|
302
296
|
const historyItemRemoteRef = historyProvider?.historyItemRemoteRef.get();
|
|
303
|
-
if (historyItems.length
|
|
304
|
-
|
|
305
|
-
if (!ancestor || (ancestor !== historyItem.id && ancestor !== historyItemLast.id)) {
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
297
|
+
if (!provider || !historyProvider || !historyItemRef || historyItems.length === 0) {
|
|
298
|
+
return;
|
|
308
299
|
}
|
|
300
|
+
const historyItem = historyItems[0];
|
|
309
301
|
let title, historyItemId, historyItemParentId;
|
|
310
|
-
if (historyItem.id === SCMIncomingHistoryItemId) {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
302
|
+
if (historyItemRemoteRef && (historyItem.id === SCMIncomingHistoryItemId || historyItem.id === SCMOutgoingHistoryItemId)) {
|
|
303
|
+
const mergeBase = await historyProvider.resolveHistoryItemRefsCommonAncestor([
|
|
304
|
+
historyItemRef.name,
|
|
305
|
+
historyItemRemoteRef.name
|
|
306
|
+
]);
|
|
307
|
+
if (mergeBase && historyItem.id === SCMIncomingHistoryItemId) {
|
|
308
|
+
title = `${historyItem.subject} - ${historyItemRef.name} \u2194 ${historyItemRemoteRef.name}`;
|
|
309
|
+
historyItemId = historyItemRemoteRef.id;
|
|
310
|
+
historyItemParentId = mergeBase;
|
|
311
|
+
}
|
|
312
|
+
else if (mergeBase && historyItem.id === SCMOutgoingHistoryItemId) {
|
|
313
|
+
title = `${historyItem.subject} - ${historyItemRemoteRef.name} \u2194 ${historyItemRef.name}`;
|
|
314
|
+
historyItemId = historyItemRef.id;
|
|
315
|
+
historyItemParentId = mergeBase;
|
|
316
|
+
}
|
|
319
317
|
}
|
|
320
318
|
else {
|
|
321
319
|
title = getHistoryItemEditorTitle(historyItem);
|
|
322
320
|
historyItemId = historyItem.id;
|
|
323
|
-
|
|
321
|
+
if (historyItem.parentIds.length > 0) {
|
|
322
|
+
if (historyItem.parentIds[0] === SCMIncomingHistoryItemId && historyItemRemoteRef) {
|
|
323
|
+
historyItemParentId = await historyProvider.resolveHistoryItemRefsCommonAncestor([
|
|
324
|
+
historyItemRef.name,
|
|
325
|
+
historyItemRemoteRef.name
|
|
326
|
+
]);
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
historyItemParentId = historyItem.parentIds[0];
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
if (!title || !historyItemId || !historyItemParentId) {
|
|
334
|
+
return;
|
|
324
335
|
}
|
|
325
336
|
const multiDiffSourceUri = ScmHistoryItemResolver.getMultiDiffSourceUri(provider, historyItemId, historyItemParentId, '');
|
|
326
337
|
commandService.executeCommand('_workbench.openMultiDiffEditor', { title, multiDiffSourceUri });
|
|
@@ -330,7 +341,7 @@ registerAction2(class extends Action2 {
|
|
|
330
341
|
constructor() {
|
|
331
342
|
super({
|
|
332
343
|
id: 'workbench.scm.action.graph.openFile',
|
|
333
|
-
title: ( localize(
|
|
344
|
+
title: ( localize(10571, "Open File")),
|
|
334
345
|
icon: Codicon.goToFile,
|
|
335
346
|
f1: false,
|
|
336
347
|
menu: [
|
|
@@ -354,10 +365,10 @@ registerAction2(class extends Action2 {
|
|
|
354
365
|
}
|
|
355
366
|
let version;
|
|
356
367
|
if (historyItem.id === SCMIncomingHistoryItemId) {
|
|
357
|
-
version = ( localize(
|
|
368
|
+
version = ( localize(10572, "Incoming Changes"));
|
|
358
369
|
}
|
|
359
370
|
else if (historyItem.id === SCMOutgoingHistoryItemId) {
|
|
360
|
-
version = ( localize(
|
|
371
|
+
version = ( localize(10573, "Outgoing Changes"));
|
|
361
372
|
}
|
|
362
373
|
else {
|
|
363
374
|
version = historyItem.displayId ?? historyItem.id;
|
|
@@ -389,20 +400,20 @@ let HistoryItemRenderer = class HistoryItemRenderer {
|
|
|
389
400
|
static { HistoryItemRenderer_1 = this; }
|
|
390
401
|
static { this.TEMPLATE_ID = 'history-item'; }
|
|
391
402
|
get templateId() { return HistoryItemRenderer_1.TEMPLATE_ID; }
|
|
392
|
-
constructor(
|
|
393
|
-
this.
|
|
403
|
+
constructor(_viewContainerLocation, _commandService, _configurationService, _contextKeyService, _contextMenuService, _hoverService, _keybindingService, _markdownRendererService, _menuService, _telemetryService) {
|
|
404
|
+
this._viewContainerLocation = _viewContainerLocation;
|
|
394
405
|
this._commandService = _commandService;
|
|
395
406
|
this._configurationService = _configurationService;
|
|
396
407
|
this._contextKeyService = _contextKeyService;
|
|
397
408
|
this._contextMenuService = _contextMenuService;
|
|
398
409
|
this._hoverService = _hoverService;
|
|
399
410
|
this._keybindingService = _keybindingService;
|
|
411
|
+
this._markdownRendererService = _markdownRendererService;
|
|
400
412
|
this._menuService = _menuService;
|
|
401
413
|
this._telemetryService = _telemetryService;
|
|
402
414
|
this._badgesConfig = observableConfigValue('scm.graph.badges', 'filter', this._configurationService);
|
|
403
415
|
}
|
|
404
416
|
renderTemplate(container) {
|
|
405
|
-
container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
|
|
406
417
|
const element = append(container, $('.history-item'));
|
|
407
418
|
const graphContainer = append(element, $('.graph-container'));
|
|
408
419
|
const iconLabel = ( new IconLabel(element, {
|
|
@@ -426,12 +437,11 @@ let HistoryItemRenderer = class HistoryItemRenderer {
|
|
|
426
437
|
const provider = node.element.repository.provider;
|
|
427
438
|
const historyItemViewModel = node.element.historyItemViewModel;
|
|
428
439
|
const historyItem = historyItemViewModel.historyItem;
|
|
429
|
-
const
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
};
|
|
433
|
-
const historyItemHover = this._hoverService.setupManagedHover(this.hoverDelegate, templateData.element, hoverContent);
|
|
440
|
+
const { content, disposables } = toHistoryItemHoverContent(this._markdownRendererService, historyItem, true);
|
|
441
|
+
const { hoverOptions, hoverLifecycleOptions } = this._getHoverOptions();
|
|
442
|
+
const historyItemHover = this._hoverService.setupDelayedHover(templateData.element, { ...hoverOptions, content }, hoverLifecycleOptions);
|
|
434
443
|
templateData.elementDisposables.add(historyItemHover);
|
|
444
|
+
templateData.elementDisposables.add(disposables);
|
|
435
445
|
templateData.graphContainer.textContent = '';
|
|
436
446
|
templateData.graphContainer.classList.toggle('current', historyItemViewModel.kind === 'HEAD');
|
|
437
447
|
templateData.graphContainer.classList.toggle('incoming-changes', historyItemViewModel.kind === 'incoming-changes');
|
|
@@ -452,7 +462,7 @@ let HistoryItemRenderer = class HistoryItemRenderer {
|
|
|
452
462
|
_renderBadges(historyItem, templateData) {
|
|
453
463
|
templateData.elementDisposables.add(autorun(reader => {
|
|
454
464
|
const labelConfig = this._badgesConfig.read(reader);
|
|
455
|
-
templateData.labelContainer.
|
|
465
|
+
templateData.labelContainer.replaceChildren();
|
|
456
466
|
const references = historyItem.references ?
|
|
457
467
|
historyItem.references.slice(0) : [];
|
|
458
468
|
if (references.length > 0 && references[0].color) {
|
|
@@ -504,6 +514,39 @@ let HistoryItemRenderer = class HistoryItemRenderer {
|
|
|
504
514
|
elements.description.textContent = showDescription ? historyItemRefs[0].name : '';
|
|
505
515
|
append(templateData.labelContainer, elements.root);
|
|
506
516
|
}
|
|
517
|
+
_getHoverOptions() {
|
|
518
|
+
if (this._viewContainerLocation === ViewContainerLocation.Panel) {
|
|
519
|
+
return {
|
|
520
|
+
hoverOptions: {
|
|
521
|
+
additionalClasses: ['history-item-hover'],
|
|
522
|
+
appearance: {
|
|
523
|
+
compact: true
|
|
524
|
+
},
|
|
525
|
+
position: {
|
|
526
|
+
hoverPosition: HoverPosition.RIGHT
|
|
527
|
+
},
|
|
528
|
+
style: HoverStyle.Mouse
|
|
529
|
+
},
|
|
530
|
+
hoverLifecycleOptions: undefined
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
return {
|
|
534
|
+
hoverOptions: {
|
|
535
|
+
additionalClasses: ['history-item-hover'],
|
|
536
|
+
appearance: {
|
|
537
|
+
compact: true,
|
|
538
|
+
showPointer: true
|
|
539
|
+
},
|
|
540
|
+
position: {
|
|
541
|
+
hoverPosition: HoverPosition.RIGHT
|
|
542
|
+
},
|
|
543
|
+
style: HoverStyle.Pointer
|
|
544
|
+
},
|
|
545
|
+
hoverLifecycleOptions: {
|
|
546
|
+
groupId: 'scm-history-item'
|
|
547
|
+
}
|
|
548
|
+
};
|
|
549
|
+
}
|
|
507
550
|
_processMatches(historyItemViewModel, filterData) {
|
|
508
551
|
if (!filterData) {
|
|
509
552
|
return [undefined, undefined];
|
|
@@ -528,8 +571,9 @@ HistoryItemRenderer = HistoryItemRenderer_1 = ( __decorate([
|
|
|
528
571
|
( __param(4, IContextMenuService)),
|
|
529
572
|
( __param(5, IHoverService)),
|
|
530
573
|
( __param(6, IKeybindingService)),
|
|
531
|
-
( __param(7,
|
|
532
|
-
( __param(8,
|
|
574
|
+
( __param(7, IMarkdownRendererService)),
|
|
575
|
+
( __param(8, IMenuService)),
|
|
576
|
+
( __param(9, ITelemetryService))
|
|
533
577
|
], HistoryItemRenderer));
|
|
534
578
|
let HistoryItemChangeRenderer = class HistoryItemChangeRenderer {
|
|
535
579
|
static { HistoryItemChangeRenderer_1 = this; }
|
|
@@ -634,7 +678,6 @@ let HistoryItemLoadMoreRenderer = class HistoryItemLoadMoreRenderer {
|
|
|
634
678
|
this._configurationService = _configurationService;
|
|
635
679
|
}
|
|
636
680
|
renderTemplate(container) {
|
|
637
|
-
container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
|
|
638
681
|
const element = append(container, $('.history-item-load-more'));
|
|
639
682
|
const graphPlaceholder = append(element, $('.graph-placeholder'));
|
|
640
683
|
const historyItemPlaceholderContainer = append(element, $('.history-item-placeholder'));
|
|
@@ -655,7 +698,7 @@ let HistoryItemLoadMoreRenderer = class HistoryItemLoadMoreRenderer {
|
|
|
655
698
|
templateData.elementDisposables.add(autorun(reader => {
|
|
656
699
|
const isLoadingMore = this._isLoadingMore.read(reader);
|
|
657
700
|
const icon = `$(${isLoadingMore ? 'loading~spin' : 'fold-down'})`;
|
|
658
|
-
templateData.historyItemPlaceholderLabel.setLabel(( localize(
|
|
701
|
+
templateData.historyItemPlaceholderLabel.setLabel(( localize(10574, "{0} Load More...", icon)));
|
|
659
702
|
}));
|
|
660
703
|
}
|
|
661
704
|
}
|
|
@@ -673,34 +716,6 @@ let HistoryItemLoadMoreRenderer = class HistoryItemLoadMoreRenderer {
|
|
|
673
716
|
HistoryItemLoadMoreRenderer = HistoryItemLoadMoreRenderer_1 = ( __decorate([
|
|
674
717
|
( __param(2, IConfigurationService))
|
|
675
718
|
], HistoryItemLoadMoreRenderer));
|
|
676
|
-
let HistoryItemHoverDelegate = class HistoryItemHoverDelegate extends WorkbenchHoverDelegate {
|
|
677
|
-
constructor(_viewContainerLocation, layoutService, configurationService, hoverService) {
|
|
678
|
-
super(_viewContainerLocation === ViewContainerLocation.Panel ? 'mouse' : 'element', {
|
|
679
|
-
instantHover: _viewContainerLocation !== ViewContainerLocation.Panel
|
|
680
|
-
}, () => this.getHoverOptions(), configurationService, hoverService);
|
|
681
|
-
this._viewContainerLocation = _viewContainerLocation;
|
|
682
|
-
this.layoutService = layoutService;
|
|
683
|
-
}
|
|
684
|
-
getHoverOptions() {
|
|
685
|
-
const sideBarPosition = this.layoutService.getSideBarPosition();
|
|
686
|
-
let hoverPosition;
|
|
687
|
-
if (this._viewContainerLocation === ViewContainerLocation.Sidebar) {
|
|
688
|
-
hoverPosition = sideBarPosition === Position.LEFT ? HoverPosition.RIGHT : HoverPosition.LEFT;
|
|
689
|
-
}
|
|
690
|
-
else if (this._viewContainerLocation === ViewContainerLocation.AuxiliaryBar) {
|
|
691
|
-
hoverPosition = sideBarPosition === Position.LEFT ? HoverPosition.LEFT : HoverPosition.RIGHT;
|
|
692
|
-
}
|
|
693
|
-
else {
|
|
694
|
-
hoverPosition = HoverPosition.RIGHT;
|
|
695
|
-
}
|
|
696
|
-
return { additionalClasses: ['history-item-hover'], position: { hoverPosition, forcePosition: true } };
|
|
697
|
-
}
|
|
698
|
-
};
|
|
699
|
-
HistoryItemHoverDelegate = ( __decorate([
|
|
700
|
-
( __param(1, IWorkbenchLayoutService)),
|
|
701
|
-
( __param(2, IConfigurationService)),
|
|
702
|
-
( __param(3, IHoverService))
|
|
703
|
-
], HistoryItemHoverDelegate));
|
|
704
719
|
let SCMHistoryViewPaneActionRunner = class SCMHistoryViewPaneActionRunner extends ActionRunner {
|
|
705
720
|
constructor(_progressService) {
|
|
706
721
|
super();
|
|
@@ -715,7 +730,7 @@ SCMHistoryViewPaneActionRunner = ( __decorate([
|
|
|
715
730
|
], SCMHistoryViewPaneActionRunner));
|
|
716
731
|
class SCMHistoryTreeAccessibilityProvider {
|
|
717
732
|
getWidgetAriaLabel() {
|
|
718
|
-
return localize(
|
|
733
|
+
return localize(10575, "Source Control History");
|
|
719
734
|
}
|
|
720
735
|
getAriaLabel(element) {
|
|
721
736
|
if (isSCMRepository(element)) {
|
|
@@ -823,11 +838,29 @@ class SCMHistoryTreeDataSource extends Disposable {
|
|
|
823
838
|
historyItemId = historyItemViewModel.kind === 'incoming-changes'
|
|
824
839
|
? historyItemRemoteRef.id
|
|
825
840
|
: historyItemRef.id;
|
|
826
|
-
historyItemParentId =
|
|
841
|
+
historyItemParentId = await historyProvider.resolveHistoryItemRefsCommonAncestor([
|
|
842
|
+
historyItemRef.name,
|
|
843
|
+
historyItemRemoteRef.name
|
|
844
|
+
]);
|
|
827
845
|
}
|
|
828
846
|
else {
|
|
829
847
|
historyItemId = historyItem.id;
|
|
830
|
-
|
|
848
|
+
if (historyItem.parentIds.length > 0) {
|
|
849
|
+
if (historyItem.parentIds[0] === SCMIncomingHistoryItemId) {
|
|
850
|
+
const historyItemRef = historyProvider?.historyItemRef.get();
|
|
851
|
+
const historyItemRemoteRef = historyProvider?.historyItemRemoteRef.get();
|
|
852
|
+
if (!historyProvider || !historyItemRef || !historyItemRemoteRef) {
|
|
853
|
+
return [];
|
|
854
|
+
}
|
|
855
|
+
historyItemParentId = await historyProvider.resolveHistoryItemRefsCommonAncestor([
|
|
856
|
+
historyItemRef.name,
|
|
857
|
+
historyItemRemoteRef.name
|
|
858
|
+
]);
|
|
859
|
+
}
|
|
860
|
+
else {
|
|
861
|
+
historyItemParentId = historyItem.parentIds[0];
|
|
862
|
+
}
|
|
863
|
+
}
|
|
831
864
|
}
|
|
832
865
|
const historyItemChanges = (await historyProvider?.provideHistoryItemChanges(historyItemId, historyItemParentId)) ?? [];
|
|
833
866
|
if (this.viewMode() === ViewMode.List) {
|
|
@@ -1191,8 +1224,8 @@ let RepositoryPicker = class RepositoryPicker {
|
|
|
1191
1224
|
this._quickInputService = _quickInputService;
|
|
1192
1225
|
this._scmViewService = _scmViewService;
|
|
1193
1226
|
this._autoQuickPickItem = {
|
|
1194
|
-
label: ( localize(
|
|
1195
|
-
description: ( localize(
|
|
1227
|
+
label: ( localize(10561, "Auto")),
|
|
1228
|
+
description: ( localize(10576, "Show the source control graph for the active repository")),
|
|
1196
1229
|
repository: 'auto'
|
|
1197
1230
|
};
|
|
1198
1231
|
}
|
|
@@ -1210,7 +1243,7 @@ let RepositoryPicker = class RepositoryPicker {
|
|
|
1210
1243
|
repository: r
|
|
1211
1244
|
}))));
|
|
1212
1245
|
return this._quickInputService.pick(picks, {
|
|
1213
|
-
placeHolder: ( localize(
|
|
1246
|
+
placeHolder: ( localize(10577, "Select the repository to view, type to filter all repositories"))
|
|
1214
1247
|
});
|
|
1215
1248
|
}
|
|
1216
1249
|
};
|
|
@@ -1226,21 +1259,21 @@ let HistoryItemRefPicker = class HistoryItemRefPicker extends Disposable {
|
|
|
1226
1259
|
this._quickInputService = _quickInputService;
|
|
1227
1260
|
this._allQuickPickItem = {
|
|
1228
1261
|
id: 'all',
|
|
1229
|
-
label: ( localize(
|
|
1230
|
-
description: ( localize(
|
|
1262
|
+
label: ( localize(10560, "All")),
|
|
1263
|
+
description: ( localize(10563, "All history item references")),
|
|
1231
1264
|
historyItemRef: 'all'
|
|
1232
1265
|
};
|
|
1233
1266
|
this._autoQuickPickItem = {
|
|
1234
1267
|
id: 'auto',
|
|
1235
|
-
label: ( localize(
|
|
1236
|
-
description: ( localize(
|
|
1268
|
+
label: ( localize(10561, "Auto")),
|
|
1269
|
+
description: ( localize(10578, "Current history item reference(s)")),
|
|
1237
1270
|
historyItemRef: 'auto'
|
|
1238
1271
|
};
|
|
1239
1272
|
}
|
|
1240
1273
|
async pickHistoryItemRef() {
|
|
1241
1274
|
const quickPick = this._quickInputService.createQuickPick({ useSeparators: true });
|
|
1242
1275
|
this._store.add(quickPick);
|
|
1243
|
-
quickPick.placeholder = ( localize(
|
|
1276
|
+
quickPick.placeholder = ( localize(10579, "Select one/more history item references to view, type to filter"));
|
|
1244
1277
|
quickPick.canSelectMany = true;
|
|
1245
1278
|
quickPick.hideCheckAll = true;
|
|
1246
1279
|
quickPick.busy = true;
|
|
@@ -1372,16 +1405,21 @@ let SCMHistoryViewPane = class SCMHistoryViewPane extends ViewPane {
|
|
|
1372
1405
|
]);
|
|
1373
1406
|
element.badge.textContent = 'Outdated';
|
|
1374
1407
|
container.appendChild(element.root);
|
|
1375
|
-
this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), element.root, {
|
|
1376
|
-
markdown: {
|
|
1377
|
-
value: ( localize(10445, "Please refresh the graph using the refresh action ($(refresh)).")),
|
|
1378
|
-
supportThemeIcons: true
|
|
1379
|
-
},
|
|
1380
|
-
markdownNotSupportedFallback: undefined
|
|
1381
|
-
}));
|
|
1382
1408
|
this._register(autorun(reader => {
|
|
1383
1409
|
const outdated = this._repositoryOutdated.read(reader);
|
|
1384
1410
|
element.root.style.display = outdated ? '' : 'none';
|
|
1411
|
+
if (outdated) {
|
|
1412
|
+
reader.store.add(this.hoverService.setupDelayedHover(element.root, {
|
|
1413
|
+
appearance: {
|
|
1414
|
+
compact: true,
|
|
1415
|
+
showPointer: true
|
|
1416
|
+
},
|
|
1417
|
+
content: ( new MarkdownString(( localize(10580, "Please refresh the graph using the refresh action ($(refresh)).")), { supportThemeIcons: true })),
|
|
1418
|
+
position: {
|
|
1419
|
+
hoverPosition: HoverPosition.BELOW
|
|
1420
|
+
}
|
|
1421
|
+
}));
|
|
1422
|
+
}
|
|
1385
1423
|
}));
|
|
1386
1424
|
}
|
|
1387
1425
|
renderBody(container) {
|
|
@@ -1574,15 +1612,13 @@ let SCMHistoryViewPane = class SCMHistoryViewPane extends ViewPane {
|
|
|
1574
1612
|
}
|
|
1575
1613
|
_createTree(container) {
|
|
1576
1614
|
this._treeIdentityProvider = ( new SCMHistoryTreeIdentityProvider());
|
|
1577
|
-
const historyItemHoverDelegate = this.instantiationService.createInstance(HistoryItemHoverDelegate, this.viewDescriptorService.getViewLocationById(this.id));
|
|
1578
|
-
this._register(historyItemHoverDelegate);
|
|
1579
1615
|
const resourceLabels = this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility });
|
|
1580
1616
|
this._register(resourceLabels);
|
|
1581
1617
|
this._treeDataSource = this.instantiationService.createInstance(SCMHistoryTreeDataSource, () => this._treeViewModel.viewMode.get());
|
|
1582
1618
|
this._register(this._treeDataSource);
|
|
1583
1619
|
const compressionEnabled = observableConfigValue('scm.compactFolders', true, this.configurationService);
|
|
1584
1620
|
this._tree = this.instantiationService.createInstance(WorkbenchCompressibleAsyncDataTree, 'SCM History Tree', container, ( new ListDelegate()), ( new SCMHistoryTreeCompressionDelegate()), [
|
|
1585
|
-
this.instantiationService.createInstance(HistoryItemRenderer,
|
|
1621
|
+
this.instantiationService.createInstance(HistoryItemRenderer, this.viewDescriptorService.getViewLocationById(this.id)),
|
|
1586
1622
|
this.instantiationService.createInstance(HistoryItemChangeRenderer, () => this._treeViewModel.viewMode.get(), resourceLabels),
|
|
1587
1623
|
this.instantiationService.createInstance(HistoryItemLoadMoreRenderer, this._repositoryIsLoadingMore, () => this._loadMore()),
|
|
1588
1624
|
], this._treeDataSource, {
|
|
@@ -1593,7 +1629,12 @@ let SCMHistoryViewPane = class SCMHistoryViewPane extends ViewPane {
|
|
|
1593
1629
|
dnd: ( new SCMHistoryTreeDragAndDrop()),
|
|
1594
1630
|
keyboardNavigationLabelProvider: ( new SCMHistoryTreeKeyboardNavigationLabelProvider()),
|
|
1595
1631
|
horizontalScrolling: false,
|
|
1596
|
-
multipleSelectionSupport: false
|
|
1632
|
+
multipleSelectionSupport: false,
|
|
1633
|
+
twistieAdditionalCssClass: (e) => {
|
|
1634
|
+
return isSCMHistoryItemViewModelTreeElement(e) || isSCMHistoryItemLoadMoreTreeElement(e)
|
|
1635
|
+
? 'force-no-twistie'
|
|
1636
|
+
: undefined;
|
|
1637
|
+
}
|
|
1597
1638
|
});
|
|
1598
1639
|
this._register(this._tree);
|
|
1599
1640
|
this._tree.onDidOpen(this._onDidOpen, this, this._store);
|
|
@@ -1617,9 +1658,9 @@ let SCMHistoryViewPane = class SCMHistoryViewPane extends ViewPane {
|
|
|
1617
1658
|
const historyItemChange = e.element.historyItemChange;
|
|
1618
1659
|
const historyItem = e.element.historyItemViewModel.historyItem;
|
|
1619
1660
|
const historyItemDisplayId = historyItem.id === SCMIncomingHistoryItemId
|
|
1620
|
-
? ( localize(
|
|
1661
|
+
? ( localize(10572, "Incoming Changes"))
|
|
1621
1662
|
: historyItem.id === SCMOutgoingHistoryItemId
|
|
1622
|
-
? ( localize(
|
|
1663
|
+
? ( localize(10573, "Outgoing Changes"))
|
|
1623
1664
|
: historyItem.displayId ?? historyItem.id;
|
|
1624
1665
|
const historyItemParentId = historyItem.parentIds.length > 0 ? historyItem.parentIds[0] : undefined;
|
|
1625
1666
|
const historyItemParentDisplayId = historyItemParentId && historyItem.displayId
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ViewPane, IViewPaneOptions } from "@codingame/monaco-vscode-
|
|
1
|
+
import { ViewPane, IViewPaneOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane";
|
|
2
2
|
import { ISCMViewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
|
|
3
3
|
import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
|
|
4
4
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
@@ -10,9 +10,13 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
10
10
|
import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
|
|
11
11
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
12
12
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
13
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
14
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
13
15
|
export declare class SCMRepositoriesViewPane extends ViewPane {
|
|
14
16
|
private readonly scmService;
|
|
15
17
|
private readonly scmViewService;
|
|
18
|
+
private readonly commandService;
|
|
19
|
+
private readonly storageService;
|
|
16
20
|
private tree;
|
|
17
21
|
private treeDataSource;
|
|
18
22
|
private treeIdentityProvider;
|
|
@@ -22,13 +26,14 @@ export declare class SCMRepositoriesViewPane extends ViewPane {
|
|
|
22
26
|
private readonly providerCountBadgeObs;
|
|
23
27
|
private readonly visibilityDisposables;
|
|
24
28
|
private readonly repositoryDisposables;
|
|
25
|
-
constructor(options: IViewPaneOptions, scmService: ISCMService, scmViewService: ISCMViewService, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, instantiationService: IInstantiationService, viewDescriptorService: IViewDescriptorService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService);
|
|
29
|
+
constructor(options: IViewPaneOptions, scmService: ISCMService, scmViewService: ISCMViewService, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, commandService: ICommandService, instantiationService: IInstantiationService, viewDescriptorService: IViewDescriptorService, contextKeyService: IContextKeyService, configurationService: IConfigurationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, storageService: IStorageService);
|
|
26
30
|
protected renderBody(container: HTMLElement): void;
|
|
27
31
|
protected layoutBody(height: number, width: number): void;
|
|
28
32
|
focus(): void;
|
|
29
33
|
private createTree;
|
|
30
34
|
private onDidAddRepository;
|
|
31
35
|
private onDidRemoveRepository;
|
|
36
|
+
private onTreeDidOpen;
|
|
32
37
|
private onTreeContextMenu;
|
|
33
38
|
private onTreeSelectionChange;
|
|
34
39
|
private onTreeDidChangeFocus;
|
|
@@ -41,5 +46,7 @@ export declare class SCMRepositoriesViewPane extends ViewPane {
|
|
|
41
46
|
private updateBodySize;
|
|
42
47
|
private updateTreeSelection;
|
|
43
48
|
private getTreeSelection;
|
|
49
|
+
private loadTreeViewState;
|
|
50
|
+
private storeTreeViewState;
|
|
44
51
|
dispose(): void;
|
|
45
52
|
}
|