import "reflect-metadata"; import * as vscode from 'vscode'; import { InjectDecoratorMetadata } from "./Generic"; export function InputBox(placeholder: string, nullable: boolean) : any { return async function (target: any, methodName: string, parameterIndex: number) { InjectDecoratorMetadata.register( target, methodName, parameterIndex, async () => { const value : string | undefined = await vscode.window.showInputBox({placeHolder: placeholder}); if((!value && nullable) || value){ return value; } throw new Error("Input not provided"); } ); } }