//! Icons beyond gpui-component's default set, picked from the bundled Lucide //! catalog so only these SVGs end up in the binary. use std::borrow::Cow; use gpui_kit::*; pub use gpui_kit::assets::IconName as Lucide; gpui_kit::assets::icon_assets!(ExtraIcons, [ AlarmClock, AlarmClockOff, Archive, ArchiveRestore, Bell, Brain, ChevronsDownUp, ChevronsUpDown, Code, FileCode, FileDiff, FolderGit2, FolderPlus, Gauge, GitBranch, GitCommitHorizontal, GitPullRequest, Image, Keyboard, Laptop, Layers, ListOrdered, Lock, LockOpen, PanelLeftClose, PanelLeftOpen, PanelRightClose, PanelRightOpen, Paperclip, Pencil, Pi, Pin, PinOff, Plug, Plus, RotateCcw, ShieldCheck, SquareSlash, SlidersHorizontal, Space, Sparkles, SquarePen, Star, Trash, Zap, ]); /// The app's asset source: the extra icons, then gpui-component's defaults. pub struct AppAssets; impl AssetSource for AppAssets { fn load(&self, path: &str) -> Result>> { if let Some(data) = ExtraIcons.load(path)? { return Ok(Some(data)); } gpui_kit::assets::Assets.load(path) } fn list(&self, path: &str) -> Result> { let mut paths = ExtraIcons.list(path)?; paths.extend(gpui_kit::assets::Assets.list(path)?); Ok(paths) } }