clang
7.0.0
|
Functions | |
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. More... | |
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. More... | |
void | HighlightRange (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. More... | |
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. More... | |
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. More... | |
void | AddLineNumbers (Rewriter &R, FileID FID) |
void | AddHeaderFooterInternalBuiltinCSS (Rewriter &R, FileID FID, StringRef title) |
void | SyntaxHighlight (Rewriter &R, FileID FID, const Preprocessor &PP) |
SyntaxHighlight - Relex the specified FileID and annotate the HTML with information about keywords, comments, etc. More... | |
void | HighlightMacros (Rewriter &R, FileID FID, const Preprocessor &PP) |
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. More... | |
Definition at line 275 of file HTMLRewrite.cpp.
References EscapeText(), clang::SourceManager::getBuffer(), clang::SourceManager::getLocForStartOfFile(), clang::SourceLocation::getLocWithOffset(), clang::Rewriter::getSourceMgr(), clang::Rewriter::InsertTextAfter(), and clang::Rewriter::InsertTextBefore().
Referenced by HighlightRange().
Definition at line 228 of file HTMLRewrite.cpp.
References AddLineNumber(), AttributeLangSupport::C, clang::SourceManager::getBuffer(), clang::Rewriter::getEditBuffer(), clang::FileID::getHashValue(), clang::Rewriter::getSourceMgr(), clang::RewriteBuffer::InsertTextAfter(), and clang::RewriteBuffer::InsertTextBefore().
Referenced by HighlightRange().
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 108 of file HTMLRewrite.cpp.
References AttributeLangSupport::C, clang::SourceManager::getBuffer(), clang::Rewriter::getEditBuffer(), clang::Rewriter::getSourceMgr(), and clang::RewriteBuffer::ReplaceText().
Referenced by AddHeaderFooterInternalBuiltinCSS(), EmitAlphaCounter(), HighlightMacros(), HighlightRange(), and showRelevantLinesJavascript().
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 169 of file HTMLRewrite.cpp.
void clang::html::HighlightMacros | ( | Rewriter & | R, |
FileID | FID, | ||
const Preprocessor & | PP | ||
) |
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 517 of file HTMLRewrite.cpp.
References clang::TokenConcatenation::AvoidConcat(), clang::comments::tok::eof, EscapeText(), clang::CharSourceRange::getBegin(), clang::SourceManager::getBuffer(), clang::DiagnosticsEngine::getDiagnosticIDs(), clang::DiagnosticsEngine::getDiagnosticOptions(), clang::Preprocessor::getDiagnostics(), clang::CharSourceRange::getEnd(), clang::SourceManager::getExpansionLoc(), clang::SourceManager::getExpansionRange(), clang::SourceManager::getFileID(), clang::Preprocessor::getLangOpts(), clang::Token::getLocation(), clang::Preprocessor::getSourceManager(), clang::Token::hasLeadingSpace(), HighlightRange(), clang::Token::is(), clang::Token::isAtStartOfLine(), clang::SourceLocation::isMacroID(), clang::Token::isNot(), clang::CharSourceRange::isTokenRange(), clang::Preprocessor::LookUpIdentifierInfo(), clang::Token::setKind(), SM, and clang::format::Tok.
Referenced by clang::CreateHTMLPrinter(), and HighlightRange().
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.
Referenced by EmitAlphaCounter(), HighlightMacros(), HighlightRange(), and SyntaxHighlight().
|
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 41 of file HTMLRewrite.h.
References AddHeaderFooterInternalBuiltinCSS(), AddLineNumbers(), EscapeText(), clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), HighlightMacros(), HighlightRange(), and SyntaxHighlight().
void clang::html::HighlightRange | ( | 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.
Definition at line 59 of file HTMLRewrite.cpp.
void clang::html::SyntaxHighlight | ( | Rewriter & | R, |
FileID | FID, | ||
const Preprocessor & | PP | ||
) |
SyntaxHighlight - Relex the specified FileID and annotate the HTML with information about keywords, comments, etc.
SyntaxHighlight - Relex the specified FileID and annotate the HTML with information about keywords, macro expansions etc.
This uses the macro table state from the end of the file, so it won't be perfectly perfect, but it will be reasonably close.
Definition at line 427 of file HTMLRewrite.cpp.
References clang::comments::tok::eof, clang::Lexer::getBuffer(), clang::SourceManager::getBuffer(), clang::Rewriter::getEditBuffer(), clang::SourceManager::getFileOffset(), clang::Token::getKind(), clang::Preprocessor::getLangOpts(), clang::Token::getLength(), clang::Token::getLocation(), clang::Preprocessor::getSourceManager(), HighlightRange(), clang::Token::isAtStartOfLine(), clang::Token::isNot(), clang::Preprocessor::LookUpIdentifierInfo(), SM, and clang::format::Tok.
Referenced by clang::CreateHTMLPrinter(), and HighlightRange().