public string GetHelpText() { StringBuilder builder = new StringBuilder(); builder.AppendLine("# Settings properties"); builder.AppendLine(); builder.AppendLine("- First col legend: C - loads from config on start, T - from temp settings, [EMPTY] - only from config"); builder.AppendLine("- Store here in config: xml: <item name=\"name\" value=\"value\"/>"); builder.AppendLine("- Make it store in temp settings: xml: <item name=\"name\"/>"); builder.AppendLine("- [:<filter>] using example: xml: <item name=\"name:*.cs;*.txt\" value=\"value for cs/txt file\"/>"); builder.AppendLine("- Set property by command dialog: name value (autocomplete supported by `Tab` or `Ctrl+Space`)"); builder.AppendLine("- Clear if several nodes allowed: xml: <item name=\"name\" value=\"\"/>"); builder.AppendLine(); TextTable table = new TextTable().SetMaxColWidth(33); Properties.AddHeadTo(table); table.AddLine(); bool first = true; Properties.Property prev = null; foreach (Properties.Property property in properties) { if (!first) { table.NewRow(); } first = false; if (prev != null && prev.Type != property.Type) { if (prev.GetHelpTypeText(table)) { table.NewRow(); } } property.GetHelpText(this, table); prev = property; } builder.Append(table); builder.AppendLine(); builder.Append(EncodingPair.GetEncodingsText()); return(builder.ToString()); }