| Crates.io | icon_enum |
| lib.rs | icon_enum |
| version | 0.1.3 |
| created_at | 2025-08-21 02:04:23.393427+00 |
| updated_at | 2025-08-21 02:25:01.009099+00 |
| description | Rust library and CLI for generating enums from image asset folders |
| homepage | |
| repository | https://github.com/remysedlak/icon_enum |
| max_upload_size | |
| id | 1804187 |
| size | 20,512 |
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.
use icon_enum::create_enum_file;
let file = create_enum_file("assets/icons", "src/icon.rs"); // generate namespace
install
cargo install icon_enum
usage
icon_enum assets/icons src/icon.rs
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",
}
}
}