- 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.
Owlen TUI
This crate contains all the logic for the terminal user interface (TUI) of Owlen.
It is built using the excellent ratatui library and is responsible for rendering the chat interface, handling user input, and managing the application state.
Features
- Chat View: A scrollable view of the conversation history.
- Input Box: A text input area for composing messages.
- Model Selection: An interface for switching between different models.
- Event Handling: A system for managing keyboard events and asynchronous operations.