Skip to main content

MarkdownRenderer

Struct MarkdownRenderer 

Source
pub struct MarkdownRenderer;
Expand description

A markdown rendering component with scroll support.

Parses markdown source text and renders it with styled headings, bold, italic, strikethrough, inline code, code blocks, lists, links, blockquotes, and horizontal rules. Supports toggling between rendered and raw source views.

§Key Bindings

  • Up / k – Scroll up one line
  • Down / j – Scroll down one line
  • PageUp / Ctrl+u – Scroll up half a page
  • PageDown / Ctrl+d – Scroll down half a page
  • Home / g – Scroll to top
  • End / G – Scroll to bottom
  • s – Toggle between rendered and raw source views

§Example

use envision::component::{Component, MarkdownRenderer, MarkdownRendererState};

let state = MarkdownRendererState::new()
    .with_source("# Hello\n\nWorld");
assert_eq!(state.source(), "# Hello\n\nWorld");

Trait Implementations§

Source§

impl Component for MarkdownRenderer

Source§

type State = MarkdownRendererState

The component’s internal state type. Read more
Source§

type Message = MarkdownRendererMessage

Messages this component can receive. Read more
Source§

type Output = ()

Messages this component can emit to its parent. Read more
Source§

fn init() -> Self::State

Initialize the component state. Read more
Source§

fn handle_event( _state: &Self::State, event: &Event, ctx: &EventContext, ) -> Option<Self::Message>

Maps an input event to a component message. Read more
Source§

fn update(state: &mut Self::State, msg: Self::Message) -> Option<Self::Output>

Update component state based on a message. Read more
Source§

fn view(state: &Self::State, ctx: &mut RenderContext<'_, '_>)

Render the component to the given area. Read more
Source§

fn traced_view(state: &Self::State, ctx: &mut RenderContext<'_, '_>)

Renders the component with optional tracing instrumentation. Read more
Source§

fn dispatch_event( state: &mut Self::State, event: &Event, ctx: &EventContext, ) -> Option<Self::Output>

Dispatches an event by mapping it to a message and updating state. Read more

Auto Trait Implementations§

Blanket Implementations§

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> StateExt for T

Source§

fn updated(self, cmd: Command<impl Clone>) -> UpdateResult<Self, impl Clone>

Updates self and returns a command.
Source§

fn unchanged(self) -> UpdateResult<Self, ()>

Returns self with no command.
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.