| Crates.io | sfsymbols |
| lib.rs | sfsymbols |
| version | 0.2.1 |
| created_at | 2026-01-21 09:08:43.037804+00 |
| updated_at | 2026-01-21 11:50:43.073102+00 |
| description | Type-safe SF Symbols enums for Rust |
| homepage | |
| repository | https://github.com/AprilNEA/gpui-symbols |
| max_upload_size | |
| id | 2058697 |
| size | 4,150,717 |
Type-safe SF Symbols enums for Rust. All 9000+ SF Symbols as compile-time checked enums.
[dependencies]
sfsymbols = "0.1"
use sfsymbols::{SfSymbol, SfSymbolV7};
// Use the latest version alias
let name = SfSymbol::StarFill.name(); // "star.fill"
// Or use a specific version
let name = SfSymbolV7::HeartFill.name(); // "heart.fill"
// Works with gpui-symbols
use gpui_symbols::Icon;
let icon = Icon::new(SfSymbol::StarFill.name());
Each major version enum contains all symbols from that release, including minor updates:
| Feature | Enum | Symbols |
|---|---|---|
v1 |
SfSymbolV1 |
1679 |
v2 |
SfSymbolV2 |
1207 |
v3 |
SfSymbolV3 |
875 |
v4 |
SfSymbolV4 |
1337 |
v5 |
SfSymbolV5 |
1486 |
v6 |
SfSymbolV6 |
1955 |
v7 |
SfSymbolV7 |
645 |
For precise control, use minor version features:
[dependencies]
sfsymbols = { version = "0.1", default-features = false, features = ["v6-0", "v6-4"] }
Available: v1-0, v1-1, v2-0...v2-2, v3-0...v3-3, v4-0...v4-2, v5-0...v5-4, v6-0...v6-4, v7-0, v7-1
sfsymbols = { version = "0.1", features = ["all"] }
Each enum implements:
name(&self) -> &'static str - Returns the SF Symbol nameAsRef<str> - Converts to string sliceDisplay - For formattingClone, Copy, Debug, PartialEq, Eq, HashTo regenerate the enums from the latest SF Symbols.app:
# Requires SF Symbols.app from App Store
cargo run -p sfsymbols-codegen
MIT OR Apache-2.0