LLDB mainline
lldb_private::HighlighterManager Class Reference

Manages the available highlighters. More...

#include <Highlighter.h>

Public Member Functions

const HighlightergetHighlighterFor (lldb::LanguageType language_type, llvm::StringRef path) const
 Queries all known highlighter for one that can highlight some source code.

Private Attributes

std::mutex m_mutex
llvm::DenseMap< lldb::LanguageType, std::unique_ptr< Highlighter > > m_highlighters

Detailed Description

Manages the available highlighters.

Definition at line 131 of file Highlighter.h.

Member Function Documentation

◆ getHighlighterFor()

const Highlighter & HighlighterManager::getHighlighterFor ( lldb::LanguageType language_type,
llvm::StringRef path ) const

Queries all known highlighter for one that can highlight some source code.

Parameters
language_typeThe language type that the caller thinks the source code was given in.
pathThe path to the file the source code is from. Used as a fallback when the user can't provide a language.
Returns
The highlighter that wants to highlight the source code. Could be an empty highlighter that does nothing.

Definition at line 42 of file Highlighter.cpp.

References lldb_private::Language::FindPlugin(), lldb_private::PluginManager::GetHighlighterCreateCallbacks(), m_highlighters, and m_mutex.

Referenced by lldb_private::SourceManager::File::DisplaySourceLines().

Member Data Documentation

◆ m_highlighters

llvm::DenseMap<lldb::LanguageType, std::unique_ptr<Highlighter> > lldb_private::HighlighterManager::m_highlighters
mutableprivate

Definition at line 149 of file Highlighter.h.

Referenced by getHighlighterFor().

◆ m_mutex

std::mutex lldb_private::HighlighterManager::m_mutex
mutableprivate

Definition at line 147 of file Highlighter.h.

Referenced by getHighlighterFor().


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