1mod app;
19pub mod commands;
21pub mod keys;
23pub mod layout;
25pub mod markdown;
27pub mod table;
29pub mod themes;
31pub mod widgets;
33
34pub use app::{App, AppConfig};
36
37pub use commands::{
39 CommandContext, CommandRegistry, CommandResult, CustomCommand, SlashCommand,
41 ClearCommand, CompactCommand, HelpCommand, NewSessionCommand, QuitCommand,
43 SessionsCommand, StatusCommand, ThemesCommand, VersionCommand,
44 default_commands, filter_commands, generate_help_message, get_command_by_name,
46 is_slash_command, parse_command,
47};
48
49pub use widgets::{
51 ChatView, MessageRole, TextInput, ToolMessageData, ToolStatus, RenderFn,
53 ConversationView, ConversationViewFactory,
55 AnswerState, EnterAction, FocusItem, PermissionKeyAction, PermissionOption, PermissionPanel,
57 QuestionKeyAction, QuestionPanel, SessionInfo, SessionPickerState, SimpleCommand,
58 SlashCommandDisplay, SlashPopupState, StatusBar, StatusBarConfig, StatusBarData,
59 render_session_picker, render_slash_popup,
60};
61pub use markdown::{
62 parse_to_spans, parse_to_styled_words, render_markdown_with_prefix, split_content_segments,
63 wrap_with_prefix, ContentSegment,
64};
65pub use table::{is_table_line, is_table_separator, render_table, PulldownRenderer, TableRenderer};
66
67pub use themes::{
69 current_theme_name, default_theme_name, get_theme, init_theme, list_themes,
70 render_theme_picker, set_theme, theme as app_theme, Theme, ThemeInfo,
71 ThemePickerState, THEMES,
72};
73
74pub use layout::{
76 LayoutContext, LayoutProvider, LayoutResult, LayoutTemplate,
77 MinimalOptions, SidebarOptions, SidebarPosition, SidebarWidth,
78 SplitOptions, SplitRatio, StandardOptions, WidgetSizes,
79 helpers as layout_helpers,
80};
81
82pub use keys::{
84 AppKeyAction, AppKeyResult, DefaultKeyHandler, ExitHandler, ExitState,
85 KeyBindings, KeyCombo, KeyContext, KeyHandler,
86};