4#ifndef QQMLSEMANTICTOKENS_P_H
5#define QQMLSEMANTICTOKENS_P_H
18#include <QtLanguageServer/private/qlanguageserverspec_p.h>
19#include <QtQmlDom/private/qqmldomitem_p.h>
20#include <QtCore/qlist.h>
21#include <QtCore/qmap.h>
35 startLine(loc.startLine - 1),
36 startColumn(loc.startColumn - 1),
38 tokenModifier(tokenModifier)
78 void addHighlight(
const QMap<QQmlJS::Dom::FileLocationRegion, QQmlJS::SourceLocation> ®ions,
81 const std::optional<HighlightsRange> &
range);
93 static QList<QQmlJS::SourceLocation>
96 static void addModifier(QLspSpecification::SemanticTokenModifiers modifier,
int *baseModifier);
98 static QList<QLspSpecification::SemanticTokensEdit>
computeDiff(
const QList<int> &,
const QList<int> &);
126 std::optional<HighlightsRange> m_range;
HighlightingVisitor(Highlights &highlights, const std::optional< HighlightsRange > &range)
bool operator()(QQmlJS::Dom::Path, const QQmlJS::Dom::DomItem &item, bool)
const HighlightsContainer & highlights() const
void addHighlight(const QQmlJS::SourceLocation &loc, int tokenType, int tokenModifier=0)
QList< int > collectTokens(const QQmlJS::Dom::DomItem &item, const std::optional< HighlightsRange > &range)
HighlightsContainer & highlights()
Combined button and popup list for selecting options.
#define Q_DECLARE_LOGGING_CATEGORY(name)
GLenum GLuint GLenum GLsizei length
GLenum GLuint GLintptr offset
static QList< QQmlJS::SourceLocation > sourceLocationsFromMultiLineToken(QStringView code, const QQmlJS::SourceLocation &tokenLocation)
Returns multiple source locations for a given raw comment.
static QList< int > encodeSemanticTokens(Highlights &highlights)
static void updateResultID(QByteArray &resultID)
static QList< QLspSpecification::SemanticTokensEdit > computeDiff(const QList< int > &, const QList< int > &)
static bool rangeOverlapsWithSourceLocation(const QQmlJS::SourceLocation &loc, const HighlightsRange &r)
static void addModifier(QLspSpecification::SemanticTokenModifiers modifier, int *baseModifier)
friend bool operator==(const Token &lhs, const Token &rhs)
friend bool operator<(const Token &lhs, const Token &rhs)
Token(const QQmlJS::SourceLocation &loc, int tokenType, int tokenModifier=0)