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§
- Classifier πProcesses program tokens, classifying strings of text by highlighting category (
Class
). - Decoration
Info π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. - Decorations πCustom spans inserted into the source. Eg βscrape-examples uses this to highlight function calls
- Href
Context πThis type is needed in case we want to render links on items to allow to go to their definition. - Peek
Iter πThis iterator comes from the same idea than βPeekableβ except that it allows to βpeekβ more than just the next item by usingpeek_next
. Thepeek
method always returns the next item after the current one whereaspeek_next
will return the next item after the last one peeked. - Token
Handler π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). - Token
Iter π
Enums§
- Class πHow a span of text is classified. Mostly corresponds to token kinds.
- Highlight π
- Tooltip π
Functions§
- can_
merge πCheck if twoClass
can be merged together. In the following rules, βunclassifiedβ meansNone
basically (since itβsOption<Class>
). The following rules apply: - enter_
span πCalled when we start processing a span of text that should be highlighted. TheClass
argument specifies how it should be highlighted. - exit_
span πCalled at the end of a span of highlighted text. - get_
real_ πident_ class Classifies into identifier class; returnsNone
if this is a non-keyword identifier. - Highlights
src
as an inline example, returning the HTML output. - Highlights
src
as an item-decl, 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 thanNone
. - This function writes
text
intoout
with some modifications depending onklass
: - write_
code πConvert the givensrc
source code into HTML by adding classes for highlighting. - write_
footer π - write_
header π