static int Main(string[] args) { Frame f = null; try { if (args.Length > 0 && (args[0] == "--help" || args[0] == "/?")) { Console.WriteLine(Helpfile.Trim()); return(1); } f = new Frame(); int n = f.ParseArgs(args); if (n > 0) { return(n); } return(f.Run()); } catch (Exception ex) { Console.Error.WriteLine("Fatal error!"); if (f == null || f.Verbose) { Console.Error.WriteLine(ex.ToString()); } else { Console.Error.WriteLine("Run in verbose mode for more details!"); } return(2); } }
/// <summary> /// Gets the help string for a page. /// </summary> /// <returns>The string for a page.</returns> /// <param name="page">The page to get the string for.</param> public static string GetPageString(int page = 0) { if (Helpfile.LoadedLanguage != Settings.ActiveLocale) { Helpfile.init(); } if (page == 0) { page = 1; } int num = (page - 1) * Helpfile.ITEMS_PER_PAGE; if (num >= HelpCount) { num = 0; } var sb = new StringBuilder(); sb.Append(Helpfile.prefix.Replace("[PAGENUM]", page.ToString()).Replace("[TOTALPAGES]", PageCount.ToString())); int position = num; var enumer = help.GetEnumerator(); while (position < num + Helpfile.ITEMS_PER_PAGE) { if (position < Helpfile.help.Count) { sb.Append("-" + Helpfile.help[position] + "\n \n"); } else if (enumer.MoveNext()) { sb.Append("-" + GenerateString(enumer.Current) + "\n \n"); } else { break; } position++; } return(sb.Append("\n" + Helpfile.postfix).ToString()); }