@codingame/monaco-vscode-walkthrough-service-override 10.1.3 → 11.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 (19) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +20 -20
  3. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +59 -42
  4. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +3 -3
  5. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
  6. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
  7. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
  8. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +37 -5
  9. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +3 -3
  10. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +17 -3
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +1 -1
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +160 -155
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
  15. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +5 -5
  16. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +3 -3
  17. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-walkthrough-service-override",
3
- "version": "10.1.3",
3
+ "version": "11.0.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -26,7 +26,7 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "vscode": "npm:@codingame/monaco-vscode-api@10.1.3",
29
+ "vscode": "npm:@codingame/monaco-vscode-api@11.0.0",
30
30
  "marked": "~14.0.0"
31
31
  }
32
32
  }
@@ -37,7 +37,7 @@ registerAction2(class extends Action2 {
37
37
  constructor() {
38
38
  super({
39
39
  id: 'workbench.action.openWalkthrough',
40
- title: ( localize2(3199, 'Welcome')),
40
+ title: ( localize2(2603, 'Welcome')),
41
41
  category: Categories.Help,
42
42
  f1: true,
43
43
  menu: {
@@ -46,7 +46,7 @@ registerAction2(class extends Action2 {
46
46
  order: 1,
47
47
  },
48
48
  metadata: {
49
- description: ( localize2(3200, 'Opens a Walkthrough to help you get started in VS Code.'))
49
+ description: ( localize2(2604, 'Opens a Walkthrough to help you get started in VS Code.'))
50
50
  }
51
51
  });
52
52
  }
@@ -124,15 +124,15 @@ registerAction2(class extends Action2 {
124
124
  }
125
125
  });
126
126
  ( (Registry.as(EditorExtensions.EditorFactory))).registerEditorSerializer(GettingStartedInput.ID, GettingStartedInputSerializer);
127
- ( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(3201, "Welcome"))), [
127
+ ( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(2605, "Welcome"))), [
128
128
  ( (new SyncDescriptor(GettingStartedInput)))
129
129
  ]);
130
- const category = ( localize2(3201, "Welcome"));
130
+ const category = ( localize2(2605, "Welcome"));
131
131
  registerAction2(class extends Action2 {
132
132
  constructor() {
133
133
  super({
134
134
  id: 'welcome.goBack',
135
- title: ( localize2(3202, 'Go Back')),
135
+ title: ( localize2(2606, 'Go Back')),
136
136
  category,
137
137
  keybinding: {
138
138
  weight: 100 ,
@@ -168,7 +168,7 @@ registerAction2(class extends Action2 {
168
168
  constructor() {
169
169
  super({
170
170
  id: 'welcome.markStepComplete',
171
- title: ( localize(3203, "Mark Step Complete")),
171
+ title: ( localize(2607, "Mark Step Complete")),
172
172
  category,
173
173
  });
174
174
  }
@@ -184,7 +184,7 @@ registerAction2(class extends Action2 {
184
184
  constructor() {
185
185
  super({
186
186
  id: 'welcome.markStepIncomplete',
187
- title: ( localize(3204, "Mark Step Incomplete")),
187
+ title: ( localize(2608, "Mark Step Incomplete")),
188
188
  category,
189
189
  });
190
190
  }
@@ -200,7 +200,7 @@ registerAction2(class extends Action2 {
200
200
  constructor() {
201
201
  super({
202
202
  id: 'welcome.showAllWalkthroughs',
203
- title: ( localize2(3205, 'Open Walkthrough...')),
203
+ title: ( localize2(2609, 'Open Walkthrough...')),
204
204
  category,
205
205
  f1: true,
206
206
  });
@@ -229,7 +229,7 @@ registerAction2(class extends Action2 {
229
229
  quickPick.canSelectMany = false;
230
230
  quickPick.matchOnDescription = true;
231
231
  quickPick.matchOnDetail = true;
232
- quickPick.placeholder = ( localize(3206, 'Select a walkthrough to open'));
232
+ quickPick.placeholder = ( localize(2610, 'Select a walkthrough to open'));
233
233
  quickPick.items = await this.getQuickPickItems(contextService, gettingStartedService);
234
234
  quickPick.busy = true;
235
235
  disposables.add(quickPick.onDidAccept(() => {
@@ -249,7 +249,7 @@ registerAction2(class extends Action2 {
249
249
  }
250
250
  });
251
251
  const WorkspacePlatform = ( (new RawContextKey('workspacePlatform', undefined, ( localize(
252
- 3207,
252
+ 2611,
253
253
  "The platform of the current workspace, which in remote or serverless contexts may be different from the platform of the UI"
254
254
  )))));
255
255
  let WorkspacePlatformContribution = class WorkspacePlatformContribution {
@@ -301,7 +301,7 @@ configurationRegistry.registerConfiguration({
301
301
  type: 'boolean',
302
302
  default: true,
303
303
  description: ( localize(
304
- 3208,
304
+ 2612,
305
305
  "When enabled, an extension's walkthrough will open upon install of the extension."
306
306
  ))
307
307
  },
@@ -310,25 +310,25 @@ configurationRegistry.registerConfiguration({
310
310
  'type': 'string',
311
311
  'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'terminal'],
312
312
  'enumDescriptions': [
313
- ( localize(3209, "Start without an editor.")),
313
+ ( localize(2613, "Start without an editor.")),
314
314
  ( localize(
315
- 3210,
315
+ 2614,
316
316
  "Open the Welcome page, with content to aid in getting started with VS Code and extensions."
317
317
  )),
318
318
  ( localize(
319
- 3211,
319
+ 2615,
320
320
  "Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise. Note: This is only observed as a global configuration, it will be ignored if set in a workspace or folder configuration."
321
321
  )),
322
322
  ( localize(
323
- 3212,
323
+ 2616,
324
324
  "Open a new untitled text file (only applies when opening an empty window)."
325
325
  )),
326
- ( localize(3213, "Open the Welcome page when opening an empty workbench.")),
327
- ( localize(3214, "Open a new terminal in the editor area.")),
326
+ ( localize(2617, "Open the Welcome page when opening an empty workbench.")),
327
+ ( localize(2618, "Open a new terminal in the editor area.")),
328
328
  ],
329
329
  'default': 'welcomePage',
330
330
  'description': ( localize(
331
- 3215,
331
+ 2619,
332
332
  "Controls which editor is shown at startup, if none are restored from the previous session."
333
333
  ))
334
334
  },
@@ -336,8 +336,8 @@ configurationRegistry.registerConfiguration({
336
336
  scope: 1 ,
337
337
  type: 'boolean',
338
338
  default: false,
339
- deprecationMessage: ( localize(3216, "Deprecated, use the global `workbench.reduceMotion`.")),
340
- description: ( localize(3217, "When enabled, reduce motion in welcome page."))
339
+ deprecationMessage: ( localize(2620, "Deprecated, use the global `workbench.reduceMotion`.")),
340
+ description: ( localize(2621, "When enabled, reduce motion in welcome page."))
341
341
  }
342
342
  }
343
343
  });
@@ -14,7 +14,7 @@ import { splitRecentLabel } from 'vscode/vscode/vs/base/common/labels';
14
14
  import { DisposableStore, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
15
15
  import { parse } from 'vscode/vscode/vs/base/common/marshalling';
16
16
  import { matchesScheme, Schemas } from 'vscode/vscode/vs/base/common/network';
17
- import { isMacintosh } from 'vscode/vscode/vs/base/common/platform';
17
+ import { isMacintosh, OS } from 'vscode/vscode/vs/base/common/platform';
18
18
  import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
19
19
  import { assertIsDefined } from 'vscode/vscode/vs/base/common/types';
20
20
  import { URI } from 'vscode/vscode/vs/base/common/uri';
@@ -42,7 +42,7 @@ import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storag
42
42
  import { firstSessionDateStorageKey } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
43
43
  import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
44
44
  import { getTelemetryLevel } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
45
- import { defaultToggleStyles, defaultButtonStyles } from 'vscode/vscode/vs/platform/theme/browser/defaultStyles';
45
+ import { defaultToggleStyles, defaultButtonStyles, defaultKeybindingLabelStyles } from 'vscode/vscode/vs/platform/theme/browser/defaultStyles';
46
46
  import { UNKNOWN_EMPTY_WINDOW_WORKSPACE } from 'vscode/vscode/vs/platform/workspace/common/workspace';
47
47
  import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
48
48
  import { isRecentFolder, isRecentWorkspace } from 'vscode/vscode/vs/platform/workspaces/common/workspaces';
@@ -66,6 +66,7 @@ import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/h
66
66
  import { IWorkbenchThemeService } from 'vscode/vscode/vs/workbench/services/themes/common/workbenchThemeService.service';
67
67
  import { GettingStartedIndexList } from './gettingStartedList.js';
68
68
  import { AccessibleViewAction } from 'vscode/vscode/vs/workbench/contrib/accessibility/browser/accessibleViewActions';
69
+ import { KeybindingLabel } from 'vscode/vscode/vs/base/browser/ui/keybindingLabel/keybindingLabel';
69
70
 
70
71
  var GettingStartedPage_1;
71
72
  const SLIDE_TRANSITION_TIME_MS = 250;
@@ -121,7 +122,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
121
122
  this.container = $('.gettingStartedContainer', {
122
123
  role: 'document',
123
124
  tabindex: 0,
124
- 'aria-label': ( localize(7565, "Overview of how to get up to speed with your editor."))
125
+ 'aria-label': ( localize(7233, "Overview of how to get up to speed with your editor."))
125
126
  });
126
127
  this.stepMediaComponent = $('.getting-started-media');
127
128
  this.stepMediaComponent.id = generateUuid();
@@ -218,6 +219,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
218
219
  if (!this.editorInput || !this.currentWalkthrough || !this.editorInput.selectedCategory || !this.editorInput.selectedStep) {
219
220
  return;
220
221
  }
222
+ const editorPane = this.groupsService.activeGroup.activeEditorPane;
223
+ if (!(editorPane instanceof GettingStartedPage_1)) {
224
+ return;
225
+ }
221
226
  const restoreData = { folder: UNKNOWN_EMPTY_WINDOW_WORKSPACE.id, category: this.editorInput.selectedCategory, step: this.editorInput.selectedStep };
222
227
  this.storageService.store(restoreWalkthroughsConfigurationKey, JSON.stringify(restoreData), 0 , 1 );
223
228
  }));
@@ -399,7 +404,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
399
404
  label: x.title,
400
405
  detail: x.description,
401
406
  description: x.source,
402
- })))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(7566, "Open Walkthrough...")) });
407
+ })))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(7234, "Open Walkthrough...")) });
403
408
  if (selection) {
404
409
  this.runDispatchCommand('selectCategory', selection.id);
405
410
  }
@@ -584,8 +589,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
584
589
  provideScreenReaderUpdate() {
585
590
  if (this.configurationService.getValue("accessibility.verbosity.walkthrough" )) {
586
591
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
587
- return kbLabel ? ( localize(7567, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
588
- 7568,
592
+ return kbLabel ? ( localize(7235, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
593
+ 7236,
589
594
  "Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
590
595
  ));
591
596
  }
@@ -637,7 +642,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
637
642
  this.categoriesPageScrollbar.dispose();
638
643
  }
639
644
  this.categoriesSlide = $('.gettingStartedSlideCategories.gettingStartedSlide');
640
- const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(7569, "Go Back"))));
645
+ const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(7237, "Go Back"))));
641
646
  this.stepsSlide = $('.gettingStartedSlideDetails.gettingStartedSlide', {}, prevButton);
642
647
  this.stepsContent = $('.gettingStartedDetailsContent', {});
643
648
  this.detailsPageScrollbar = this._register(( (new DomScrollableElement(this.stepsContent, { className: 'full-height-scrollable' }))));
@@ -658,11 +663,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
658
663
  icon: Codicon.check,
659
664
  actionClassName: 'getting-started-checkbox',
660
665
  isChecked: this.configurationService.getValue(configurationKey) === 'welcomePage',
661
- title: ( localize(7570, "When checked, this page will be shown on startup.")),
666
+ title: ( localize(7238, "When checked, this page will be shown on startup.")),
662
667
  ...defaultToggleStyles
663
668
  })));
664
669
  showOnStartupCheckbox.domNode.id = 'showOnStartup';
665
- const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(7571, "Show welcome page on startup")));
670
+ const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(7239, "Show welcome page on startup")));
666
671
  const onShowOnStartupChanged = () => {
667
672
  if (showOnStartupCheckbox.checked) {
668
673
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupChecked', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
@@ -681,7 +686,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
681
686
  showOnStartupCheckbox.checked = !showOnStartupCheckbox.checked;
682
687
  onShowOnStartupChanged();
683
688
  }));
684
- const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(7572, "Editing evolved"))));
689
+ const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(7240, "Editing evolved"))));
685
690
  const leftColumn = $('.categories-column.categories-column-left', {});
686
691
  const rightColumn = $('.categories-column.categories-column-right', {});
687
692
  const startList = this.buildStartList();
@@ -750,6 +755,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
750
755
  this.hasScrolledToFirstCategory = true;
751
756
  this.currentWalkthrough = first;
752
757
  this.editorInput.selectedCategory = this.currentWalkthrough?.id;
758
+ this.editorInput.walkthroughPageTitle = this.currentWalkthrough.walkthroughPageTitle;
753
759
  this.buildCategorySlide(this.editorInput.selectedCategory, undefined);
754
760
  this.setSlide('details', true );
755
761
  return;
@@ -775,7 +781,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
775
781
  const link = $('button.button-link');
776
782
  link.innerText = name;
777
783
  link.title = fullPath;
778
- link.setAttribute('aria-label', ( localize(7573, "Open folder {0} with path {1}", name, parentPath)));
784
+ link.setAttribute('aria-label', ( localize(7241, "Open folder {0} with path {1}", name, parentPath)));
779
785
  link.addEventListener('click', e => {
780
786
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'openRecent', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
781
787
  this.hostService.openWindow([windowOpenable], {
@@ -798,18 +804,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
798
804
  this.recentlyOpenedList.dispose();
799
805
  }
800
806
  const recentlyOpenedList = this.recentlyOpenedList = ( (new GettingStartedIndexList({
801
- title: ( localize(7574, "Recent")),
807
+ title: ( localize(7242, "Recent")),
802
808
  klass: 'recently-opened',
803
809
  limit: 5,
804
- empty: $('.empty-recent', {}, ( localize(7575, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(7576, "open a folder"))), ( localize(7577, "to start."))),
810
+ empty: $('.empty-recent', {}, ( localize(7243, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(7244, "open a folder"))), ( localize(7245, "to start."))),
805
811
  more: $('.more', {}, $('button.button-link', {
806
812
  'x-dispatch': 'showMoreRecents',
807
813
  title: ( localize(
808
- 7578,
814
+ 7246,
809
815
  "Show All Recent Folders {0}",
810
816
  this.getKeybindingLabel(OpenRecentAction.ID)
811
817
  ))
812
- }, ( localize(7579, "More...")))),
818
+ }, ( localize(7247, "More...")))),
813
819
  renderElement: renderRecent,
814
820
  contextService: this.contextService
815
821
  })));
@@ -837,7 +843,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
837
843
  this.startList.dispose();
838
844
  }
839
845
  const startList = this.startList = ( (new GettingStartedIndexList({
840
- title: ( localize(7580, "Start")),
846
+ title: ( localize(7248, "Start")),
841
847
  klass: 'start-container',
842
848
  limit: 10,
843
849
  renderElement: renderStartEntry,
@@ -853,10 +859,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
853
859
  const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
854
860
  const newBadge = $('.new-badge', {});
855
861
  if (category.newEntry) {
856
- reset(newBadge, $('.new-category', {}, ( localize(7581, "New"))));
862
+ reset(newBadge, $('.new-category', {}, ( localize(7249, "New"))));
857
863
  }
858
864
  else if (category.newItems) {
859
- reset(newBadge, $('.new-items', {}, ( localize(7582, "Updated"))));
865
+ reset(newBadge, $('.new-items', {}, ( localize(7250, "Updated"))));
860
866
  }
861
867
  const featuredBadge = $('.featured-badge', {});
862
868
  const descriptionContent = $('.description-content', {});
@@ -872,9 +878,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
872
878
  }, featuredBadge, $('.main-content', {}, this.iconWidgetFor(category), titleContent, renderNewBadge ? newBadge : $('.no-badge'), $('a.codicon.codicon-close.hide-category-button', {
873
879
  'tabindex': 0,
874
880
  'x-dispatch': 'hideCategory:' + category.id,
875
- 'title': ( localize(7583, "Hide")),
881
+ 'title': ( localize(7251, "Hide")),
876
882
  'role': 'button',
877
- 'aria-label': ( localize(7584, "Hide")),
883
+ 'aria-label': ( localize(7252, "Hide")),
878
884
  })), descriptionContent, $('.category-progress', { 'x-data-category-id': category.id, }, $('.progress-bar-outer', { 'role': 'progressbar' }, $('.progress-bar-inner'))));
879
885
  };
880
886
  if (this.gettingStartedList) {
@@ -900,10 +906,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
900
906
  return rank;
901
907
  };
902
908
  const gettingStartedList = this.gettingStartedList = ( (new GettingStartedIndexList({
903
- title: ( localize(7585, "Walkthroughs")),
909
+ title: ( localize(7253, "Walkthroughs")),
904
910
  klass: 'getting-started',
905
911
  limit: 5,
906
- footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(7579, "More..."))),
912
+ footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(7247, "More..."))),
907
913
  renderElement: renderGetttingStaredWalkthrough,
908
914
  rankElement: rankWalkthrough,
909
915
  contextService: this.contextService,
@@ -956,10 +962,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
956
962
  bar.style.width = `${progress}%`;
957
963
  element.parentElement.classList.toggle('no-progress', stats.stepsComplete === 0);
958
964
  if (stats.stepsTotal === stats.stepsComplete) {
959
- bar.title = ( localize(7586, "All {0} steps complete!", stats.stepsComplete));
965
+ bar.title = ( localize(7254, "All {0} steps complete!", stats.stepsComplete));
960
966
  }
961
967
  else {
962
- bar.title = ( localize(7587, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
968
+ bar.title = ( localize(7255, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
963
969
  }
964
970
  });
965
971
  }
@@ -975,6 +981,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
975
981
  reset(this.stepsContent);
976
982
  this.editorInput.selectedCategory = categoryID;
977
983
  this.editorInput.selectedStep = stepId;
984
+ this.editorInput.walkthroughPageTitle = ourCategory.walkthroughPageTitle;
978
985
  this.currentWalkthrough = ourCategory;
979
986
  this.buildCategorySlide(categoryID, stepId);
980
987
  this.setSlide('details');
@@ -1079,9 +1086,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1079
1086
  this.runStepCommand(node.href);
1080
1087
  }, null, this.detailsPageDisposables);
1081
1088
  if (isCommand) {
1082
- const keybindingLabel = this.getKeybindingLabel(command);
1083
- if (keybindingLabel) {
1084
- container.appendChild($('span.shortcut-message', {}, ( localize(7588, 'Tip: Use keyboard shortcut ')), $('span.keybinding', {}, keybindingLabel)));
1089
+ const keybinding = this.getKeyBinding(command);
1090
+ if (keybinding) {
1091
+ const shortcutMessage = $('span.shortcut-message', {}, ( localize(7256, 'Tip: Use keyboard shortcut ')));
1092
+ container.appendChild(shortcutMessage);
1093
+ const label = ( (new KeybindingLabel(shortcutMessage, OS, { ...defaultKeybindingLabelStyles })));
1094
+ label.set(keybinding);
1085
1095
  }
1086
1096
  }
1087
1097
  this.detailsPageDisposables.add(button);
@@ -1171,7 +1181,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1171
1181
  reset(stepTitle, ...renderLabelWithIcons(step.title));
1172
1182
  const stepDescription = $('.step-container', {}, stepTitle, container);
1173
1183
  if (step.media.type === 'image') {
1174
- stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(7589, "Image showing {0}", step.media.altText)) }));
1184
+ stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(7257, "Image showing {0}", step.media.altText)) }));
1175
1185
  }
1176
1186
  return $('button.getting-started-step', {
1177
1187
  'x-dispatch': 'selectTask:' + step.id,
@@ -1191,8 +1201,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1191
1201
  }
1192
1202
  }));
1193
1203
  const showNextCategory = this.gettingStartedCategories.find(_category => _category.id === category.next);
1194
- const stepsContainer = $('.getting-started-detail-container', { 'role': 'list' }, stepListContainer, $('.done-next-container', {}, $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), ( localize(7590, "Mark Done"))), ...(showNextCategory
1195
- ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(7591, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1204
+ const stepsContainer = $('.getting-started-detail-container', { 'role': 'list' }, stepListContainer, $('.done-next-container', {}, $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), ( localize(7258, "Mark Done"))), ...(showNextCategory
1205
+ ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(7259, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1196
1206
  : [])));
1197
1207
  this.detailsScrollbar = this._register(( (new DomScrollableElement(stepsContainer, { className: 'steps-container' }))));
1198
1208
  const stepListComponent = this.detailsScrollbar.getDomNode();
@@ -1209,12 +1219,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1209
1219
  }
1210
1220
  buildTelemetryFooter(parent) {
1211
1221
  const mdRenderer = this.instantiationService.createInstance(MarkdownRenderer, {});
1212
- const privacyStatementCopy = ( localize(7592, "privacy statement"));
1222
+ const privacyStatementCopy = ( localize(7260, "privacy statement"));
1213
1223
  const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
1214
- const optOutCopy = ( localize(7593, "opt out"));
1224
+ const optOutCopy = ( localize(7261, "opt out"));
1215
1225
  const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
1216
1226
  const text = ( localize(
1217
- 7594,
1227
+ 7262,
1218
1228
  "{0} collects usage data. Read our {1} and learn how to {2}.",
1219
1229
  this.productService.nameShort,
1220
1230
  privacyStatementButton,
@@ -1233,6 +1243,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1233
1243
  return `(${label})`;
1234
1244
  }
1235
1245
  }
1246
+ getKeyBinding(command) {
1247
+ command = command.replace(/^command:/, '');
1248
+ return this.keybindingService.lookupKeybinding(command);
1249
+ }
1236
1250
  async scrollPrev() {
1237
1251
  this.inProgressScroll = this.inProgressScroll.then(async () => {
1238
1252
  if (this.prevWalkthrough && this.prevWalkthrough !== this.currentWalkthrough) {
@@ -1245,6 +1259,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1245
1259
  this.editorInput.selectedCategory = undefined;
1246
1260
  this.editorInput.selectedStep = undefined;
1247
1261
  this.editorInput.showTelemetryNotice = false;
1262
+ this.editorInput.walkthroughPageTitle = undefined;
1248
1263
  if (this.gettingStartedCategories.length !== this.gettingStartedList?.itemCount) {
1249
1264
  this.buildCategoriesSlide();
1250
1265
  }
@@ -1281,7 +1296,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1281
1296
  const prevButton = this.container.querySelector('.prev-button.button-link');
1282
1297
  prevButton.style.display = this.editorInput.showWelcome || this.prevWalkthrough ? 'block' : 'none';
1283
1298
  const moreTextElement = prevButton.querySelector('.moreText');
1284
- moreTextElement.textContent = firstLaunch ? ( localize(7595, "Welcome")) : ( localize(7569, "Go Back"));
1299
+ moreTextElement.textContent = firstLaunch ? ( localize(7263, "Welcome")) : ( localize(7237, "Go Back"));
1285
1300
  this.container.querySelector('.gettingStartedSlideDetails').querySelectorAll('button').forEach(button => button.disabled = false);
1286
1301
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('button').forEach(button => button.disabled = true);
1287
1302
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('input').forEach(button => button.disabled = true);
@@ -1332,16 +1347,18 @@ class GettingStartedInputSerializer {
1332
1347
  return JSON.stringify({ selectedCategory: editorInput.selectedCategory, selectedStep: editorInput.selectedStep });
1333
1348
  }
1334
1349
  deserialize(instantiationService, serializedEditorInput) {
1335
- try {
1336
- const { selectedCategory, selectedStep } = JSON.parse(serializedEditorInput);
1350
+ return instantiationService.invokeFunction(accessor => {
1351
+ try {
1352
+ const { selectedCategory, selectedStep } = JSON.parse(serializedEditorInput);
1353
+ return (
1354
+ (new GettingStartedInput({ selectedCategory, selectedStep }))
1355
+ );
1356
+ }
1357
+ catch { }
1337
1358
  return (
1338
- (new GettingStartedInput({ selectedCategory, selectedStep }))
1359
+ (new GettingStartedInput({}))
1339
1360
  );
1340
- }
1341
- catch { }
1342
- return (
1343
- (new GettingStartedInput({}))
1344
- );
1361
+ });
1345
1362
  }
1346
1363
  }
1347
1364
 
@@ -64,15 +64,15 @@ class GettingStartedAccessibleProvider extends Disposable {
64
64
  }
65
65
  _getContent(index, waltkrough, step) {
66
66
  const stepsContent = ( localize(
67
- 7601,
67
+ 7270,
68
68
  'Step {0}: {1}\nDescription: {2}',
69
69
  index,
70
70
  step.title,
71
71
  step.description.join(' ')
72
72
  ));
73
73
  return [
74
- ( localize(7602, 'Title: {0}', waltkrough.title)),
75
- ( localize(7603, 'Description: {0}', waltkrough.description)),
74
+ ( localize(7271, 'Title: {0}', waltkrough.title)),
75
+ ( localize(7272, 'Description: {0}', waltkrough.description)),
76
76
  stepsContent
77
77
  ].join('\n\n');
78
78
  }
@@ -11,10 +11,10 @@ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
11
11
  import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
12
12
  import { localize } from 'vscode/vscode/vs/nls';
13
13
 
14
- registerColor('welcomePage.background', null, ( localize(10755, 'Background color for the Welcome page.')));
15
- registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(10756, 'Background color for the tiles on the Welcome page.')));
16
- registerColor('welcomePage.tileHoverBackground', { dark: ( (lighten(editorWidgetBackground, .2))), light: ( (darken(editorWidgetBackground, .1))), hcDark: null, hcLight: null }, ( localize(10757, 'Hover background color for the tiles on the Welcome.')));
17
- registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(10758, 'Border color for the tiles on the Welcome page.')));
18
- registerColor('welcomePage.progress.background', inputBackground, ( localize(10759, 'Foreground color for the Welcome page progress bars.')));
19
- registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(10760, 'Background color for the Welcome page progress bars.')));
20
- registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(10761, 'Foreground color of the heading of each walkthrough step')));
14
+ registerColor('welcomePage.background', null, ( localize(10757, 'Background color for the Welcome page.')));
15
+ registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(10758, 'Background color for the tiles on the Welcome page.')));
16
+ registerColor('welcomePage.tileHoverBackground', { dark: ( (lighten(editorWidgetBackground, .2))), light: ( (darken(editorWidgetBackground, .1))), hcDark: null, hcLight: null }, ( localize(10759, 'Hover background color for the tiles on the Welcome.')));
17
+ registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(10760, 'Border color for the tiles on the Welcome page.')));
18
+ registerColor('welcomePage.progress.background', inputBackground, ( localize(10761, 'Foreground color for the Welcome page progress bars.')));
19
+ registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(10762, 'Background color for the Welcome page progress bars.')));
20
+ registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(10763, 'Foreground color of the heading of each walkthrough step')));