Skip to main content

Markdown

Struct Markdown 

Source
pub struct Markdown {
    pub source: String,
}
Expand description

Renders a subset of Markdown as styled terminal text.

Supports headings (#, ##, ###), bold, italic, inline code, fenced code blocks, and unordered lists. Designed for rendering LLM/AI chat output in the terminal.

The markdown source is a prop; style configuration lives in MarkdownState (internal state with sensible defaults).

§Examples

// Constructor
Markdown::new("# Hello\n\nThis is **bold** and `code`.")

// In the element! macro
element! {
    Markdown(key: "response", source: response_text.clone())
}

Fields§

§source: String

The markdown source text to render.

Implementations§

Source§

impl Markdown

Source

pub fn builder() -> MarkdownBuilder<((),)>

Create a builder for building Markdown. On the builder, call .source(...)(optional) to set the values of the fields. Finally, call .build() to create the instance of Markdown.

Source§

impl Markdown

Source

pub fn new(source: impl Into<String>) -> Self

Create a new markdown component with the given source text.

Trait Implementations§

Source§

impl Component for Markdown

Source§

type State = MarkdownState

State type for this component. The framework wraps it in Tracked<S> for automatic dirty detection.
Source§

fn update( &self, __hooks: &mut Hooks<Self, Self::State>, __state: &Self::State, __children: Elements, ) -> Elements

Combined lifecycle and view in a single call. Read more
Source§

impl Default for Markdown

Source§

fn default() -> Markdown

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T, V> AddTo<DataChildren<T>> for V
where V: Into<T>,

Source§

type Handle<'a> = DataHandle where T: 'a

Handle returned after adding. Supports .key() / .width() chaining.
Source§

fn add_to(self, collector: &mut DataChildren<T>) -> DataHandle

Add this value to the collector, returning a handle for chaining .key() and .width().
Source§

impl<C> AddTo<Elements> for C
where C: Component,

Source§

type Handle<'a> = ElementHandle<'a>

Handle returned after adding. Supports .key() / .width() chaining.
Source§

fn add_to(self, els: &mut Elements) -> ElementHandle<'_>

Add this value to the collector, returning a handle for chaining .key() and .width().
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.