|
clang 22.0.0git
|
Classes | |
| struct | RelexRewriteCache |
Typedefs | |
| using | RelexRewriteCacheRef = std::shared_ptr<RelexRewriteCache> |
Functions | |
| RelexRewriteCacheRef | instantiateRelexRewriteCache () |
| If you need to rewrite the same file multiple times, you can instantiate a RelexRewriteCache and refer functions such as SyntaxHighlight() and HighlightMacros() to it so that to avoid re-lexing the file each time. | |
| void | HighlightRange (Rewriter &R, SourceLocation B, SourceLocation E, const char *StartTag, const char *EndTag, bool IsTokenRange=true) |
| HighlightRange - Highlight a range in the source code with the specified start/end tags. | |
| void | HighlightRange (Rewriter &R, SourceRange Range, const char *StartTag, const char *EndTag) |
| HighlightRange - Highlight a range in the source code with the specified start/end tags. | |
| void | HighlightRange (llvm::RewriteBuffer &RB, unsigned B, unsigned E, const char *BufferStart, const char *StartTag, const char *EndTag) |
| HighlightRange - This is the same as the above method, but takes decomposed file locations. | |
| void | EscapeText (Rewriter &R, FileID FID, bool EscapeSpaces=false, bool ReplaceTabs=false) |
| EscapeText - HTMLize a specified file so that special characters are are translated so that they are not interpreted as HTML tags. | |
| std::string | EscapeText (StringRef s, bool EscapeSpaces=false, bool ReplaceTabs=false) |
| EscapeText - HTMLized the provided string so that special characters in 's' are not interpreted as HTML tags. | |
| void | AddLineNumbers (Rewriter &R, FileID FID) |
| void | AddHeaderFooterInternalBuiltinCSS (Rewriter &R, FileID FID, StringRef title) |
| void | SyntaxHighlight (Rewriter &R, FileID FID, const Preprocessor &PP, RelexRewriteCacheRef Cache=nullptr) |
| SyntaxHighlight - Relex the specified FileID and annotate the HTML with information about keywords, comments, etc. | |
| void | HighlightMacros (Rewriter &R, FileID FID, const Preprocessor &PP, RelexRewriteCacheRef Cache=nullptr) |
| HighlightMacros - This uses the macro table state from the end of the file, to reexpand macros and insert (into the HTML) information about the macro expansions. | |
| using clang::html::RelexRewriteCacheRef = std::shared_ptr<RelexRewriteCache> |
Definition at line 31 of file HTMLRewrite.h.
Definition at line 301 of file HTMLRewrite.cpp.
References EscapeText(), clang::SourceManager::getBufferOrFake(), clang::SourceManager::getLocForStartOfFile(), clang::SourceLocation::getLocWithOffset(), clang::Rewriter::getSourceMgr(), and s.
Definition at line 254 of file HTMLRewrite.cpp.
References AddLineNumber(), clang::C, c, clang::SourceManager::getBufferOrFake(), clang::Rewriter::getEditBuffer(), clang::FileID::getHashValue(), clang::Rewriter::getSourceMgr(), and s.
| void clang::html::EscapeText | ( | Rewriter & | R, |
| FileID | FID, | ||
| bool | EscapeSpaces = false, | ||
| bool | ReplaceTabs = false ) |
EscapeText - HTMLize a specified file so that special characters are are translated so that they are not interpreted as HTML tags.
Definition at line 134 of file HTMLRewrite.cpp.
References clang::C, clang::SourceManager::getBufferOrFake(), clang::Rewriter::getEditBuffer(), and clang::Rewriter::getSourceMgr().
Referenced by AddHeaderFooterInternalBuiltinCSS().
| std::string clang::html::EscapeText | ( | StringRef | s, |
| bool | EscapeSpaces = false, | ||
| bool | ReplaceTabs = false ) |
EscapeText - HTMLized the provided string so that special characters in 's' are not interpreted as HTML tags.
Unlike the version of EscapeText that rewrites a file, this version by default replaces tabs with spaces.
Definition at line 195 of file HTMLRewrite.cpp.
| void clang::html::HighlightMacros | ( | Rewriter & | R, |
| FileID | FID, | ||
| const Preprocessor & | PP, | ||
| RelexRewriteCacheRef | Cache = nullptr ) |
HighlightMacros - This uses the macro table state from the end of the file, to reexpand macros and insert (into the HTML) information about the macro expansions.
HighlightMacros - This uses the macro table state from the end of the file, to re-expand macros and insert (into the HTML) information about the macro expansions.
This won't be perfectly perfect, but it will be reasonably close.
Definition at line 599 of file HTMLRewrite.cpp.
| void clang::html::HighlightRange | ( | llvm::RewriteBuffer & | RB, |
| unsigned | B, | ||
| unsigned | E, | ||
| const char * | BufferStart, | ||
| const char * | StartTag, | ||
| const char * | EndTag ) |
HighlightRange - This is the same as the above method, but takes decomposed file locations.
References clang::Cache, and s.
| void clang::html::HighlightRange | ( | Rewriter & | R, |
| SourceLocation | B, | ||
| SourceLocation | E, | ||
| const char * | StartTag, | ||
| const char * | EndTag, | ||
| bool | IsTokenRange = true ) |
HighlightRange - Highlight a range in the source code with the specified start/end tags.
B/E must be in the same file. This ensures that start/end tags are placed at the start/end of each line if the range is multiline.
Definition at line 32 of file HTMLRewrite.cpp.
References clang::Rewriter::getEditBuffer(), clang::Rewriter::getLangOpts(), clang::Rewriter::getSourceMgr(), HighlightRange(), clang::Invalid, clang::Lexer::MeasureTokenLength(), and SM.
Referenced by HighlightRange(), and HighlightRange().
|
inline |
HighlightRange - Highlight a range in the source code with the specified start/end tags.
The Start/end of the range must be in the same file. This ensures that start/end tags are placed at the start/end of each line if the range is multiline.
Definition at line 52 of file HTMLRewrite.h.
References HighlightRange().
| html::RelexRewriteCacheRef clang::html::instantiateRelexRewriteCache | ( | ) |
If you need to rewrite the same file multiple times, you can instantiate a RelexRewriteCache and refer functions such as SyntaxHighlight() and HighlightMacros() to it so that to avoid re-lexing the file each time.
The cache may outlive the rewriter as long as cached FileIDs and source locations continue to make sense for the translation unit as a whole.
Definition at line 130 of file HTMLRewrite.cpp.
| void clang::html::SyntaxHighlight | ( | Rewriter & | R, |
| FileID | FID, | ||
| const Preprocessor & | PP, | ||
| RelexRewriteCacheRef | Cache = nullptr ) |
SyntaxHighlight - Relex the specified FileID and annotate the HTML with information about keywords, comments, etc.
Definition at line 422 of file HTMLRewrite.cpp.