feat(ui): add file icon resolver with Nerd/ASCII sets, env override, and breadcrumb display
- Introduce `IconMode` in core config (default Auto) and bump schema version to 1.4.0. - Add `FileIconSet`, `IconDetection`, and `FileIconResolver` to resolve per‑file icons with configurable fallbacks and environment variable `OWLEN_TUI_ICONS`. - Export resolver types from `owlen-tui::state::file_icons`. - Extend `ChatApp` with `file_icons` field, initialize it from config, and expose via `file_icons()` accessor. - Append system status line showing selected icon set and detection source. - Implement breadcrumb construction (`repo > path > file`) and display in code pane headers. - Render icons in file tree, handle unsaved file markers, hidden files, and Git decorations with proper styling. - Add helper `collect_unsaved_relative_paths` and tree line computation for visual guides. - Provide `Workspace::panes()` iterator for unsaved tracking. - Update UI imports and tests to cover new breadcrumb feature.
This commit is contained in:
@@ -6,11 +6,13 @@
|
||||
//! to test in isolation.
|
||||
|
||||
mod command_palette;
|
||||
mod file_icons;
|
||||
mod file_tree;
|
||||
mod search;
|
||||
mod workspace;
|
||||
|
||||
pub use command_palette::{CommandPalette, ModelPaletteEntry, PaletteGroup, PaletteSuggestion};
|
||||
pub use file_icons::{FileIconResolver, FileIconSet, IconDetection};
|
||||
pub use file_tree::{
|
||||
FileNode, FileTreeState, FilterMode as FileFilterMode, GitDecoration, VisibleFileEntry,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user