@codingame/monaco-vscode-walkthrough-service-override 8.0.4 → 9.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 (21) hide show
  1. package/package.json +3 -2
  2. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +26 -24
  3. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +27 -27
  4. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
  5. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +11 -2
  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 +1 -1
  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 +1 -1
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +264 -120
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +5 -5
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +7 -7
  15. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +7 -5
  16. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +2 -2
  17. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +6 -6
  18. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +2 -2
  19. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +28 -13
  20. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
  21. package/walkthrough.js +0 -4
@@ -3,23 +3,23 @@ import { localize } from 'vscode/vscode/vs/nls';
3
3
 
4
4
  const profileArg = (profile) => encodeURIComponent(JSON.stringify({ profile }));
5
5
  const imageSize = 400;
6
- var notebookProfile = () => `
6
+ var notebookProfileContent = () => `
7
7
  <vertically-centered>
8
8
  <checklist>
9
9
  <checkbox on-checked="command:notebook.setProfile?${profileArg('default')}" checked-on="config.notebook.cellFocusIndicator == 'border' && config.notebook.insertToolbarLocation == 'both' && config.notebook.globalToolbar == false && config.notebook.compactView == true && config.notebook.showCellStatusBar == 'visible'">
10
10
  <img width="${imageSize}" src="./notebookThemes/default.png"/>
11
- ${escape(( localize(3248, "Default")))}
11
+ ${escape(( localize(10635, "Default")))}
12
12
  </checkbox>
13
13
  <checkbox on-checked="command:notebook.setProfile?${profileArg('jupyter')}" checked-on="config.notebook.cellFocusIndicator == 'gutter' && config.notebook.insertToolbarLocation == 'notebookToolbar' && config.notebook.globalToolbar == true && config.notebook.compactView == true && config.notebook.showCellStatusBar == 'visible'">
14
14
  <img width="${imageSize}" src="./notebookThemes/jupyter.png"/>
15
- ${escape(( localize(3249, "Jupyter")))}
15
+ ${escape(( localize(10636, "Jupyter")))}
16
16
  </checkbox>
17
17
  <checkbox on-checked="command:notebook.setProfile?${profileArg('colab')}" checked-on="config.notebook.cellFocusIndicator == 'border' && config.notebook.insertToolbarLocation == 'betweenCells' && config.notebook.globalToolbar == false && config.notebook.compactView == false && config.notebook.showCellStatusBar == 'hidden'">
18
18
  <img width="${imageSize}" src="./notebookThemes/colab.png"/>
19
- ${escape(( localize(3250, "Colab")))}
19
+ ${escape(( localize(10637, "Colab")))}
20
20
  </checkbox>
21
21
  </checklist>
22
22
  </vertically-centered>
23
23
  `;
24
24
 
25
- export { notebookProfile as default };
25
+ export { notebookProfileContent as default };
@@ -2,32 +2,32 @@ import { escape } from 'vscode/vscode/vs/base/common/strings';
2
2
  import { localize } from 'vscode/vscode/vs/nls';
3
3
  import { ThemeSettingDefaults } from 'vscode/vscode/vs/workbench/services/themes/common/workbenchThemeService';
4
4
 
5
- var theme_picker = () => `
5
+ var themePickerContent = () => `
6
6
  <checklist>
7
7
  <div class="theme-picker-row">
8
8
  <checkbox when-checked="setTheme:${ThemeSettingDefaults.COLOR_THEME_DARK}" checked-on="config.workbench.colorTheme == '${ThemeSettingDefaults.COLOR_THEME_DARK}'">
9
9
  <img width="200" src="./dark.png"/>
10
- ${escape(( localize(3243, "Dark Modern")))}
10
+ ${escape(( localize(10630, "Dark Modern")))}
11
11
  </checkbox>
12
12
  <checkbox when-checked="setTheme:${ThemeSettingDefaults.COLOR_THEME_LIGHT}" checked-on="config.workbench.colorTheme == '${ThemeSettingDefaults.COLOR_THEME_LIGHT}'">
13
13
  <img width="200" src="./light.png"/>
14
- ${escape(( localize(3244, "Light Modern")))}
14
+ ${escape(( localize(10631, "Light Modern")))}
15
15
  </checkbox>
16
16
  </div>
17
17
  <div class="theme-picker-row">
18
18
  <checkbox when-checked="setTheme:${ThemeSettingDefaults.COLOR_THEME_HC_DARK}" checked-on="config.workbench.colorTheme == '${ThemeSettingDefaults.COLOR_THEME_HC_DARK}'">
19
19
  <img width="200" src="./dark-hc.png"/>
20
- ${escape(( localize(3245, "Dark High Contrast")))}
20
+ ${escape(( localize(10632, "Dark High Contrast")))}
21
21
  </checkbox>
22
22
  <checkbox when-checked="setTheme:${ThemeSettingDefaults.COLOR_THEME_HC_LIGHT}" checked-on="config.workbench.colorTheme == '${ThemeSettingDefaults.COLOR_THEME_HC_LIGHT}'">
23
23
  <img width="200" src="./light-hc.png"/>
24
- ${escape(( localize(3246, "Light High Contrast")))}
24
+ ${escape(( localize(10633, "Light High Contrast")))}
25
25
  </checkbox>
26
26
  </div>
27
27
  </checklist>
28
28
  <checkbox class="theme-picker-link" when-checked="command:workbench.action.selectTheme" checked-on="false">
29
- ${escape(( localize(3247, "See More Themes...")))}
29
+ ${escape(( localize(10634, "See More Themes...")))}
30
30
  </checkbox>
31
31
  `;
32
32
 
33
- export { theme_picker as default };
33
+ export { themePickerContent as default };
@@ -1,16 +1,18 @@
1
- import 'vscode/vscode/vs/base/common/platform';
2
- import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
1
+ import content from './vs_code_editor_walkthrough.js';
3
2
  import { localize, localize2 } from 'vscode/vscode/vs/nls';
4
3
  import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
4
+ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
5
5
  import { WalkThroughInput } from '../walkThroughInput.js';
6
6
  import { FileAccess, Schemas } from 'vscode/vscode/vs/base/common/network';
7
7
  import { Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
8
8
  import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommonCategories';
9
+ import { walkThroughContentRegistry } from '../../common/walkThroughContentProvider.js';
9
10
 
11
+ walkThroughContentRegistry.registerProvider('vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough', content);
10
12
  const typeId = 'workbench.editors.walkThroughInput';
11
13
  const inputOptions = {
12
14
  typeId,
13
- name: ( localize(7583, "Editor Playground")),
15
+ name: ( localize(7495, "Editor Playground")),
14
16
  resource: ( (FileAccess.asBrowserUri(
15
17
  'vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.md'
16
18
  )))
@@ -22,7 +24,7 @@ const inputOptions = {
22
24
  };
23
25
  class EditorWalkThroughAction extends Action2 {
24
26
  static { this.ID = 'workbench.action.showInteractivePlayground'; }
25
- static { this.LABEL = ( localize2(7584, 'Interactive Editor Playground')); }
27
+ static { this.LABEL = ( localize2(7496, 'Interactive Editor Playground')); }
26
28
  constructor() {
27
29
  super({
28
30
  id: EditorWalkThroughAction.ID,
@@ -30,7 +32,7 @@ class EditorWalkThroughAction extends Action2 {
30
32
  category: Categories.Help,
31
33
  f1: true,
32
34
  metadata: {
33
- description: ( localize2(7585, "Opens an interactive playground for learning about the editor."))
35
+ description: ( localize2(7497, "Opens an interactive playground for learning about the editor."))
34
36
  }
35
37
  });
36
38
  }
@@ -13,7 +13,7 @@ import { EditorPaneDescriptor } from 'vscode/vscode/vs/workbench/browser/editor'
13
13
  import { KeybindingsRegistry } from 'vscode/vscode/vs/platform/keybinding/common/keybindingsRegistry';
14
14
 
15
15
  ( (Registry.as(EditorExtensions.EditorPane)))
16
- .registerEditorPane(EditorPaneDescriptor.create(WalkThroughPart, WalkThroughPart.ID, ( localize(3241, "Playground"))), [( (new SyncDescriptor(WalkThroughInput)))]);
16
+ .registerEditorPane(EditorPaneDescriptor.create(WalkThroughPart, WalkThroughPart.ID, ( localize(2667, "Playground"))), [( (new SyncDescriptor(WalkThroughInput)))]);
17
17
  registerAction2(EditorWalkThroughAction);
18
18
  ( (Registry.as(EditorExtensions.EditorFactory))).registerEditorSerializer(EditorWalkThroughInputSerializer.ID, EditorWalkThroughInputSerializer);
19
19
  registerWorkbenchContribution2(WalkThroughSnippetContentProvider.ID, WalkThroughSnippetContentProvider, { editorTypeId: WalkThroughPart.ID });
@@ -25,7 +25,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, {
25
25
  group: '1_welcome',
26
26
  command: {
27
27
  id: 'workbench.action.showInteractivePlayground',
28
- title: ( localize(3242, "Editor Playgrou&&nd"))
28
+ title: ( localize(2668, "Editor Playgrou&&nd"))
29
29
  },
30
30
  order: 3
31
31
  });
@@ -2,9 +2,9 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { EditorInput } from 'vscode/vscode/vs/workbench/common/editor/editorInput';
3
3
  import { EditorModel } from 'vscode/vscode/vs/workbench/common/editor/editorModel';
4
4
  import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
5
- import marked_1 from 'vscode/external/vscode-marked/lib/marked.esm.js';
5
+ import { marked } from 'marked';
6
6
  import { isEqual } from 'vscode/vscode/vs/base/common/resources';
7
- import { requireToContent } from '../common/walkThroughContentProvider.js';
7
+ import { moduleToContent } from '../common/walkThroughContentProvider.js';
8
8
  import { EditorInputCapabilities } from 'vscode/vscode/vs/workbench/common/editor';
9
9
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
10
10
  import { Schemas } from 'vscode/vscode/vs/base/common/network';
@@ -66,21 +66,21 @@ let WalkThroughInput = WalkThroughInput_1 = class WalkThroughInput extends Edito
66
66
  }
67
67
  resolve() {
68
68
  if (!this.promise) {
69
- this.promise = requireToContent(this.instantiationService, this.options.resource)
69
+ this.promise = moduleToContent(this.instantiationService, this.options.resource)
70
70
  .then(content => {
71
71
  if (this.resource.path.endsWith('.html')) {
72
72
  return ( new WalkThroughModel(content, []));
73
73
  }
74
74
  const snippets = [];
75
75
  let i = 0;
76
- const renderer = new marked_1.Renderer();
77
- renderer.code = (code, lang) => {
76
+ const renderer = new marked.Renderer();
77
+ renderer.code = ({ lang }) => {
78
78
  i++;
79
79
  const resource = this.options.resource.with({ scheme: Schemas.walkThroughSnippet, fragment: `${i}.${lang}` });
80
80
  snippets.push(this.textModelResolverService.createModelReference(resource));
81
81
  return `<div id="snippet-${resource.fragment}" class="walkThroughEditorContainer" ></div>`;
82
82
  };
83
- content = marked_1(content, { renderer });
83
+ content = marked(content, { async: false, renderer });
84
84
  return Promise.all(snippets)
85
85
  .then(refs => ( new WalkThroughModel(content, refs)));
86
86
  });
@@ -34,7 +34,7 @@ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extension
34
34
 
35
35
  var WalkThroughPart_1;
36
36
  const WALK_THROUGH_FOCUS = ( (new RawContextKey('interactivePlaygroundFocus', false)));
37
- const UNBOUND_COMMAND = ( localize(7581, "unbound"));
37
+ const UNBOUND_COMMAND = ( localize(7493, "unbound"));
38
38
  const WALK_THROUGH_EDITOR_VIEW_STATE_PREFERENCE_KEY = 'walkThroughEditorViewState';
39
39
  let WalkThroughPart = class WalkThroughPart extends EditorPane {
40
40
  static { WalkThroughPart_1 = this; }
@@ -144,7 +144,7 @@ let WalkThroughPart = class WalkThroughPart extends EditorPane {
144
144
  }
145
145
  open(uri) {
146
146
  if (uri.scheme === 'command' && uri.path === 'git.clone' && !CommandsRegistry.getCommand('git.clone')) {
147
- this.notificationService.info(( localize(7582, "It looks like Git is not installed on your system.")));
147
+ this.notificationService.info(( localize(7494, "It looks like Git is not installed on your system.")));
148
148
  return;
149
149
  }
150
150
  this.openerService.open(this.addFrom(uri), { allowCommands: true });
@@ -3,23 +3,38 @@ import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resol
3
3
  import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
4
4
  import { DefaultEndOfLine, EndOfLinePreference } from 'vscode/vscode/vs/editor/common/model';
5
5
  import { ILanguageService } from 'vscode/vscode/vs/editor/common/languages/language';
6
- import marked_1 from 'vscode/external/vscode-marked/lib/marked.esm.js';
7
- import { FileAccess, Schemas } from 'vscode/vscode/vs/base/common/network';
6
+ import { marked } from 'marked';
7
+ import { Schemas } from 'vscode/vscode/vs/base/common/network';
8
8
  import { Range } from 'vscode/vscode/vs/editor/common/core/range';
9
9
  import { createTextBufferFactory } from 'vscode/vscode/vs/editor/common/model/textModel';
10
10
  import { assertIsDefined } from 'vscode/vscode/vs/base/common/types';
11
11
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
12
12
 
13
- async function requireToContent(instantiationService, resource) {
13
+ class WalkThroughContentProviderRegistry {
14
+ constructor() {
15
+ this.providers = ( new Map());
16
+ }
17
+ registerProvider(moduleId, provider) {
18
+ this.providers.set(moduleId, provider);
19
+ }
20
+ getProvider(moduleId) {
21
+ return this.providers.get(moduleId);
22
+ }
23
+ }
24
+ const walkThroughContentRegistry = ( new WalkThroughContentProviderRegistry());
25
+ async function moduleToContent(instantiationService, resource) {
14
26
  if (!resource.query) {
15
- throw ( new Error('Welcome: invalid resource'));
27
+ throw ( new Error('Walkthrough: invalid resource'));
16
28
  }
17
29
  const query = JSON.parse(resource.query);
18
30
  if (!query.moduleId) {
19
- throw ( new Error('Welcome: invalid resource'));
31
+ throw ( new Error('Walkthrough: invalid resource'));
32
+ }
33
+ const provider = walkThroughContentRegistry.getProvider(query.moduleId);
34
+ if (!provider) {
35
+ throw ( new Error(`Walkthrough: no provider registered for ${query.moduleId}`));
20
36
  }
21
- const content = await FileAccess.toModuleContent(query.moduleId);
22
- return instantiationService.invokeFunction(content);
37
+ return instantiationService.invokeFunction(provider);
23
38
  }
24
39
  let WalkThroughSnippetContentProvider = class WalkThroughSnippetContentProvider {
25
40
  static { this.ID = 'workbench.contrib.walkThroughSnippetContentProvider'; }
@@ -34,7 +49,7 @@ let WalkThroughSnippetContentProvider = class WalkThroughSnippetContentProvider
34
49
  async textBufferFactoryFromResource(resource) {
35
50
  let ongoing = this.loads.get(( resource.toString()));
36
51
  if (!ongoing) {
37
- ongoing = requireToContent(this.instantiationService, resource)
52
+ ongoing = moduleToContent(this.instantiationService, resource)
38
53
  .then(content => createTextBufferFactory(content))
39
54
  .finally(() => this.loads.delete(( resource.toString())));
40
55
  this.loads.set(( resource.toString()), ongoing);
@@ -47,12 +62,12 @@ let WalkThroughSnippetContentProvider = class WalkThroughSnippetContentProvider
47
62
  if (!codeEditorModel) {
48
63
  const j = parseInt(resource.fragment);
49
64
  let i = 0;
50
- const renderer = new marked_1.Renderer();
51
- renderer.code = (code, lang) => {
65
+ const renderer = new marked.Renderer();
66
+ renderer.code = ({ text, lang }) => {
52
67
  i++;
53
68
  const languageId = typeof lang === 'string' ? this.languageService.getLanguageIdByLanguageName(lang) || '' : '';
54
69
  const languageSelection = this.languageService.createById(languageId);
55
- const model = this.modelService.createModel(code, languageSelection, resource.with({ fragment: `${i}.${lang}` }));
70
+ const model = this.modelService.createModel(text, languageSelection, resource.with({ fragment: `${i}.${lang}` }));
56
71
  if (i === j) {
57
72
  codeEditorModel = model;
58
73
  }
@@ -62,7 +77,7 @@ let WalkThroughSnippetContentProvider = class WalkThroughSnippetContentProvider
62
77
  const lineCount = textBuffer.getLineCount();
63
78
  const range = ( new Range(1, 1, lineCount, textBuffer.getLineLength(lineCount) + 1));
64
79
  const markdown = textBuffer.getValueInRange(range, EndOfLinePreference.TextDefined);
65
- marked_1(markdown, { renderer });
80
+ marked(markdown, { renderer });
66
81
  }
67
82
  return assertIsDefined(codeEditorModel);
68
83
  }
@@ -74,4 +89,4 @@ WalkThroughSnippetContentProvider = ( __decorate([
74
89
  ( __param(3, IInstantiationService))
75
90
  ], WalkThroughSnippetContentProvider));
76
91
 
77
- export { WalkThroughSnippetContentProvider, requireToContent };
92
+ export { WalkThroughSnippetContentProvider, moduleToContent, walkThroughContentRegistry };
@@ -13,6 +13,6 @@ import { localize } from 'vscode/vscode/vs/nls';
13
13
  import { Color, RGBA } from 'vscode/vscode/vs/base/common/color';
14
14
 
15
15
  registerColor('walkThrough.embeddedEditorBackground', { dark: ( (new Color( (new RGBA(0, 0, 0, .4))))), light: '#f4f4f4', hcDark: null, hcLight: null }, ( localize(
16
- 10614,
16
+ 10645,
17
17
  'Background color for the embedded editors on the Interactive Playground.'
18
18
  )));
package/walkthrough.js CHANGED
@@ -5,14 +5,10 @@ import './vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingS
5
5
  import './vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js';
6
6
  import svgAssets from './vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/all.svg.js';
7
7
  import pngAssets from './vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/all.png.js';
8
- import { FileAccess } from 'vscode/vscode/vs/base/common/network';
9
8
  import { registerAssets } from 'vscode/assets';
10
9
 
11
10
  registerAssets(svgAssets);
12
11
  registerAssets(pngAssets);
13
- FileAccess.registerModuleContentProvider('vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough', () => import('./vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.js').then(module => module.default ?? module));
14
- FileAccess.registerModuleContentProvider('vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker', () => import('./vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js').then(module => module.default ?? module));
15
- FileAccess.registerModuleContentProvider('vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile', () => import('./vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js').then(module => module.default ?? module));
16
12
  function getServiceOverride() {
17
13
  return {
18
14
  [( IWalkthroughsService.toString())]: new SyncDescriptor(WalkthroughsService, [], true)