From b9c166ad5d9b87ad8c54cb15bde360aa75821873 Mon Sep 17 00:00:00 2001 From: Stephane Levesque Date: Sat, 20 Oct 2018 20:46:29 -0400 Subject: [PATCH] :sparkles: Preview HTML link in editor fix #1 --- package.json | 7 ++++++- src/extension.ts | 13 +++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index fd89f21..badc22b 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,8 @@ "Other" ], "activationEvents": [ - "onCommand:extension.openLink" + "onCommand:extension.openLink", + "onCommand:extension.previewLink", ], "main": "./out/src/extension", "contributes": { @@ -40,6 +41,10 @@ { "command": "extension.openLink", "title": "link: Open link in editor (read-only)" + }, + { + "command": "extension.previewLink", + "title": "link: Preview link in editor" } ] }, diff --git a/src/extension.ts b/src/extension.ts index 0425710..5c44dd2 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -29,6 +29,19 @@ export function activate(context: vscode.ExtensionContext) { let provider = new LinkContentProvider(); let registration = vscode.workspace.registerTextDocumentContentProvider(linkScheme, provider); + let disposable0 = vscode.commands.registerCommand('extension.previewLink', () => { + let ibo = { + prompt: "url to preview", + placeHolder: "https://..." + } + vscode.window.showInputBox(ibo).then( async (link) => { + let webPanel = vscode.window.createWebviewPanel('PreviewHtml', 'Preview Link', -1, {enableFindWidget: true, enableScripts: true }); + const response = await got(link); + webPanel.webview.html = response.body; + webPanel.reveal(); + }); + }); + let disposable1 = vscode.commands.registerCommand('extension.openLink', () => { var ibo = { prompt: "url to download",