From 5c0f51313b8c2191816cc1c0b0580ed09eddc906 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Fri, 14 Jul 2017 15:21:35 -0700 Subject: [PATCH] enable markdown extension API --- extensions/markdown/package.json | 5 --- extensions/markdown/package.nls.json | 1 - extensions/markdown/src/extension.ts | 65 +++++++++++++--------------- 3 files changed, 29 insertions(+), 42 deletions(-) diff --git a/extensions/markdown/package.json b/extensions/markdown/package.json index 33d53cc5a01..afea69d0ba2 100644 --- a/extensions/markdown/package.json +++ b/extensions/markdown/package.json @@ -199,11 +199,6 @@ "default": true, "description": "%markdown.preview.doubleClickToSwitchToEditor.desc%" }, - "markdown.enableExperimentalExtensionApi": { - "type": "boolean", - "default": false, - "description": "%markdown.preview.enableExperimentalExtensionApi.desc%" - }, "markdown.trace": { "type": "string", "enum": [ diff --git a/extensions/markdown/package.nls.json b/extensions/markdown/package.nls.json index 11e191a7732..4001f3cb92e 100644 --- a/extensions/markdown/package.nls.json +++ b/extensions/markdown/package.nls.json @@ -13,6 +13,5 @@ "markdown.showSource.title" : "Show Source", "markdown.styles.dec": "A list of URLs or local paths to CSS style sheets to use from the markdown preview. Relative paths are interpreted relative to the folder open in the explorer. If there is no open folder, they are interpreted relative to the location of the markdown file. All '\\' need to be written as '\\\\'.", "markdown.showPreviewSecuritySelector.title": "Change Markdown Preview Security Settings", - "markdown.preview.enableExperimentalExtensionApi.desc": "[Experimental] Allow extensions to extend the markdown preview.", "markdown.trace.desc": "Enable debug logging for the markdown extension." } \ No newline at end of file diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts index 01f34895148..e9d952f805f 100644 --- a/extensions/markdown/src/extension.ts +++ b/extensions/markdown/src/extension.ts @@ -54,49 +54,42 @@ export function activate(context: vscode.ExtensionContext) { const contentProvider = new MDDocumentContentProvider(engine, context, cspArbiter, logger); const contentProviderRegistration = vscode.workspace.registerTextDocumentContentProvider('markdown', contentProvider); const previewSecuritySelector = new PreviewSecuritySelector(cspArbiter, contentProvider); - if (vscode.workspace.getConfiguration('markdown').get('enableExperimentalExtensionApi', false)) { - for (const extension of vscode.extensions.all) { - const contributes = extension.packageJSON && extension.packageJSON.contributes; - if (!contributes) { - continue; - } - let styles = contributes['markdown.previewStyles']; - if (styles) { - if (!Array.isArray(styles)) { - styles = [styles]; - } - for (const style of styles) { - try { - contentProvider.addStyle(resolveExtensionResources(extension, style)); - } catch (e) { - // noop - } - } - } + for (const extension of vscode.extensions.all) { + const contributes = extension.packageJSON && extension.packageJSON.contributes; + if (!contributes) { + continue; + } - let scripts = contributes['markdown.previewScripts']; - if (scripts) { - if (!Array.isArray(scripts)) { - scripts = [scripts]; - } - for (const script of scripts) { - try { - contentProvider.addScript(resolveExtensionResources(extension, script)); - } catch (e) { - // noop - } + const styles = contributes['markdown.previewStyles']; + if (styles && Array.isArray(styles)) { + for (const style of styles) { + try { + contentProvider.addStyle(resolveExtensionResources(extension, style)); + } catch (e) { + // noop } } + } - if (contributes['markdownit.plugins']) { - extension.activate().then(() => { - if (extension.exports && extension.exports.extendMarkdownIt) { - engine.addPlugin((md: any) => extension.exports.extendMarkdownIt(md)); - } - }); + const scripts = contributes['markdown.previewScripts']; + if (scripts && Array.isArray(scripts)) { + for (const script of scripts) { + try { + contentProvider.addScript(resolveExtensionResources(extension, script)); + } catch (e) { + // noop + } } } + + if (contributes['markdown.markdownItPlugins']) { + extension.activate().then(() => { + if (extension.exports && extension.exports.extendMarkdownIt) { + engine.addPlugin((md: any) => extension.exports.extendMarkdownIt(md)); + } + }); + } } const symbolsProvider = new MDDocumentSymbolProvider(engine);