| 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); |
| } |