using System.Text.Json; using CommandLine; using MultiversalDiplomacy.Model; namespace MultiversalDiplomacy.CommandLine; [Verb("adjudicate", HelpText = "Adjudicate a Multiversal Diplomacy game state.")] public class AdjudicateOptions { [Value(0, HelpText = "Input file describing the game state to adjudicate, or - to read from stdin.")] public string? InputFile { get; set; } public static void Execute(AdjudicateOptions args) { Stream input = args.InputFile switch { null => Console.OpenStandardInput(), "-" => Console.OpenStandardInput(), _ => new FileStream(args.InputFile!, FileMode.Open, FileAccess.Read), }; var state = JsonSerializer.Deserialize(input); throw new NotImplementedException(); } }