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 ClearCommand,
41 CommandContext,
43 CommandRegistry,
44 CommandResult,
45 CompactCommand,
46 CustomCommand,
47 HelpCommand,
48 NewSessionCommand,
49 QuitCommand,
50 SessionsCommand,
51 SlashCommand,
52 StatusCommand,
53 ThemesCommand,
54 VersionCommand,
55 default_commands,
57 filter_commands,
58 generate_help_message,
59 get_command_by_name,
60 is_slash_command,
61 parse_command,
62};
63
64pub use markdown::{
66 ContentSegment, parse_to_spans, parse_to_styled_words, render_markdown_with_prefix,
67 split_content_segments, wrap_with_prefix,
68};
69pub use table::{PulldownRenderer, TableRenderer, is_table_line, is_table_separator, render_table};
70pub use widgets::{
71 AnswerState,
73 ChatView,
75 ConversationView,
77 ConversationViewFactory,
78 EnterAction,
79 FocusItem,
80 MessageRole,
81 PermissionKeyAction,
82 PermissionOption,
83 PermissionPanel,
84 QuestionKeyAction,
85 QuestionPanel,
86 RenderFn,
87 SessionInfo,
88 SessionPickerState,
89 SimpleCommand,
90 SlashCommandDisplay,
91 SlashPopupState,
92 StatusBar,
93 StatusBarConfig,
94 StatusBarData,
95 TextInput,
96 ToolMessageData,
97 ToolStatus,
98 render_session_picker,
99 render_slash_popup,
100};
101
102pub use themes::{
104 THEMES, Theme, ThemeInfo, ThemePickerState, current_theme_name, default_theme_name, get_theme,
105 init_theme, list_themes, render_theme_picker, set_theme, theme as app_theme,
106};
107
108pub use layout::{
110 LayoutContext, LayoutProvider, LayoutResult, LayoutTemplate, MinimalOptions, SidebarOptions,
111 SidebarPosition, SidebarWidth, SplitOptions, SplitRatio, StandardOptions, WidgetSizes,
112 helpers as layout_helpers,
113};
114
115pub use keys::{
117 AppKeyAction, AppKeyResult, DefaultKeyHandler, ExitHandler, ExitState, KeyBindings, KeyCombo,
118 KeyContext, KeyHandler,
119};