@codingame/monaco-vscode-explorer-service-override 8.0.4 → 9.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-explorer-service-override",
3
- "version": "8.0.4",
3
+ "version": "9.0.2",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -26,6 +26,6 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "vscode": "npm:@codingame/monaco-vscode-api@8.0.4"
29
+ "vscode": "npm:@codingame/monaco-vscode-api@9.0.2"
30
30
  }
31
31
  }
@@ -125,6 +125,7 @@ let ExplorerService = class ExplorerService {
125
125
  return {
126
126
  sortOrder: this.config.sortOrder,
127
127
  lexicographicOptions: this.config.sortOrderLexicographicOptions,
128
+ reverse: this.config.sortOrderReverse,
128
129
  };
129
130
  }
130
131
  registerView(contextProvider) {
@@ -399,6 +400,10 @@ let ExplorerService = class ExplorerService {
399
400
  if (this.config.sortOrderLexicographicOptions !== configLexicographicOptions) {
400
401
  shouldRefresh = shouldRefresh || this.config.sortOrderLexicographicOptions !== undefined;
401
402
  }
403
+ const sortOrderReverse = configuration?.explorer?.sortOrderReverse || false;
404
+ if (this.config.sortOrderReverse !== sortOrderReverse) {
405
+ shouldRefresh = shouldRefresh || this.config.sortOrderReverse !== undefined;
406
+ }
402
407
  this.config = configuration.explorer;
403
408
  if (shouldRefresh) {
404
409
  await this.refresh();
@@ -4,7 +4,7 @@ import { acceptLocalChangesCommand, revertLocalChangesCommand, CONFLICT_RESOLUTI
4
4
  import { registerAction2, MenuRegistry, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
5
5
  import { KeyCode, KeyMod } from 'vscode/vscode/vs/base/common/keyCodes';
6
6
  import { openWindowCommand, newWindowCommand } from './fileCommands.js';
7
- import { COPY_PATH_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, REVEAL_IN_EXPLORER_COMMAND_ID, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, SAVE_ALL_IN_GROUP_COMMAND_ID, SAVE_FILES_COMMAND_ID, REVERT_FILE_COMMAND_ID, COMPARE_WITH_SAVED_COMMAND_ID, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, OPEN_TO_SIDE_COMMAND_ID, OpenEditorsDirtyEditorContext, OpenEditorsGroupContext, OpenEditorsReadonlyEditorContext, COMPARE_RESOURCE_COMMAND_ID, ResourceSelectedForCompareContext, SELECT_FOR_COMPARE_COMMAND_ID, COMPARE_SELECTED_COMMAND_ID, OpenEditorsSelectedFileOrUntitledContext, OPEN_WITH_EXPLORER_COMMAND_ID, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, SAVE_ALL_COMMAND_ID } from 'vscode/vscode/vs/workbench/contrib/files/browser/fileConstants';
7
+ import { COPY_PATH_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, REVEAL_IN_EXPLORER_COMMAND_ID, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, SAVE_ALL_IN_GROUP_COMMAND_ID, SAVE_FILES_COMMAND_ID, REVERT_FILE_COMMAND_ID, COMPARE_WITH_SAVED_COMMAND_ID, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, OPEN_TO_SIDE_COMMAND_ID, OpenEditorsGroupContext, OpenEditorsDirtyEditorContext, OpenEditorsReadonlyEditorContext, COMPARE_RESOURCE_COMMAND_ID, ResourceSelectedForCompareContext, SELECT_FOR_COMPARE_COMMAND_ID, COMPARE_SELECTED_COMMAND_ID, OpenEditorsSelectedFileOrUntitledContext, OPEN_WITH_EXPLORER_COMMAND_ID, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, SAVE_ALL_COMMAND_ID } from 'vscode/vscode/vs/workbench/contrib/files/browser/fileConstants';
8
8
  import { CommandsRegistry } from 'vscode/vscode/vs/platform/commands/common/commands';
9
9
  import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
10
10
  import { KeybindingsRegistry, KeybindingWeight } from 'vscode/vscode/vs/platform/keybinding/common/keybindingsRegistry';
@@ -143,15 +143,15 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
143
143
  });
144
144
  const copyPathCommand = {
145
145
  id: COPY_PATH_COMMAND_ID,
146
- title: ( localize(2152, "Copy Path"))
146
+ title: ( localize(2153, "Copy Path"))
147
147
  };
148
148
  const copyRelativePathCommand = {
149
149
  id: COPY_RELATIVE_PATH_COMMAND_ID,
150
- title: ( localize(2153, "Copy Relative Path"))
150
+ title: ( localize(2154, "Copy Relative Path"))
151
151
  };
152
152
  appendEditorTitleContextMenuItem(COPY_PATH_COMMAND_ID, copyPathCommand.title, ResourceContextKey.IsFileSystemResource, '1_cutcopypaste', true);
153
153
  appendEditorTitleContextMenuItem(COPY_RELATIVE_PATH_COMMAND_ID, copyRelativePathCommand.title, ResourceContextKey.IsFileSystemResource, '1_cutcopypaste', true);
154
- appendEditorTitleContextMenuItem(REVEAL_IN_EXPLORER_COMMAND_ID, ( localize(2154, "Reveal in Explorer View")), ResourceContextKey.IsFileSystemResource, '2_files', false, 1);
154
+ appendEditorTitleContextMenuItem(REVEAL_IN_EXPLORER_COMMAND_ID, ( localize(2155, "Reveal in Explorer View")), ResourceContextKey.IsFileSystemResource, '2_files', false, 1);
155
155
  function appendEditorTitleContextMenuItem(id, title, when, group, supportsMultiSelect, order) {
156
156
  const precondition = supportsMultiSelect !== true ? ( (MultipleEditorsSelectedInGroupContext.negate())) : undefined;
157
157
  MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, {
@@ -161,8 +161,8 @@ function appendEditorTitleContextMenuItem(id, title, when, group, supportsMultiS
161
161
  order,
162
162
  });
163
163
  }
164
- appendSaveConflictEditorTitleAction('workbench.files.action.acceptLocalChanges', ( localize(2155, "Use your changes and overwrite file contents")), Codicon.check, -10, acceptLocalChangesCommand);
165
- appendSaveConflictEditorTitleAction('workbench.files.action.revertLocalChanges', ( localize(2156, "Discard your changes and revert to file contents")), Codicon.discard, -9, revertLocalChangesCommand);
164
+ appendSaveConflictEditorTitleAction('workbench.files.action.acceptLocalChanges', ( localize(2156, "Use your changes and overwrite file contents")), Codicon.check, -10, acceptLocalChangesCommand);
165
+ appendSaveConflictEditorTitleAction('workbench.files.action.revertLocalChanges', ( localize(2157, "Discard your changes and revert to file contents")), Codicon.discard, -9, revertLocalChangesCommand);
166
166
  function appendSaveConflictEditorTitleAction(id, title, icon, order, command) {
167
167
  CommandsRegistry.registerCommand(id, command);
168
168
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
@@ -185,12 +185,12 @@ function appendToCommandPalette({ id, title, category, metadata }, when) {
185
185
  }
186
186
  appendToCommandPalette({
187
187
  id: COPY_PATH_COMMAND_ID,
188
- title: ( localize2(2157, "Copy Path of Active File")),
188
+ title: ( localize2(2158, "Copy Path of Active File")),
189
189
  category: Categories.File
190
190
  });
191
191
  appendToCommandPalette({
192
192
  id: COPY_RELATIVE_PATH_COMMAND_ID,
193
- title: ( localize2(2158, "Copy Relative Path of Active File")),
193
+ title: ( localize2(2159, "Copy Relative Path of Active File")),
194
194
  category: Categories.File
195
195
  });
196
196
  appendToCommandPalette({
@@ -205,26 +205,26 @@ appendToCommandPalette({
205
205
  });
206
206
  appendToCommandPalette({
207
207
  id: SAVE_ALL_IN_GROUP_COMMAND_ID,
208
- title: ( localize2(2159, "Save All in Group")),
208
+ title: ( localize2(2160, "Save All in Group")),
209
209
  category: Categories.File
210
210
  });
211
211
  appendToCommandPalette({
212
212
  id: SAVE_FILES_COMMAND_ID,
213
- title: ( localize2(2160, "Save All Files")),
213
+ title: ( localize2(2161, "Save All Files")),
214
214
  category: Categories.File
215
215
  });
216
216
  appendToCommandPalette({
217
217
  id: REVERT_FILE_COMMAND_ID,
218
- title: ( localize2(2161, "Revert File")),
218
+ title: ( localize2(2162, "Revert File")),
219
219
  category: Categories.File
220
220
  });
221
221
  appendToCommandPalette({
222
222
  id: COMPARE_WITH_SAVED_COMMAND_ID,
223
- title: ( localize2(2162, "Compare Active File with Saved")),
223
+ title: ( localize2(2163, "Compare Active File with Saved")),
224
224
  category: Categories.File,
225
225
  metadata: {
226
226
  description: ( localize2(
227
- 2163,
227
+ 2164,
228
228
  "Opens a new diff editor to compare the active file with the version on disk."
229
229
  ))
230
230
  }
@@ -243,7 +243,7 @@ appendToCommandPalette({
243
243
  id: NEW_FOLDER_COMMAND_ID,
244
244
  title: NEW_FOLDER_LABEL,
245
245
  category: Categories.File,
246
- metadata: { description: ( localize2(2164, "Create a new folder or directory")) }
246
+ metadata: { description: ( localize2(2165, "Create a new folder or directory")) }
247
247
  }, ( (WorkspaceFolderCountContext.notEqualsTo('0'))));
248
248
  appendToCommandPalette({
249
249
  id: NEW_UNTITLED_FILE_COMMAND_ID,
@@ -256,7 +256,7 @@ const isFileOrUntitledResourceContextKey = ( (ContextKeyExpr.or(
256
256
  )));
257
257
  const openToSideCommand = {
258
258
  id: OPEN_TO_SIDE_COMMAND_ID,
259
- title: ( localize(2165, "Open to the Side"))
259
+ title: ( localize(2166, "Open to the Side"))
260
260
  };
261
261
  MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
262
262
  group: 'navigation',
@@ -269,9 +269,11 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
269
269
  order: 10,
270
270
  command: {
271
271
  id: REOPEN_WITH_COMMAND_ID,
272
- title: ( localize(2166, "Reopen Editor With..."))
272
+ title: ( localize(2167, "Reopen Editor With..."))
273
273
  },
274
- when: ActiveEditorAvailableEditorIdsContext
274
+ when: ( (ContextKeyExpr.and(
275
+ ActiveEditorAvailableEditorIdsContext,
276
+ (OpenEditorsGroupContext.toNegated()))))
275
277
  });
276
278
  MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
277
279
  group: '1_cutcopypaste',
@@ -305,7 +307,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
305
307
  order: 20,
306
308
  command: {
307
309
  id: REVERT_FILE_COMMAND_ID,
308
- title: ( localize(2161, "Revert File")),
310
+ title: ( localize(2162, "Revert File")),
309
311
  precondition: OpenEditorsDirtyEditorContext
310
312
  },
311
313
  when: ( (ContextKeyExpr.and(
@@ -319,7 +321,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
319
321
  order: 30,
320
322
  command: {
321
323
  id: SAVE_ALL_IN_GROUP_COMMAND_ID,
322
- title: ( localize(2167, "Save All")),
324
+ title: ( localize(2168, "Save All")),
323
325
  precondition: DirtyWorkingCopiesContext
324
326
  },
325
327
  when: OpenEditorsGroupContext
@@ -329,7 +331,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
329
331
  order: 10,
330
332
  command: {
331
333
  id: COMPARE_WITH_SAVED_COMMAND_ID,
332
- title: ( localize(2168, "Compare with Saved")),
334
+ title: ( localize(2169, "Compare with Saved")),
333
335
  precondition: OpenEditorsDirtyEditorContext
334
336
  },
335
337
  when: ( (ContextKeyExpr.and(
@@ -340,7 +342,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
340
342
  });
341
343
  const compareResourceCommand = {
342
344
  id: COMPARE_RESOURCE_COMMAND_ID,
343
- title: ( localize(2169, "Compare with Selected"))
345
+ title: ( localize(2170, "Compare with Selected"))
344
346
  };
345
347
  MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
346
348
  group: '3_compare',
@@ -355,7 +357,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
355
357
  });
356
358
  const selectForCompareCommand = {
357
359
  id: SELECT_FOR_COMPARE_COMMAND_ID,
358
- title: ( localize(2170, "Select for Compare"))
360
+ title: ( localize(2171, "Select for Compare"))
359
361
  };
360
362
  MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
361
363
  group: '3_compare',
@@ -369,7 +371,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
369
371
  });
370
372
  const compareSelectedCommand = {
371
373
  id: COMPARE_SELECTED_COMMAND_ID,
372
- title: ( localize(2171, "Compare Selected"))
374
+ title: ( localize(2172, "Compare Selected"))
373
375
  };
374
376
  MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
375
377
  group: '3_compare',
@@ -396,7 +398,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
396
398
  order: 10,
397
399
  command: {
398
400
  id: CLOSE_EDITOR_COMMAND_ID,
399
- title: ( localize(2172, "Close"))
401
+ title: ( localize(2173, "Close"))
400
402
  },
401
403
  when: ( (OpenEditorsGroupContext.toNegated()))
402
404
  });
@@ -405,7 +407,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
405
407
  order: 20,
406
408
  command: {
407
409
  id: CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID,
408
- title: ( localize(2173, "Close Others"))
410
+ title: ( localize(2174, "Close Others"))
409
411
  },
410
412
  when: ( (OpenEditorsGroupContext.toNegated()))
411
413
  });
@@ -414,7 +416,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
414
416
  order: 30,
415
417
  command: {
416
418
  id: CLOSE_SAVED_EDITORS_COMMAND_ID,
417
- title: ( localize(2174, "Close Saved"))
419
+ title: ( localize(2175, "Close Saved"))
418
420
  }
419
421
  });
420
422
  MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
@@ -422,7 +424,7 @@ MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {
422
424
  order: 40,
423
425
  command: {
424
426
  id: CLOSE_EDITORS_IN_GROUP_COMMAND_ID,
425
- title: ( localize(2175, "Close All"))
427
+ title: ( localize(2176, "Close All"))
426
428
  }
427
429
  });
428
430
  MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
@@ -459,7 +461,7 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
459
461
  order: 20,
460
462
  command: {
461
463
  id: OPEN_WITH_EXPLORER_COMMAND_ID,
462
- title: ( localize(2176, "Open With...")),
464
+ title: ( localize(2177, "Open With...")),
463
465
  },
464
466
  when: ( (ContextKeyExpr.and(
465
467
  (ExplorerFolderContext.toNegated()),
@@ -502,7 +504,7 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
502
504
  order: 8,
503
505
  command: {
504
506
  id: CUT_FILE_ID,
505
- title: ( localize(2177, "Cut"))
507
+ title: ( localize(2178, "Cut"))
506
508
  },
507
509
  when: ( (ContextKeyExpr.and(
508
510
  (ExplorerRootContext.toNegated()),
@@ -622,7 +624,7 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
622
624
  },
623
625
  alt: {
624
626
  id: DELETE_FILE_ID,
625
- title: ( localize(2178, "Delete Permanently")),
627
+ title: ( localize(2179, "Delete Permanently")),
626
628
  precondition: ExplorerResourceNotReadonlyContext
627
629
  },
628
630
  when: ( (ContextKeyExpr.and(
@@ -635,7 +637,7 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
635
637
  order: 20,
636
638
  command: {
637
639
  id: DELETE_FILE_ID,
638
- title: ( localize(2178, "Delete Permanently")),
640
+ title: ( localize(2179, "Delete Permanently")),
639
641
  precondition: ExplorerResourceNotReadonlyContext
640
642
  },
641
643
  when: ( (ContextKeyExpr.and(
@@ -644,14 +646,14 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
644
646
  )))
645
647
  });
646
648
  for (const menuId of [MenuId.EmptyEditorGroupContext, MenuId.EditorTabsBarContext]) {
647
- MenuRegistry.appendMenuItem(menuId, { command: { id: NEW_UNTITLED_FILE_COMMAND_ID, title: ( localize(2179, "New Text File")) }, group: '1_file', order: 10 });
648
- MenuRegistry.appendMenuItem(menuId, { command: { id: 'workbench.action.quickOpen', title: ( localize(2180, "Open File...")) }, group: '1_file', order: 20 });
649
+ MenuRegistry.appendMenuItem(menuId, { command: { id: NEW_UNTITLED_FILE_COMMAND_ID, title: ( localize(2180, "New Text File")) }, group: '1_file', order: 10 });
650
+ MenuRegistry.appendMenuItem(menuId, { command: { id: 'workbench.action.quickOpen', title: ( localize(2181, "Open File...")) }, group: '1_file', order: 20 });
649
651
  }
650
652
  MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
651
653
  group: '1_new',
652
654
  command: {
653
655
  id: NEW_UNTITLED_FILE_COMMAND_ID,
654
- title: ( localize(2181, "&&New Text File"))
656
+ title: ( localize(2182, "&&New Text File"))
655
657
  },
656
658
  order: 1
657
659
  });
@@ -659,7 +661,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
659
661
  group: '4_save',
660
662
  command: {
661
663
  id: SAVE_FILE_COMMAND_ID,
662
- title: ( localize(2182, "&&Save")),
664
+ title: ( localize(2183, "&&Save")),
663
665
  precondition: ( (ContextKeyExpr.or(
664
666
  ActiveEditorContext,
665
667
  (ContextKeyExpr.and(FoldersViewVisibleContext, SidebarFocusContext))
@@ -671,7 +673,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
671
673
  group: '4_save',
672
674
  command: {
673
675
  id: SAVE_FILE_AS_COMMAND_ID,
674
- title: ( localize(2183, "Save &&As...")),
676
+ title: ( localize(2184, "Save &&As...")),
675
677
  precondition: ( (ContextKeyExpr.or(
676
678
  ActiveEditorContext,
677
679
  (ContextKeyExpr.and(FoldersViewVisibleContext, SidebarFocusContext))
@@ -683,7 +685,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
683
685
  group: '4_save',
684
686
  command: {
685
687
  id: SAVE_ALL_COMMAND_ID,
686
- title: ( localize(2184, "Save A&&ll")),
688
+ title: ( localize(2185, "Save A&&ll")),
687
689
  precondition: DirtyWorkingCopiesContext
688
690
  },
689
691
  order: 3
@@ -692,7 +694,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
692
694
  group: '5_autosave',
693
695
  command: {
694
696
  id: ToggleAutoSaveAction.ID,
695
- title: ( localize(2185, "A&&uto Save")),
697
+ title: ( localize(2186, "A&&uto Save")),
696
698
  toggled: ( (ContextKeyExpr.notEquals('config.files.autoSave', 'off')))
697
699
  },
698
700
  order: 1
@@ -701,7 +703,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
701
703
  group: '6_close',
702
704
  command: {
703
705
  id: REVERT_FILE_COMMAND_ID,
704
- title: ( localize(2186, "Re&&vert File")),
706
+ title: ( localize(2187, "Re&&vert File")),
705
707
  precondition: ( (ContextKeyExpr.or(
706
708
  (ContextKeyExpr.and(ActiveEditorCanRevertContext)),
707
709
  (ContextKeyExpr.and(
@@ -716,7 +718,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
716
718
  group: '6_close',
717
719
  command: {
718
720
  id: CLOSE_EDITOR_COMMAND_ID,
719
- title: ( localize(2187, "&&Close Editor")),
721
+ title: ( localize(2188, "&&Close Editor")),
720
722
  precondition: ( (ContextKeyExpr.or(
721
723
  ActiveEditorContext,
722
724
  (ContextKeyExpr.and(FoldersViewVisibleContext, SidebarFocusContext))
@@ -728,7 +730,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {
728
730
  group: '3_global_nav',
729
731
  command: {
730
732
  id: 'workbench.action.quickOpen',
731
- title: ( localize(2188, "Go to &&File..."))
733
+ title: ( localize(2189, "Go to &&File..."))
732
734
  },
733
735
  order: 1
734
736
  });
@@ -137,7 +137,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
137
137
  const uri = getResourceForCommand(resource, editorService, listService);
138
138
  if (uri && fileService.hasProvider(uri)) {
139
139
  const name = basename(uri);
140
- const editorLabel = ( localize(2150, "{0} (in file) ↔ {1}", name, name));
140
+ const editorLabel = ( localize(2151, "{0} (in file) ↔ {1}", name, name));
141
141
  try {
142
142
  await TextFileContentProvider.open(uri, COMPARE_WITH_SAVED_SCHEMA, editorLabel, editorService, { pinned: true });
143
143
  if (registerEditorListener) {
@@ -175,8 +175,8 @@ CommandsRegistry.registerCommand({
175
175
  const resources = getMultiSelectedResources(resource, accessor.get(IListService), editorService, accessor.get(IEditorGroupsService), accessor.get(IExplorerService));
176
176
  if (resources.length === 2) {
177
177
  return editorService.openEditor({
178
- original: { resource: resources[1] },
179
- modified: { resource: resources[0] },
178
+ original: { resource: resources[0] },
179
+ modified: { resource: resources[1] },
180
180
  options: { pinned: true }
181
181
  });
182
182
  }
@@ -456,7 +456,7 @@ CommandsRegistry.registerCommand({
456
456
  const editorService = accessor.get(IEditorService);
457
457
  const dialogService = accessor.get(IFileDialogService);
458
458
  const fileService = accessor.get(IFileService);
459
- const createFileLocalized = ( localize(2151, "Create File"));
459
+ const createFileLocalized = ( localize(2152, "Create File"));
460
460
  const defaultFileUri = joinPath(await dialogService.defaultFilePath(), args?.fileName ?? 'Untitled.txt');
461
461
  const saveUri = await dialogService.showSaveDialog({ saveLabel: createFileLocalized, title: createFileLocalized, defaultUri: defaultFileUri });
462
462
  if (!saveUri) {
@@ -19,13 +19,13 @@ const configurationRegistry = ( (Registry.as(Extensions.Configuration)));
19
19
  configurationRegistry.registerConfiguration({
20
20
  'id': 'explorer',
21
21
  'order': 10,
22
- 'title': ( localize(2189, "File Explorer")),
22
+ 'title': ( localize(2190, "File Explorer")),
23
23
  'type': 'object',
24
24
  'properties': {
25
25
  'explorer.openEditors.visible': {
26
26
  'type': 'number',
27
27
  'description': ( localize(
28
- 2190,
28
+ 2191,
29
29
  "The initial maximum number of editors shown in the Open Editors pane. Exceeding this limit will show a scroll bar and allow resizing the pane to display more items."
30
30
  )),
31
31
  'default': 9,
@@ -34,7 +34,7 @@ configurationRegistry.registerConfiguration({
34
34
  'explorer.openEditors.minVisible': {
35
35
  'type': 'number',
36
36
  'description': ( localize(
37
- 2191,
37
+ 2192,
38
38
  "The minimum number of editor slots pre-allocated in the Open Editors pane. If set to 0 the Open Editors pane will dynamically resize based on the number of editors."
39
39
  )),
40
40
  'default': 0,
@@ -43,15 +43,15 @@ configurationRegistry.registerConfiguration({
43
43
  'explorer.openEditors.sortOrder': {
44
44
  'type': 'string',
45
45
  'enum': ['editorOrder', 'alphabetical', 'fullPath'],
46
- 'description': ( localize(2192, "Controls the sorting order of editors in the Open Editors pane.")),
46
+ 'description': ( localize(2193, "Controls the sorting order of editors in the Open Editors pane.")),
47
47
  'enumDescriptions': [
48
- ( localize(2193, 'Editors are ordered in the same order editor tabs are shown.')),
48
+ ( localize(2194, 'Editors are ordered in the same order editor tabs are shown.')),
49
49
  ( localize(
50
- 2194,
50
+ 2195,
51
51
  'Editors are ordered alphabetically by tab name inside each editor group.'
52
52
  )),
53
53
  ( localize(
54
- 2195,
54
+ 2196,
55
55
  'Editors are ordered alphabetically by full path inside each editor group.'
56
56
  ))
57
57
  ],
@@ -62,19 +62,19 @@ configurationRegistry.registerConfiguration({
62
62
  'enum': [true, false, 'focusNoScroll'],
63
63
  'default': true,
64
64
  'enumDescriptions': [
65
- ( localize(2196, 'Files will be revealed and selected.')),
66
- ( localize(2197, 'Files will not be revealed and selected.')),
67
- ( localize(2198, 'Files will not be scrolled into view, but will still be focused.')),
65
+ ( localize(2197, 'Files will be revealed and selected.')),
66
+ ( localize(2198, 'Files will not be revealed and selected.')),
67
+ ( localize(2199, 'Files will not be scrolled into view, but will still be focused.')),
68
68
  ],
69
69
  'description': ( localize(
70
- 2199,
70
+ 2200,
71
71
  "Controls whether the Explorer should automatically reveal and select files when opening them."
72
72
  ))
73
73
  },
74
74
  'explorer.autoRevealExclude': {
75
75
  'type': 'object',
76
76
  'markdownDescription': ( localize(
77
- 2200,
77
+ 2201,
78
78
  "Configure paths or [glob patterns](https://aka.ms/vscode-glob-patterns) for excluding files and folders from being revealed and selected in the Explorer when they are opened. Glob patterns are always evaluated relative to the path of the workspace folder unless they are absolute paths."
79
79
  )),
80
80
  'default': { '**/node_modules': true, '**/bower_components': true },
@@ -83,7 +83,7 @@ configurationRegistry.registerConfiguration({
83
83
  {
84
84
  'type': 'boolean',
85
85
  'description': ( localize(
86
- 2201,
86
+ 2202,
87
87
  "The glob pattern to match file paths against. Set to true or false to enable or disable the pattern."
88
88
  )),
89
89
  },
@@ -95,7 +95,7 @@ configurationRegistry.registerConfiguration({
95
95
  pattern: '\\w*\\$\\(basename\\)\\w*',
96
96
  default: '$(basename).ext',
97
97
  description: ( localize(
98
- 2202,
98
+ 2203,
99
99
  'Additional check on the siblings of a matching file. Use $(basename) as variable for the matching file name.'
100
100
  ))
101
101
  }
@@ -107,7 +107,7 @@ configurationRegistry.registerConfiguration({
107
107
  'explorer.enableDragAndDrop': {
108
108
  'type': 'boolean',
109
109
  'description': ( localize(
110
- 2203,
110
+ 2204,
111
111
  "Controls whether the Explorer should allow to move files and folders via drag and drop. This setting only effects drag and drop from inside the Explorer."
112
112
  )),
113
113
  'default': true
@@ -115,7 +115,7 @@ configurationRegistry.registerConfiguration({
115
115
  'explorer.confirmDragAndDrop': {
116
116
  'type': 'boolean',
117
117
  'description': ( localize(
118
- 2204,
118
+ 2205,
119
119
  "Controls whether the Explorer should ask for confirmation to move files and folders via drag and drop."
120
120
  )),
121
121
  'default': true
@@ -123,7 +123,7 @@ configurationRegistry.registerConfiguration({
123
123
  'explorer.confirmPasteNative': {
124
124
  'type': 'boolean',
125
125
  'description': ( localize(
126
- 2205,
126
+ 2206,
127
127
  "Controls whether the Explorer should ask for confirmation when pasting native files and folders."
128
128
  )),
129
129
  'default': true
@@ -131,7 +131,7 @@ configurationRegistry.registerConfiguration({
131
131
  'explorer.confirmDelete': {
132
132
  'type': 'boolean',
133
133
  'description': ( localize(
134
- 2206,
134
+ 2207,
135
135
  "Controls whether the Explorer should ask for confirmation when deleting a file via the trash."
136
136
  )),
137
137
  'default': true
@@ -139,7 +139,7 @@ configurationRegistry.registerConfiguration({
139
139
  'explorer.enableUndo': {
140
140
  'type': 'boolean',
141
141
  'description': ( localize(
142
- 2207,
142
+ 2208,
143
143
  "Controls whether the Explorer should support undoing file and folder operations."
144
144
  )),
145
145
  'default': true
@@ -148,20 +148,20 @@ configurationRegistry.registerConfiguration({
148
148
  'type': 'string',
149
149
  'enum': [UndoConfirmLevel.Verbose, UndoConfirmLevel.Default, UndoConfirmLevel.Light],
150
150
  'description': ( localize(
151
- 2208,
151
+ 2209,
152
152
  "Controls whether the Explorer should ask for confirmation when undoing."
153
153
  )),
154
154
  'default': UndoConfirmLevel.Default,
155
155
  'enumDescriptions': [
156
- ( localize(2209, 'Explorer will prompt before all undo operations.')),
157
- ( localize(2210, 'Explorer will prompt before destructive undo operations.')),
158
- ( localize(2211, 'Explorer will not prompt before undo operations when focused.')),
156
+ ( localize(2210, 'Explorer will prompt before all undo operations.')),
157
+ ( localize(2211, 'Explorer will prompt before destructive undo operations.')),
158
+ ( localize(2212, 'Explorer will not prompt before undo operations when focused.')),
159
159
  ],
160
160
  },
161
161
  'explorer.expandSingleFolderWorkspaces': {
162
162
  'type': 'boolean',
163
163
  'description': ( localize(
164
- 2212,
164
+ 2213,
165
165
  "Controls whether the Explorer should expand multi-root workspaces containing only one folder during initialization"
166
166
  )),
167
167
  'default': true
@@ -172,32 +172,32 @@ configurationRegistry.registerConfiguration({
172
172
  'default': SortOrder.Default,
173
173
  'enumDescriptions': [
174
174
  ( localize(
175
- 2213,
175
+ 2214,
176
176
  'Files and folders are sorted by their names. Folders are displayed before files.'
177
177
  )),
178
178
  ( localize(
179
- 2214,
179
+ 2215,
180
180
  'Files and folders are sorted by their names. Files are interwoven with folders.'
181
181
  )),
182
182
  ( localize(
183
- 2215,
183
+ 2216,
184
184
  'Files and folders are sorted by their names. Files are displayed before folders.'
185
185
  )),
186
186
  ( localize(
187
- 2216,
187
+ 2217,
188
188
  'Files and folders are grouped by extension type then sorted by their names. Folders are displayed before files.'
189
189
  )),
190
190
  ( localize(
191
- 2217,
191
+ 2218,
192
192
  'Files and folders are sorted by last modified date in descending order. Folders are displayed before files.'
193
193
  )),
194
194
  ( localize(
195
- 2218,
195
+ 2219,
196
196
  'Files and folders are sorted by their names. Folders are displayed before files. Files with nested children are displayed before other files.'
197
197
  ))
198
198
  ],
199
199
  'markdownDescription': ( localize(
200
- 2219,
200
+ 2220,
201
201
  "Controls the property-based sorting of files and folders in the Explorer. When `#explorer.fileNesting.enabled#` is enabled, also controls sorting of nested files."
202
202
  ))
203
203
  },
@@ -206,24 +206,32 @@ configurationRegistry.registerConfiguration({
206
206
  'enum': [LexicographicOptions.Default, LexicographicOptions.Upper, LexicographicOptions.Lower, LexicographicOptions.Unicode],
207
207
  'default': LexicographicOptions.Default,
208
208
  'enumDescriptions': [
209
- ( localize(2220, 'Uppercase and lowercase names are mixed together.')),
210
- ( localize(2221, 'Uppercase names are grouped together before lowercase names.')),
211
- ( localize(2222, 'Lowercase names are grouped together before uppercase names.')),
212
- ( localize(2223, 'Names are sorted in Unicode order.'))
209
+ ( localize(2221, 'Uppercase and lowercase names are mixed together.')),
210
+ ( localize(2222, 'Uppercase names are grouped together before lowercase names.')),
211
+ ( localize(2223, 'Lowercase names are grouped together before uppercase names.')),
212
+ ( localize(2224, 'Names are sorted in Unicode order.'))
213
213
  ],
214
214
  'description': ( localize(
215
- 2224,
215
+ 2225,
216
216
  "Controls the lexicographic sorting of file and folder names in the Explorer."
217
217
  ))
218
218
  },
219
+ 'explorer.sortOrderReverse': {
220
+ 'type': 'boolean',
221
+ 'description': ( localize(
222
+ 2226,
223
+ "Controls whether the file and folder sort order, should be reversed."
224
+ )),
225
+ 'default': false,
226
+ },
219
227
  'explorer.decorations.colors': {
220
228
  type: 'boolean',
221
- description: ( localize(2225, "Controls whether file decorations should use colors.")),
229
+ description: ( localize(2227, "Controls whether file decorations should use colors.")),
222
230
  default: true
223
231
  },
224
232
  'explorer.decorations.badges': {
225
233
  type: 'boolean',
226
- description: ( localize(2226, "Controls whether file decorations should use badges.")),
234
+ description: ( localize(2228, "Controls whether file decorations should use badges.")),
227
235
  default: true
228
236
  },
229
237
  'explorer.incrementalNaming': {
@@ -231,20 +239,20 @@ configurationRegistry.registerConfiguration({
231
239
  enum: ['simple', 'smart', 'disabled'],
232
240
  enumDescriptions: [
233
241
  ( localize(
234
- 2227,
242
+ 2229,
235
243
  "Appends the word \"copy\" at the end of the duplicated name potentially followed by a number."
236
244
  )),
237
245
  ( localize(
238
- 2228,
246
+ 2230,
239
247
  "Adds a number at the end of the duplicated name. If some number is already part of the name, tries to increase that number."
240
248
  )),
241
249
  ( localize(
242
- 2229,
250
+ 2231,
243
251
  "Disables incremental naming. If two files with the same name exist you will be prompted to overwrite the existing file."
244
252
  ))
245
253
  ],
246
254
  description: ( localize(
247
- 2230,
255
+ 2232,
248
256
  "Controls which naming strategy to use when giving a new name to a duplicated Explorer item on paste."
249
257
  )),
250
258
  default: 'simple'
@@ -252,7 +260,7 @@ configurationRegistry.registerConfiguration({
252
260
  'explorer.autoOpenDroppedFile': {
253
261
  'type': 'boolean',
254
262
  'description': ( localize(
255
- 2231,
263
+ 2233,
256
264
  "Controls whether the Explorer should automatically open a file when it is dropped into the explorer"
257
265
  )),
258
266
  'default': true
@@ -260,7 +268,7 @@ configurationRegistry.registerConfiguration({
260
268
  'explorer.compactFolders': {
261
269
  'type': 'boolean',
262
270
  'description': ( localize(
263
- 2232,
271
+ 2234,
264
272
  "Controls whether the Explorer should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element. Useful for Java package structures, for example."
265
273
  )),
266
274
  'default': true
@@ -273,12 +281,12 @@ configurationRegistry.registerConfiguration({
273
281
  'auto'
274
282
  ],
275
283
  'enumDescriptions': [
276
- ( localize(2233, "Use slash as path separation character.")),
277
- ( localize(2234, "Use backslash as path separation character.")),
278
- ( localize(2235, "Uses operating system specific path separation character.")),
284
+ ( localize(2235, "Use slash as path separation character.")),
285
+ ( localize(2236, "Use backslash as path separation character.")),
286
+ ( localize(2237, "Uses operating system specific path separation character.")),
279
287
  ],
280
288
  'description': ( localize(
281
- 2236,
289
+ 2238,
282
290
  "The path separation character used when copying relative file paths."
283
291
  )),
284
292
  'default': 'auto'
@@ -286,7 +294,7 @@ configurationRegistry.registerConfiguration({
286
294
  'explorer.excludeGitIgnore': {
287
295
  type: 'boolean',
288
296
  markdownDescription: ( localize(
289
- 2237,
297
+ 2239,
290
298
  "Controls whether entries in .gitignore should be parsed and excluded from the Explorer. Similar to {0}.",
291
299
  '`#files.exclude#`'
292
300
  )),
@@ -297,7 +305,7 @@ configurationRegistry.registerConfiguration({
297
305
  'type': 'boolean',
298
306
  scope: ConfigurationScope.RESOURCE,
299
307
  'markdownDescription': ( localize(
300
- 2238,
308
+ 2240,
301
309
  "Controls whether file nesting is enabled in the Explorer. File nesting allows for related files in a directory to be visually grouped together under a single parent file."
302
310
  )),
303
311
  'default': false,
@@ -305,7 +313,7 @@ configurationRegistry.registerConfiguration({
305
313
  'explorer.fileNesting.expand': {
306
314
  'type': 'boolean',
307
315
  'markdownDescription': ( localize(
308
- 2239,
316
+ 2241,
309
317
  "Controls whether file nests are automatically expanded. {0} must be set for this to take effect.",
310
318
  '`#explorer.fileNesting.enabled#`'
311
319
  )),
@@ -315,14 +323,14 @@ configurationRegistry.registerConfiguration({
315
323
  'type': 'object',
316
324
  scope: ConfigurationScope.RESOURCE,
317
325
  'markdownDescription': ( localize(
318
- 2240,
326
+ 2242,
319
327
  "Controls nesting of files in the Explorer. {0} must be set for this to take effect. Each __Item__ represents a parent pattern and may contain a single `*` character that matches any string. Each __Value__ represents a comma separated list of the child patterns that should be shown nested under a given parent. Child patterns may contain several special tokens:\n- `${capture}`: Matches the resolved value of the `*` from the parent pattern\n- `${basename}`: Matches the parent file's basename, the `file` in `file.ts`\n- `${extname}`: Matches the parent file's extension, the `ts` in `file.ts`\n- `${dirname}`: Matches the parent file's directory name, the `src` in `src/file.ts`\n- `*`: Matches any string, may only be used once per child pattern",
320
328
  '`#explorer.fileNesting.enabled#`'
321
329
  )),
322
330
  patternProperties: {
323
331
  '^[^*]*\\*?[^*]*$': {
324
332
  markdownDescription: ( localize(
325
- 2241,
333
+ 2243,
326
334
  "Each key pattern may contain a single `*` character which will match any string."
327
335
  )),
328
336
  type: 'string',