private void ShowHelp(TextWriter writer, ModeParser specifiedMode = null) { writer.WriteLine($"Canvas {GetVersion()} {GetCopyright()}"); writer.WriteLine(); string modeName = specifiedMode?.Name ?? "[MODE]"; if (specifiedMode != null) { writer.WriteLine($"{specifiedMode.Name} - {specifiedMode.Description}"); writer.WriteLine(); } writer.WriteLine($"Usage: Canvas.exe {modeName} [OPTIONS]+"); writer.WriteLine(); if (specifiedMode == null) { writer.WriteLine("Available modes:"); foreach (var mode in _modeParsers.Values) { writer.WriteLine($"\t{mode.Name} - {mode.Description}"); } writer.WriteLine(); } writer.WriteLine("Options:"); if (specifiedMode != null) { specifiedMode.ShowHelp(writer); } BaseOptionsParser.ShowHelp(writer); }
private void ShowError(MainParser main, WriteLine errorWriter, string errorMessage) { errorWriter(errorMessage); errorWriter(" "); main.ShowHelp(errorWriter, this); }