class Reline::Face

def self.[](name)

def self.[](name)
  @configs[name]
end

def self.config(name, &block)

def self.config(name, &block)
  @configs ||= {}
  @configs[name] = Config.new(name, &block)
end

def self.configs

def self.configs
  @configs.transform_values(&:definition)
end

def self.force_truecolor

def self.force_truecolor
  @force_truecolor = true
  @configs&.each_value(&:reconfigure)
end

def self.load_initial_configs

def self.load_initial_configs
  config(:default) do |conf|
    conf.define :default, style: :reset
    conf.define :enhanced, style: :reset
    conf.define :scrollbar, style: :reset
  end
  config(:completion_dialog) do |conf|
    conf.define :default, foreground: :bright_white, background: :gray
    conf.define :enhanced, foreground: :black, background: :white
    conf.define :scrollbar, foreground: :white, background: :gray
  end
end

def self.reset_to_initial_configs

def self.reset_to_initial_configs
  @configs = {}
  load_initial_configs
end

def self.truecolor?

def self.truecolor?
  @force_truecolor || %w[truecolor 24bit].include?(ENV['COLORTERM'])
end