diff --git a/src/extension.ts b/src/extension.ts index 66cc7ee..af8daef 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -2,50 +2,65 @@ import * as vscode from 'vscode'; import { getLogStatementWithText } from './helpers'; export function activate(context: vscode.ExtensionContext) { - console.log('Congratulations, your extension "Universal Console Utils" is now active!'); + console.log( + 'Congratulations, your extension "Universal Console Utils" is now active!' + ); - const insertLogStatement = vscode.commands.registerCommand('universal-console-utils.insertLogStatement', () => { + const insertLogStatement = vscode.commands.registerCommand( + 'universal-console-utils.insertLogStatement', + () => { + const editor = vscode.window.activeTextEditor; + if (!editor) { + return; + } - const editor = vscode.window.activeTextEditor; - if (!editor) { return; } - - const text = editor.selections.map((sel: vscode.Selection) => - editor.document.getText(sel) - ); - vscode.commands.executeCommand('editor.action.insertLineAfter') - .then(() => { - text.reduce((acc: Promise, _text: string, index: number) => { - return acc.then(res => { - return new Promise(resolve => { - const logToInsert = getLogStatementWithText(_text, editor.document.languageId); - const range = new vscode.Range(editor.selections[index].start, editor.selections[index].end); - editor.edit((editBuilder: vscode.TextEditorEdit) => { - editBuilder.replace(range, logToInsert); - }).then(() => resolve()); - }); - }); - }, Promise.resolve()); - }) - .then(() => cursorPlacement()); - return; - }); - context.subscriptions.push(insertLogStatement); + const text = editor.selections.map((sel: vscode.Selection) => + editor.document.getText(sel) + ); + vscode.commands + .executeCommand('editor.action.insertLineAfter') + .then(() => { + text.reduce((acc: Promise, _text: string, index: number) => { + return acc.then((res) => { + return new Promise((resolve) => { + const logToInsert = getLogStatementWithText( + _text, + editor.document.languageId + ); + const range = new vscode.Range( + editor.selections[index].start, + editor.selections[index].end + ); + editor + .edit((editBuilder: vscode.TextEditorEdit) => { + editBuilder.replace(range, logToInsert); + }) + .then(() => resolve()); + }); + }); + }, Promise.resolve()); + }) + .then(() => cursorPlacement()); + return; + } + ); + context.subscriptions.push(insertLogStatement); } function cursorPlacement() { - // release the selection caused by inserting - vscode.commands.executeCommand('cursorMove', { - to: 'right', - by: 'line', - value: 1 - }); - // position the cursor inside the parenthesis - vscode.commands.executeCommand('cursorMove', { - to: 'left', - by: 'line', - value: 1 - }); + // release the selection caused by inserting + vscode.commands.executeCommand('cursorMove', { + to: 'right', + by: 'line', + value: 1, + }); + // position the cursor inside the parenthesis + vscode.commands.executeCommand('cursorMove', { + to: 'left', + by: 'line', + value: 1, + }); } // this method is called when your extension is deactivated -export function deactivate() { } +export function deactivate() {} diff --git a/src/test/runTest.ts b/src/test/runTest.ts deleted file mode 100644 index 1eabfa3..0000000 --- a/src/test/runTest.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as path from 'path'; - -import { runTests } from 'vscode-test'; - -async function main() { - try { - // The folder containing the Extension Manifest package.json - // Passed to `--extensionDevelopmentPath` - const extensionDevelopmentPath = path.resolve(__dirname, '../../'); - - // The path to test runner - // Passed to --extensionTestsPath - const extensionTestsPath = path.resolve(__dirname, './suite/index'); - - // Download VS Code, unzip it and run the integration test - await runTests({ extensionDevelopmentPath, extensionTestsPath }); - } catch (err) { - console.error('Failed to run tests'); - process.exit(1); - } -} - -main(); diff --git a/src/test/suite/extension.test.ts b/src/test/suite/extension.test.ts deleted file mode 100644 index 08a6f78..0000000 --- a/src/test/suite/extension.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import * as assert from 'assert'; - -// You can import and use all API from the 'vscode' module -// as well as import your extension to test it -import * as vscode from 'vscode'; -// import * as myExtension from '../../extension'; - -suite('Extension Test Suite', () => { - vscode.window.showInformationMessage('Start all tests.'); - - test('Sample test', () => { - assert.equal(-1, [1, 2, 3].indexOf(5)); - assert.equal(-1, [1, 2, 3].indexOf(0)); - }); -}); diff --git a/src/test/suite/index.ts b/src/test/suite/index.ts deleted file mode 100644 index 7029e38..0000000 --- a/src/test/suite/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import * as path from 'path'; -import * as Mocha from 'mocha'; -import * as glob from 'glob'; - -export function run(): Promise { - // Create the mocha test - const mocha = new Mocha({ - ui: 'tdd', - color: true - }); - - const testsRoot = path.resolve(__dirname, '..'); - - return new Promise((c, e) => { - glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { - if (err) { - return e(err); - } - - // Add files to the test suite - files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); - - try { - // Run the mocha test - mocha.run(failures => { - if (failures > 0) { - e(new Error(`${failures} tests failed.`)); - } else { - c(); - } - }); - } catch (err) { - console.error(err); - e(err); - } - }); - }); -}