public string GetIndividualHelpString(ArgumentKey k)
        {
            StringBuilder  builder = new StringBuilder();
            IArgumentValue value2  = this.m_Switches[k];

            builder.Append("[" + k.Prefix + k.Symbol.ToUpper() + value2.ArgumentString() + "] ");
            string str = k.Symbol.ToUpper();

            if (k.Name.ToUpper().StartsWith(k.Symbol.ToUpper()))
            {
                str = str + k.Name.Substring(k.Symbol.Length);
            }
            else
            {
                str = str + " (" + k.Name + ")";
            }
            builder.AppendLine("  " + k.Prefix + str);
            builder.AppendLine("  " + value2.ShortHelp);
            builder.AppendLine();
            if (Helper.IsNotNullOrEmpty(value2.Help))
            {
                builder.AppendLine(ConsoleFormatter.StripFormat(value2.Help));
                builder.AppendLine();
            }
            return(builder.ToString());
        }
        public void WriteApplicationDocumentationToPath(string path)
        {
            StringBuilder builder = new StringBuilder();

            if (this.m_AboutTitleText != null)
            {
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_AboutTitleText));
                builder.AppendLine();
            }
            if (this.m_CreditsText != null)
            {
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_CreditsText));
                builder.AppendLine();
            }
            if (this.m_AboutText != null)
            {
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_AboutText));
                builder.AppendLine();
            }
            if (this.m_AboutTextLong != null)
            {
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_AboutTextLong));
                builder.AppendLine();
            }
            builder.AppendLine();
            builder.AppendLine();
            builder.AppendLine(new string('=', RugConsole.BufferWidth));
            builder.AppendLine();
            builder.AppendLine(ConsoleFormatter.StripFormat(string.Format("{0}:", Strings.ArgumentParser_AboutScreen_Usage)));
            if (this.m_UsageText != null)
            {
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_UsageText));
                builder.AppendLine();
                builder.AppendLine();
            }
            builder.AppendLine(this.GetLongArgumentsUsage());
            builder.AppendLine();
            if ((this.m_FirstArgument != null) && Helper.IsNotNullOrEmpty(this.m_FirstArgument.Help))
            {
                builder.AppendLine(new string('-', RugConsole.BufferWidth));
                builder.AppendLine("<" + this.m_FirstArgument.ArgumentString().Trim() + ">");
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_FirstArgument.Help));
                builder.AppendLine();
            }
            if ((this.m_DefaultArgument != null) && Helper.IsNotNullOrEmpty(this.m_DefaultArgument.Help))
            {
                builder.AppendLine(new string('-', RugConsole.BufferWidth));
                builder.AppendLine("<" + this.m_DefaultArgument.ArgumentString().Trim() + ">");
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_DefaultArgument.Help));
                builder.AppendLine();
            }
            foreach (ArgumentKey key in this.m_Switches.Keys)
            {
                builder.AppendLine(new string('-', RugConsole.BufferWidth));
                builder.Append(this.GetIndividualHelpString(key));
            }
            if (this.m_LegalText != null)
            {
                builder.AppendLine();
                builder.AppendLine();
                builder.AppendLine(new string('=', RugConsole.BufferWidth));
                builder.AppendLine(ConsoleFormatter.StripFormat(this.m_LegalText));
                builder.AppendLine();
            }
            try
            {
                File.WriteAllText(path, builder.ToString());
                RugConsole.Write(ConsoleVerbosity.Normal, ConsoleThemeColor.Text1, string.Format(Strings.ArgumentParser_DocumentationWrittenToPath, path));
            }
            catch (Exception exception)
            {
                RugConsole.WriteException(10, string.Format(Strings.Error_0010, path), exception);
            }
        }