//! State helpers shared across TUI components. //! //! The `state` module contains lightweight wrappers that encapsulate UI state //! shared between widgets. Keeping these helpers out of the main `chat_app` //! implementation makes the command palette and other stateful widgets easier //! to test in isolation. mod command_palette; mod debug_log; mod file_icons; mod file_tree; mod keymap; mod search; mod workspace; pub use command_palette::{CommandPalette, ModelPaletteEntry, PaletteGroup, PaletteSuggestion}; pub use debug_log::{DebugLogEntry, DebugLogState, install_global_logger}; pub use file_icons::{FileIconResolver, FileIconSet, IconDetection}; pub use file_tree::{ FileNode, FileTreeState, FilterMode as FileFilterMode, GitDecoration, VisibleFileEntry, }; pub use keymap::Keymap; pub use search::{ RepoSearchFile, RepoSearchMatch, RepoSearchMessage, RepoSearchRow, RepoSearchRowKind, RepoSearchState, SymbolEntry, SymbolKind, SymbolSearchMessage, SymbolSearchState, spawn_repo_search_task, spawn_symbol_search_task, }; pub use workspace::{ CodePane, CodeWorkspace, EditorTab, LayoutNode, PaneDirection, PaneId, PaneRestoreRequest, SplitAxis, WorkspaceSnapshot, };