LLDB mainline
lldb_private::ClangHighlighter Class Reference

#include <ClangHighlighter.h>

Inheritance diagram for lldb_private::ClangHighlighter:
[legend]

Public Member Functions

 ClangHighlighter ()
llvm::StringRef GetName () const override
 Returns a human readable name for the selected highlighter.
void Highlight (const HighlightStyle &options, llvm::StringRef line, std::optional< size_t > cursor_pos, llvm::StringRef previous_lines, Stream &s) const override
 Highlights the given line.
bool isKeyword (llvm::StringRef token) const
 Returns true if the given string represents a keywords in any Clang supported language.
llvm::StringRef GetPluginName () override
Public Member Functions inherited from lldb_private::Highlighter
 Highlighter ()=default
virtual ~Highlighter ()=default
 Highlighter (const Highlighter &)=delete
const Highlighteroperator= (const Highlighter &)=delete
std::string Highlight (const HighlightStyle &options, llvm::StringRef line, std::optional< size_t > cursor_pos, llvm::StringRef previous_lines="") const
 Utility method for calling Highlight without a stream.
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static HighlighterCreateInstance (lldb::LanguageType language)
static void Terminate ()
static void Initialize ()
static llvm::StringRef GetPluginNameStatic ()

Private Attributes

llvm::StringSet keywords

Detailed Description

Definition at line 20 of file ClangHighlighter.h.

Constructor & Destructor Documentation

◆ ClangHighlighter()

ClangHighlighter::ClangHighlighter ( )

Definition at line 32 of file ClangHighlighter.cpp.

Referenced by CreateInstance(), and isKeyword().

Member Function Documentation

◆ CreateInstance()

Highlighter * ClangHighlighter::CreateInstance ( lldb::LanguageType language)
static

◆ GetName()

llvm::StringRef lldb_private::ClangHighlighter::GetName ( ) const
inlineoverridevirtual

Returns a human readable name for the selected highlighter.

Implements lldb_private::Highlighter.

Definition at line 25 of file ClangHighlighter.h.

◆ GetPluginName()

llvm::StringRef lldb_private::ClangHighlighter::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 41 of file ClangHighlighter.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

llvm::StringRef lldb_private::ClangHighlighter::GetPluginNameStatic ( )
inlinestatic

Definition at line 40 of file ClangHighlighter.h.

Referenced by GetPluginName(), and Initialize().

◆ Highlight()

void ClangHighlighter::Highlight ( const HighlightStyle & options,
llvm::StringRef line,
std::optional< size_t > cursor_pos,
llvm::StringRef previous_lines,
Stream & s ) const
overridevirtual

Highlights the given line.

Parameters
optionsThe highlight options.
lineThe user supplied line that needs to be highlighted.
cursor_posThe cursor position of the user in this line, starting at 0 (which means the cursor is on the first character in 'line').
previous_linesAny previous lines the user has written which we should only use for getting the context of the Highlighting right.
sThe stream to which the highlighted version of the user string should be written.

Implements lldb_private::Highlighter.

Definition at line 136 of file ClangHighlighter.cpp.

References lldb_private::HighlightStyle::ColorStyle::Apply(), determineClangStyle(), lldb_private::StreamString::GetString(), lldb_private::FileSystem::Instance(), and lldb_private::HighlightStyle::selected.

◆ Initialize()

void ClangHighlighter::Initialize ( )
static

◆ isKeyword()

bool ClangHighlighter::isKeyword ( llvm::StringRef token) const

Returns true if the given string represents a keywords in any Clang supported language.

Definition at line 28 of file ClangHighlighter.cpp.

References ClangHighlighter(), isKeyword(), and keywords.

Referenced by determineClangStyle(), and isKeyword().

◆ Terminate()

void ClangHighlighter::Terminate ( )
static

Member Data Documentation

◆ keywords

llvm::StringSet lldb_private::ClangHighlighter::keywords
private

Definition at line 21 of file ClangHighlighter.h.

Referenced by isKeyword().


The documentation for this class was generated from the following files: