@codingame/monaco-vscode-scm-service-override 17.2.1 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/package.json +15 -13
  2. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +10 -10
  3. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css +33 -3
  4. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +1 -1
  5. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffDecorator.js +7 -7
  6. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.d.ts +6 -4
  7. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.js +53 -32
  8. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.d.ts +4 -3
  9. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffWidget.js +57 -52
  10. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +89 -82
  11. package/vscode/src/vs/workbench/contrib/scm/browser/scmAccessibilityHelp.js +23 -23
  12. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.d.ts +9 -0
  13. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +185 -0
  14. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.d.ts +7 -5
  15. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryViewPane.js +414 -158
  16. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.d.ts +1 -1
  17. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +3 -3
  18. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.d.ts +3 -3
  19. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +3 -3
  20. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.d.ts +5 -8
  21. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +82 -45
  22. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +6 -4
  25. package/vscode/src/vs/workbench/contrib/scm/browser/workingSet.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +1 -1
@@ -0,0 +1,185 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
4
+ import { ThrottledDelayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
6
+ import { fromNow } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
7
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
9
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
10
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
+ import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
13
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
14
+ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
15
+ import { showChatView } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/browser/chat';
16
+ import { picksWithPromiseFn } from '@codingame/monaco-vscode-f338ac19-278c-5fe1-bec8-b588de04a788-common/vscode/vs/workbench/contrib/chat/browser/chatContextPickService';
17
+ import { IChatContextPickService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service';
18
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
19
+ import { ScmHistoryItemResolver } from '@codingame/monaco-vscode-f99b74f5-fcb7-512f-8c6c-35f5a107577d-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver';
20
+ import { ISCMViewService, ISCMService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service';
21
+
22
+ var SCMHistoryItemContext_1;
23
+ let SCMHistoryItemContextContribution = class SCMHistoryItemContextContribution extends Disposable {
24
+ static { this.ID = 'workbench.contrib.chat.scmHistoryItemContextContribution'; }
25
+ constructor(contextPickService, instantiationService, textModelResolverService) {
26
+ super();
27
+ this._store.add(contextPickService.registerChatContextItem(instantiationService.createInstance(SCMHistoryItemContext)));
28
+ this._store.add(textModelResolverService.registerTextModelContentProvider(ScmHistoryItemResolver.scheme, instantiationService.createInstance(SCMHistoryItemContextContentProvider)));
29
+ }
30
+ };
31
+ SCMHistoryItemContextContribution = ( __decorate([
32
+ ( __param(0, IChatContextPickService)),
33
+ ( __param(1, IInstantiationService)),
34
+ ( __param(2, ITextModelService))
35
+ ], SCMHistoryItemContextContribution));
36
+ let SCMHistoryItemContext = SCMHistoryItemContext_1 = class SCMHistoryItemContext {
37
+ static asAttachment(provider, historyItem) {
38
+ const multiDiffSourceUri = ScmHistoryItemResolver.getMultiDiffSourceUri(provider, historyItem);
39
+ const attachmentName = `$(${Codicon.repo.id})\u00A0${provider.name}\u00A0$(${Codicon.gitCommit.id})\u00A0${historyItem.displayId ?? historyItem.id}`;
40
+ return {
41
+ id: historyItem.id,
42
+ name: attachmentName,
43
+ value: multiDiffSourceUri,
44
+ historyItem: {
45
+ ...historyItem,
46
+ references: []
47
+ },
48
+ kind: 'scmHistoryItem'
49
+ };
50
+ }
51
+ constructor(_scmViewService) {
52
+ this._scmViewService = _scmViewService;
53
+ this.type = 'pickerPick';
54
+ this.label = ( localize(9449, 'Source Control...'));
55
+ this.icon = Codicon.gitCommit;
56
+ this._delayer = ( new ThrottledDelayer(200));
57
+ }
58
+ isEnabled(_widget) {
59
+ const activeRepository = this._scmViewService.activeRepository.get();
60
+ return activeRepository?.provider.historyProvider.get() !== undefined;
61
+ }
62
+ asPicker(_widget) {
63
+ return {
64
+ placeholder: ( localize(9450, 'Select a change')),
65
+ picks: picksWithPromiseFn((query, token) => {
66
+ const filterText = query.trim() !== '' ? query.trim() : undefined;
67
+ const activeRepository = this._scmViewService.activeRepository.get();
68
+ const historyProvider = activeRepository?.provider.historyProvider.get();
69
+ if (!activeRepository || !historyProvider) {
70
+ return Promise.resolve([]);
71
+ }
72
+ const historyItemRefs = ( coalesce([
73
+ historyProvider.historyItemRef.get(),
74
+ historyProvider.historyItemRemoteRef.get(),
75
+ historyProvider.historyItemBaseRef.get(),
76
+ ]).map(ref => ref.id));
77
+ return this._delayer.trigger(() => {
78
+ return historyProvider.provideHistoryItems({ historyItemRefs, filterText, limit: 100 }, token)
79
+ .then(historyItems => {
80
+ if (!historyItems) {
81
+ return [];
82
+ }
83
+ return (historyItems.map(historyItem => {
84
+ const details = [`${historyItem.displayId ?? historyItem.id}`];
85
+ if (historyItem.author) {
86
+ details.push(historyItem.author);
87
+ }
88
+ if (historyItem.statistics) {
89
+ details.push(`${historyItem.statistics.files} ${( localize(9451, 'file(s)'))}`);
90
+ }
91
+ if (historyItem.timestamp) {
92
+ details.push(fromNow(historyItem.timestamp, true, true));
93
+ }
94
+ return {
95
+ iconClass: ThemeIcon.asClassName(Codicon.gitCommit),
96
+ label: historyItem.subject,
97
+ detail: details.join(`$(${Codicon.circleSmallFilled.id})`),
98
+ asAttachment: () => SCMHistoryItemContext_1.asAttachment(activeRepository.provider, historyItem)
99
+ };
100
+ }));
101
+ });
102
+ });
103
+ })
104
+ };
105
+ }
106
+ };
107
+ SCMHistoryItemContext = SCMHistoryItemContext_1 = ( __decorate([
108
+ ( __param(0, ISCMViewService))
109
+ ], SCMHistoryItemContext));
110
+ let SCMHistoryItemContextContentProvider = class SCMHistoryItemContextContentProvider {
111
+ constructor(_modelService, _scmService) {
112
+ this._modelService = _modelService;
113
+ this._scmService = _scmService;
114
+ }
115
+ async provideTextContent(resource) {
116
+ const uriFields = ScmHistoryItemResolver.parseUri(resource);
117
+ if (!uriFields) {
118
+ return null;
119
+ }
120
+ const textModel = this._modelService.getModel(resource);
121
+ if (textModel) {
122
+ return textModel;
123
+ }
124
+ const { repositoryId, historyItemId } = uriFields;
125
+ const repository = this._scmService.getRepository(repositoryId);
126
+ const historyProvider = repository?.provider.historyProvider.get();
127
+ if (!repository || !historyProvider) {
128
+ return null;
129
+ }
130
+ const historyItemContext = await historyProvider.resolveHistoryItemChatContext(historyItemId);
131
+ if (!historyItemContext) {
132
+ return null;
133
+ }
134
+ return this._modelService.createModel(historyItemContext, null, resource, false);
135
+ }
136
+ };
137
+ SCMHistoryItemContextContentProvider = ( __decorate([
138
+ ( __param(0, IModelService)),
139
+ ( __param(1, ISCMService))
140
+ ], SCMHistoryItemContextContentProvider));
141
+ registerAction2(class extends Action2 {
142
+ constructor() {
143
+ super({
144
+ id: 'workbench.scm.action.graph.addHistoryItemToChat',
145
+ title: ( localize(9452, 'Add History Item to Chat')),
146
+ f1: false,
147
+ menu: {
148
+ id: MenuId.SCMHistoryItemChatContext,
149
+ when: ChatContextKeys.Setup.installed
150
+ }
151
+ });
152
+ }
153
+ async run(accessor, provider, historyItem) {
154
+ const viewsService = accessor.get(IViewsService);
155
+ const widget = await showChatView(viewsService);
156
+ if (!provider || !historyItem || !widget) {
157
+ return;
158
+ }
159
+ widget.attachmentModel.addContext(SCMHistoryItemContext.asAttachment(provider, historyItem));
160
+ }
161
+ });
162
+ registerAction2(class extends Action2 {
163
+ constructor() {
164
+ super({
165
+ id: 'workbench.scm.action.graph.summarizeHistoryItem',
166
+ title: ( localize(9453, 'Summarize History Item')),
167
+ f1: false,
168
+ menu: {
169
+ id: MenuId.SCMHistoryItemChatContext,
170
+ when: ChatContextKeys.Setup.installed
171
+ }
172
+ });
173
+ }
174
+ async run(accessor, provider, historyItem) {
175
+ const viewsService = accessor.get(IViewsService);
176
+ const widget = await showChatView(viewsService);
177
+ if (!provider || !historyItem || !widget) {
178
+ return;
179
+ }
180
+ widget.attachmentModel.addContext(SCMHistoryItemContext.asAttachment(provider, historyItem));
181
+ await widget.acceptInput('Summarize the attached history item');
182
+ }
183
+ });
184
+
185
+ export { SCMHistoryItemContextContribution };
@@ -6,17 +6,17 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
6
6
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
7
7
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
8
8
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
9
- import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common/vscode/vs/workbench/browser/parts/views/viewPane";
9
+ import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common/vscode/vs/workbench/browser/parts/views/viewPane";
10
10
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
11
- import { ISCMProvider } from "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common/vscode/vs/workbench/contrib/scm/common/scm";
11
+ import { ISCMProvider, ViewMode } from "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common/vscode/vs/workbench/contrib/scm/common/scm";
12
12
  import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service";
13
- import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
14
13
  import { IAction, IActionRunner } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
15
14
  import { IProgressService } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service";
16
15
  import { IActionViewItem } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar";
17
16
  import { IDropdownMenuActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem";
17
+ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
18
18
  export declare class SCMHistoryViewPane extends ViewPane {
19
- private readonly _commandService;
19
+ private readonly _editorService;
20
20
  private readonly _instantiationService;
21
21
  private readonly _menuService;
22
22
  private readonly _progressService;
@@ -36,7 +36,7 @@ export declare class SCMHistoryViewPane extends ViewPane {
36
36
  private readonly _scmCurrentHistoryItemRefHasRemote;
37
37
  private readonly _scmCurrentHistoryItemRefInFilter;
38
38
  private readonly _contextMenuDisposables;
39
- constructor(options: IViewPaneOptions, _commandService: ICommandService, _instantiationService: IInstantiationService, _menuService: IMenuService, _progressService: IProgressService, configurationService: IConfigurationService, contextMenuService: IContextMenuService, keybindingService: IKeybindingService, instantiationService: IInstantiationService, viewDescriptorService: IViewDescriptorService, contextKeyService: IContextKeyService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService);
39
+ constructor(options: IViewPaneOptions, _editorService: IEditorService, _instantiationService: IInstantiationService, _menuService: IMenuService, _progressService: IProgressService, configurationService: IConfigurationService, contextMenuService: IContextMenuService, keybindingService: IKeybindingService, instantiationService: IInstantiationService, viewDescriptorService: IViewDescriptorService, contextKeyService: IContextKeyService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService);
40
40
  protected renderHeaderTitle(container: HTMLElement): void;
41
41
  protected renderBody(container: HTMLElement): void;
42
42
  protected layoutBody(height: number, width: number): void;
@@ -49,11 +49,13 @@ export declare class SCMHistoryViewPane extends ViewPane {
49
49
  pickRepository(): Promise<void>;
50
50
  pickHistoryItemRef(): Promise<void>;
51
51
  revealCurrentHistoryItem(): Promise<void>;
52
+ setViewMode(viewMode: ViewMode): void;
52
53
  private _createTree;
53
54
  private _isCurrentHistoryItemInFilter;
54
55
  private _onDidOpen;
55
56
  private _onContextMenu;
56
57
  private _loadMore;
57
58
  private _updateChildren;
59
+ private _updateIndentStyles;
58
60
  dispose(): void;
59
61
  }