@codingame/monaco-vscode-api 1.78.3 → 1.78.4-next.1

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 (149) hide show
  1. package/dist/api2.js +69 -4
  2. package/dist/coffeescript.js +2 -9
  3. package/dist/contributions.js +110 -0
  4. package/dist/cpp.js +2 -16
  5. package/dist/csharp.js +2 -9
  6. package/dist/default-extensions/bat.js +5 -8
  7. package/dist/default-extensions/clojure.js +4 -7
  8. package/dist/default-extensions/coffeescript.js +5 -8
  9. package/dist/default-extensions/cpp.js +10 -15
  10. package/dist/default-extensions/csharp.js +5 -8
  11. package/dist/default-extensions/css.js +4 -7
  12. package/dist/default-extensions/dart.js +4 -7
  13. package/dist/default-extensions/diff.js +4 -7
  14. package/dist/default-extensions/docker.js +4 -7
  15. package/dist/default-extensions/fsharp.js +5 -8
  16. package/dist/default-extensions/go.js +4 -7
  17. package/dist/default-extensions/groovy.js +5 -8
  18. package/dist/default-extensions/handlebars.js +4 -7
  19. package/dist/default-extensions/hlsl.js +4 -7
  20. package/dist/default-extensions/html.js +6 -9
  21. package/dist/default-extensions/ini.js +5 -9
  22. package/dist/default-extensions/java.js +5 -8
  23. package/dist/default-extensions/javascript.js +8 -13
  24. package/dist/default-extensions/json.js +5 -9
  25. package/dist/default-extensions/julia.js +4 -7
  26. package/dist/default-extensions/latex.js +10 -10
  27. package/dist/default-extensions/less.js +4 -7
  28. package/dist/default-extensions/log.js +3 -6
  29. package/dist/default-extensions/lua.js +4 -7
  30. package/dist/default-extensions/make.js +4 -7
  31. package/dist/default-extensions/markdown-basics.js +5 -8
  32. package/dist/default-extensions/objective-c.js +5 -9
  33. package/dist/default-extensions/perl.js +6 -9
  34. package/dist/default-extensions/php.js +6 -9
  35. package/dist/default-extensions/powershell.js +4 -7
  36. package/dist/default-extensions/pug.js +4 -7
  37. package/dist/default-extensions/python.js +5 -8
  38. package/dist/default-extensions/r.js +4 -7
  39. package/dist/default-extensions/razor.js +4 -7
  40. package/dist/default-extensions/ruby.js +4 -7
  41. package/dist/default-extensions/rust.js +4 -7
  42. package/dist/default-extensions/scss.js +5 -8
  43. package/dist/default-extensions/shaderlab.js +4 -7
  44. package/dist/default-extensions/shellscript.js +4 -7
  45. package/dist/default-extensions/sql.js +4 -7
  46. package/dist/default-extensions/swift.js +5 -8
  47. package/dist/default-extensions/theme-abyss.js +3 -6
  48. package/dist/default-extensions/theme-defaults.js +11 -14
  49. package/dist/default-extensions/theme-kimbie-dark.js +3 -6
  50. package/dist/default-extensions/theme-monokai-dimmed.js +3 -6
  51. package/dist/default-extensions/theme-monokai.js +3 -6
  52. package/dist/default-extensions/theme-quietlight.js +3 -6
  53. package/dist/default-extensions/theme-red.js +3 -6
  54. package/dist/default-extensions/theme-seti.js +3 -6
  55. package/dist/default-extensions/theme-solarized-dark.js +3 -6
  56. package/dist/default-extensions/theme-solarized-light.js +3 -6
  57. package/dist/default-extensions/theme-tomorrow-night-blue.js +3 -6
  58. package/dist/default-extensions/typescript-basics.js +8 -13
  59. package/dist/default-extensions/typescript-language-features.js +6 -0
  60. package/dist/default-extensions/vb.js +5 -8
  61. package/dist/default-extensions/xml.js +6 -9
  62. package/dist/default-extensions/yaml.js +4 -9
  63. package/dist/extHost.js +19602 -0
  64. package/dist/extension-tools-b2d018a3.js +1037 -0
  65. package/dist/extensions.d.ts +9 -2
  66. package/dist/extensions2.js +77 -0
  67. package/dist/fsharp.js +2 -9
  68. package/dist/groovy.js +2 -9
  69. package/dist/html.js +2 -10
  70. package/dist/java.js +2 -9
  71. package/dist/javascript.js +2 -14
  72. package/dist/keybindings.js +3 -180
  73. package/dist/latex-cpp-embedded-language-configuration.js +2 -0
  74. package/dist/latex-language-configuration.js +2 -0
  75. package/dist/layout.js +41 -0
  76. package/dist/layoutService.js +12 -0
  77. package/dist/markdown-latex-combined-language-configuration.js +2 -0
  78. package/dist/missing-services.js +34881 -0
  79. package/dist/modelEditor.d.ts +136 -1398
  80. package/dist/monaco.d.ts +20 -16
  81. package/dist/monaco.js +370 -44
  82. package/dist/php.js +2 -10
  83. package/dist/polyfill.js +29 -10
  84. package/dist/rollup-extension-directory-plugin.d.ts +10 -0
  85. package/dist/rollup-extension-directory-plugin.js +82 -0
  86. package/dist/rollup-vsix-plugin.d.ts +4 -2
  87. package/dist/rollup-vsix-plugin.js +35 -26
  88. package/dist/services.d.ts +1 -1
  89. package/dist/swift.js +2 -9
  90. package/dist/textEditor.js +34 -0
  91. package/dist/variableResolver.js +586 -0
  92. package/dist/vb.js +2 -9
  93. package/package.json +13 -6
  94. package/dist/bat.js +0 -9
  95. package/dist/clojure.js +0 -8
  96. package/dist/coffeescript2.js +0 -2
  97. package/dist/cpp2.js +0 -2
  98. package/dist/csharp2.js +0 -2
  99. package/dist/css.js +0 -8
  100. package/dist/dart.js +0 -8
  101. package/dist/diff.js +0 -8
  102. package/dist/docker.js +0 -8
  103. package/dist/fsharp2.js +0 -2
  104. package/dist/go.js +0 -8
  105. package/dist/groovy2.js +0 -2
  106. package/dist/handlebars.js +0 -8
  107. package/dist/hlsl.js +0 -8
  108. package/dist/html2.js +0 -2
  109. package/dist/ini.js +0 -10
  110. package/dist/java2.js +0 -2
  111. package/dist/javascript2.js +0 -2
  112. package/dist/json.js +0 -10
  113. package/dist/julia.js +0 -8
  114. package/dist/latex.js +0 -11
  115. package/dist/less.js +0 -8
  116. package/dist/log.js +0 -7
  117. package/dist/lua.js +0 -8
  118. package/dist/make.js +0 -8
  119. package/dist/markdown-basics.js +0 -9
  120. package/dist/objective-c.js +0 -10
  121. package/dist/perl.js +0 -10
  122. package/dist/php2.js +0 -2
  123. package/dist/powershell.js +0 -8
  124. package/dist/pug.js +0 -8
  125. package/dist/python.js +0 -9
  126. package/dist/r.js +0 -8
  127. package/dist/razor.js +0 -8
  128. package/dist/ruby.js +0 -8
  129. package/dist/rust.js +0 -8
  130. package/dist/scss.js +0 -9
  131. package/dist/shaderlab.js +0 -8
  132. package/dist/shellscript.js +0 -8
  133. package/dist/sql.js +0 -8
  134. package/dist/swift2.js +0 -2
  135. package/dist/theme-abyss.js +0 -7
  136. package/dist/theme-defaults.js +0 -15
  137. package/dist/theme-kimbie-dark.js +0 -7
  138. package/dist/theme-monokai-dimmed.js +0 -7
  139. package/dist/theme-monokai.js +0 -7
  140. package/dist/theme-quietlight.js +0 -7
  141. package/dist/theme-red.js +0 -7
  142. package/dist/theme-seti.js +0 -7
  143. package/dist/theme-solarized-dark.js +0 -7
  144. package/dist/theme-solarized-light.js +0 -7
  145. package/dist/theme-tomorrow-night-blue.js +0 -7
  146. package/dist/typescript-basics.js +0 -14
  147. package/dist/vb2.js +0 -2
  148. package/dist/xml.js +0 -10
  149. package/dist/yaml.js +0 -10
@@ -0,0 +1,82 @@
1
+ import { createFilter, dataToEsm } from '@rollup/pluginutils';
2
+ import { e as extractPathsFromExtensionManifest, p as parseJson, l as localizeManifest } from './extension-tools-b2d018a3.js';
3
+ import * as path from 'path';
4
+ import * as fsPromise from 'fs/promises';
5
+ import * as fs from 'fs';
6
+
7
+ function plugin(options) {
8
+ const filter = createFilter(options.include, options.exclude);
9
+ return {
10
+ name: 'default-extensions-loader',
11
+ resolveId(source) {
12
+ if (filter(source)) {
13
+ return source;
14
+ }
15
+ return undefined;
16
+ },
17
+ async load(id) {
18
+ // load extension directory as a module that loads the extension
19
+ if (!filter(id)) {
20
+ return;
21
+ }
22
+ // load extension directory as a module that loads the extension
23
+ const stat = await fsPromise.stat(id);
24
+ if (!stat.isDirectory()) {
25
+ return;
26
+ }
27
+ const manifestPath = path.resolve(id, 'package.json');
28
+ const manifest = JSON.parse((await fsPromise.readFile(manifestPath)).toString('utf8'));
29
+ try {
30
+ const filePaths = extractPathsFromExtensionManifest(manifest);
31
+ return `
32
+ import manifest from '${manifestPath}'
33
+ import { registerExtension } from '../src/extensions'
34
+ import { onExtHostInitialized } from '../src/vscode-services/extHost'
35
+ onExtHostInitialized(() => {
36
+ const { registerFile } = registerExtension(manifest)
37
+ ${filePaths.map(filePath => (`
38
+ registerFile('${filePath}', async () => await import('${path.resolve(id, filePath)}'))`))}
39
+ })
40
+ `;
41
+ }
42
+ catch (err) {
43
+ console.error(err, err.stack);
44
+ throw err;
45
+ }
46
+ },
47
+ async transform(code, id) {
48
+ if (!filter(id)) {
49
+ return code;
50
+ }
51
+ const stat = await fsPromise.stat(id);
52
+ if (stat.isDirectory()) {
53
+ return code;
54
+ }
55
+ const basename = path.basename(id);
56
+ if (basename === 'package.json') {
57
+ let parsed = parseJson(id, code);
58
+ const nlsFile = path.resolve(path.dirname(id), 'package.nls.json');
59
+ if (fs.existsSync(nlsFile)) {
60
+ parsed = localizeManifest(parsed, parseJson(id, (await fsPromise.readFile(nlsFile)).toString()));
61
+ }
62
+ // Load extension package.json and package.nls.json as a json
63
+ return {
64
+ code: dataToEsm(parsed, {
65
+ compact: true,
66
+ namedExports: false,
67
+ preferConst: false
68
+ })
69
+ };
70
+ }
71
+ else {
72
+ // transform extension files to strings
73
+ return {
74
+ code: `export default ${JSON.stringify(code)};`,
75
+ map: { mappings: '' }
76
+ };
77
+ }
78
+ }
79
+ };
80
+ }
81
+
82
+ export { plugin as default };
@@ -1,8 +1,10 @@
1
1
  import { FilterPattern } from '@rollup/pluginutils';
2
2
  import { Plugin } from 'rollup';
3
+
3
4
  interface Options {
4
5
  include?: FilterPattern;
5
6
  exclude?: FilterPattern;
6
7
  }
7
- export default function plugin(options?: Options): Plugin;
8
- export {};
8
+ declare function plugin(options?: Options): Plugin;
9
+
10
+ export { plugin as default };
@@ -1,6 +1,8 @@
1
- import { createFilter } from '@rollup/pluginutils';
1
+ import { createFilter, dataToEsm } from '@rollup/pluginutils';
2
2
  import * as yauzl from 'yauzl';
3
+ import { p as parseJson, l as localizeManifest, e as extractPathsFromExtensionManifest } from './extension-tools-b2d018a3.js';
3
4
  import * as path from 'path';
5
+
4
6
  function read(stream) {
5
7
  const bufs = [];
6
8
  return new Promise((resolve) => {
@@ -40,23 +42,10 @@ async function readVsix(file) {
40
42
  });
41
43
  });
42
44
  }
43
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
- function extractPathsFromExtensionManifest(manifest) {
45
- const paths = [];
46
- for (const [key, value] of Object.entries(manifest)) {
47
- if (typeof value === 'string' && (key === 'path' || value.startsWith('./'))) {
48
- paths.push(value);
49
- }
50
- if (value != null && typeof value === 'object') {
51
- paths.push(...extractPathsFromExtensionManifest(value));
52
- }
53
- }
54
- return paths;
55
- }
56
45
  const defaultOptions = {
57
46
  include: '**/*.vsix'
58
47
  };
59
- export default function plugin(options = defaultOptions) {
48
+ function plugin(options = defaultOptions) {
60
49
  const filter = createFilter(options.include, options.exclude);
61
50
  const vsixFiles = {};
62
51
  return {
@@ -71,34 +60,54 @@ export default function plugin(options = defaultOptions) {
71
60
  return undefined;
72
61
  },
73
62
  async load(id) {
74
- const rawMatch = /vsix:(.*):(.*).raw/.exec(id);
63
+ const rawMatch = /vsix:(.*):(.*)\.raw/.exec(id);
75
64
  if (rawMatch != null) {
76
65
  const content = vsixFiles[rawMatch[1]][rawMatch[2]].toString('utf8');
77
66
  return `export default ${JSON.stringify(content)};`;
78
67
  }
79
- const match = /vsix:(.*):(.*)/.exec(id);
68
+ const match = /vsix:(.*):(.*)\.vsjson/.exec(id);
80
69
  if (match != null) {
81
- return vsixFiles[match[1]][match[2]].toString('utf8');
70
+ const file = match[2];
71
+ const vsixFile = vsixFiles[match[1]];
72
+ let parsed = parseJson(id, vsixFile[file].toString('utf8'));
73
+ if (file === 'package.json' && 'package.nls.json' in vsixFile) {
74
+ parsed = localizeManifest(parsed, parseJson(id, vsixFile['package.nls.json'].toString()));
75
+ }
76
+ return {
77
+ code: dataToEsm(parsed, {
78
+ compact: true,
79
+ namedExports: false,
80
+ preferConst: false
81
+ })
82
+ };
82
83
  }
83
84
  if (!filter(id))
84
85
  return null;
85
86
  const files = await readVsix(id);
86
- const manifest = JSON.parse(files['package.json'].toString('utf8'));
87
- const usedFiles = ['package.json', ...extractPathsFromExtensionManifest(manifest.contributes)];
88
- const vsixFile = usedFiles.reduce((acc, usedFile) => ({
89
- ...acc,
90
- [usedFile]: files[path.relative('/', path.resolve('/', usedFile))]
91
- }), {});
87
+ const manifest = parseJson(id, files['package.json'].toString('utf8'));
88
+ function getVsixPath(file) {
89
+ return path.relative('/', path.resolve('/', file));
90
+ }
91
+ const usedFiles = extractPathsFromExtensionManifest(manifest).filter(file => getVsixPath(file) in files);
92
+ const allFiles = ['package.json', 'package.nls.json', ...usedFiles];
93
+ const vsixFile = allFiles.reduce((acc, usedFile) => {
94
+ return ({
95
+ ...acc,
96
+ [usedFile]: files[getVsixPath(usedFile)]
97
+ });
98
+ }, {});
92
99
  vsixFiles[id] = vsixFile;
93
100
  return `
94
- import manifest from 'vsix:${id}:package.json'
101
+ import manifest from 'vsix:${id}:package.json.vsjson'
95
102
  import { registerExtension, onExtHostInitialized } from 'vscode/extensions'
96
103
  onExtHostInitialized(() => {
97
104
  const { registerFile } = registerExtension(manifest)
98
- ${Object.keys(vsixFile).map((filePath) => (`
105
+ ${usedFiles.map((filePath) => (`
99
106
  registerFile('${filePath}', async () => (await import('vsix:${id}:${filePath}.raw')).default)`))}
100
107
  })
101
108
  `;
102
109
  }
103
110
  };
104
111
  }
112
+
113
+ export { plugin as default };
@@ -17566,4 +17566,4 @@ declare function registerServiceInitializeParticipant(participant: ServiceInitia
17566
17566
  declare const onRenderWorkbench: Event$1<ServicesAccessor>;
17567
17567
  declare function initialize(overrides: IEditorOverrideServices): Promise<void>;
17568
17568
 
17569
- export { ContextKeyExprType, DialogType, IAction, IAudioCueService, IBaseDialogOptions, IBulkEditService, ICheckbox, ICheckboxResult, IClipboardService, ICodeEditorService, IColorTheme, ICommandService, IConfigurationChangeEvent, IConfigurationService, IConfirmDialogArgs, IConfirmation, IConfirmationResult, ICustomDialogMarkdown, ICustomDialogOptions, IDebugService, IDialogArgs, IDialogHandler, IDialogResult, IDialogService, IEditorGroupsService, IEditorService, IEditorWorkerService, IFileService, IHostService, IInput, IInputDialogArgs, IInputElement, IInputResult, IInstantiationService, ILanguageConfigurationService, ILanguageFeaturesService, ILanguageService, ILanguageStatusService, IMarkdownString, IMarkerService, IModelService, INeverShowAgainOptions, INotification, INotificationActions, INotificationHandle, INotificationProgress, INotificationProgressProperties, INotificationProperties, INotificationService, IOpenerService, IPaneCompositePartService, IPathService, IProductService, IPrompt, IPromptBaseButton, IPromptButton, IPromptCancelButton, IPromptChoice, IPromptChoiceWithMenu, IPromptDialogArgs, IPromptOptions, IPromptResult, IPromptResultWithCancel, IPromptWithCustomCancel, IPromptWithDefaultCancel, IQuickInputService, ISnippetsService, IStatusMessageOptions, IStorageService, ITelemetryService, ITextFileService, ITextModelContentProvider, ITextModelService, IThemeService, IUriIdentityService, IWorkbenchEnvironmentService, IWorkingCopyFileService, IWorkspaceContextService, MarkdownStringTrustedOptions, NeverShowAgainScope, NoOpNotification, NoOpProgress, NotificationMessage, NotificationPriority, NotificationsFilter, Severity$1 as Severity, StandaloneServices, StorageScope, StorageTarget, initialize, onRenderWorkbench, registerServiceInitializeParticipant };
17569
+ export { DialogType, IAction, IAudioCueService, IBaseDialogOptions, IBulkEditService, ICheckbox, ICheckboxResult, IClipboardService, ICodeEditorService, IColorTheme, ICommandService, IConfigurationChangeEvent, IConfigurationService, IConfirmDialogArgs, IConfirmation, IConfirmationResult, ICustomDialogMarkdown, ICustomDialogOptions, IDebugService, IDialogArgs, IDialogHandler, IDialogResult, IDialogService, IEditorGroupsService, IEditorService, IEditorWorkerService, IFileService, IHostService, IInput, IInputDialogArgs, IInputElement, IInputResult, IInstantiationService, ILanguageConfigurationService, ILanguageFeaturesService, ILanguageService, ILanguageStatusService, IMarkdownString, IMarkerService, IModelService, INeverShowAgainOptions, INotification, INotificationActions, INotificationHandle, INotificationProgress, INotificationProgressProperties, INotificationProperties, INotificationService, IOpenerService, IPaneCompositePartService, IPathService, IProductService, IPrompt, IPromptBaseButton, IPromptButton, IPromptCancelButton, IPromptChoice, IPromptChoiceWithMenu, IPromptDialogArgs, IPromptOptions, IPromptResult, IPromptResultWithCancel, IPromptWithCustomCancel, IPromptWithDefaultCancel, IQuickInputService, ISnippetsService, IStatusMessageOptions, IStorageService, ITelemetryService, ITextFileService, ITextModelContentProvider, ITextModelService, IThemeService, IUriIdentityService, IWorkbenchEnvironmentService, IWorkingCopyFileService, IWorkspaceContextService, MarkdownStringTrustedOptions, NeverShowAgainScope, NoOpNotification, NoOpProgress, NotificationMessage, NotificationPriority, NotificationsFilter, Severity$1 as Severity, StandaloneServices, StorageScope, StorageTarget, initialize, onRenderWorkbench, registerServiceInitializeParticipant };
package/dist/swift.js CHANGED
@@ -1,9 +1,2 @@
1
- import { registerExtension } from './api2.js';
2
- import { onExtHostInitialized } from './polyfill.js';
3
- var manifest = {name:"swift",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"*"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/swift.tmbundle Syntaxes/Swift.tmLanguage ./syntaxes/swift.tmLanguage.json"},contributes:{languages:[{id:"swift",aliases:["Swift","swift"],extensions:[".swift"],configuration:"./language-configuration.json"}],grammars:[{language:"swift",scopeName:"source.swift",path:"./syntaxes/swift.tmLanguage.json"}],snippets:[{language:"swift",path:"./snippets/swift.code-snippets"}]},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}};
4
- onExtHostInitialized(() => {
5
- const { registerFile } = registerExtension(manifest);
6
- registerFile('./language-configuration.json', async () => await import('./language-configuration36.js').then(module => module.default ?? module)),
7
- registerFile('./syntaxes/swift.tmLanguage.json', async () => await import('./swift.tmLanguage.js').then(module => module.default ?? module)),
8
- registerFile('./snippets/swift.code-snippets', async () => await import('./swift2.js').then(module => module.default ?? module));
9
- });
1
+ var swift = "{\n\t\"print\": {\n\t\t\"prefix\": \"print\",\n\t\t\"body\": \"print(\\\"$1\\\")\\n$0\",\n\t\t\"description\": \"print(\\\"...\\\")\"\n\t},\n\t\"print value\": {\n\t\t\"prefix\": \"printv\",\n\t\t\"body\": \"print(\\\"\\\\($1)\\\")\\n$0\",\n\t\t\"description\": \"print(\\\"\\\\(...)\\\")\"\n\t},\n\t\"while\": {\n\t\t\"prefix\": \"while\",\n\t\t\"body\": [\n\t\t\t\"while ${1:condition} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"while statement\"\n\t},\n\t\"repeat-while\": {\n\t\t\"prefix\": \"repeat\",\n\t\t\"body\": [\n\t\t\t\"repeat {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"} while ${1:condition}\"\n\t\t],\n\t\t\"description\": \"repeat-while statement\"\n\t},\n\t\"for\": {\n\t\t\"prefix\": \"for\",\n\t\t\"body\": [\n\t\t\t\"for ${1:item} in ${2:collection} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"for-in statement\"\n\t},\n\t\"if\": {\n\t\t\"prefix\": \"if\",\n\t\t\"body\": [\n\t\t\t\"if ${1:condition} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"if statement\"\n\t},\n\t\"else if\": {\n\t\t\"prefix\": \"elif\",\n\t\t\"body\": [\n\t\t\t\"else if ${1:condition} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"else clause with a nested if statement\"\n\t},\n\t\"else\": {\n\t\t\"prefix\": \"else\",\n\t\t\"body\": [\n\t\t\t\"else {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"else clause\"\n\t},\n\t\"if let\": {\n\t\t\"prefix\": \"iflet\",\n\t\t\"body\": [\n\t\t\t\"if let ${1:value} = ${2:optional} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"if statement with optional binding\"\n\t},\n\t\"guard\": {\n\t\t\"prefix\": \"guard\",\n\t\t\"body\": [\n\t\t\t\"guard ${1:condition} else {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"guard statement\"\n\t},\n\t\"guard let\": {\n\t\t\"prefix\": \"guardlet\",\n\t\t\"body\": [\n\t\t\t\"guard let ${1:value} = ${2:optional} else {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"guard statement with optional binding\"\n\t},\n\t\"switch\": {\n\t\t\"prefix\": \"switch\",\n\t\t\"body\": [\n\t\t\t\"switch ${1:value} {\",\n\t\t\t\"case ${2:pattern}:\",\n\t\t\t\"\\t$0\",\n\t\t\t\"default:\",\n\t\t\t\"\\t\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"switch statement\"\n\t},\n\t\"do\": {\n\t\t\"prefix\": \"do\",\n\t\t\"body\": [\n\t\t\t\"do {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"} catch ${1:error} {\",\n\t\t\t\"\\t$2\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"do statement\"\n\t},\n\t\"func\": {\n\t\t\"prefix\": \"func\",\n\t\t\"body\": [\n\t\t\t\"func ${1:name}(${2:parameters}) -> ${3:Type} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"function declaration\"\n\t},\n\t\"struct\": {\n\t\t\"prefix\": \"struct\",\n\t\t\"body\": [\n\t\t\t\"struct ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"struct declaration\"\n\t},\n\t\"enum\": {\n\t\t\"prefix\": \"enum\",\n\t\t\"body\": [\n\t\t\t\"enum ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\tcase $0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"enum declaration\"\n\t},\n\t\"class\": {\n\t\t\"prefix\": \"class\",\n\t\t\"body\": [\n\t\t\t\"class ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"class declaration\"\n\t},\n\t\"protocol\": {\n\t\t\"prefix\": \"protocol\",\n\t\t\"body\": [\n\t\t\t\"protocol ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"protocol declaration\"\n\t},\n\t\"extension\": {\n\t\t\"prefix\": \"extension\",\n\t\t\"body\": [\n\t\t\t\"extension ${1:Type} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"extension declaration\"\n\t}\n}\n";
2
+ export { swift as default };
@@ -0,0 +1,34 @@
1
+ import { ACTIVE_GROUP, SIDE_GROUP, preferredSideBySideGroupDirection } from './missing-services.js';
2
+ var EditorActivation;
3
+ ( (function(EditorActivation) {
4
+ EditorActivation[EditorActivation["ACTIVATE"] = 1] = "ACTIVATE";
5
+ EditorActivation[EditorActivation["RESTORE"] = 2] = "RESTORE";
6
+ EditorActivation[EditorActivation["PRESERVE"] = 3] = "PRESERVE";
7
+ })(EditorActivation || (EditorActivation = {})));
8
+ var EditorResolution;
9
+ ( (function(EditorResolution) {
10
+ EditorResolution[EditorResolution["PICK"] = 0] = "PICK";
11
+ EditorResolution[EditorResolution["EXCLUSIVE_ONLY"] = 1] = "EXCLUSIVE_ONLY";
12
+ })(EditorResolution || (EditorResolution = {})));
13
+ function columnToEditorGroup(editorGroupService, configurationService, column = ACTIVE_GROUP) {
14
+ if (column === ACTIVE_GROUP || column === SIDE_GROUP) {
15
+ return column;
16
+ }
17
+ let groupInColumn = editorGroupService.getGroups(2 )[column];
18
+ if (!groupInColumn && column < 9) {
19
+ for (let i = 0; i <= column; i++) {
20
+ const editorGroups = editorGroupService.getGroups(2 );
21
+ if (!editorGroups[i]) {
22
+ editorGroupService.addGroup(editorGroups[i - 1], preferredSideBySideGroupDirection(configurationService));
23
+ }
24
+ }
25
+ groupInColumn = editorGroupService.getGroups(2 )[column];
26
+ }
27
+ return groupInColumn?.id ?? SIDE_GROUP;
28
+ }
29
+ function editorGroupToColumn(editorGroupService, editorGroup) {
30
+ const group = (typeof editorGroup === 'number') ? editorGroupService.getGroup(editorGroup) : editorGroup;
31
+ return editorGroupService.getGroups(2 ).indexOf(group ?? editorGroupService.activeGroup);
32
+ }
33
+ class AbstractTextEditor {}
34
+ export { AbstractTextEditor, EditorActivation, EditorResolution, columnToEditorGroup, editorGroupToColumn };