The Config API provides functions for managing configuration values.

config.get(path, defaultValue)

Gets a config value by path, with support for dot notation.

Parameters: - path: The path to get the value from - defaultValue: The default value to return if the path doesn't exist

Example:

local theme = config.get("theme", "light")
print("Current theme: " .. theme)

config.set(path, value)

Sets a config value by path, with support for dot notation.

Parameters: - path: The path to set the value at - value: The value to set

Example:

config.set("theme", "dark")

config.set(values)

Sets multiple config values at once.

Parameters: - values: An object containing key-value pairs to set

Example:

config.set({
    theme = "dark",
    fontSize = 14
})

config.has(path)

Checks if a config path exists.

Parameters: - path: The path to check

Example:

if config.has("theme") then
    print("Theme is configured")
end

config.define(key, schema)

Defines a JSON schema for a configuration key. The schema will be used to validate values when setting this key.

Parameters: - key: The configuration key to define a schema for - schema: The JSON schema to validate against

Example:

config.define("theme", {
    type = "string",
    enum = {"light", "dark"}
})