Scarlet Devil Mansion

RemiConf

RemiConf is small library for Crystal to help define configuration files.

Source Code Repository

Example Usage

require "remiconf"
require "json"

module SomeProgram
  # Define a class to represent a configuration file.
  @[RemiConf::ConfigOpts(filename: "test.json", format: :json)]
  class Config
    include ::RemiConf::ConfigFile
    property username : String = ""
  end

  # Define a resolver that will automatically locate config files.
  res = RemiConf::Resolver.xdg("some-program")
  
  # Read the config
  config = Config.readConfig(res)
  puts config.username
end