const AYU_DARK_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/ayu_dark.toml"));
const AYU_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/ayu_light.toml"));
const AYU_MIRAGE_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/ayu_mirage.toml"));
const CATPPUCCIN_FRAPPE_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/catppuccin_frappe.toml"));
const CATPPUCCIN_LATTE_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/catppuccin_latte.toml"));
const CATPPUCCIN_MACCHIATO_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/catppuccin_macchiato.toml"));
const CATPPUCCIN_MOCHA_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/catppuccin_mocha.toml"));
const DRACULA_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/dracula.toml"));
const EVERFOREST_DARK_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/everforest_dark.toml"));
const EVERFOREST_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/everforest_light.toml"));
const FLEXOKI_DARK_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/flexoki_dark.toml"));
const FLEXOKI_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/flexoki_light.toml"));
const GITHUB_DARK_DIMMED_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/github_dark_dimmed.toml"));
const GITHUB_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/github_light.toml"));
const GRUVBOX_DARK_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/gruvbox_dark.toml"));
const GRUVBOX_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/gruvbox_light.toml"));
const KANAGAWA_DRAGON_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/kanagawa_dragon.toml"));
const KANAGAWA_LOTUS_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/kanagawa_lotus.toml"));
const KANAGAWA_WAVE_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/kanagawa_wave.toml"));
const LIGHT_OWL_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/light_owl.toml"));
const MONOKAI_PRO_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/monokai_pro.toml"));
const NIGHT_OWL_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/night_owl.toml"));
const NORD_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/nord.toml"));
const ONE_DARK_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/one_dark.toml"));
const ONE_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/one_light.toml"));
const PALENIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/palenight.toml"));
const ROSE_PINE_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/rose_pine.toml"));
const ROSE_PINE_DAWN_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/rose_pine_dawn.toml"));
const ROSE_PINE_MOON_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/rose_pine_moon.toml"));
const SILKCIRCUIT_DAWN_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/silkcircuit_dawn.toml"));
const SILKCIRCUIT_GLOW_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/silkcircuit_glow.toml"));
const SILKCIRCUIT_NEON_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/silkcircuit_neon.toml"));
const SILKCIRCUIT_SOFT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/silkcircuit_soft.toml"));
const SILKCIRCUIT_VIBRANT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/silkcircuit_vibrant.toml"));
const SOLARIZED_DARK_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/solarized_dark.toml"));
const SOLARIZED_LIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/solarized_light.toml"));
const TOKYO_NIGHT_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/tokyo_night.toml"));
const TOKYO_NIGHT_MOON_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/tokyo_night_moon.toml"));
const TOKYO_NIGHT_STORM_TOML: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/builtins/tokyo_night_storm.toml"));

/// Auto-generated list of (kebab-id, display-name) for all builtin themes.
const GENERATED_BUILTIN_NAMES: &[(&str, &str)] = &[
    ("ayu-dark", "Ayu Dark"),
    ("ayu-light", "Ayu Light"),
    ("ayu-mirage", "Ayu Mirage"),
    ("catppuccin-frappe", "Catppuccin Frappé"),
    ("catppuccin-latte", "Catppuccin Latte"),
    ("catppuccin-macchiato", "Catppuccin Macchiato"),
    ("catppuccin-mocha", "Catppuccin Mocha"),
    ("dracula", "Dracula"),
    ("everforest-dark", "Everforest Dark"),
    ("everforest-light", "Everforest Light"),
    ("flexoki-dark", "Flexoki Dark"),
    ("flexoki-light", "Flexoki Light"),
    ("github-dark-dimmed", "GitHub Dark Dimmed"),
    ("github-light", "GitHub Light"),
    ("gruvbox-dark", "Gruvbox Dark"),
    ("gruvbox-light", "Gruvbox Light"),
    ("kanagawa-dragon", "Kanagawa Dragon"),
    ("kanagawa-lotus", "Kanagawa Lotus"),
    ("kanagawa-wave", "Kanagawa Wave"),
    ("light-owl", "Light Owl"),
    ("monokai-pro", "Monokai Pro"),
    ("night-owl", "Night Owl"),
    ("nord", "Nord"),
    ("one-dark", "One Dark"),
    ("one-light", "One Light"),
    ("palenight", "Palenight"),
    ("rose-pine", "Rose Pine"),
    ("rose-pine-dawn", "Rose Pine Dawn"),
    ("rose-pine-moon", "Rose Pine Moon"),
    ("silkcircuit-dawn", "SilkCircuit Dawn"),
    ("silkcircuit-glow", "SilkCircuit Glow"),
    ("silkcircuit-neon", "SilkCircuit Neon"),
    ("silkcircuit-soft", "SilkCircuit Soft"),
    ("silkcircuit-vibrant", "SilkCircuit Vibrant"),
    ("solarized-dark", "Solarized Dark"),
    ("solarized-light", "Solarized Light"),
    ("tokyo-night", "Tokyo Night"),
    ("tokyo-night-moon", "Tokyo Night Moon"),
    ("tokyo-night-storm", "Tokyo Night Storm"),
];

/// Auto-generated TOML lookup by kebab-case ID.
fn generated_load_toml(id: &str) -> Option<&'static str> {
    match id {
        "ayu-dark" => Some(AYU_DARK_TOML),
        "ayu-light" => Some(AYU_LIGHT_TOML),
        "ayu-mirage" => Some(AYU_MIRAGE_TOML),
        "catppuccin-frappe" => Some(CATPPUCCIN_FRAPPE_TOML),
        "catppuccin-latte" => Some(CATPPUCCIN_LATTE_TOML),
        "catppuccin-macchiato" => Some(CATPPUCCIN_MACCHIATO_TOML),
        "catppuccin-mocha" => Some(CATPPUCCIN_MOCHA_TOML),
        "dracula" => Some(DRACULA_TOML),
        "everforest-dark" => Some(EVERFOREST_DARK_TOML),
        "everforest-light" => Some(EVERFOREST_LIGHT_TOML),
        "flexoki-dark" => Some(FLEXOKI_DARK_TOML),
        "flexoki-light" => Some(FLEXOKI_LIGHT_TOML),
        "github-dark-dimmed" => Some(GITHUB_DARK_DIMMED_TOML),
        "github-light" => Some(GITHUB_LIGHT_TOML),
        "gruvbox-dark" => Some(GRUVBOX_DARK_TOML),
        "gruvbox-light" => Some(GRUVBOX_LIGHT_TOML),
        "kanagawa-dragon" => Some(KANAGAWA_DRAGON_TOML),
        "kanagawa-lotus" => Some(KANAGAWA_LOTUS_TOML),
        "kanagawa-wave" => Some(KANAGAWA_WAVE_TOML),
        "light-owl" => Some(LIGHT_OWL_TOML),
        "monokai-pro" => Some(MONOKAI_PRO_TOML),
        "night-owl" => Some(NIGHT_OWL_TOML),
        "nord" => Some(NORD_TOML),
        "one-dark" => Some(ONE_DARK_TOML),
        "one-light" => Some(ONE_LIGHT_TOML),
        "palenight" => Some(PALENIGHT_TOML),
        "rose-pine" => Some(ROSE_PINE_TOML),
        "rose-pine-dawn" => Some(ROSE_PINE_DAWN_TOML),
        "rose-pine-moon" => Some(ROSE_PINE_MOON_TOML),
        "silkcircuit-dawn" => Some(SILKCIRCUIT_DAWN_TOML),
        "silkcircuit-glow" => Some(SILKCIRCUIT_GLOW_TOML),
        "silkcircuit-neon" => Some(SILKCIRCUIT_NEON_TOML),
        "silkcircuit-soft" => Some(SILKCIRCUIT_SOFT_TOML),
        "silkcircuit-vibrant" => Some(SILKCIRCUIT_VIBRANT_TOML),
        "solarized-dark" => Some(SOLARIZED_DARK_TOML),
        "solarized-light" => Some(SOLARIZED_LIGHT_TOML),
        "tokyo-night" => Some(TOKYO_NIGHT_TOML),
        "tokyo-night-moon" => Some(TOKYO_NIGHT_MOON_TOML),
        "tokyo-night-storm" => Some(TOKYO_NIGHT_STORM_TOML),
        _ => None,
    }
}

/// Number of auto-discovered builtin themes.
const GENERATED_BUILTIN_COUNT: usize = 39;
