namespace Terminal.Gui.Configuration;
///
/// Describes the location of the configuration settings. The constants can be combined (bitwise) to specify multiple
/// locations. The more significant the bit, the higher the priority the location, meaning that the last location will
/// override the
/// earlier ones.
///
[Flags]
public enum ConfigLocations
{
///
/// No locaitons are specified. This is the default value.
///
None = 0b_0000_0000,
///
/// Settings of the static properites when the module is
/// initiallly loaded.
///
/// When the module is initialized, the will retrieve the values of the
/// configuration
/// properties
/// from their corresponding static properties. These are default settigs available even if
///
/// is .
///
///
HardCoded = 0b_0000_0001,
///
/// Settings defined in Terminal.Gui.dll's resources (Terminal.Gui.Resources.config.json).
///
LibraryResources = 0b_0000_0010,
///
/// App resources (e.g. MyApp.Resources.config.json). See .
///
AppResources = 0b_0000_0100,
///
/// Settings in the static property.
///
Runtime = 0b_0000_1000,
///
/// Global settings in the current directory (e.g. ./.tui/config.json).
///
GlobalCurrent = 0b_0001_0000,
///
/// Global settings in the home directory (e.g. ~/.tui/config.json).
///
GlobalHome = 0b_0010_0000,
///
/// App settings in the current directory (e.g. ./.tui/MyApp.config.json).
///
AppCurrent = 0b_0100_0000,
///
/// App settings in the home directory (e.g. ~/.tui/MyApp.config.json).
///
AppHome = 0b_1000_0000,
/// This constant is a combination of all locations
All = 0b_1111_1111
}