using System.Runtime.CompilerServices;
using System.Diagnostics.CodeAnalysis;
namespace Terminal.Gui;
///
/// Contains module initializers that run when the Terminal.Gui assembly is loaded.
///
internal static class ModuleInitializers
{
///
/// Initializes the ConfigurationManager when the Terminal.Gui assembly is loaded.
/// Ensures configuration properties are loaded deterministically before any part
/// of the library is used.
///
[RequiresUnreferencedCode ("AOT")]
#pragma warning disable CA2255
[ModuleInitializer]
[RequiresDynamicCode ("Calls Terminal.Gui.ConfigurationManager.Initialize()")]
#pragma warning restore CA2255
internal static void InitializeConfigurationManager ()
{
// Initialize ConfigurationManager to ensure all configuration properties
// are loaded deterministically
ConfigurationManager.Initialize ();
// Note: We're only initializing the config properties structure here,
// not loading settings from files. That still happens during Application.Init()
// via InitializeConfigurationManagement()
}
}