Struct syntastica::renderer::TerminalRenderer
source · pub struct TerminalRenderer { /* private fields */ }
Expand description
A Renderer
implementor for true-color ANSI terminal output. Use this type with the
render
function.
A background color can optionally be set which will behind the output until the exact end of each line.
Example
use syntastica::{renderer::TerminalRenderer, theme};
// define a theme
let theme = theme! { "keyword": "#ff0000" }.resolve_links().unwrap();
// define highlights
let highlights = vec![vec![("fn", Some("keyword")), (" none", None)]];
// render to a string without a background color
let output = syntastica::render(&highlights, &mut TerminalRenderer::new(None), theme);
assert_eq!(output, "\x1b[38;2;255;0;0mfn\x1b[0m none");
Implementations§
source§impl TerminalRenderer
impl TerminalRenderer
sourcepub fn new(background_color: Option<Color>) -> Self
pub fn new(background_color: Option<Color>) -> Self
Create a new TerminalRenderer
with an optional background color.
Trait Implementations§
source§impl Default for TerminalRenderer
impl Default for TerminalRenderer
source§fn default() -> TerminalRenderer
fn default() -> TerminalRenderer
Returns the “default value” for a type. Read more
source§impl Renderer for TerminalRenderer
impl Renderer for TerminalRenderer
source§fn unstyled<'a>(&mut self, text: &'a str) -> Cow<'a, str>
fn unstyled<'a>(&mut self, text: &'a str) -> Cow<'a, str>
Is called for every unstyled region of the input. Read more
source§fn styled(&mut self, text: &str, style: Style) -> Cow<'static, str>
fn styled(&mut self, text: &str, style: Style) -> Cow<'static, str>
Is called for every styled region of the input. Read more
source§fn head(&mut self) -> Cow<'static, str>
fn head(&mut self) -> Cow<'static, str>
Is called at the start of rendering, before anything else. The returned string will be the
start of the final output. Read more
source§fn tail(&mut self) -> Cow<'static, str>
fn tail(&mut self) -> Cow<'static, str>
Is called at the end of rendering, after the final call to
Renderer::newline
.
The returned string will be the end of the final output. Read moreAuto Trait Implementations§
impl RefUnwindSafe for TerminalRenderer
impl Send for TerminalRenderer
impl Sync for TerminalRenderer
impl Unpin for TerminalRenderer
impl UnwindSafe for TerminalRenderer
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere M: TransformMatrix<T>,
Convert the source color to the destination color using the specified
method.
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford
method by default.
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Cast a collection of colors into a collection of arrays.
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Cast this collection of arrays into a collection of colors.
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
Mutably borrows from an owned value. Read more
source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Cast a collection of colors into a collection of color components.
source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
Performs a conversion from
angle
.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
Converts
other
into Self
, while performing the appropriate scaling,
rounding and clamping.source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
Performs a conversion into
T
.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
Convert into T with values clamped to the color defined bounds Read more
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Convert into T. The resulting color might be invalid in its color space Read more
source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
Converts
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<'a, T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<'a, T, C> TryComponentsInto<C> for Twhere C: TryFromComponents<T>,
§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
The error for when
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Try to cast this collection of color components into a collection of
colors. Read more
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an
OutOfBounds
error is returned which contains
the unclamped color. Read more