@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
@@ -35,7 +35,7 @@ import { SCMWorkingSetController } from './workingSet.js';
35
35
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
36
36
  import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
37
37
  import { IListService } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService.service';
38
- import { isSCMRepository } from '@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common/vscode/vs/workbench/contrib/scm/browser/util';
38
+ import { isSCMRepository } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/scm/browser/util';
39
39
  import { SCMHistoryViewPane } from './scmHistoryViewPane.js';
40
40
  import './quickDiffModel.js';
41
41
  import { QuickDiffEditorController } from './quickDiffWidget.js';
@@ -44,6 +44,7 @@ import { RemoteNameContext } from '@codingame/monaco-vscode-api/vscode/vs/workbe
44
44
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
45
45
  import { SCMAccessibilityHelp } from './scmAccessibilityHelp.js';
46
46
  import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
47
+ import { SCMHistoryItemContextContribution } from './scmHistoryChatContext.js';
47
48
 
48
49
  ModesRegistry.registerLanguage({
49
50
  id: 'scminput',
@@ -54,10 +55,10 @@ ModesRegistry.registerLanguage({
54
55
  ( Registry.as(Extensions.Workbench))
55
56
  .registerWorkbenchContribution(QuickDiffWorkbenchController, LifecyclePhase.Restored);
56
57
  registerEditorContribution(QuickDiffEditorController.ID, QuickDiffEditorController, EditorContributionInstantiation.AfterFirstRender);
57
- const sourceControlViewIcon = registerIcon('source-control-view-icon', Codicon.sourceControl, ( localize(9093, 'View icon of the Source Control view.')));
58
+ const sourceControlViewIcon = registerIcon('source-control-view-icon', Codicon.sourceControl, ( localize(9330, 'View icon of the Source Control view.')));
58
59
  const viewContainer = ( Registry.as(Extensions$1.ViewContainersRegistry)).registerViewContainer({
59
60
  id: VIEWLET_ID,
60
- title: ( localize2(9094, 'Source Control')),
61
+ title: ( localize2(9331, 'Source Control')),
61
62
  ctorDescriptor: ( new SyncDescriptor(SCMViewPaneContainer)),
62
63
  storageId: 'workbench.scm.views.state',
63
64
  icon: sourceControlViewIcon,
@@ -66,25 +67,25 @@ const viewContainer = ( Registry.as(Extensions$1.ViewContainersRegistry)).regist
66
67
  hideIfEmpty: true,
67
68
  }, ViewContainerLocation.Sidebar, { doNotRegisterOpenCommand: true });
68
69
  const viewsRegistry = ( Registry.as(Extensions$1.ViewsRegistry));
69
- const containerTitle = ( localize(9095, "Source Control"));
70
+ const containerTitle = ( localize(9332, "Source Control"));
70
71
  viewsRegistry.registerViewWelcomeContent(VIEW_PANE_ID, {
71
- content: ( localize(9096, "No source control providers registered.")),
72
+ content: ( localize(9333, "No source control providers registered.")),
72
73
  when: 'default'
73
74
  });
74
75
  viewsRegistry.registerViewWelcomeContent(VIEW_PANE_ID, {
75
76
  content: ( localize(
76
- 9097,
77
+ 9334,
77
78
  "None of the registered source control providers work in Restricted Mode."
78
79
  )),
79
80
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('scm.providerCount', 0)), WorkspaceTrustContext.IsEnabled, ( WorkspaceTrustContext.IsTrusted.toNegated())))
80
81
  });
81
82
  viewsRegistry.registerViewWelcomeContent(VIEW_PANE_ID, {
82
- content: `[${( localize(9098, "Manage Workspace Trust"))}](command:${MANAGE_TRUST_COMMAND_ID})`,
83
+ content: `[${( localize(9335, "Manage Workspace Trust"))}](command:${MANAGE_TRUST_COMMAND_ID})`,
83
84
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('scm.providerCount', 0)), WorkspaceTrustContext.IsEnabled, ( WorkspaceTrustContext.IsTrusted.toNegated())))
84
85
  });
85
86
  viewsRegistry.registerViewWelcomeContent(HISTORY_VIEW_PANE_ID, {
86
87
  content: ( localize(
87
- 9099,
88
+ 9336,
88
89
  "The selected source control provider does not have any source control history items."
89
90
  )),
90
91
  when: ( ContextKeys.SCMHistoryItemCount.isEqualTo(0))
@@ -92,8 +93,8 @@ viewsRegistry.registerViewWelcomeContent(HISTORY_VIEW_PANE_ID, {
92
93
  viewsRegistry.registerViews([{
93
94
  id: REPOSITORIES_VIEW_PANE_ID,
94
95
  containerTitle,
95
- name: ( localize2(9100, "Repositories")),
96
- singleViewPaneContainerTitle: ( localize(9101, "Source Control Repositories")),
96
+ name: ( localize2(9337, "Repositories")),
97
+ singleViewPaneContainerTitle: ( localize(9338, "Source Control Repositories")),
97
98
  ctorDescriptor: ( new SyncDescriptor(SCMRepositoriesViewPane)),
98
99
  canToggleVisibility: true,
99
100
  hideByDefault: true,
@@ -106,7 +107,7 @@ viewsRegistry.registerViews([{
106
107
  viewsRegistry.registerViews([{
107
108
  id: VIEW_PANE_ID,
108
109
  containerTitle,
109
- name: ( localize2(9102, 'Changes')),
110
+ name: ( localize2(9339, 'Changes')),
110
111
  singleViewPaneContainerTitle: containerTitle,
111
112
  ctorDescriptor: ( new SyncDescriptor(SCMViewPane)),
112
113
  canToggleVisibility: true,
@@ -116,7 +117,7 @@ viewsRegistry.registerViews([{
116
117
  containerIcon: sourceControlViewIcon,
117
118
  openCommandActionDescriptor: {
118
119
  id: viewContainer.id,
119
- mnemonicTitle: ( localize(9103, "Source &&Control")),
120
+ mnemonicTitle: ( localize(9340, "Source &&Control")),
120
121
  keybindings: {
121
122
  primary: 0,
122
123
  win: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG },
@@ -129,8 +130,8 @@ viewsRegistry.registerViews([{
129
130
  viewsRegistry.registerViews([{
130
131
  id: HISTORY_VIEW_PANE_ID,
131
132
  containerTitle,
132
- name: ( localize2(9104, "Graph")),
133
- singleViewPaneContainerTitle: ( localize(9105, "Source Control Graph")),
133
+ name: ( localize2(9341, "Graph")),
134
+ singleViewPaneContainerTitle: ( localize(9342, "Source Control Graph")),
134
135
  ctorDescriptor: ( new SyncDescriptor(SCMHistoryViewPane)),
135
136
  canToggleVisibility: true,
136
137
  canMoveView: true,
@@ -144,10 +145,11 @@ viewsRegistry.registerViews([{
144
145
  ( Registry.as(Extensions.Workbench))
145
146
  .registerWorkbenchContribution(SCMActiveResourceContextKeyController, LifecyclePhase.Restored);
146
147
  registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetController, WorkbenchPhase.AfterRestored);
148
+ registerWorkbenchContribution2(SCMHistoryItemContextContribution.ID, SCMHistoryItemContextContribution, WorkbenchPhase.AfterRestored);
147
149
  ( Registry.as(Extensions$2.Configuration)).registerConfiguration({
148
150
  id: 'scm',
149
151
  order: 5,
150
- title: ( localize(9106, "Source Control")),
152
+ title: ( localize(9343, "Source Control")),
151
153
  type: 'object',
152
154
  scope: ConfigurationScope.RESOURCE,
153
155
  properties: {
@@ -155,21 +157,21 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
155
157
  type: 'string',
156
158
  enum: ['all', 'gutter', 'overview', 'minimap', 'none'],
157
159
  enumDescriptions: [
158
- ( localize(9107, "Show the diff decorations in all available locations.")),
159
- ( localize(9108, "Show the diff decorations only in the editor gutter.")),
160
- ( localize(9109, "Show the diff decorations only in the overview ruler.")),
161
- ( localize(9110, "Show the diff decorations only in the minimap.")),
162
- ( localize(9111, "Do not show the diff decorations."))
160
+ ( localize(9344, "Show the diff decorations in all available locations.")),
161
+ ( localize(9345, "Show the diff decorations only in the editor gutter.")),
162
+ ( localize(9346, "Show the diff decorations only in the overview ruler.")),
163
+ ( localize(9347, "Show the diff decorations only in the minimap.")),
164
+ ( localize(9348, "Do not show the diff decorations."))
163
165
  ],
164
166
  default: 'all',
165
- description: ( localize(9112, "Controls diff decorations in the editor."))
167
+ description: ( localize(9349, "Controls diff decorations in the editor."))
166
168
  },
167
169
  'scm.diffDecorationsGutterWidth': {
168
170
  type: 'number',
169
171
  enum: [1, 2, 3, 4, 5],
170
172
  default: 3,
171
173
  description: ( localize(
172
- 9113,
174
+ 9350,
173
175
  "Controls the width(px) of diff decorations in gutter (added & modified)."
174
176
  ))
175
177
  },
@@ -177,11 +179,11 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
177
179
  type: 'string',
178
180
  enum: ['always', 'hover'],
179
181
  enumDescriptions: [
180
- ( localize(9114, "Show the diff decorator in the gutter at all times.")),
181
- ( localize(9115, "Show the diff decorator in the gutter only on hover."))
182
+ ( localize(9351, "Show the diff decorator in the gutter at all times.")),
183
+ ( localize(9352, "Show the diff decorator in the gutter only on hover."))
182
184
  ],
183
185
  description: ( localize(
184
- 9116,
186
+ 9353,
185
187
  "Controls the visibility of the Source Control diff decorator in the gutter."
186
188
  )),
187
189
  default: 'always'
@@ -190,27 +192,27 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
190
192
  type: 'string',
191
193
  enum: ['diff', 'none'],
192
194
  enumDescriptions: [
193
- ( localize(9117, "Show the inline diff Peek view on click.")),
194
- ( localize(9118, "Do nothing."))
195
+ ( localize(9354, "Show the inline diff Peek view on click.")),
196
+ ( localize(9355, "Do nothing."))
195
197
  ],
196
- description: ( localize(9119, "Controls the behavior of Source Control diff gutter decorations.")),
198
+ description: ( localize(9356, "Controls the behavior of Source Control diff gutter decorations.")),
197
199
  default: 'diff'
198
200
  },
199
201
  'scm.diffDecorationsGutterPattern': {
200
202
  type: 'object',
201
203
  description: ( localize(
202
- 9120,
204
+ 9357,
203
205
  "Controls whether a pattern is used for the diff decorations in gutter."
204
206
  )),
205
207
  additionalProperties: false,
206
208
  properties: {
207
209
  'added': {
208
210
  type: 'boolean',
209
- description: ( localize(9121, "Use pattern for the diff decorations in gutter for added lines.")),
211
+ description: ( localize(9358, "Use pattern for the diff decorations in gutter for added lines.")),
210
212
  },
211
213
  'modified': {
212
214
  type: 'boolean',
213
- description: ( localize(9122, "Use pattern for the diff decorations in gutter for modified lines.")),
215
+ description: ( localize(9359, "Use pattern for the diff decorations in gutter for modified lines.")),
214
216
  },
215
217
  },
216
218
  default: {
@@ -222,12 +224,12 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
222
224
  type: 'string',
223
225
  enum: ['true', 'false', 'inherit'],
224
226
  enumDescriptions: [
225
- ( localize(9123, "Ignore leading and trailing whitespace.")),
226
- ( localize(9124, "Do not ignore leading and trailing whitespace.")),
227
- ( localize(9125, "Inherit from `diffEditor.ignoreTrimWhitespace`."))
227
+ ( localize(9360, "Ignore leading and trailing whitespace.")),
228
+ ( localize(9361, "Do not ignore leading and trailing whitespace.")),
229
+ ( localize(9362, "Inherit from `diffEditor.ignoreTrimWhitespace`."))
228
230
  ],
229
231
  description: ( localize(
230
- 9126,
232
+ 9363,
231
233
  "Controls whether leading and trailing whitespace is ignored in Source Control diff gutter decorations."
232
234
  )),
233
235
  default: 'false'
@@ -235,7 +237,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
235
237
  'scm.alwaysShowActions': {
236
238
  type: 'boolean',
237
239
  description: ( localize(
238
- 9127,
240
+ 9364,
239
241
  "Controls whether inline actions are always visible in the Source Control view."
240
242
  )),
241
243
  default: false
@@ -244,12 +246,12 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
244
246
  type: 'string',
245
247
  enum: ['all', 'focused', 'off'],
246
248
  enumDescriptions: [
247
- ( localize(9128, "Show the sum of all Source Control Provider count badges.")),
248
- ( localize(9129, "Show the count badge of the focused Source Control Provider.")),
249
- ( localize(9130, "Disable the Source Control count badge."))
249
+ ( localize(9365, "Show the sum of all Source Control Provider count badges.")),
250
+ ( localize(9366, "Show the count badge of the focused Source Control Provider.")),
251
+ ( localize(9367, "Disable the Source Control count badge."))
250
252
  ],
251
253
  description: ( localize(
252
- 9131,
254
+ 9368,
253
255
  "Controls the count badge on the Source Control icon on the Activity Bar."
254
256
  )),
255
257
  default: 'all'
@@ -258,12 +260,12 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
258
260
  type: 'string',
259
261
  enum: ['hidden', 'auto', 'visible'],
260
262
  enumDescriptions: [
261
- ( localize(9132, "Hide Source Control Provider count badges.")),
262
- ( localize(9133, "Only show count badge for Source Control Provider when non-zero.")),
263
- ( localize(9134, "Show Source Control Provider count badges."))
263
+ ( localize(9369, "Hide Source Control Provider count badges.")),
264
+ ( localize(9370, "Only show count badge for Source Control Provider when non-zero.")),
265
+ ( localize(9371, "Show Source Control Provider count badges."))
264
266
  ],
265
267
  markdownDescription: ( localize(
266
- 9135,
268
+ 9372,
267
269
  "Controls the count badges on Source Control Provider headers. These headers appear in the Source Control view when there is more than one provider or when the {0} setting is enabled, and in the Source Control Repositories view.",
268
270
  '\`#scm.alwaysShowRepositories#\`'
269
271
  )),
@@ -273,22 +275,22 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
273
275
  type: 'string',
274
276
  enum: ['tree', 'list'],
275
277
  enumDescriptions: [
276
- ( localize(9136, "Show the repository changes as a tree.")),
277
- ( localize(9137, "Show the repository changes as a list."))
278
+ ( localize(9373, "Show the repository changes as a tree.")),
279
+ ( localize(9374, "Show the repository changes as a list."))
278
280
  ],
279
- description: ( localize(9138, "Controls the default Source Control repository view mode.")),
281
+ description: ( localize(9375, "Controls the default Source Control repository view mode.")),
280
282
  default: 'list'
281
283
  },
282
284
  'scm.defaultViewSortKey': {
283
285
  type: 'string',
284
286
  enum: ['name', 'path', 'status'],
285
287
  enumDescriptions: [
286
- ( localize(9139, "Sort the repository changes by file name.")),
287
- ( localize(9140, "Sort the repository changes by path.")),
288
- ( localize(9141, "Sort the repository changes by Source Control status."))
288
+ ( localize(9376, "Sort the repository changes by file name.")),
289
+ ( localize(9377, "Sort the repository changes by path.")),
290
+ ( localize(9378, "Sort the repository changes by Source Control status."))
289
291
  ],
290
292
  description: ( localize(
291
- 9142,
293
+ 9379,
292
294
  "Controls the default Source Control repository changes sort order when viewed as a list."
293
295
  )),
294
296
  default: 'path'
@@ -296,7 +298,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
296
298
  'scm.autoReveal': {
297
299
  type: 'boolean',
298
300
  description: ( localize(
299
- 9143,
301
+ 9380,
300
302
  "Controls whether the Source Control view should automatically reveal and select files when opening them."
301
303
  )),
302
304
  default: true
@@ -304,20 +306,20 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
304
306
  'scm.inputFontFamily': {
305
307
  type: 'string',
306
308
  markdownDescription: ( localize(
307
- 9144,
309
+ 9381,
308
310
  "Controls the font for the input message. Use `default` for the workbench user interface font family, `editor` for the `#editor.fontFamily#`'s value, or a custom font family."
309
311
  )),
310
312
  default: 'default'
311
313
  },
312
314
  'scm.inputFontSize': {
313
315
  type: 'number',
314
- markdownDescription: ( localize(9145, "Controls the font size for the input message in pixels.")),
316
+ markdownDescription: ( localize(9382, "Controls the font size for the input message in pixels.")),
315
317
  default: 13
316
318
  },
317
319
  'scm.inputMaxLineCount': {
318
320
  type: 'number',
319
321
  markdownDescription: ( localize(
320
- 9146,
322
+ 9383,
321
323
  "Controls the maximum number of lines that the input will auto-grow to."
322
324
  )),
323
325
  minimum: 1,
@@ -327,7 +329,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
327
329
  'scm.inputMinLineCount': {
328
330
  type: 'number',
329
331
  markdownDescription: ( localize(
330
- 9147,
332
+ 9384,
331
333
  "Controls the minimum number of lines that the input will auto-grow from."
332
334
  )),
333
335
  minimum: 1,
@@ -337,7 +339,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
337
339
  'scm.alwaysShowRepositories': {
338
340
  type: 'boolean',
339
341
  markdownDescription: ( localize(
340
- 9148,
342
+ 9385,
341
343
  "Controls whether repositories should always be visible in the Source Control view."
342
344
  )),
343
345
  default: false
@@ -347,20 +349,20 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
347
349
  enum: ['discovery time', 'name', 'path'],
348
350
  enumDescriptions: [
349
351
  ( localize(
350
- 9149,
352
+ 9386,
351
353
  "Repositories in the Source Control Repositories view are sorted by discovery time. Repositories in the Source Control view are sorted in the order that they were selected."
352
354
  )),
353
355
  ( localize(
354
- 9150,
356
+ 9387,
355
357
  "Repositories in the Source Control Repositories and Source Control views are sorted by repository name."
356
358
  )),
357
359
  ( localize(
358
- 9151,
360
+ 9388,
359
361
  "Repositories in the Source Control Repositories and Source Control views are sorted by repository path."
360
362
  ))
361
363
  ],
362
364
  description: ( localize(
363
- 9152,
365
+ 9389,
364
366
  "Controls the sort order of the repositories in the source control repositories view."
365
367
  )),
366
368
  default: 'discovery time'
@@ -368,7 +370,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
368
370
  'scm.repositories.visible': {
369
371
  type: 'number',
370
372
  description: ( localize(
371
- 9153,
373
+ 9390,
372
374
  "Controls how many repositories are visible in the Source Control Repositories section. Set to 0, to be able to manually resize the view."
373
375
  )),
374
376
  default: 10
@@ -376,7 +378,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
376
378
  'scm.showActionButton': {
377
379
  type: 'boolean',
378
380
  markdownDescription: ( localize(
379
- 9154,
381
+ 9391,
380
382
  "Controls whether an action button can be shown in the Source Control view."
381
383
  )),
382
384
  default: true
@@ -384,7 +386,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
384
386
  'scm.showInputActionButton': {
385
387
  type: 'boolean',
386
388
  markdownDescription: ( localize(
387
- 9155,
389
+ 9392,
388
390
  "Controls whether an action button can be shown in the Source Control input."
389
391
  )),
390
392
  default: true
@@ -392,7 +394,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
392
394
  'scm.workingSets.enabled': {
393
395
  type: 'boolean',
394
396
  description: ( localize(
395
- 9156,
397
+ 9393,
396
398
  "Controls whether to store editor working sets when switching between source control history item groups."
397
399
  )),
398
400
  default: false
@@ -402,16 +404,16 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
402
404
  enum: ['empty', 'current'],
403
405
  enumDescriptions: [
404
406
  ( localize(
405
- 9157,
407
+ 9394,
406
408
  "Use an empty working set when switching to a source control history item group that does not have a working set."
407
409
  )),
408
410
  ( localize(
409
- 9158,
411
+ 9395,
410
412
  "Use the current working set when switching to a source control history item group that does not have a working set."
411
413
  ))
412
414
  ],
413
415
  description: ( localize(
414
- 9159,
416
+ 9396,
415
417
  "Controls the default working set to use when switching to a source control history item group that does not have a working set."
416
418
  )),
417
419
  default: 'current'
@@ -419,7 +421,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
419
421
  'scm.compactFolders': {
420
422
  type: 'boolean',
421
423
  description: ( localize(
422
- 9160,
424
+ 9397,
423
425
  "Controls whether the Source Control view should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element."
424
426
  )),
425
427
  default: true
@@ -427,7 +429,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
427
429
  'scm.graph.pageOnScroll': {
428
430
  type: 'boolean',
429
431
  description: ( localize(
430
- 9161,
432
+ 9398,
431
433
  "Controls whether the Source Control Graph view will load the next page of items when you scroll to the end of the list."
432
434
  )),
433
435
  default: true
@@ -435,7 +437,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
435
437
  'scm.graph.pageSize': {
436
438
  type: 'number',
437
439
  description: ( localize(
438
- 9162,
440
+ 9399,
439
441
  "The number of items to show in the Source Control Graph view by default and when loading more items."
440
442
  )),
441
443
  minimum: 1,
@@ -447,16 +449,16 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
447
449
  enum: ['all', 'filter'],
448
450
  enumDescriptions: [
449
451
  ( localize(
450
- 9163,
452
+ 9400,
451
453
  "Show badges of all history item groups in the Source Control Graph view."
452
454
  )),
453
455
  ( localize(
454
- 9164,
456
+ 9401,
455
457
  "Show only the badges of history item groups used as a filter in the Source Control Graph view."
456
458
  ))
457
459
  ],
458
460
  description: ( localize(
459
- 9165,
461
+ 9402,
460
462
  "Controls which badges are shown in the Source Control Graph view. The badges are shown on the right side of the graph indicating the names of history item groups."
461
463
  )),
462
464
  default: 'filter'
@@ -465,7 +467,7 @@ registerWorkbenchContribution2(SCMWorkingSetController.ID, SCMWorkingSetControll
465
467
  });
466
468
  KeybindingsRegistry.registerCommandAndKeybindingRule({
467
469
  id: 'scm.acceptInput',
468
- metadata: { description: ( localize(9166, "Source Control: Accept Input")), args: [] },
470
+ metadata: { description: ( localize(9403, "Source Control: Accept Input")), args: [] },
469
471
  weight: KeybindingWeight.WorkbenchContrib,
470
472
  when: ( ContextKeyExpr.has('scmRepository')),
471
473
  primary: KeyMod.CtrlCmd | KeyCode.Enter,
@@ -502,7 +504,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
502
504
  }
503
505
  });
504
506
  const viewNextCommitCommand = {
505
- description: { description: ( localize(9167, "Source Control: View Next Commit")), args: [] },
507
+ description: { description: ( localize(9404, "Source Control: View Next Commit")), args: [] },
506
508
  weight: KeybindingWeight.WorkbenchContrib,
507
509
  handler: (accessor) => {
508
510
  const contextKeyService = accessor.get(IContextKeyService);
@@ -514,7 +516,7 @@ const viewNextCommitCommand = {
514
516
  }
515
517
  };
516
518
  const viewPreviousCommitCommand = {
517
- description: { description: ( localize(9168, "Source Control: View Previous Commit")), args: [] },
519
+ description: { description: ( localize(9405, "Source Control: View Previous Commit")), args: [] },
518
520
  weight: KeybindingWeight.WorkbenchContrib,
519
521
  handler: (accessor) => {
520
522
  const contextKeyService = accessor.get(IContextKeyService);
@@ -582,9 +584,9 @@ CommandsRegistry.registerCommand('scm.openInTerminal', async (accessor, provider
582
584
  CommandsRegistry.registerCommand('scm.setActiveProvider', async (accessor) => {
583
585
  const instantiationService = accessor.get(IInstantiationService);
584
586
  const scmViewService = accessor.get(ISCMViewService);
585
- const placeHolder = ( localize(9169, "Select the active repository, type to filter all repositories"));
587
+ const placeHolder = ( localize(9406, "Select the active repository, type to filter all repositories"));
586
588
  const autoQuickItemDescription = ( localize(
587
- 9170,
589
+ 9407,
588
590
  "The active repository is updated based on focused repository/active editor"
589
591
  ));
590
592
  const repositoryPicker = instantiationService.createInstance(RepositoryPicker, placeHolder, autoQuickItemDescription);
@@ -598,7 +600,7 @@ MenuRegistry.appendMenuItem(MenuId.SCMSourceControl, {
598
600
  group: '100_end',
599
601
  command: {
600
602
  id: 'scm.openInTerminal',
601
- title: ( localize(9171, "Open in External Terminal"))
603
+ title: ( localize(9408, "Open in External Terminal"))
602
604
  },
603
605
  when: ( ContextKeyExpr.and(( RemoteNameContext.isEqualTo('')), ( ContextKeyExpr.equals('scmProviderHasRootUri', true)), ( ContextKeyExpr.or(( ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'external')), ( ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'both'))))))
604
606
  });
@@ -606,7 +608,7 @@ MenuRegistry.appendMenuItem(MenuId.SCMSourceControl, {
606
608
  group: '100_end',
607
609
  command: {
608
610
  id: 'scm.openInIntegratedTerminal',
609
- title: ( localize(9172, "Open in Integrated Terminal"))
611
+ title: ( localize(9409, "Open in Integrated Terminal"))
610
612
  },
611
613
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('scmProviderHasRootUri', true)), ( ContextKeyExpr.or(( ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'integrated')), ( ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'both'))))))
612
614
  });
@@ -657,9 +659,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
657
659
  }
658
660
  });
659
661
  MenuRegistry.appendMenuItem(MenuId.EditorLineNumberContext, {
660
- title: ( localize(9173, "Diff Decorations")),
662
+ title: ( localize(9410, "Diff Decorations")),
661
663
  submenu: MenuId.SCMQuickDiffDecorations,
662
664
  when: ( ContextKeyExpr.or(( ContextKeyExpr.equals('config.scm.diffDecorations', 'all')), ( ContextKeyExpr.equals('config.scm.diffDecorations', 'gutter')))),
663
665
  group: '9_quickDiffDecorations'
664
666
  });
667
+ MenuRegistry.appendMenuItem(MenuId.SCMHistoryItemContext, {
668
+ title: ( localize(9411, "Copilot")),
669
+ submenu: MenuId.SCMHistoryItemChatContext,
670
+ group: '8_chat'
671
+ });
665
672
  AccessibleViewRegistry.register(( new SCMAccessibilityHelp()));
@@ -55,75 +55,75 @@ let SCMAccessibilityHelpContentProvider = class SCMAccessibilityHelpContentProvi
55
55
  const content = [];
56
56
  if (this._scmViewService.visibleRepositories.length > 1) {
57
57
  const repositoryList = ( this._scmViewService.visibleRepositories.map(r => r.provider.name)).join(', ');
58
- content.push(( localize(9174, "Visible repositories: {0}", repositoryList)));
58
+ content.push(( localize(9412, "Visible repositories: {0}", repositoryList)));
59
59
  }
60
60
  const focusedRepository = this._scmViewService.focusedRepository;
61
61
  if (focusedRepository) {
62
- content.push(( localize(9175, "Repository: {0}", focusedRepository.provider.name)));
62
+ content.push(( localize(9413, "Repository: {0}", focusedRepository.provider.name)));
63
63
  const currentHistoryItemRef = focusedRepository.provider.historyProvider.get()?.historyItemRef.get();
64
64
  if (currentHistoryItemRef) {
65
- content.push(( localize(9176, "History item reference: {0}", currentHistoryItemRef.name)));
65
+ content.push(( localize(9414, "History item reference: {0}", currentHistoryItemRef.name)));
66
66
  }
67
67
  if (focusedRepository.input.visible && focusedRepository.input.enabled && focusedRepository.input.value !== '') {
68
- content.push(( localize(9177, "Commit message: {0}", focusedRepository.input.value)));
68
+ content.push(( localize(9415, "Commit message: {0}", focusedRepository.input.value)));
69
69
  }
70
70
  const actionButton = focusedRepository.provider.actionButton.get();
71
71
  if (actionButton) {
72
72
  const label = actionButton.command.tooltip ?? actionButton.command.title;
73
- const enablementLabel = actionButton.enabled ? ( localize(9178, "enabled")) : ( localize(9179, "disabled"));
74
- content.push(( localize(9180, "Action button: {0}, {1}", label, enablementLabel)));
73
+ const enablementLabel = actionButton.enabled ? ( localize(9416, "enabled")) : ( localize(9417, "disabled"));
74
+ content.push(( localize(9418, "Action button: {0}, {1}", label, enablementLabel)));
75
75
  }
76
76
  const resourceGroups = [];
77
77
  for (const resourceGroup of focusedRepository.provider.groups) {
78
78
  resourceGroups.push(`${resourceGroup.label} (${resourceGroup.resources.length} resource(s))`);
79
79
  }
80
80
  ( focusedRepository.provider.groups.map(g => g.label)).join(', ');
81
- content.push(( localize(9181, "Resource groups: {0}", resourceGroups.join(', '))));
81
+ content.push(( localize(9419, "Resource groups: {0}", resourceGroups.join(', '))));
82
82
  }
83
83
  content.push(( localize(
84
- 9182,
84
+ 9420,
85
85
  "Use the \"Source Control: Focus on Source Control Repositories View\" command to open the Source Control Repositories view."
86
86
  )));
87
87
  content.push(( localize(
88
- 9183,
88
+ 9421,
89
89
  "The Source Control Repositories view lists all repositories from the workspace and is only shown when the workspace contains more than one repository."
90
90
  )));
91
- content.push(( localize(9184, "Once the Source Control Repositories view is opened you can:")));
91
+ content.push(( localize(9422, "Once the Source Control Repositories view is opened you can:")));
92
92
  content.push(( localize(
93
- 9185,
93
+ 9423,
94
94
  " - Use the up/down arrow keys to navigate the list of repositories."
95
95
  )));
96
- content.push(( localize(9186, " - Use the Enter or Space keys to select a repository.")));
97
- content.push(( localize(9187, " - Use Shift + up/down keys to select multiple repositories.")));
96
+ content.push(( localize(9424, " - Use the Enter or Space keys to select a repository.")));
97
+ content.push(( localize(9425, " - Use Shift + up/down keys to select multiple repositories.")));
98
98
  content.push(( localize(
99
- 9188,
99
+ 9426,
100
100
  "Use the \"Source Control: Focus on Source Control View\" command to open the Source Control view."
101
101
  )));
102
102
  content.push(( localize(
103
- 9189,
103
+ 9427,
104
104
  "The Source Control view displays the resource groups and resources of the repository. If the workspace contains more than one repository it will list the resource groups and resources of the repositories selected in the Source Control Repositories view."
105
105
  )));
106
- content.push(( localize(9190, "Once the Source Control view is opened you can:")));
106
+ content.push(( localize(9428, "Once the Source Control view is opened you can:")));
107
107
  content.push(( localize(
108
- 9191,
108
+ 9429,
109
109
  " - Use the up/down arrow keys to navigate the list of repositories, resource groups and resources."
110
110
  )));
111
- content.push(( localize(9192, " - Use the Space key to expand or collapse a resource group.")));
111
+ content.push(( localize(9430, " - Use the Space key to expand or collapse a resource group.")));
112
112
  content.push(( localize(
113
- 9193,
113
+ 9431,
114
114
  "Use the \"Source Control: Focus on Source Control Graph View\" command to open the Source Control Graph view."
115
115
  )));
116
116
  content.push(( localize(
117
- 9194,
117
+ 9432,
118
118
  "The Source Control Graph view displays a graph history items of the repository. If the workspace contains more than one repository it will list the history items of the active repository."
119
119
  )));
120
- content.push(( localize(9195, "Once the Source Control Graph view is opened you can:")));
120
+ content.push(( localize(9433, "Once the Source Control Graph view is opened you can:")));
121
121
  content.push(( localize(
122
- 9196,
122
+ 9434,
123
123
  " - Use the up/down arrow keys to navigate the list of history items."
124
124
  )));
125
125
  content.push(( localize(
126
- 9197,
126
+ 9435,
127
127
  " - Use the Space key to open the history item details in the multi-file diff editor."
128
128
  )));
129
129
  return content.join('\n');
@@ -0,0 +1,9 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
3
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
5
+ import { IChatContextPickService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContextPickService.service";
6
+ export declare class SCMHistoryItemContextContribution extends Disposable implements IWorkbenchContribution {
7
+ static readonly ID = "workbench.contrib.chat.scmHistoryItemContextContribution";
8
+ constructor(contextPickService: IChatContextPickService, instantiationService: IInstantiationService, textModelResolverService: ITextModelService);
9
+ }