using System.Text.Json.Serialization; namespace Terminal.Gui.Configuration; // TODO: Change to internal to prevent app usage /// /// INTERNAL: The root object of Terminal.Gui configuration settings / JSON schema. Contains only properties attributed /// with /// . /// /// /// /// { /// "$schema" : "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", /// "Application.UseSystemConsole" : true, /// "Theme" : "Default", /// "Themes": { /// }, /// }, /// /// /// [JsonConverter (typeof (ScopeJsonConverter))] public class SettingsScope : Scope { /// /// Initializes a new instance. The dictionary will be populated with uninitialized ( /// /// public SettingsScope () { ConfigProperty? configProperty = GetUninitializedProperty ("Theme"); TryAdd ("Theme", configProperty); configProperty = GetUninitializedProperty ("Themes"); TryAdd ("Themes", configProperty); } /// Points to our JSON schema. [JsonInclude] [JsonPropertyName ("$schema")] public string Schema { get; set; } = "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json"; }