Struct rustdoc::html::highlight::Classifier [−][src]
struct Classifier<'a> {
tokens: PeekIter<'a>,
in_attribute: bool,
in_macro: bool,
in_macro_nonterminal: bool,
edition: Edition,
byte_pos: u32,
file_span: Span,
src: &'a str,
}
Expand description
Processes program tokens, classifying strings of text by highlighting
category (Class
).
Fields
tokens: PeekIter<'a>
in_attribute: bool
in_macro: bool
in_macro_nonterminal: bool
edition: Edition
byte_pos: u32
file_span: Span
src: &'a str
Implementations
Takes as argument the source code to HTML-ify, the rust edition to use and the source code
file span which will be used later on by the span_correspondance_map
.
Convenient wrapper to create a Span
from a position in the file.
Concatenate colons and idents as one when possible.
Wraps the tokens iteration to ensure that the byte_pos
is always correct.
It returns the token’s kind, the token as a string and its byte position in the source string.
Exhausts the Classifier
writing the output into sink
.
The general structure for this method is to iterate over each token, possibly giving it an HTML span with a class specifying what flavor of token is used.
Single step of highlighting. This will classify token
, but maybe also a couple of
following ones as well.
before
is the position of the given token in the source
string and is used as “lo” byte
in case we want to try to generate a link for this token using the
span_correspondance_map
.
Auto Trait Implementations
impl<'a> RefUnwindSafe for Classifier<'a>
impl<'a> !Send for Classifier<'a>
impl<'a> !Sync for Classifier<'a>
impl<'a> Unpin for Classifier<'a>
impl<'a> UnwindSafe for Classifier<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 88 bytes