import CommanderCommand  from '../../CommanderCommand';
import ExerciseRunHelper from '../../../helpers/Dojo/ExerciseRunHelper';
import GlobalHelper      from '../../../helpers/GlobalHelper';


class ExerciseRunCommand extends CommanderCommand {
    protected commandName: string = 'run';

    protected defineCommand() {
        GlobalHelper.runCommandDefinition(this.command)
            .description('locally run an exercise')
            .action(this.commandAction.bind(this));
    }

    protected async commandAction(options: { path: string, verbose: boolean, superVerbose: boolean }): Promise<void> {
        await (new ExerciseRunHelper(options)).run();
    }
}


export default new ExerciseRunCommand();