import * as vscode from 'vscode';
import {registerMLIRExtensions} from './MLIR/mlir';
import {MLIRContext} from './mlirContext';
import {registerPDLLExtensions} from './PDLL/pdll';
/**
* This method is called when the extension is activated. The extension is
* activated the very first time a command is executed.
*/
export function activate(context: vscode.ExtensionContext) {
const outputChannel = vscode.window.createOutputChannel('MLIR');
context.subscriptions.push(outputChannel);
const mlirContext = new MLIRContext();
context.subscriptions.push(mlirContext);
// Initialize the commands of the extension.
context.subscriptions.push(
vscode.commands.registerCommand('mlir.restart', async () => {
// Dispose and reactivate the context.
mlirContext.dispose();
await mlirContext.activate(outputChannel);
}));
registerMLIRExtensions(context, mlirContext);
registerPDLLExtensions(context, mlirContext);
mlirContext.activate(outputChannel);
}