import 'package:aoc2020/aoc2020.dart'; import 'package:args/args.dart'; ArgResults argResults; const dayOption = 'day'; const listOption = 'list'; const runAllOption = 'runAll'; const runLastOption = 'runLast'; const testOnlyOption = 'testOnly'; void main(List arguments) { final parser = ArgParser() ..addOption(dayOption, abbr: 'd', help: 'Select the day') ..addFlag(listOption, abbr: 'l', help: 'List available days') ..addFlag(runAllOption, abbr: 'a', help: 'Run all available days') ..addFlag(runLastOption, abbr: 'r', help: 'Run last available day') ..addFlag(testOnlyOption, abbr: 't', defaultsTo: true, help: 'Run last available day in test only'); argResults = parser.parse(arguments); if (argResults[dayOption] != null) { } else if (argResults[listOption]) { aoc2020.list(); } else if (argResults[runAllOption]) { aoc2020.runAll(testOnly: argResults[testOnlyOption]); } else { aoc2020.runLast(testOnly: argResults[testOnlyOption]); } }