From 05f3f294e4c91a43fc78f014ff0e1e914d2b5af9 Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Thu, 21 Sep 2017 11:35:21 +0530 Subject: Adds Usable Options when data is kopied --- package.json | 3 ++- src/extension.ts | 33 ++++++++++++++++++++++++++------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 1ff17f0..1b5d56b 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@types/mocha": "^2.2.42" }, "dependencies": { - "axios": "^0.16.2" + "axios": "^0.16.2", + "copy-paste": "^1.3.0" } } diff --git a/src/extension.ts b/src/extension.ts index 4ee29f0..0b16250 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -3,6 +3,7 @@ // Import the module and reference it with the alias vscode in your code below import * as vscode from 'vscode'; import axios from 'axios'; +import * as ncp from 'copy-paste'; // this method is called when your extension is activated // your extension is activated the very first time the command is executed @@ -11,21 +12,24 @@ export function activate(context: vscode.ExtensionContext) { // Use the console to output diagnostic information (console.log) and errors (console.error) // This line of code will only be executed once when your extension is activated console.log('Congratulations, your extension "kopy-io-plugin" is now active!'); + console.log(ncp); // The command has been defined in the package.json file // Now provide the implementation of the command with registerCommand // The commandId parameter must match the command field in package.json - + let olaCommand = vscode.commands.registerCommand('extension.kopyit', (data) => { // The code you place here will be executed every time your command is executed const editor = vscode.window.activeTextEditor; const document = editor.document; - console.log(editor.selection); + // console.log(editor.selection); let selectedText = document.getText(new vscode.Range(editor.selection.start, editor.selection.end)); - console.log(selectedText); - + // console.log(selectedText); + ncp.copy(selectedText, () => { + console.log("Copied to Clipboard"); + }); axios({ method: 'post', url: 'http://kopy.io/documents', @@ -33,12 +37,27 @@ export function activate(context: vscode.ExtensionContext) { }).then((response) => { if(response.status===200){ // vscode.window.showInformationMessage('kopy.io Url : https://kopy.io/'+response.data.key); - vscode.window.showInformationMessage('Kopy.io It successfully',...['open']).then((selection) => { - vscode.commands.executeCommand('vscode.open', vscode.Uri.parse('https://kopy.io/'+response.data.key)) - }); + // vscode.window.showInformationMessage('Kopy.io It successfully',...['Open kopy.io',]).then((selection) => { + // vscode.commands.executeCommand('vscode.open', vscode.Uri.parse('https://kopy.io/'+response.data.key)) + // }); + vscode.window.showQuickPick(['Open kopy.io', 'Copy URL to Clipboard', 'Close']) + .then((val) => { + // vscode.window.showInformationMessage('You picked ' + val) + if (val === 'Open kopy.io') { + vscode.commands.executeCommand('vscode.open', vscode.Uri.parse('https://kopy.io/'+response.data.key)) + } else if (val === 'Copy URL to Clipboard') { + ncp.copy('https://kopy.io/' + response.data.key, () => { + vscode.window.showInformationMessage('URL is on your Clipboard'); + }); + } else { + return false; + } + }); }else{ vscode.window.showErrorMessage('Cannot post the selected text to kopy.io'); } + + }).catch((error) => { console.log("kopy.io Error", error); vscode.window.showErrorMessage('Cannot post the selected text to kopy.io'); -- cgit v1.2.3