/// <summary> /// /// </summary> /// <param name="e"></param> protected virtual void OnFormatOptionHelpText(FormatOptionHelpTextEventArgs e) { EventHandler <FormatOptionHelpTextEventArgs> handler = FormatOptionHelpText; if (handler != null) { handler(this, e); } }
private void AddOption(string requiredWord, int maxLength, BaseOptionAttribute option, int widthOfHelpText) { _optionsHelp.Append(" "); var optionName = new StringBuilder(maxLength); if (option.HasShortName) { if (_addDashesToOption) { optionName.Append('-'); } optionName.AppendFormat("{0}", option.ShortName); if (option.HasMetaValue) { optionName.AppendFormat(" {0}", option.MetaValue); } if (option.HasLongName) { optionName.Append(", "); } } if (option.HasLongName) { if (_addDashesToOption) { optionName.Append("--"); } optionName.AppendFormat("{0}", option.LongName); if (option.HasMetaValue) { optionName.AppendFormat("={0}", option.MetaValue); } } _optionsHelp.Append(optionName.Length < maxLength ? optionName.ToString().PadRight(maxLength) : optionName.ToString()); _optionsHelp.Append(" "); if (option.HasDefaultValue) { option.HelpText = "(Default: {0}) ".FormatLocal(option.DefaultValue) + option.HelpText; } if (option.Required) { option.HelpText = "{0} ".FormatInvariant(requiredWord) + option.HelpText; } var e = new FormatOptionHelpTextEventArgs(option); OnFormatOptionHelpText(e); option.HelpText = e.Option.HelpText; if (!string.IsNullOrEmpty(option.HelpText)) { do { int wordBuffer = 0; var words = option.HelpText.Split(new[] { ' ' }); for (int i = 0; i < words.Length; i++) { if (words[i].Length < (widthOfHelpText - wordBuffer)) { _optionsHelp.Append(words[i]); wordBuffer += words[i].Length; if ((widthOfHelpText - wordBuffer) > 1 && i != words.Length - 1) { _optionsHelp.Append(" "); wordBuffer++; } } else if (words[i].Length >= widthOfHelpText && wordBuffer == 0) { _optionsHelp.Append(words[i].Substring(0, widthOfHelpText)); wordBuffer = widthOfHelpText; break; } else { break; } } option.HelpText = option.HelpText.Substring( Math.Min(wordBuffer, option.HelpText.Length)).Trim(); if (option.HelpText.Length > 0) { _optionsHelp.Append(Environment.NewLine); _optionsHelp.Append(new string(' ', maxLength + 6)); } } while (option.HelpText.Length > widthOfHelpText); } _optionsHelp.Append(option.HelpText); _optionsHelp.Append(Environment.NewLine); if (_additionalNewLineAfterOption) _optionsHelp.Append(Environment.NewLine); }
/// <summary> /// The OnFormatOptionHelpText method also allows derived classes to handle the event without attaching a delegate. /// This is the preferred technique for handling the event in a derived class. /// </summary> /// <param name="e">Data for the <see cref="FormatOptionHelpText"/> event.</param> protected virtual void OnFormatOptionHelpText(FormatOptionHelpTextEventArgs e) { EventHandler<FormatOptionHelpTextEventArgs> handler = FormatOptionHelpText; if (handler != null) { handler(this, e); } }
private void CustomizeOptionsFormat_FormatOptionHelpText(object sender, FormatOptionHelpTextEventArgs e) { // Simulating a localization process. string optionHelp = null; switch (e.Option.ShortName.Value) { case 'v': optionHelp = "Kommentar umfassend Operationen."; break; case 'i': optionHelp = "Gibt den Eingang an zu bearbeitenden Datei."; break; } if (e.Option.Required) { optionHelp = "Erforderlich. " + optionHelp; } e.Option.HelpText = optionHelp; }
private void Help_FormatOptionHelpText(object sender, FormatOptionHelpTextEventArgs e) { e.Option.HelpText = "##" + e.Option.HelpText + "#b#"; }
private void AddOption(string requiredWord, int maxLength, BaseOptionAttribute option, int widthOfHelpText) { _optionsHelp.Append(" "); StringBuilder optionName = new StringBuilder(maxLength); if (option.HasShortName) { optionName.AppendFormat("{0}", option.ShortName); if (option.HasLongName) { optionName.Append(", "); } } if (option.HasLongName) { optionName.AppendFormat("{0}", option.LongName); } if (optionName.Length < maxLength) { _optionsHelp.Append(optionName.ToString().PadRight(maxLength)); } else { _optionsHelp.Append(optionName.ToString()); } _optionsHelp.Append(" "); if (option.Required) { option.HelpText = String.Format("{0} ", requiredWord) + option.HelpText; } FormatOptionHelpTextEventArgs e = new FormatOptionHelpTextEventArgs(option); OnFormatOptionHelpText(e); option.HelpText = e.Option.HelpText; if (!string.IsNullOrEmpty(option.HelpText)) { do { int wordBuffer = 0; var words = option.HelpText.Split(new[] { ' ' }); for (int i = 0; i < words.Length; i++) { if (words[i].Length < (widthOfHelpText - wordBuffer)) { _optionsHelp.Append(words[i]); wordBuffer += words[i].Length; if ((widthOfHelpText - wordBuffer) > 1 && i != words.Length - 1) { _optionsHelp.Append(" "); wordBuffer++; } } else if (words[i].Length >= widthOfHelpText && wordBuffer == 0) { _optionsHelp.Append(words[i].Substring(0, widthOfHelpText)); wordBuffer = widthOfHelpText; break; } else { break; } } option.HelpText = option.HelpText.Substring(Math.Min(wordBuffer, option.HelpText.Length)).Trim(); if (option.HelpText.Length > 0) { _optionsHelp.Append(Environment.NewLine); _optionsHelp.Append(new string(' ', maxLength + 6)); } } while (option.HelpText.Length > widthOfHelpText); } _optionsHelp.Append(option.HelpText); _optionsHelp.Append(Environment.NewLine); if (_additionalNewLineAfterOption) { _optionsHelp.Append(Environment.NewLine); } }
private void AddOption(string requiredWord, int maxLength, BaseOptionAttribute option, int widthOfHelpText, bool fireEvent = true) { _optionsHelp.Append(" "); var optionName = new StringBuilder(maxLength); if (option.HasShortName) { if (_addDashesToOption) { optionName.Append('-'); } optionName.AppendFormat("{0}", option.ShortName); if (option.HasMetaValue) { optionName.AppendFormat(" {0}", option.MetaValue); } if (option.HasLongName) { optionName.Append(", "); } } if (option.HasLongName) { if (_addDashesToOption) { optionName.Append("--"); } optionName.AppendFormat("{0}", option.LongName); if (option.HasMetaValue) { optionName.AppendFormat("={0}", option.MetaValue); } } _optionsHelp.Append(optionName.Length < maxLength ? optionName.ToString().PadRight(maxLength) : optionName.ToString()); _optionsHelp.Append(" "); if (option.HasDefaultValue) { option.HelpText = "(Default: {0}) ".FormatLocal(option.DefaultValue) + option.HelpText; } if (option.Required) { option.HelpText = "{0} ".FormatInvariant(requiredWord) + option.HelpText; } if (fireEvent) { var e = new FormatOptionHelpTextEventArgs(option); OnFormatOptionHelpText(e); option.HelpText = e.Option.HelpText; } if (!string.IsNullOrEmpty(option.HelpText)) { do { var wordBuffer = 0; var words = option.HelpText.Split(new[] { ' ' }); for (var i = 0; i < words.Length; i++) { if (words[i].Length < (widthOfHelpText - wordBuffer)) { _optionsHelp.Append(words[i]); wordBuffer += words[i].Length; if ((widthOfHelpText - wordBuffer) > 1 && i != words.Length - 1) { _optionsHelp.Append(" "); wordBuffer++; } } else if (words[i].Length >= widthOfHelpText && wordBuffer == 0) { _optionsHelp.Append(words[i].Substring(0, widthOfHelpText)); wordBuffer = widthOfHelpText; break; } else { break; } } option.HelpText = option.HelpText.Substring( Math.Min(wordBuffer, option.HelpText.Length)).Trim(); if (option.HelpText.Length > 0) { _optionsHelp.Append(Environment.NewLine); _optionsHelp.Append(new string(' ', maxLength + 6)); } }while (option.HelpText.Length > widthOfHelpText); } _optionsHelp.Append(option.HelpText); _optionsHelp.Append(Environment.NewLine); if (_additionalNewLineAfterOption) { _optionsHelp.Append(Environment.NewLine); } }
private static void HelpText_FormatOptionHelpText(object sender, FormatOptionHelpTextEventArgs e) { Console.WriteLine("-{0} {1}", e.Option.ShortName, e.Option.HelpText); }