private void InvokeHelp(HelpOptions help) { string instruction = "Syntax: ProcessManager.exe verb [options]\n\nAvailable verbs:"; if (help.All) { var allOptions = CommandLineOptions.GetAllOptions(typeof(RootOptions)); ConsoleRenderer.RenderDocument(View.HelpAllOptionsList(allOptions, instruction)); return; } Type optionsType = typeof(RootOptions); if (help.Verb != null) { instruction = $"Syntax: ProcessManager.exe {help.Verb} [options]\n\nAvailable {help.Verb} options:"; optionsType = CommandLineOptions.GetVerbTypeByName(optionsType, help.Verb); } if (optionsType == null) { ConsoleRenderer.RenderDocument(View.Error($"Verb {help.Verb} not supported.")); return; } var options = CommandLineOptions.GetOptions(optionsType); ConsoleRenderer.RenderDocument(View.HelpOptionsList(options, instruction)); }
public static void Main(string[] args) { /* * args = { * -name hhhh -age 69.3d -arr okay then ecks dee "no u" -efficiency 21 40 * } */ foreach (string arg in args) { Console.WriteLine($"Argument: {arg}"); } ArgsParser parser = new ArgsParser(args); HelpOptions help = new HelpOptions("Demo"); help.AddCommand("doit", ParameterType.Flag, "DO it lol", parser); help.AddCommand("delsys32", ParameterType.Flag, "Delete system32", parser); help.AddCommand("name", ParameterType.String, "The name of the person", parser); help.AddCommand("arr", ParameterType.StringArray, "An array of stuff idek lol", parser); help.AddCommand("age", ParameterType.Number, "The age of the person", parser); help.AddCommand("efficiency", ParameterType.Range, "The efficiency of the person", parser); help.Write(); CommandOptions options = parser.ForceParse(0); if (options.HasFlag("doit")) { } else { Console.WriteLine("Doesnt have DoIt parameter"); } if (options.HasFlag("delsys32")) { Console.WriteLine("Deleting system32..."); } if (options.TryGetString("name", out string name)) { Console.WriteLine($"Name: {name}"); } if (options.TryGetNumber("age", out double age)) { Console.WriteLine($"Age: {age}"); } if (options.TryGetRange("efficiency", out double a, out double b)) { Console.WriteLine($"Efficiency: {a}, {b}"); } if (options.TryGetStringArray("arr", out string[] arr))
private void InvokeHelp(HelpOptions help) { HelpView.Help(HelpParts.All).Render(); }
/// <include file='doc.xml' path='doc/ShowHelp/*'/> public abstract void ShowHelp(string path, string topic, HelpOptions options);
private void InvokeHelp(HelpOptions help) { HelpView.HelpVerb(help.Verb, help.All).Render(); }