Expand description
Basic syntax highlighting functionality.
This module uses librustc_ast’s lexer to provide token-based highlighting for the HTML documentation generated by rustdoc.
Use the render_with_highlighting to highlight some rust code.
Structs
Processes program tokens, classifying strings of text by highlighting
category (
Class).Decorations are represented as a map from CSS class to vector of character ranges.
Each range will be wrapped in a span with that class.
Custom spans inserted into the source. Eg –scrape-examples uses this to highlight function calls
This type is needed in case we want to render links on items to allow to go to their definition.
PeekIter 🔒
This iterator comes from the same idea than “Peekable” except that it allows to “peek” more than
just the next item by using
peek_next. The peek method always returns the next item after
the current one whereas peek_next will return the next item after the last one peeked.This type is used as a conveniency to prevent having to pass all its fields as arguments into
the various functions (which became its methods).
Enums
Functions
Check if two
Class can be merged together. In the following rules, “unclassified” means None
basically (since it’s Option<Class>). The following rules apply:Called when we start processing a span of text that should be highlighted.
The
Class argument specifies how it should be highlighted.Called at the end of a span of highlighted text.
Classifies into identifier class; returns
None if this is a non-keyword identifier.Highlights
src as an inline example, returning the HTML output.Highlights
src as a macro, returning the HTML output.Highlights
src as a source code page, returning the HTML output.string 🔒
Called for a span of text. If the text should be highlighted differently
from the surrounding text, then the
Class argument will be a value other
than None.This function writes
text into out with some modifications depending on klass:Convert the given
src source code into HTML by adding classes for highlighting.