Select Git revision
extension.ts 1.41 KiB
import { window, ExtensionContext, workspace, commands } from 'vscode';
import isDocker from './core/utils/isdocker';
import Recorder from './recorder/recorder';
import { extensionError as error } from './recorder/utils/log';
import { DepNodeProvider } from './view/deadlockPanel';
import { CommandTreeProvider } from './view/CommandTree';
import StartedMissionsView from './view/startedMissionsView';
import Controller from './core/controller';
export async function activate(context: ExtensionContext) {
new Controller(context);
window.showInformationMessage('Bienvenue sur Deadlock!');
const workspaceFolders = workspace.workspaceFolders?.toString() ?? '';
if (!workspaceFolders) window.showInformationMessage('Pas de répertoires ouverts');
const deadlockPanelProvider = new DepNodeProvider();
window.registerTreeDataProvider('deadlockPanel', deadlockPanelProvider);
window.registerWebviewViewProvider('startedMissions', new StartedMissionsView());
if (isDocker()) {
commands.executeCommand('setContext', 'deadlock.inContainer', true);
window.registerTreeDataProvider('commandTree', new CommandTreeProvider());
try {
Recorder.instance.run();
} catch (e) {
error('Could not run recorder');
error(JSON.stringify(e));
window.showErrorMessage("Le recorder n'a pas pu être lancé");
}
} else {
commands.executeCommand('setContext', 'deadlock.inContainer', false);
}
}