Setup day 4 command
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import 'package:adventofcode2025/day1/command.dart' as day1;
|
import 'package:adventofcode2025/day1/command.dart' as day1;
|
||||||
import 'package:adventofcode2025/day2/command.dart' as day2;
|
import 'package:adventofcode2025/day2/command.dart' as day2;
|
||||||
import 'package:adventofcode2025/day3/command.dart' as day3;
|
import 'package:adventofcode2025/day3/command.dart' as day3;
|
||||||
|
import 'package:adventofcode2025/day4/command.dart' as day4;
|
||||||
|
|
||||||
import 'package:args/command_runner.dart';
|
import 'package:args/command_runner.dart';
|
||||||
|
|
||||||
@@ -9,5 +10,6 @@ void main(List<String> arguments) {
|
|||||||
..addCommand(day1.Day1Command())
|
..addCommand(day1.Day1Command())
|
||||||
..addCommand(day2.Day2Command())
|
..addCommand(day2.Day2Command())
|
||||||
..addCommand(day3.Day3Command())
|
..addCommand(day3.Day3Command())
|
||||||
|
..addCommand(day4.Day4Command())
|
||||||
..run(arguments);
|
..run(arguments);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ class Day1Command extends Command {
|
|||||||
print(
|
print(
|
||||||
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
||||||
);
|
);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
var fileName = argResults!.rest[0];
|
var fileName = argResults!.rest[0];
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ class Day2Command extends Command {
|
|||||||
print(
|
print(
|
||||||
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
||||||
);
|
);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
var filePath = argResults!.rest[0];
|
var filePath = argResults!.rest[0];
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ class Day3Command extends Command {
|
|||||||
print(
|
print(
|
||||||
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
||||||
);
|
);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
var filePath = argResults!.rest[0];
|
var filePath = argResults!.rest[0];
|
||||||
|
|
||||||
|
|||||||
36
lib/day4/command.dart
Normal file
36
lib/day4/command.dart
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import "dart:convert";
|
||||||
|
import "dart:io";
|
||||||
|
|
||||||
|
import "package:args/command_runner.dart";
|
||||||
|
|
||||||
|
class Day4Command extends Command {
|
||||||
|
// The [name] and [description] properties must be defined by every
|
||||||
|
// subclass.
|
||||||
|
@override
|
||||||
|
final name = "day4";
|
||||||
|
|
||||||
|
@override
|
||||||
|
final description = "Run Advent of Code 2025 Day 3";
|
||||||
|
|
||||||
|
Day4Command() {
|
||||||
|
// we can add command specific arguments here.
|
||||||
|
// [argParser] is automatically created by the parent class.
|
||||||
|
}
|
||||||
|
|
||||||
|
// [run] may also return a Future.
|
||||||
|
@override
|
||||||
|
Future<void> run() async {
|
||||||
|
// [argResults] is set before [run()] is called and contains the flags/options
|
||||||
|
// passed to this command.
|
||||||
|
|
||||||
|
if (argResults!.rest.length != 1) {
|
||||||
|
print(
|
||||||
|
"Expected 1 positional arguments, found ${argResults!.rest.length}",
|
||||||
|
);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
var filePath = argResults!.rest[0];
|
||||||
|
|
||||||
|
print("Parsing file: $filePath");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user