2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2022 The Qt Company Ltd.
|
2022-12-21 10:12:09 +01:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
2022-05-30 13:39:08 +02:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <QLoggingCategory>
|
|
|
|
|
#include <QPointer>
|
|
|
|
|
#include <QVersionNumber>
|
|
|
|
|
|
2023-03-07 15:44:01 +01:00
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
|
template <typename T>
|
|
|
|
|
class QPromise;
|
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
|
2023-06-07 15:45:56 +02:00
|
|
|
namespace LanguageClient {
|
|
|
|
|
class Client;
|
|
|
|
|
class ExpandedSemanticToken;
|
|
|
|
|
}
|
|
|
|
|
namespace LanguageServerProtocol { class JsonRpcMessage; }
|
2022-05-30 13:39:08 +02:00
|
|
|
namespace TextEditor {
|
|
|
|
|
class HighlightingResult;
|
|
|
|
|
class TextDocument;
|
|
|
|
|
}
|
|
|
|
|
namespace Utils { class FilePath; }
|
|
|
|
|
|
|
|
|
|
namespace ClangCodeModel::Internal {
|
|
|
|
|
class ClangdAstNode;
|
|
|
|
|
class TaskTimer;
|
|
|
|
|
Q_DECLARE_LOGGING_CATEGORY(clangdLogHighlight);
|
|
|
|
|
|
|
|
|
|
void doSemanticHighlighting(
|
2023-03-07 15:44:01 +01:00
|
|
|
QPromise<TextEditor::HighlightingResult> &promise,
|
2022-05-30 13:39:08 +02:00
|
|
|
const Utils::FilePath &filePath,
|
|
|
|
|
const QList<LanguageClient::ExpandedSemanticToken> &tokens,
|
|
|
|
|
const QString &docContents,
|
|
|
|
|
int docRevision,
|
|
|
|
|
const TaskTimer &taskTimer
|
|
|
|
|
);
|
|
|
|
|
|
2023-06-07 15:45:56 +02:00
|
|
|
|
|
|
|
|
QString inactiveRegionsMethodName();
|
|
|
|
|
void handleInactiveRegions(LanguageClient::Client *client,
|
|
|
|
|
const LanguageServerProtocol::JsonRpcMessage &msg);
|
|
|
|
|
|
2022-05-30 13:39:08 +02:00
|
|
|
} // namespace ClangCodeModel::Internal
|