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 Renderer for TerminalRenderer
impl Renderer for TerminalRenderer
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 moresource§fn newline(&mut self) -> Cow<'static, str>
fn newline(&mut self) -> Cow<'static, str>
Is called at the end of every input line. The returned string will be used for line breaks
in the output. Read more
Auto 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> 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> 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<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