ClangCodeModel: Force clangd re-highlighting on font settings change

Change-Id: Ie449a5329bd49eac116751e66a07602f316e147d
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-11-15 14:58:40 +01:00
parent b41280b942
commit 5769dbe0aa
3 changed files with 10 additions and 10 deletions

View File

@@ -261,7 +261,7 @@ void SemanticTokenSupport::updateSemanticTokens(TextDocument *textDocument)
void SemanticTokenSupport::rehighlight()
{
for (const Utils::FilePath &filePath : m_tokens.keys())
highlight(filePath);
highlight(filePath, true);
}
void addModifiers(int key,
@@ -474,7 +474,7 @@ void SemanticTokenSupport::handleSemanticTokensDelta(
highlight(filePath);
}
void SemanticTokenSupport::highlight(const Utils::FilePath &filePath)
void SemanticTokenSupport::highlight(const Utils::FilePath &filePath, bool force)
{
TextDocument *doc = TextDocument::textDocumentForFilePath(filePath);
if (!doc || LanguageClientManager::clientForDocument(doc) != m_client)
@@ -517,7 +517,7 @@ void SemanticTokenSupport::highlight(const Utils::FilePath &filePath)
}
}
m_tokensHandler(doc, expandedTokens, versionedTokens.version);
m_tokensHandler(doc, expandedTokens, versionedTokens.version, force);
return;
}
int line = 1;

View File

@@ -56,7 +56,7 @@ inline bool operator==(const ExpandedSemanticToken &t1, const ExpandedSemanticTo
&& t1.type == t2.type && t1.modifiers == t2.modifiers;
}
using SemanticTokensHandler = std::function<void(TextEditor::TextDocument *,
const QList<ExpandedSemanticToken> &, int)>;
const QList<ExpandedSemanticToken> &, int, bool)>;
namespace SemanticHighligtingSupport {
@@ -99,7 +99,7 @@ private:
void handleSemanticTokensDelta(const Utils::FilePath &filePath,
const LanguageServerProtocol::SemanticTokensDeltaResult &result,
int documentVersion);
void highlight(const Utils::FilePath &filePath);
void highlight(const Utils::FilePath &filePath, bool force = false);
void updateFormatHash();
void currentEditorChanged();
void onCurrentEditorChanged(Core::IEditor *editor);