pub struct Lang {
pub name: &'static str,
pub aliases: &'static [&'static str],
pub grammar: LanguageFn,
pub query: &'static str,
/* private fields */
}Fields§
§name: &'static str§aliases: &'static [&'static str]§grammar: LanguageFn§query: &'static strImplementations§
Source§impl Lang
impl Lang
Sourcepub const fn new(
name: &'static str,
aliases: &'static [&'static str],
grammar: LanguageFn,
query: &'static str,
) -> Self
pub const fn new( name: &'static str, aliases: &'static [&'static str], grammar: LanguageFn, query: &'static str, ) -> Self
A language of your own: a grammar, its highlights query, and the fence
tags it answers to. const, so it can be a static beside the built-in
rows and reach Lang::highlight the same way they do.
Sourcepub fn highlight(
&'static self,
source: &str,
) -> Option<Vec<(Range<usize>, HighlightKind)>>
pub fn highlight( &'static self, source: &str, ) -> Option<Vec<(Range<usize>, HighlightKind)>>
Spans over source, in bytes, in document order. None when the query
does not compile against the grammar.
pub fn compiled(&'static self) -> Option<&'static Compiled>
Auto Trait Implementations§
impl !Freeze for Lang
impl RefUnwindSafe for Lang
impl Send for Lang
impl Sync for Lang
impl Unpin for Lang
impl UnsafeUnpin for Lang
impl UnwindSafe for Lang
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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 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> ⓘ
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