[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / mlir / utils / vscode / src / command.ts
blob4623a5bed085ae8a2ff687e37e44f63f13f4d91d
1 import * as vscode from 'vscode';
2 import {MLIRContext} from './mlirContext';
4 /**
5  * This class represents a base vscode command. It handles all of the necessary
6  * command registration and disposal boilerplate.
7  */
8 export abstract class Command extends vscode.Disposable {
9   private disposable: vscode.Disposable;
10   protected context: MLIRContext;
12   constructor(command: string, context: MLIRContext) {
13     super(() => this.dispose());
14     this.disposable =
15         vscode.commands.registerCommand(command, this.execute, this);
16     this.context = context;
17   }
19   dispose() { this.disposable && this.disposable.dispose(); }
21   /**
22    * The function executed when this command is invoked.
23    */
24   abstract execute(...args: any[]): any;