icon_enum

Crates.ioicon_enum
lib.rsicon_enum
version0.1.3
created_at2025-08-21 02:04:23.393427+00
updated_at2025-08-21 02:25:01.009099+00
descriptionRust library and CLI for generating enums from image asset folders
homepage
repositoryhttps://github.com/remysedlak/icon_enum
max_upload_size
id1804187
size20,512
remy (remysedlak)

documentation

README

icon_enum

A small Rust crate for generating enums from icon filenames in a directory.
This is useful for creating a Rust-friendly namespace for your icons automatically.

Library

use icon_enum::create_enum_file;

let file = create_enum_file("assets/icons", "src/icon.rs"); // generate namespace

CLI

install

cargo install icon_enum

usage

icon_enum assets/icons src/icon.rs

Example Output

pub enum Icon {
    Ferris,
    GithubMark,
    Linkedin,
    Menu,
    OpenLinkBlue,
    OpenLinkIndigo,
    OpenLink,
}
impl Icon {
    pub fn path(&self) -> &'static str {
        match self {
            Icon::Ferris => "assets/icons/ferris.svg",
            Icon::GithubMark => "assets/icons/github-mark.svg",
            Icon::Linkedin => "assets/icons/linkedin.svg",
            Icon::Menu => "assets/icons/menu.svg",
            Icon::OpenLinkBlue => "assets/icons/open-link-blue.svg",
            Icon::OpenLinkIndigo => "assets/icons/open-link-indigo.svg",
            Icon::OpenLink => "assets/icons/open-link.svg",
        }
    }
}
Commit count: 21

cargo fmt