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";
}