@codingame/monaco-vscode-views-service-override 1.85.0 → 1.85.2

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 (44) hide show
  1. package/assets/index-no-csp.html +4 -0
  2. package/assets/index.html +5 -1
  3. package/index.d.ts +2 -2
  4. package/index.js +2 -2
  5. package/package.json +11 -9
  6. package/tools/editor.js +1 -1
  7. package/views.d.ts +9 -4
  8. package/views.js +32 -10
  9. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +2 -2
  10. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +692 -0
  12. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +240 -0
  13. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +77 -0
  14. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorSerializer.js +42 -0
  15. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +71 -0
  16. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +346 -0
  17. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +96 -0
  18. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +145 -0
  19. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +103 -0
  20. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +399 -0
  21. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +196 -0
  22. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.js +41 -0
  23. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +128 -0
  24. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/media/mergeEditor.css.js +6 -0
  25. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +611 -0
  26. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +158 -0
  27. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +262 -0
  28. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewZones.js +173 -0
  29. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +79 -0
  30. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +1 -1
  31. package/vscode/src/vs/workbench/services/history/browser/historyService.js +3 -0
  32. package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -3
  33. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +0 -16
  34. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +0 -107
  35. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +0 -6
  36. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +0 -1604
  37. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +0 -6
  38. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +0 -390
  39. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +0 -157
  40. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +0 -5
  41. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +0 -6
  42. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -217
  43. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +0 -91
  44. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +0 -1837
@@ -0,0 +1,692 @@
1
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
2
+ import { basename } from 'monaco-editor/esm/vs/base/common/resources.js';
3
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
4
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
5
+ import { Action2, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
6
+ import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
7
+ import '../../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
8
+ import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
9
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
10
+ import { MergeEditorInputData } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput';
11
+ import { MergeEditor } from '../view/mergeEditor.js';
12
+ import { ctxMergeEditorLayout, ctxIsMergeEditor, ctxMergeEditorShowNonConflictingChanges, ctxMergeEditorShowBase, ctxMergeEditorShowBaseAtTop, StorageCloseWithConflicts } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/common/mergeEditor';
13
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
14
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
15
+
16
+ class MergeEditorAction extends Action2 {
17
+ constructor(desc) {
18
+ super(desc);
19
+ }
20
+ run(accessor) {
21
+ const { activeEditorPane } = accessor.get(IEditorService);
22
+ if (activeEditorPane instanceof MergeEditor) {
23
+ const vm = activeEditorPane.viewModel.get();
24
+ if (!vm) {
25
+ return;
26
+ }
27
+ this.runWithViewModel(vm, accessor);
28
+ }
29
+ }
30
+ }
31
+ class MergeEditorAction2 extends Action2 {
32
+ constructor(desc) {
33
+ super(desc);
34
+ }
35
+ run(accessor, ...args) {
36
+ const { activeEditorPane } = accessor.get(IEditorService);
37
+ if (activeEditorPane instanceof MergeEditor) {
38
+ const vm = activeEditorPane.viewModel.get();
39
+ if (!vm) {
40
+ return;
41
+ }
42
+ return this.runWithMergeEditor({
43
+ viewModel: vm,
44
+ inputModel: activeEditorPane.inputModel.get(),
45
+ input: activeEditorPane.input,
46
+ editorIdentifier: {
47
+ editor: activeEditorPane.input,
48
+ groupId: activeEditorPane.group.id,
49
+ }
50
+ }, accessor, ...args);
51
+ }
52
+ }
53
+ }
54
+ class OpenMergeEditor extends Action2 {
55
+ constructor() {
56
+ super({
57
+ id: '_open.mergeEditor',
58
+ title: { value: ( localizeWithPath(
59
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
60
+ 'title',
61
+ "Open Merge Editor"
62
+ )), original: 'Open Merge Editor' },
63
+ });
64
+ }
65
+ run(accessor, ...args) {
66
+ const validatedArgs = IRelaxedOpenArgs.validate(args[0]);
67
+ const input = {
68
+ base: { resource: validatedArgs.base },
69
+ input1: { resource: validatedArgs.input1.uri, label: validatedArgs.input1.title, description: validatedArgs.input1.description, detail: validatedArgs.input1.detail },
70
+ input2: { resource: validatedArgs.input2.uri, label: validatedArgs.input2.title, description: validatedArgs.input2.description, detail: validatedArgs.input2.detail },
71
+ result: { resource: validatedArgs.output },
72
+ options: { preserveFocus: true }
73
+ };
74
+ accessor.get(IEditorService).openEditor(input);
75
+ }
76
+ }
77
+ var IRelaxedOpenArgs;
78
+ ( (function(IRelaxedOpenArgs) {
79
+ function validate(obj) {
80
+ if (!obj || typeof obj !== 'object') {
81
+ throw new TypeError('invalid argument');
82
+ }
83
+ const o = obj;
84
+ const base = toUri(o.base);
85
+ const output = toUri(o.output);
86
+ const input1 = toInputData(o.input1);
87
+ const input2 = toInputData(o.input2);
88
+ return { base, input1, input2, output };
89
+ }
90
+ IRelaxedOpenArgs.validate = validate;
91
+ function toInputData(obj) {
92
+ if (typeof obj === 'string') {
93
+ return ( new MergeEditorInputData(( URI.parse(obj, true)), undefined, undefined, undefined));
94
+ }
95
+ if (!obj || typeof obj !== 'object') {
96
+ throw new TypeError('invalid argument');
97
+ }
98
+ if (isUriComponents(obj)) {
99
+ return ( new MergeEditorInputData(URI.revive(obj), undefined, undefined, undefined));
100
+ }
101
+ const o = obj;
102
+ const title = o.title;
103
+ const uri = toUri(o.uri);
104
+ const detail = o.detail;
105
+ const description = o.description;
106
+ return ( new MergeEditorInputData(uri, title, detail, description));
107
+ }
108
+ function toUri(obj) {
109
+ if (typeof obj === 'string') {
110
+ return ( URI.parse(obj, true));
111
+ }
112
+ else if (obj && typeof obj === 'object') {
113
+ return URI.revive(obj);
114
+ }
115
+ throw new TypeError('invalid argument');
116
+ }
117
+ function isUriComponents(obj) {
118
+ if (!obj || typeof obj !== 'object') {
119
+ return false;
120
+ }
121
+ const o = obj;
122
+ return typeof o.scheme === 'string'
123
+ && typeof o.authority === 'string'
124
+ && typeof o.path === 'string'
125
+ && typeof o.query === 'string'
126
+ && typeof o.fragment === 'string';
127
+ }
128
+ })(IRelaxedOpenArgs || (IRelaxedOpenArgs = {})));
129
+ class SetMixedLayout extends Action2 {
130
+ constructor() {
131
+ super({
132
+ id: 'merge.mixedLayout',
133
+ title: {
134
+ value: ( localizeWithPath(
135
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
136
+ 'layout.mixed',
137
+ 'Mixed Layout'
138
+ )),
139
+ original: 'Mixed Layout',
140
+ },
141
+ toggled: ( ctxMergeEditorLayout.isEqualTo('mixed')),
142
+ menu: [
143
+ {
144
+ id: MenuId.EditorTitle,
145
+ when: ctxIsMergeEditor,
146
+ group: '1_merge',
147
+ order: 9,
148
+ },
149
+ ],
150
+ precondition: ctxIsMergeEditor,
151
+ });
152
+ }
153
+ run(accessor) {
154
+ const { activeEditorPane } = accessor.get(IEditorService);
155
+ if (activeEditorPane instanceof MergeEditor) {
156
+ activeEditorPane.setLayoutKind('mixed');
157
+ }
158
+ }
159
+ }
160
+ class SetColumnLayout extends Action2 {
161
+ constructor() {
162
+ super({
163
+ id: 'merge.columnLayout',
164
+ title: { value: ( localizeWithPath(
165
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
166
+ 'layout.column',
167
+ "Column Layout"
168
+ )), original: 'Column Layout' },
169
+ toggled: ( ctxMergeEditorLayout.isEqualTo('columns')),
170
+ menu: [{
171
+ id: MenuId.EditorTitle,
172
+ when: ctxIsMergeEditor,
173
+ group: '1_merge',
174
+ order: 10,
175
+ }],
176
+ precondition: ctxIsMergeEditor,
177
+ });
178
+ }
179
+ run(accessor) {
180
+ const { activeEditorPane } = accessor.get(IEditorService);
181
+ if (activeEditorPane instanceof MergeEditor) {
182
+ activeEditorPane.setLayoutKind('columns');
183
+ }
184
+ }
185
+ }
186
+ class ShowNonConflictingChanges extends Action2 {
187
+ constructor() {
188
+ super({
189
+ id: 'merge.showNonConflictingChanges',
190
+ title: {
191
+ value: ( localizeWithPath(
192
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
193
+ 'showNonConflictingChanges',
194
+ 'Show Non-Conflicting Changes'
195
+ )),
196
+ original: 'Show Non-Conflicting Changes',
197
+ },
198
+ toggled: ( ctxMergeEditorShowNonConflictingChanges.isEqualTo(true)),
199
+ menu: [
200
+ {
201
+ id: MenuId.EditorTitle,
202
+ when: ctxIsMergeEditor,
203
+ group: '3_merge',
204
+ order: 9,
205
+ },
206
+ ],
207
+ precondition: ctxIsMergeEditor,
208
+ });
209
+ }
210
+ run(accessor) {
211
+ const { activeEditorPane } = accessor.get(IEditorService);
212
+ if (activeEditorPane instanceof MergeEditor) {
213
+ activeEditorPane.toggleShowNonConflictingChanges();
214
+ }
215
+ }
216
+ }
217
+ class ShowHideBase extends Action2 {
218
+ constructor() {
219
+ super({
220
+ id: 'merge.showBase',
221
+ title: {
222
+ value: ( localizeWithPath(
223
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
224
+ 'layout.showBase',
225
+ 'Show Base'
226
+ )),
227
+ original: 'Show Base',
228
+ },
229
+ toggled: ( ctxMergeEditorShowBase.isEqualTo(true)),
230
+ menu: [
231
+ {
232
+ id: MenuId.EditorTitle,
233
+ when: ( ContextKeyExpr.and(ctxIsMergeEditor, ( ctxMergeEditorLayout.isEqualTo('columns')))),
234
+ group: '2_merge',
235
+ order: 9,
236
+ },
237
+ ]
238
+ });
239
+ }
240
+ run(accessor) {
241
+ const { activeEditorPane } = accessor.get(IEditorService);
242
+ if (activeEditorPane instanceof MergeEditor) {
243
+ activeEditorPane.toggleBase();
244
+ }
245
+ }
246
+ }
247
+ class ShowHideTopBase extends Action2 {
248
+ constructor() {
249
+ super({
250
+ id: 'merge.showBaseTop',
251
+ title: {
252
+ value: ( localizeWithPath(
253
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
254
+ 'layout.showBaseTop',
255
+ 'Show Base Top'
256
+ )),
257
+ original: 'Show Base Top',
258
+ },
259
+ toggled: ( ContextKeyExpr.and(ctxMergeEditorShowBase, ctxMergeEditorShowBaseAtTop)),
260
+ menu: [
261
+ {
262
+ id: MenuId.EditorTitle,
263
+ when: ( ContextKeyExpr.and(ctxIsMergeEditor, ( ctxMergeEditorLayout.isEqualTo('mixed')))),
264
+ group: '2_merge',
265
+ order: 10,
266
+ },
267
+ ],
268
+ });
269
+ }
270
+ run(accessor) {
271
+ const { activeEditorPane } = accessor.get(IEditorService);
272
+ if (activeEditorPane instanceof MergeEditor) {
273
+ activeEditorPane.toggleShowBaseTop();
274
+ }
275
+ }
276
+ }
277
+ class ShowHideCenterBase extends Action2 {
278
+ constructor() {
279
+ super({
280
+ id: 'merge.showBaseCenter',
281
+ title: {
282
+ value: ( localizeWithPath(
283
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
284
+ 'layout.showBaseCenter',
285
+ 'Show Base Center'
286
+ )),
287
+ original: 'Show Base Center',
288
+ },
289
+ toggled: ( ContextKeyExpr.and(ctxMergeEditorShowBase, ( ctxMergeEditorShowBaseAtTop.negate()))),
290
+ menu: [
291
+ {
292
+ id: MenuId.EditorTitle,
293
+ when: ( ContextKeyExpr.and(ctxIsMergeEditor, ( ctxMergeEditorLayout.isEqualTo('mixed')))),
294
+ group: '2_merge',
295
+ order: 11,
296
+ },
297
+ ],
298
+ });
299
+ }
300
+ run(accessor) {
301
+ const { activeEditorPane } = accessor.get(IEditorService);
302
+ if (activeEditorPane instanceof MergeEditor) {
303
+ activeEditorPane.toggleShowBaseCenter();
304
+ }
305
+ }
306
+ }
307
+ const mergeEditorCategory = {
308
+ value: ( localizeWithPath(
309
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
310
+ 'mergeEditor',
311
+ 'Merge Editor'
312
+ )),
313
+ original: 'Merge Editor',
314
+ };
315
+ class OpenResultResource extends MergeEditorAction {
316
+ constructor() {
317
+ super({
318
+ id: 'merge.openResult',
319
+ icon: Codicon.goToFile,
320
+ title: {
321
+ value: ( localizeWithPath(
322
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
323
+ 'openfile',
324
+ 'Open File'
325
+ )),
326
+ original: 'Open File',
327
+ },
328
+ category: mergeEditorCategory,
329
+ menu: [{
330
+ id: MenuId.EditorTitle,
331
+ when: ctxIsMergeEditor,
332
+ group: 'navigation',
333
+ order: 1,
334
+ }],
335
+ precondition: ctxIsMergeEditor,
336
+ });
337
+ }
338
+ runWithViewModel(viewModel, accessor) {
339
+ const editorService = accessor.get(IEditorService);
340
+ editorService.openEditor({ resource: viewModel.model.resultTextModel.uri });
341
+ }
342
+ }
343
+ class GoToNextUnhandledConflict extends MergeEditorAction {
344
+ constructor() {
345
+ super({
346
+ id: 'merge.goToNextUnhandledConflict',
347
+ category: mergeEditorCategory,
348
+ title: {
349
+ value: ( localizeWithPath(
350
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
351
+ 'merge.goToNextUnhandledConflict',
352
+ 'Go to Next Unhandled Conflict'
353
+ )),
354
+ original: 'Go to Next Unhandled Conflict',
355
+ },
356
+ icon: Codicon.arrowDown,
357
+ menu: [
358
+ {
359
+ id: MenuId.EditorTitle,
360
+ when: ctxIsMergeEditor,
361
+ group: 'navigation',
362
+ order: 3
363
+ },
364
+ ],
365
+ f1: true,
366
+ precondition: ctxIsMergeEditor,
367
+ });
368
+ }
369
+ runWithViewModel(viewModel) {
370
+ viewModel.model.telemetry.reportNavigationToNextConflict();
371
+ viewModel.goToNextModifiedBaseRange(r => !viewModel.model.isHandled(r).get());
372
+ }
373
+ }
374
+ class GoToPreviousUnhandledConflict extends MergeEditorAction {
375
+ constructor() {
376
+ super({
377
+ id: 'merge.goToPreviousUnhandledConflict',
378
+ category: mergeEditorCategory,
379
+ title: {
380
+ value: ( localizeWithPath(
381
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
382
+ 'merge.goToPreviousUnhandledConflict',
383
+ 'Go to Previous Unhandled Conflict'
384
+ )),
385
+ original: 'Go to Previous Unhandled Conflict',
386
+ },
387
+ icon: Codicon.arrowUp,
388
+ menu: [
389
+ {
390
+ id: MenuId.EditorTitle,
391
+ when: ctxIsMergeEditor,
392
+ group: 'navigation',
393
+ order: 2
394
+ },
395
+ ],
396
+ f1: true,
397
+ precondition: ctxIsMergeEditor,
398
+ });
399
+ }
400
+ runWithViewModel(viewModel) {
401
+ viewModel.model.telemetry.reportNavigationToPreviousConflict();
402
+ viewModel.goToPreviousModifiedBaseRange(r => !viewModel.model.isHandled(r).get());
403
+ }
404
+ }
405
+ class ToggleActiveConflictInput1 extends MergeEditorAction {
406
+ constructor() {
407
+ super({
408
+ id: 'merge.toggleActiveConflictInput1',
409
+ category: mergeEditorCategory,
410
+ title: {
411
+ value: ( localizeWithPath(
412
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
413
+ 'merge.toggleCurrentConflictFromLeft',
414
+ 'Toggle Current Conflict from Left'
415
+ )),
416
+ original: 'Toggle Current Conflict from Left',
417
+ },
418
+ f1: true,
419
+ precondition: ctxIsMergeEditor,
420
+ });
421
+ }
422
+ runWithViewModel(viewModel) {
423
+ viewModel.toggleActiveConflict(1);
424
+ }
425
+ }
426
+ class ToggleActiveConflictInput2 extends MergeEditorAction {
427
+ constructor() {
428
+ super({
429
+ id: 'merge.toggleActiveConflictInput2',
430
+ category: mergeEditorCategory,
431
+ title: {
432
+ value: ( localizeWithPath(
433
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
434
+ 'merge.toggleCurrentConflictFromRight',
435
+ 'Toggle Current Conflict from Right'
436
+ )),
437
+ original: 'Toggle Current Conflict from Right',
438
+ },
439
+ f1: true,
440
+ precondition: ctxIsMergeEditor,
441
+ });
442
+ }
443
+ runWithViewModel(viewModel) {
444
+ viewModel.toggleActiveConflict(2);
445
+ }
446
+ }
447
+ class CompareInput1WithBaseCommand extends MergeEditorAction {
448
+ constructor() {
449
+ super({
450
+ id: 'mergeEditor.compareInput1WithBase',
451
+ category: mergeEditorCategory,
452
+ title: {
453
+ value: ( localizeWithPath(
454
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
455
+ 'mergeEditor.compareInput1WithBase',
456
+ 'Compare Input 1 With Base'
457
+ )),
458
+ original: 'Compare Input 1 With Base',
459
+ },
460
+ shortTitle: ( localizeWithPath(
461
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
462
+ 'mergeEditor.compareWithBase',
463
+ 'Compare With Base'
464
+ )),
465
+ f1: true,
466
+ precondition: ctxIsMergeEditor,
467
+ menu: { id: MenuId.MergeInput1Toolbar }
468
+ });
469
+ }
470
+ runWithViewModel(viewModel, accessor) {
471
+ const editorService = accessor.get(IEditorService);
472
+ mergeEditorCompare(viewModel, editorService, 1);
473
+ }
474
+ }
475
+ class CompareInput2WithBaseCommand extends MergeEditorAction {
476
+ constructor() {
477
+ super({
478
+ id: 'mergeEditor.compareInput2WithBase',
479
+ category: mergeEditorCategory,
480
+ title: {
481
+ value: ( localizeWithPath(
482
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
483
+ 'mergeEditor.compareInput2WithBase',
484
+ 'Compare Input 2 With Base'
485
+ )),
486
+ original: 'Compare Input 2 With Base',
487
+ },
488
+ shortTitle: ( localizeWithPath(
489
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
490
+ 'mergeEditor.compareWithBase',
491
+ 'Compare With Base'
492
+ )),
493
+ f1: true,
494
+ precondition: ctxIsMergeEditor,
495
+ menu: { id: MenuId.MergeInput2Toolbar }
496
+ });
497
+ }
498
+ runWithViewModel(viewModel, accessor) {
499
+ const editorService = accessor.get(IEditorService);
500
+ mergeEditorCompare(viewModel, editorService, 2);
501
+ }
502
+ }
503
+ async function mergeEditorCompare(viewModel, editorService, inputNumber) {
504
+ editorService.openEditor(editorService.activeEditor, { pinned: true });
505
+ const model = viewModel.model;
506
+ const base = model.base;
507
+ const input = inputNumber === 1 ? viewModel.inputCodeEditorView1.editor : viewModel.inputCodeEditorView2.editor;
508
+ const lineNumber = input.getPosition().lineNumber;
509
+ await editorService.openEditor({
510
+ original: { resource: base.uri },
511
+ modified: { resource: input.getModel().uri },
512
+ options: {
513
+ selection: {
514
+ startLineNumber: lineNumber,
515
+ startColumn: 1,
516
+ },
517
+ revealIfOpened: true,
518
+ revealIfVisible: true,
519
+ }
520
+ });
521
+ }
522
+ class OpenBaseFile extends MergeEditorAction {
523
+ constructor() {
524
+ super({
525
+ id: 'merge.openBaseEditor',
526
+ category: mergeEditorCategory,
527
+ title: {
528
+ value: ( localizeWithPath(
529
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
530
+ 'merge.openBaseEditor',
531
+ 'Open Base File'
532
+ )),
533
+ original: 'Open Base File',
534
+ },
535
+ f1: true,
536
+ precondition: ctxIsMergeEditor,
537
+ });
538
+ }
539
+ runWithViewModel(viewModel, accessor) {
540
+ const openerService = accessor.get(IOpenerService);
541
+ openerService.open(viewModel.model.base.uri);
542
+ }
543
+ }
544
+ class AcceptAllInput1 extends MergeEditorAction {
545
+ constructor() {
546
+ super({
547
+ id: 'merge.acceptAllInput1',
548
+ category: mergeEditorCategory,
549
+ title: {
550
+ value: ( localizeWithPath(
551
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
552
+ 'merge.acceptAllInput1',
553
+ 'Accept All Changes from Left'
554
+ )),
555
+ original: 'Accept All Changes from Left',
556
+ },
557
+ f1: true,
558
+ precondition: ctxIsMergeEditor,
559
+ menu: [
560
+ { id: MenuId.MergeInput1Toolbar, }
561
+ ]
562
+ });
563
+ }
564
+ runWithViewModel(viewModel) {
565
+ viewModel.acceptAll(1);
566
+ }
567
+ }
568
+ class AcceptAllInput2 extends MergeEditorAction {
569
+ constructor() {
570
+ super({
571
+ id: 'merge.acceptAllInput2',
572
+ category: mergeEditorCategory,
573
+ title: {
574
+ value: ( localizeWithPath(
575
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
576
+ 'merge.acceptAllInput2',
577
+ 'Accept All Changes from Right'
578
+ )),
579
+ original: 'Accept All Changes from Right',
580
+ },
581
+ f1: true,
582
+ precondition: ctxIsMergeEditor,
583
+ menu: [
584
+ { id: MenuId.MergeInput2Toolbar, }
585
+ ]
586
+ });
587
+ }
588
+ runWithViewModel(viewModel) {
589
+ viewModel.acceptAll(2);
590
+ }
591
+ }
592
+ class ResetToBaseAndAutoMergeCommand extends MergeEditorAction {
593
+ constructor() {
594
+ super({
595
+ id: 'mergeEditor.resetResultToBaseAndAutoMerge',
596
+ category: mergeEditorCategory,
597
+ title: {
598
+ value: ( localizeWithPath(
599
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
600
+ 'mergeEditor.resetResultToBaseAndAutoMerge',
601
+ 'Reset Result'
602
+ )),
603
+ original: 'Reset Result',
604
+ },
605
+ shortTitle: ( localizeWithPath(
606
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
607
+ 'mergeEditor.resetResultToBaseAndAutoMerge.short',
608
+ 'Reset'
609
+ )),
610
+ f1: true,
611
+ precondition: ctxIsMergeEditor,
612
+ menu: { id: MenuId.MergeInputResultToolbar }
613
+ });
614
+ }
615
+ runWithViewModel(viewModel, accessor) {
616
+ viewModel.model.reset();
617
+ }
618
+ }
619
+ class ResetCloseWithConflictsChoice extends Action2 {
620
+ constructor() {
621
+ super({
622
+ id: 'mergeEditor.resetCloseWithConflictsChoice',
623
+ category: mergeEditorCategory,
624
+ title: {
625
+ value: ( localizeWithPath(
626
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
627
+ 'mergeEditor.resetChoice',
628
+ 'Reset Choice for \'Close with Conflicts\''
629
+ )),
630
+ original: 'Reset Choice for \'Close with Conflicts\'',
631
+ },
632
+ f1: true,
633
+ });
634
+ }
635
+ run(accessor) {
636
+ accessor.get(IStorageService).remove(StorageCloseWithConflicts, 0 );
637
+ }
638
+ }
639
+ class AcceptMerge extends MergeEditorAction2 {
640
+ constructor() {
641
+ super({
642
+ id: 'mergeEditor.acceptMerge',
643
+ category: mergeEditorCategory,
644
+ title: {
645
+ value: ( localizeWithPath(
646
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
647
+ 'mergeEditor.acceptMerge',
648
+ 'Complete Merge'
649
+ )),
650
+ original: 'Complete Merge',
651
+ },
652
+ f1: false,
653
+ precondition: ctxIsMergeEditor
654
+ });
655
+ }
656
+ async runWithMergeEditor({ inputModel, editorIdentifier, viewModel }, accessor) {
657
+ const dialogService = accessor.get(IDialogService);
658
+ const editorService = accessor.get(IEditorService);
659
+ if (viewModel.model.unhandledConflictsCount.get() > 0) {
660
+ const { confirmed } = await dialogService.confirm({
661
+ message: ( localizeWithPath(
662
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
663
+ 'mergeEditor.acceptMerge.unhandledConflicts.message',
664
+ "Do you want to complete the merge of {0}?",
665
+ basename(inputModel.resultUri)
666
+ )),
667
+ detail: ( localizeWithPath(
668
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
669
+ 'mergeEditor.acceptMerge.unhandledConflicts.detail',
670
+ "The file contains unhandled conflicts."
671
+ )),
672
+ primaryButton: ( localizeWithPath(
673
+ 'vs/workbench/contrib/mergeEditor/browser/commands/commands',
674
+ { key: 'mergeEditor.acceptMerge.unhandledConflicts.accept', comment: ['&& denotes a mnemonic'] },
675
+ "&&Complete with Conflicts"
676
+ ))
677
+ });
678
+ if (!confirmed) {
679
+ return {
680
+ successful: false
681
+ };
682
+ }
683
+ }
684
+ await inputModel.accept();
685
+ await editorService.closeEditor(editorIdentifier);
686
+ return {
687
+ successful: true
688
+ };
689
+ }
690
+ }
691
+
692
+ export { AcceptAllInput1, AcceptAllInput2, AcceptMerge, CompareInput1WithBaseCommand, CompareInput2WithBaseCommand, GoToNextUnhandledConflict, GoToPreviousUnhandledConflict, OpenBaseFile, OpenMergeEditor, OpenResultResource, ResetCloseWithConflictsChoice, ResetToBaseAndAutoMergeCommand, SetColumnLayout, SetMixedLayout, ShowHideBase, ShowHideCenterBase, ShowHideTopBase, ShowNonConflictingChanges, ToggleActiveConflictInput1, ToggleActiveConflictInput2 };