-
Notifications
You must be signed in to change notification settings - Fork 1
/
extension.js
44 lines (35 loc) · 1.53 KB
/
extension.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
const vscode = require('vscode');
const NpmScriptsProvider = require('./src/view/nodeView');
const PagesProvider = require('./src/view/pageView');
const { openWhistle, executeCommand, loadWhistle, setPackageManager } = require('./src/utils');
function activate(context) {
const terminals = new Map();
const rootPath = vscode.workspace.rootPath;
vscode.window.onDidCloseTerminal(term => terminals.delete(term.name));
const npmScriptsProvider = new NpmScriptsProvider(context, rootPath);
vscode.window.registerTreeDataProvider(
'whistleScripts',
npmScriptsProvider
);
vscode.commands.registerCommand('whistle.npmScripts.executeCommand', (script) => {
executeCommand(terminals, script.command);
});
vscode.commands.registerCommand('whistle.npmScripts.refresh', () => npmScriptsProvider.refresh());
loadWhistle(context)
vscode.window.registerTreeDataProvider('whistlePages', new PagesProvider(context, rootPath));
vscode.commands.registerCommand('whistle.pages.openFile', (page) => (
openWhistle(context, page.command)
));
context.subscriptions.push(vscode.commands.registerCommand('whistle.npmScripts.setProxyPort', () =>(
setPackageManager()
)));
}
exports.activate = activate;
// this method is called when your extension is deactivated
function deactivate() {}
module.exports = {
activate,
deactivate
}