Skip to main content

opendev_tui/
lib.rs

1//! Ratatui-based terminal UI for the OpenDev AI coding assistant.
2//!
3//! This crate provides:
4//! - [`app`] -- Main TUI application struct and event loop
5//! - [`event`] -- Event types (keyboard, mouse, resize, agent messages)
6//! - [`widgets`] -- UI widgets (conversation, input, status bar, tool display,
7//!   spinner, progress, nested tool, todo panel)
8//! - [`controllers`] -- Message handling, slash commands, approval prompts
9//! - [`formatters`] -- Output formatting (markdown, display, tool colors)
10
11pub mod app;
12pub mod autocomplete;
13pub mod controllers;
14pub mod event;
15pub mod formatters;
16pub mod history;
17pub mod managers;
18pub mod selection;
19pub mod widgets;
20
21pub use app::{App, AppState, AutonomyLevel, OperationMode};
22pub use controllers::{
23    ApprovalController, BUILTIN_COMMANDS, SlashCommand, find_matching_commands, is_command,
24};
25pub use event::{AppEvent, EventHandler};
26pub use formatters::style_tokens::{
27    TerminalBackground, Theme, ThemeName, auto_detect_theme, detect_terminal_background,
28};
29pub use formatters::{
30    PathShortener, ToolCategory, categorize_tool, format_error, format_info,
31    format_tool_call_display, format_tool_call_parts, format_tool_call_parts_with_wd,
32    format_warning, strip_system_reminders, tool_color, truncate_output,
33};
34pub use widgets::{
35    NestedToolWidget, SpinnerState, SubagentDisplayState, TaskProgress, TodoDisplayItem,
36    TodoDisplayStatus, TodoPanelWidget,
37};