pub struct AnsiRenderer { /* private fields */ }Expand description
Renderer with deferred output buffering
Implementations§
Source§impl AnsiRenderer
impl AnsiRenderer
Sourcepub fn with_inline_ui(
handle: InlineHandle,
highlight_config: SyntaxHighlightingConfig,
) -> Self
pub fn with_inline_ui( handle: InlineHandle, highlight_config: SyntaxHighlightingConfig, ) -> Self
Create a renderer that forwards output to the inline UI session handle
Sourcepub fn set_highlight_config(&mut self, config: SyntaxHighlightingConfig)
pub fn set_highlight_config(&mut self, config: SyntaxHighlightingConfig)
Override the syntax highlighting configuration.
Sourcepub fn was_previous_line_empty(&self) -> bool
pub fn was_previous_line_empty(&self) -> bool
Check if the last line rendered was empty
pub fn supports_streaming_markdown(&self) -> bool
Sourcepub fn prefers_untruncated_output(&self) -> bool
pub fn prefers_untruncated_output(&self) -> bool
Determine whether the renderer is connected to the inline UI.
Inline rendering uses the terminal session scrollback, so tool output should avoid truncation that would otherwise be applied in compact CLI mode.
pub fn supports_inline_ui(&self) -> bool
pub fn set_reasoning_visible(&mut self, visible: bool)
pub fn reasoning_visible(&self) -> bool
pub fn set_screen_reader_mode(&mut self, enabled: bool)
pub fn set_show_diagnostics_in_transcript(&mut self, enabled: bool)
Sourcepub fn set_table_max_width(&mut self, max_width: Option<usize>)
pub fn set_table_max_width(&mut self, max_width: Option<usize>)
Set the maximum width for markdown tables. When set, tables wider than this will have their columns proportionally scaled and cell text wrapped.
Sourcepub fn capabilities(&self) -> &AnsiCapabilities
pub fn capabilities(&self) -> &AnsiCapabilities
Get the terminal’s detected ANSI capabilities
Sourcepub fn should_use_unicode_formatting(&self) -> bool
pub fn should_use_unicode_formatting(&self) -> bool
Check if unicode should be used for formatting (tables, boxes, etc.)
Sourcepub fn supports_256_colors(&self) -> bool
pub fn supports_256_colors(&self) -> bool
Check if 256-color output is supported
Sourcepub fn supports_true_color(&self) -> bool
pub fn supports_true_color(&self) -> bool
Check if true color (24-bit) output is supported
Sourcepub fn should_use_unicode(&self) -> bool
pub fn should_use_unicode(&self) -> bool
Check if should use unicode characters based on terminal capabilities
pub fn show_list_modal( &mut self, title: &str, lines: Vec<String>, items: Vec<InlineListItem>, selected: Option<InlineListSelection>, search: Option<InlineListSearchConfig>, )
pub fn show_secure_prompt_modal( &mut self, title: &str, lines: Vec<String>, prompt_label: String, )
pub fn close_modal(&mut self)
pub fn clear_screen(&mut self)
Sourcepub fn flush(&mut self, style: MessageStyle) -> Result<()>
pub fn flush(&mut self, style: MessageStyle) -> Result<()>
Flush the buffer with the given style
Sourcepub fn line(&mut self, style: MessageStyle, text: &str) -> Result<()>
pub fn line(&mut self, style: MessageStyle, text: &str) -> Result<()>
Convenience for writing a single line
Sourcepub fn pty_continuation_line(&mut self, text: &str) -> Result<()>
pub fn pty_continuation_line(&mut self, text: &str) -> Result<()>
Write a continuation line that joins an existing Pty block.
Sends the text as InlineMessageKind::Pty through
write_multiline_with_transcript so the TUI reflow renders it
with the same 2-space block prefix and styling as the PTY output.
Sourcepub fn hyperlink_line(&mut self, style: MessageStyle, url: &str) -> Result<()>
pub fn hyperlink_line(&mut self, style: MessageStyle, url: &str) -> Result<()>
Write a URL as a full, clickable line using OSC 8 hyperlinks.
The URL is rendered on its own line so that terminal emulators can detect and activate it for click-to-open behaviour.
Sourcepub fn append_paste_placeholder(
&mut self,
message: &str,
line_count: usize,
) -> Result<()>
pub fn append_paste_placeholder( &mut self, message: &str, line_count: usize, ) -> Result<()>
Append a large pasted user message as a placeholder in inline UI.
Sourcepub fn inline_with_style(
&mut self,
style: MessageStyle,
text: &str,
) -> Result<()>
pub fn inline_with_style( &mut self, style: MessageStyle, text: &str, ) -> Result<()>
Write styled text without a trailing newline
Sourcepub fn line_with_style(&mut self, style: Style, text: &str) -> Result<()>
pub fn line_with_style(&mut self, style: Style, text: &str) -> Result<()>
Write a line with an explicit style
Sourcepub fn line_with_override_style(
&mut self,
fallback: MessageStyle,
style: Style,
text: &str,
) -> Result<()>
pub fn line_with_override_style( &mut self, fallback: MessageStyle, style: Style, text: &str, ) -> Result<()>
Write a line with a custom style while preserving the logical message kind.
Sourcepub fn line_if_not_empty(&mut self, style: MessageStyle) -> Result<()>
pub fn line_if_not_empty(&mut self, style: MessageStyle) -> Result<()>
Write an empty line only if the previous line was not empty
Sourcepub fn render_markdown_output(
&mut self,
style: MessageStyle,
text: &str,
) -> Result<()>
pub fn render_markdown_output( &mut self, style: MessageStyle, text: &str, ) -> Result<()>
Render markdown content with proper syntax highlighting and indentation normalization. Use this for tool output that contains markdown code blocks.
pub fn render_token_delta(&mut self, delta: &str) -> Result<()>
pub fn render_reasoning_delta(&mut self, delta: &str) -> Result<()>
pub fn stream_markdown_response( &mut self, text: &str, previous_line_count: usize, ) -> Result<usize>
pub fn render_reasoning_stream( &mut self, lines: &[String], previous_line_count: &mut usize, ) -> Result<()>
Auto Trait Implementations§
impl Freeze for AnsiRenderer
impl RefUnwindSafe for AnsiRenderer
impl Send for AnsiRenderer
impl Sync for AnsiRenderer
impl Unpin for AnsiRenderer
impl UnsafeUnpin for AnsiRenderer
impl UnwindSafe for AnsiRenderer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more