diff --git a/MultiversalDiplomacy/CommandLine/ImageOptions.cs b/MultiversalDiplomacy/CommandLine/ImageOptions.cs new file mode 100644 index 0000000..972ac9b --- /dev/null +++ b/MultiversalDiplomacy/CommandLine/ImageOptions.cs @@ -0,0 +1,15 @@ +using CommandLine; + +namespace MultiversalDiplomacy.CommandLine; + +[Verb("image", HelpText = "Generate an image of a game state.")] +public class ImageOptions +{ + [Value(0, HelpText = "Input file describing the game state to visualize, or - to read from stdin.")] + public string? InputFile { get; set; } + + public static void Execute(ImageOptions args) + { + throw new NotImplementedException(); + } +} diff --git a/MultiversalDiplomacy/CommandLine/ReplOptions.cs b/MultiversalDiplomacy/CommandLine/ReplOptions.cs new file mode 100644 index 0000000..539e8a8 --- /dev/null +++ b/MultiversalDiplomacy/CommandLine/ReplOptions.cs @@ -0,0 +1,18 @@ +using CommandLine; + +namespace MultiversalDiplomacy.CommandLine; + +[Verb("repl", HelpText = "Begin an interactive 5dplomacy session.")] +public class ReplOptions +{ + [Option('i', "input", HelpText = "Begin the repl session by executing the commands in this file.")] + public string? InputFile { get; set; } + + [Option('o', "output", HelpText = "Echo the repl session to this file. Specify a directory to autogenerate a filename.")] + public string? OutputFile { get; set; } + + public static void Execute(ReplOptions args) + { + throw new NotImplementedException(); + } +} diff --git a/MultiversalDiplomacy/Program.cs b/MultiversalDiplomacy/Program.cs index 72c0334..b07e568 100644 --- a/MultiversalDiplomacy/Program.cs +++ b/MultiversalDiplomacy/Program.cs @@ -9,9 +9,15 @@ internal class Program static void Main(string[] args) { var parser = Parser.Default; - var parseResult = parser.ParseArguments(args); + var parseResult = parser.ParseArguments( + args, + typeof(AdjudicateOptions), + typeof(ImageOptions), + typeof(ReplOptions)); parseResult - .WithParsed(AdjudicateOptions.Execute); + .WithParsed(AdjudicateOptions.Execute) + .WithParsed(ImageOptions.Execute) + .WithParsed(ReplOptions.Execute); } -} \ No newline at end of file +}