@theia/scm 1.75.0-next.18 → 1.75.0-next.19
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/lib/browser/scm-frontend-module.d.ts.map +1 -1
- package/lib/browser/scm-frontend-module.js +6 -0
- package/lib/browser/scm-frontend-module.js.map +1 -1
- package/lib/browser/scm-history-graph-contribution.d.ts +42 -0
- package/lib/browser/scm-history-graph-contribution.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-contribution.js +220 -0
- package/lib/browser/scm-history-graph-contribution.js.map +1 -0
- package/lib/browser/scm-history-graph-contribution.spec.d.ts +2 -0
- package/lib/browser/scm-history-graph-contribution.spec.d.ts.map +1 -0
- package/lib/browser/scm-history-graph-contribution.spec.js +66 -0
- package/lib/browser/scm-history-graph-contribution.spec.js.map +1 -0
- package/lib/browser/scm-history-graph-helpers.d.ts +8 -0
- package/lib/browser/scm-history-graph-helpers.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-helpers.js +20 -0
- package/lib/browser/scm-history-graph-helpers.js.map +1 -1
- package/lib/browser/scm-history-graph-helpers.spec.js +25 -0
- package/lib/browser/scm-history-graph-helpers.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-model.d.ts +43 -5
- package/lib/browser/scm-history-graph-model.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-model.js +84 -10
- package/lib/browser/scm-history-graph-model.js.map +1 -1
- package/lib/browser/scm-history-graph-model.spec.js +145 -4
- package/lib/browser/scm-history-graph-model.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-widget.d.ts +8 -1
- package/lib/browser/scm-history-graph-widget.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-widget.js +23 -4
- package/lib/browser/scm-history-graph-widget.js.map +1 -1
- package/lib/browser/scm-history-graph-widget.spec.js +11 -1
- package/lib/browser/scm-history-graph-widget.spec.js.map +1 -1
- package/lib/common/scm-preferences.d.ts +3 -0
- package/lib/common/scm-preferences.d.ts.map +1 -1
- package/lib/common/scm-preferences.js +24 -0
- package/lib/common/scm-preferences.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/scm-frontend-module.ts +7 -1
- package/src/browser/scm-history-graph-contribution.spec.ts +83 -0
- package/src/browser/scm-history-graph-contribution.ts +220 -0
- package/src/browser/scm-history-graph-helpers.spec.ts +34 -1
- package/src/browser/scm-history-graph-helpers.ts +25 -0
- package/src/browser/scm-history-graph-model.spec.ts +184 -9
- package/src/browser/scm-history-graph-model.ts +99 -11
- package/src/browser/scm-history-graph-widget.spec.ts +12 -1
- package/src/browser/scm-history-graph-widget.tsx +26 -6
- package/src/common/scm-preferences.ts +27 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"scm-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;;AAkCtF,wBA0GG;AAEH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAiB9E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAKhF"}
|
|
@@ -44,6 +44,8 @@ const merge_editor_module_1 = require("./merge-editor/merge-editor-module");
|
|
|
44
44
|
const scm_repositories_widget_1 = require("./scm-repositories-widget");
|
|
45
45
|
const scm_history_graph_widget_1 = require("./scm-history-graph-widget");
|
|
46
46
|
const scm_history_graph_model_1 = require("./scm-history-graph-model");
|
|
47
|
+
const scm_history_graph_contribution_1 = require("./scm-history-graph-contribution");
|
|
48
|
+
const core_1 = require("@theia/core");
|
|
47
49
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
48
50
|
bind(scm_context_key_service_1.ScmContextKeyService).toSelf().inSingletonScope();
|
|
49
51
|
bind(scm_service_1.ScmService).toSelf().inSingletonScope();
|
|
@@ -80,6 +82,10 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
80
82
|
createWidget: () => container.get(scm_repositories_widget_1.ScmRepositoriesWidget)
|
|
81
83
|
})).inSingletonScope();
|
|
82
84
|
bind(scm_history_graph_model_1.ScmHistoryGraphModel).toSelf().inSingletonScope();
|
|
85
|
+
bind(scm_history_graph_model_1.ScmHistoryGraphModelProvider).toFactory(ctx => () => ctx.container.get(scm_history_graph_model_1.ScmHistoryGraphModel));
|
|
86
|
+
bind(scm_history_graph_contribution_1.ScmHistoryGraphContribution).toSelf().inSingletonScope();
|
|
87
|
+
bind(core_1.CommandContribution).toService(scm_history_graph_contribution_1.ScmHistoryGraphContribution);
|
|
88
|
+
bind(core_1.MenuContribution).toService(scm_history_graph_contribution_1.ScmHistoryGraphContribution);
|
|
83
89
|
bind(scm_history_graph_widget_1.ScmHistoryGraphWidget).toSelf();
|
|
84
90
|
bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
|
|
85
91
|
id: scm_history_graph_widget_1.ScmHistoryGraphWidget.ID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-frontend-module.js","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;
|
|
1
|
+
{"version":3,"file":"scm-frontend-module.js","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Command, CommandContribution, CommandRegistry } from '@theia/core/lib/common/command';
|
|
2
|
+
import { MenuContribution, MenuModelRegistry } from '@theia/core/lib/common/menu';
|
|
3
|
+
import { QuickInputService } from '@theia/core/lib/browser';
|
|
4
|
+
import { QuickPickItem, QuickPickSeparator } from '@theia/core/lib/common/quick-pick-service';
|
|
5
|
+
import { ScmHistoryGraphModel, ScmHistoryGraphModelProvider } from './scm-history-graph-model';
|
|
6
|
+
import { ScmService } from './scm-service';
|
|
7
|
+
import { ScmHistoryItemRef, ScmHistoryProvider } from './scm-provider';
|
|
8
|
+
export declare namespace ScmHistoryGraphCommands {
|
|
9
|
+
const REFRESH: Command;
|
|
10
|
+
const PICK_HISTORY_ITEM_REFS: Command;
|
|
11
|
+
}
|
|
12
|
+
type RefPickItem = QuickPickItem & {
|
|
13
|
+
refId?: string;
|
|
14
|
+
auto?: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Contributes the native toolbar actions of the SCM history graph: the
|
|
18
|
+
* history item reference filter picker (VS Code's "Auto" dropdown) and the
|
|
19
|
+
* refresh action. Extension actions (e.g. fetch/pull/push from vscode.git)
|
|
20
|
+
* are contributed separately via the `scm/history/title` menu.
|
|
21
|
+
*/
|
|
22
|
+
export declare class ScmHistoryGraphContribution implements CommandContribution, MenuContribution {
|
|
23
|
+
protected readonly scmService: ScmService;
|
|
24
|
+
protected readonly modelProvider: ScmHistoryGraphModelProvider;
|
|
25
|
+
protected readonly quickInputService: QuickInputService;
|
|
26
|
+
/**
|
|
27
|
+
* The graph model, resolved lazily: instantiating it starts loading
|
|
28
|
+
* history, so it must only be resolved when a graph command actually
|
|
29
|
+
* runs or the graph toolbar renders (the widget has created the model
|
|
30
|
+
* by then). In particular, `isEnabled`/`isVisible` are also queried by
|
|
31
|
+
* the command palette and therefore consult the `ScmService` instead.
|
|
32
|
+
*/
|
|
33
|
+
protected get model(): ScmHistoryGraphModel;
|
|
34
|
+
protected get historyProvider(): ScmHistoryProvider | undefined;
|
|
35
|
+
registerCommands(commands: CommandRegistry): void;
|
|
36
|
+
registerMenus(menus: MenuModelRegistry): void;
|
|
37
|
+
protected pickHistoryItemRefs(): Promise<void>;
|
|
38
|
+
protected createRefPickItems(refs: readonly ScmHistoryItemRef[], provider: ScmHistoryProvider): (RefPickItem | QuickPickSeparator)[];
|
|
39
|
+
protected toRefPickItem(ref: ScmHistoryItemRef): RefPickItem;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=scm-history-graph-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE9F,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIvE,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,OAAO,SAKlB,CAAC;IACI,MAAM,sBAAsB,SAKA,CAAC;CACvC;AAED,KAAK,WAAW,GAAG,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtE;;;;;GAKG;AACH,qBACa,2BAA4B,YAAW,mBAAmB,EAAE,gBAAgB;IAEjE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/F;;;;;;OAMG;IACH,SAAS,KAAK,KAAK,IAAI,oBAAoB,CAE1C;IAED,SAAS,KAAK,eAAe,IAAI,kBAAkB,GAAG,SAAS,CAE9D;IAED,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAcjD,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;cAa7B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+EpD,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAAE,QAAQ,EAAE,kBAAkB,GAAG,CAAC,WAAW,GAAG,kBAAkB,CAAC,EAAE;IA+BpI,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,WAAW;CAO/D"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ScmHistoryGraphContribution = exports.ScmHistoryGraphCommands = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const command_1 = require("@theia/core/lib/common/command");
|
|
22
|
+
const nls_1 = require("@theia/core/lib/common/nls");
|
|
23
|
+
const cancellation_1 = require("@theia/core/lib/common/cancellation");
|
|
24
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
25
|
+
const quick_pick_service_1 = require("@theia/core/lib/common/quick-pick-service");
|
|
26
|
+
const widget_1 = require("@theia/core/lib/browser/widgets/widget");
|
|
27
|
+
const scm_history_graph_model_1 = require("./scm-history-graph-model");
|
|
28
|
+
const scm_service_1 = require("./scm-service");
|
|
29
|
+
const scm_history_graph_widget_1 = require("./scm-history-graph-widget");
|
|
30
|
+
const scm_history_graph_helpers_1 = require("./scm-history-graph-helpers");
|
|
31
|
+
var ScmHistoryGraphCommands;
|
|
32
|
+
(function (ScmHistoryGraphCommands) {
|
|
33
|
+
ScmHistoryGraphCommands.REFRESH = command_1.Command.toDefaultLocalizedCommand({
|
|
34
|
+
id: 'scmHistoryGraph.refresh',
|
|
35
|
+
category: 'Source Control',
|
|
36
|
+
label: 'Refresh',
|
|
37
|
+
iconClass: (0, widget_1.codicon)('refresh')
|
|
38
|
+
});
|
|
39
|
+
ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS = command_1.Command.toLocalizedCommand({
|
|
40
|
+
id: 'scmHistoryGraph.pickHistoryItemRefs',
|
|
41
|
+
category: 'Source Control',
|
|
42
|
+
label: 'Pick History Item Reference...',
|
|
43
|
+
iconClass: (0, widget_1.codicon)('git-branch')
|
|
44
|
+
}, 'theia/scm/pickHistoryItemRefs');
|
|
45
|
+
})(ScmHistoryGraphCommands || (exports.ScmHistoryGraphCommands = ScmHistoryGraphCommands = {}));
|
|
46
|
+
/**
|
|
47
|
+
* Contributes the native toolbar actions of the SCM history graph: the
|
|
48
|
+
* history item reference filter picker (VS Code's "Auto" dropdown) and the
|
|
49
|
+
* refresh action. Extension actions (e.g. fetch/pull/push from vscode.git)
|
|
50
|
+
* are contributed separately via the `scm/history/title` menu.
|
|
51
|
+
*/
|
|
52
|
+
let ScmHistoryGraphContribution = class ScmHistoryGraphContribution {
|
|
53
|
+
/**
|
|
54
|
+
* The graph model, resolved lazily: instantiating it starts loading
|
|
55
|
+
* history, so it must only be resolved when a graph command actually
|
|
56
|
+
* runs or the graph toolbar renders (the widget has created the model
|
|
57
|
+
* by then). In particular, `isEnabled`/`isVisible` are also queried by
|
|
58
|
+
* the command palette and therefore consult the `ScmService` instead.
|
|
59
|
+
*/
|
|
60
|
+
get model() {
|
|
61
|
+
return this.modelProvider();
|
|
62
|
+
}
|
|
63
|
+
get historyProvider() {
|
|
64
|
+
return this.scmService.selectedRepository?.provider.historyProvider;
|
|
65
|
+
}
|
|
66
|
+
registerCommands(commands) {
|
|
67
|
+
commands.registerCommand(ScmHistoryGraphCommands.REFRESH, {
|
|
68
|
+
isEnabled: () => !!this.historyProvider,
|
|
69
|
+
isVisible: () => !!this.historyProvider,
|
|
70
|
+
execute: () => this.model.refresh()
|
|
71
|
+
});
|
|
72
|
+
commands.registerCommand(ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS, {
|
|
73
|
+
isEnabled: () => !!this.historyProvider && !!this.quickInputService,
|
|
74
|
+
isVisible: () => !!this.historyProvider,
|
|
75
|
+
isToggled: () => !!this.model.historyItemRefFilter,
|
|
76
|
+
execute: () => this.pickHistoryItemRefs()
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
registerMenus(menus) {
|
|
80
|
+
// Extension actions from vscode.git sit at order 900-902; the picker
|
|
81
|
+
// goes before them and refresh last, matching VS Code's graph toolbar.
|
|
82
|
+
menus.registerMenuAction([...scm_history_graph_widget_1.SCM_HISTORY_TITLE_MENU, 'navigation'], {
|
|
83
|
+
commandId: ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS.id,
|
|
84
|
+
order: '100'
|
|
85
|
+
});
|
|
86
|
+
menus.registerMenuAction([...scm_history_graph_widget_1.SCM_HISTORY_TITLE_MENU, 'navigation'], {
|
|
87
|
+
commandId: ScmHistoryGraphCommands.REFRESH.id,
|
|
88
|
+
order: '999'
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async pickHistoryItemRefs() {
|
|
92
|
+
if (!this.quickInputService) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const model = this.model;
|
|
96
|
+
const provider = model.provider;
|
|
97
|
+
if (!provider) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const picker = this.quickInputService.createQuickPick();
|
|
101
|
+
const cts = new cancellation_1.CancellationTokenSource();
|
|
102
|
+
try {
|
|
103
|
+
picker.placeholder = nls_1.nls.localize('theia/scm/pickHistoryItemRefsPlaceholder', 'Select one or more history item references');
|
|
104
|
+
picker.canSelectMany = true;
|
|
105
|
+
picker.matchOnDescription = true;
|
|
106
|
+
// Show the picker right away and populate it once the refs arrive,
|
|
107
|
+
// so that a slow ref lookup surfaces as a busy picker instead of a
|
|
108
|
+
// command that appears to do nothing.
|
|
109
|
+
picker.busy = true;
|
|
110
|
+
const selection = await new Promise(resolve => {
|
|
111
|
+
picker.onDidAccept(() => {
|
|
112
|
+
resolve(picker.selectedItems);
|
|
113
|
+
picker.hide();
|
|
114
|
+
});
|
|
115
|
+
// Also cancels a still-running ref lookup when the picker is dismissed.
|
|
116
|
+
picker.onDidHide(() => {
|
|
117
|
+
cts.cancel();
|
|
118
|
+
resolve(undefined);
|
|
119
|
+
});
|
|
120
|
+
picker.show();
|
|
121
|
+
provider.provideHistoryItemRefs(undefined, cts.token).then(refs => {
|
|
122
|
+
if (cts.token.isCancellationRequested) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const currentFilter = model.historyItemRefFilter;
|
|
126
|
+
const items = this.createRefPickItems(refs ?? [], provider);
|
|
127
|
+
picker.items = items;
|
|
128
|
+
picker.selectedItems = items.filter((item) => !quick_pick_service_1.QuickPickSeparator.is(item)
|
|
129
|
+
&& (currentFilter ? !!item.refId && currentFilter.includes(item.refId) : item.auto === true));
|
|
130
|
+
// "Auto" is exclusive: checking it unchecks everything else and vice versa
|
|
131
|
+
let lastSelection = picker.selectedItems;
|
|
132
|
+
picker.onDidChangeSelection(newSelection => {
|
|
133
|
+
const autoNow = newSelection.some(item => item.auto);
|
|
134
|
+
if (autoNow && newSelection.length > 1) {
|
|
135
|
+
const autoBefore = lastSelection.some(item => item.auto);
|
|
136
|
+
picker.selectedItems = autoBefore ? newSelection.filter(item => !item.auto) : newSelection.filter(item => item.auto);
|
|
137
|
+
}
|
|
138
|
+
lastSelection = picker.selectedItems;
|
|
139
|
+
});
|
|
140
|
+
picker.busy = false;
|
|
141
|
+
}, err => {
|
|
142
|
+
if (!cts.token.isCancellationRequested) {
|
|
143
|
+
console.error('ScmHistoryGraphContribution: failed to load history item refs', err);
|
|
144
|
+
}
|
|
145
|
+
picker.hide();
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
if (!selection) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
// The selected repository may have changed while the picker was open;
|
|
152
|
+
// the picked refs belong to the old provider and must not be applied
|
|
153
|
+
// to the new one.
|
|
154
|
+
if (model.provider !== provider) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const refIds = selection.filter(item => item.refId !== undefined).map(item => item.refId);
|
|
158
|
+
const auto = selection.some(item => item.auto) || refIds.length === 0;
|
|
159
|
+
model.setHistoryItemRefFilter(auto ? undefined : refIds);
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
picker.dispose();
|
|
163
|
+
cts.dispose();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
createRefPickItems(refs, provider) {
|
|
167
|
+
const autoRefs = [provider.currentHistoryItemRef, provider.currentHistoryItemRemoteRef, provider.currentHistoryItemBaseRef]
|
|
168
|
+
.filter((ref) => !!ref);
|
|
169
|
+
const items = [{
|
|
170
|
+
label: nls_1.nls.localizeByDefault('Auto'),
|
|
171
|
+
description: autoRefs.map(ref => ref.name).join(', '),
|
|
172
|
+
auto: true
|
|
173
|
+
}];
|
|
174
|
+
const groups = [
|
|
175
|
+
{ label: nls_1.nls.localize('theia/scm/refPickerBranches', 'branches'), badgeClass: 'head' },
|
|
176
|
+
{ label: nls_1.nls.localize('theia/scm/refPickerRemoteBranches', 'remote branches'), badgeClass: 'remote' },
|
|
177
|
+
{ label: nls_1.nls.localize('theia/scm/refPickerTags', 'tags'), badgeClass: 'tag' }
|
|
178
|
+
];
|
|
179
|
+
const grouped = new Set();
|
|
180
|
+
for (const group of groups) {
|
|
181
|
+
const groupRefs = refs.filter(ref => (0, scm_history_graph_helpers_1.getRefBadgeClass)(ref) === group.badgeClass);
|
|
182
|
+
if (groupRefs.length > 0) {
|
|
183
|
+
groupRefs.forEach(ref => grouped.add(ref));
|
|
184
|
+
items.push({ type: 'separator', label: group.label });
|
|
185
|
+
items.push(...groupRefs.map(ref => this.toRefPickItem(ref)));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const remaining = refs.filter(ref => !grouped.has(ref));
|
|
189
|
+
if (remaining.length > 0) {
|
|
190
|
+
items.push({ type: 'separator' });
|
|
191
|
+
items.push(...remaining.map(ref => this.toRefPickItem(ref)));
|
|
192
|
+
}
|
|
193
|
+
return items;
|
|
194
|
+
}
|
|
195
|
+
toRefPickItem(ref) {
|
|
196
|
+
return {
|
|
197
|
+
label: ref.name,
|
|
198
|
+
description: ref.description,
|
|
199
|
+
refId: ref.id
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
exports.ScmHistoryGraphContribution = ScmHistoryGraphContribution;
|
|
204
|
+
tslib_1.__decorate([
|
|
205
|
+
(0, inversify_1.inject)(scm_service_1.ScmService),
|
|
206
|
+
tslib_1.__metadata("design:type", scm_service_1.ScmService)
|
|
207
|
+
], ScmHistoryGraphContribution.prototype, "scmService", void 0);
|
|
208
|
+
tslib_1.__decorate([
|
|
209
|
+
(0, inversify_1.inject)(scm_history_graph_model_1.ScmHistoryGraphModelProvider),
|
|
210
|
+
tslib_1.__metadata("design:type", Function)
|
|
211
|
+
], ScmHistoryGraphContribution.prototype, "modelProvider", void 0);
|
|
212
|
+
tslib_1.__decorate([
|
|
213
|
+
(0, inversify_1.inject)(browser_1.QuickInputService),
|
|
214
|
+
(0, inversify_1.optional)(),
|
|
215
|
+
tslib_1.__metadata("design:type", Object)
|
|
216
|
+
], ScmHistoryGraphContribution.prototype, "quickInputService", void 0);
|
|
217
|
+
exports.ScmHistoryGraphContribution = ScmHistoryGraphContribution = tslib_1.__decorate([
|
|
218
|
+
(0, inversify_1.injectable)()
|
|
219
|
+
], ScmHistoryGraphContribution);
|
|
220
|
+
//# sourceMappingURL=scm-history-graph-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
const disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
const chai_1 = require("chai");
|
|
21
|
+
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
22
|
+
const scm_history_graph_contribution_1 = require("./scm-history-graph-contribution");
|
|
23
|
+
disableJSDOM();
|
|
24
|
+
function createContribution(historyProvider) {
|
|
25
|
+
const contribution = new scm_history_graph_contribution_1.ScmHistoryGraphContribution();
|
|
26
|
+
let resolved = false;
|
|
27
|
+
const internals = contribution;
|
|
28
|
+
internals.scmService = {
|
|
29
|
+
selectedRepository: historyProvider ? { provider: { historyProvider } } : undefined,
|
|
30
|
+
};
|
|
31
|
+
internals.modelProvider = () => {
|
|
32
|
+
resolved = true;
|
|
33
|
+
return { historyItemRefFilter: undefined };
|
|
34
|
+
};
|
|
35
|
+
internals.quickInputService = {};
|
|
36
|
+
const handlers = new Map();
|
|
37
|
+
const registry = {
|
|
38
|
+
registerCommand: (command, handler) => {
|
|
39
|
+
handlers.set(command.id, handler);
|
|
40
|
+
return disposable_1.Disposable.NULL;
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
contribution.registerCommands(registry);
|
|
44
|
+
return { handlers, modelResolved: () => resolved };
|
|
45
|
+
}
|
|
46
|
+
describe('ScmHistoryGraphContribution', () => {
|
|
47
|
+
it('does not resolve the graph model for enablement and visibility checks', () => {
|
|
48
|
+
const { handlers, modelResolved } = createContribution({});
|
|
49
|
+
for (const command of [scm_history_graph_contribution_1.ScmHistoryGraphCommands.REFRESH, scm_history_graph_contribution_1.ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS]) {
|
|
50
|
+
const handler = handlers.get(command.id);
|
|
51
|
+
(0, chai_1.expect)(handler.isEnabled()).to.be.true;
|
|
52
|
+
(0, chai_1.expect)(handler.isVisible()).to.be.true;
|
|
53
|
+
}
|
|
54
|
+
(0, chai_1.expect)(modelResolved()).to.be.false;
|
|
55
|
+
});
|
|
56
|
+
it('disables the commands when the selected repository has no history provider', () => {
|
|
57
|
+
const { handlers, modelResolved } = createContribution(undefined);
|
|
58
|
+
for (const command of [scm_history_graph_contribution_1.ScmHistoryGraphCommands.REFRESH, scm_history_graph_contribution_1.ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS]) {
|
|
59
|
+
const handler = handlers.get(command.id);
|
|
60
|
+
(0, chai_1.expect)(handler.isEnabled()).to.be.false;
|
|
61
|
+
(0, chai_1.expect)(handler.isVisible()).to.be.false;
|
|
62
|
+
}
|
|
63
|
+
(0, chai_1.expect)(modelResolved()).to.be.false;
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=scm-history-graph-contribution.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,14 @@ export declare function getRepoRelativePath(uri: string, rootUri: string | undef
|
|
|
24
24
|
* color map.
|
|
25
25
|
*/
|
|
26
26
|
export declare function getRefColorIndex(ref: ScmHistoryItemRef, provider: ScmHistoryProvider | undefined): number | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Filters which refs get badges in the graph, following VS Code's
|
|
29
|
+
* `scm.graph.badges` setting: `'all'` shows every ref, `'filter'` shows only
|
|
30
|
+
* the refs used as the graph's filter — the explicitly picked ref ids, or,
|
|
31
|
+
* without an explicit filter (auto mode), the current, remote, and base refs.
|
|
32
|
+
* Without provider information all refs are kept.
|
|
33
|
+
*/
|
|
34
|
+
export declare function filterRefsForBadges(refs: readonly ScmHistoryItemRef[], provider: ScmHistoryProvider | undefined, badges: 'all' | 'filter', filter?: readonly string[]): readonly ScmHistoryItemRef[];
|
|
27
35
|
export interface RefBadgePresentation {
|
|
28
36
|
/** Icon class for the badge icon, e.g. 'codicon-git-branch'. */
|
|
29
37
|
iconClass: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-helpers.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAWpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAcrH;AAED,MAAM,WAAW,oBAAoB;IACjC,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,oBAAoB,CAa9H;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAe/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAOxD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAO3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAkCrF"}
|
|
1
|
+
{"version":3,"file":"scm-history-graph-helpers.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAWpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAcrH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAClC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,MAAM,EAAE,KAAK,GAAG,QAAQ,EACxB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAC3B,SAAS,iBAAiB,EAAE,CAW9B;AAED,MAAM,WAAW,oBAAoB;IACjC,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,oBAAoB,CAa9H;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAe/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAOxD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAO3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAkCrF"}
|
|
@@ -21,6 +21,7 @@ exports.getFileName = getFileName;
|
|
|
21
21
|
exports.getFilePath = getFilePath;
|
|
22
22
|
exports.getRepoRelativePath = getRepoRelativePath;
|
|
23
23
|
exports.getRefColorIndex = getRefColorIndex;
|
|
24
|
+
exports.filterRefsForBadges = filterRefsForBadges;
|
|
24
25
|
exports.getRefBadgePresentation = getRefBadgePresentation;
|
|
25
26
|
exports.getRefBadgeClass = getRefBadgeClass;
|
|
26
27
|
exports.isTagRef = isTagRef;
|
|
@@ -111,6 +112,25 @@ function getRefColorIndex(ref, provider) {
|
|
|
111
112
|
}
|
|
112
113
|
return undefined;
|
|
113
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Filters which refs get badges in the graph, following VS Code's
|
|
117
|
+
* `scm.graph.badges` setting: `'all'` shows every ref, `'filter'` shows only
|
|
118
|
+
* the refs used as the graph's filter — the explicitly picked ref ids, or,
|
|
119
|
+
* without an explicit filter (auto mode), the current, remote, and base refs.
|
|
120
|
+
* Without provider information all refs are kept.
|
|
121
|
+
*/
|
|
122
|
+
function filterRefsForBadges(refs, provider, badges, filter) {
|
|
123
|
+
if (badges === 'all') {
|
|
124
|
+
return refs;
|
|
125
|
+
}
|
|
126
|
+
if (filter) {
|
|
127
|
+
return refs.filter(ref => filter.includes(ref.id));
|
|
128
|
+
}
|
|
129
|
+
if (!provider) {
|
|
130
|
+
return refs;
|
|
131
|
+
}
|
|
132
|
+
return refs.filter(ref => getRefColorIndex(ref, provider) !== undefined);
|
|
133
|
+
}
|
|
114
134
|
/**
|
|
115
135
|
* Resolves how a ref badge is presented: the provider-supplied codicon icon
|
|
116
136
|
* when available (VS Code renders `ref.icon` unconditionally), otherwise a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-helpers.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAahF,8BAWC;AAED,0CAWC;AAED,kCAGC;AAED,kCAOC;AAMD,kDAYC;AAQD,4CAcC;AAeD,0DAaC;AAED,4CAeC;AAED,4BAOC;AAED,kCAOC;AAMD,wDAGC;AAaD,0CAkCC;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-helpers.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,4 +68,29 @@ describe('getRefBadgePresentation', () => {
|
|
|
68
68
|
(0, chai_1.expect)((0, scm_history_graph_helpers_1.getRefBadgePresentation)({ id: 'refs/heads/feature', name: 'feature' }, provider).colorIndex).to.be.undefined;
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
+
describe('filterRefsForBadges', () => {
|
|
72
|
+
const mainRef = { id: 'refs/heads/main', name: 'main' };
|
|
73
|
+
const remoteRef = { id: 'refs/remotes/origin/main', name: 'origin/main' };
|
|
74
|
+
const featureRef = { id: 'refs/heads/feature', name: 'feature' };
|
|
75
|
+
const refs = [mainRef, remoteRef, featureRef];
|
|
76
|
+
const provider = {
|
|
77
|
+
currentHistoryItemRef: mainRef,
|
|
78
|
+
currentHistoryItemRemoteRef: remoteRef,
|
|
79
|
+
};
|
|
80
|
+
it("returns all refs in 'all' mode", () => {
|
|
81
|
+
(0, chai_1.expect)((0, scm_history_graph_helpers_1.filterRefsForBadges)(refs, provider, 'all')).to.deep.equal(refs);
|
|
82
|
+
});
|
|
83
|
+
it("keeps only the refs used as a filter in 'filter' mode", () => {
|
|
84
|
+
(0, chai_1.expect)((0, scm_history_graph_helpers_1.filterRefsForBadges)(refs, provider, 'filter')).to.deep.equal([mainRef, remoteRef]);
|
|
85
|
+
});
|
|
86
|
+
it("returns all refs in 'filter' mode when no provider is available", () => {
|
|
87
|
+
(0, chai_1.expect)((0, scm_history_graph_helpers_1.filterRefsForBadges)(refs, undefined, 'filter')).to.deep.equal(refs);
|
|
88
|
+
});
|
|
89
|
+
it("keeps only the explicitly picked refs in 'filter' mode with an explicit filter", () => {
|
|
90
|
+
(0, chai_1.expect)((0, scm_history_graph_helpers_1.filterRefsForBadges)(refs, provider, 'filter', ['refs/heads/feature'])).to.deep.equal([featureRef]);
|
|
91
|
+
});
|
|
92
|
+
it("ignores an explicit filter in 'all' mode", () => {
|
|
93
|
+
(0, chai_1.expect)((0, scm_history_graph_helpers_1.filterRefsForBadges)(refs, provider, 'all', ['refs/heads/feature'])).to.deep.equal(refs);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
71
96
|
//# sourceMappingURL=scm-history-graph-helpers.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-helpers.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"scm-history-graph-helpers.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.spec.ts"],"names":[],"mappings":"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"}
|