diff --git a/extensions/markdown/src/markdownExtensions.ts b/extensions/markdown/src/markdownExtensions.ts index 6f6f1591aade951b4d685a01fdb57cbcaee60b90..a9ef207cf3873f7a55ca7276c5f48f128defa603 100644 --- a/extensions/markdown/src/markdownExtensions.ts +++ b/extensions/markdown/src/markdownExtensions.ts @@ -6,11 +6,25 @@ import * as vscode from 'vscode'; import * as path from 'path'; -const resolveExtensionResources = (extension: vscode.Extension, resourcePath: string): vscode.Uri => { +const resolveExtensionResource = (extension: vscode.Extension, resourcePath: string): vscode.Uri => { return vscode.Uri.file(path.join(extension.extensionPath, resourcePath)) .with({ scheme: 'vscode-resource' }); }; +const resolveExtensionResources = (extension: vscode.Extension, resourcePaths: any): vscode.Uri[] => { + const result: vscode.Uri[] = []; + if (Array.isArray(resourcePaths)) { + for (const resource of resourcePaths) { + try { + result.push(resolveExtensionResource(extension, resource)); + } catch (e) { + // noop + } + } + } + return result; +}; + export interface MarkdownContributions { readonly previewScripts: vscode.Uri[]; readonly previewStyles: vscode.Uri[]; @@ -86,32 +100,14 @@ class MarkdownExtensionContributions implements MarkdownContributions { contributes: any, extension: vscode.Extension ) { - const scripts = contributes['markdown.previewScripts']; - if (scripts && Array.isArray(scripts)) { - for (const script of scripts) { - try { - this._scripts.push(resolveExtensionResources(extension, script)); - } catch (e) { - // noop - } - } - } + this._scripts.push(...resolveExtensionResources(extension, contributes['markdown.previewScripts'])); } private tryLoadPreviewStyles( contributes: any, extension: vscode.Extension ) { - const styles = contributes['markdown.previewStyles']; - if (styles && Array.isArray(styles)) { - for (const style of styles) { - try { - this._styles.push(resolveExtensionResources(extension, style)); - } catch (e) { - // noop - } - } - } + this._styles.push(...resolveExtensionResources(extension, contributes['markdown.previewStyles'])); } }