//===-- Highlighter.h -------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_CORE_HIGHLIGHTER_H #define LLDB_CORE_HIGHLIGHTER_H #include <optional> #include <utility> #include <vector> #include "lldb/Utility/Stream.h" #include "lldb/lldb-enumerations.h" #include "llvm/ADT/StringRef.h" namespace lldb_private { /// Represents style that the highlighter should apply to the given source code. /// Stores information about how every kind of token should be annotated. struct HighlightStyle { … }; /// Annotates source code with color attributes. class Highlighter { … }; /// A default highlighter that only highlights the user cursor, but doesn't /// do any other highlighting. class DefaultHighlighter : public Highlighter { … }; /// Manages the available highlighters. class HighlighterManager { … }; } // namespace lldb_private #endif // LLDB_CORE_HIGHLIGHTER_H