forked from qt-creator/qt-creator
ClangD: skip automatic code action request
.. after receiving diagnostics since the code actions are already inlined into the diagnostics. Change-Id: I11ed1270344ff5119dd111503d173eef2f340c1d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -755,6 +755,7 @@ ClangdClient::ClangdClient(Project *project, const Utils::FilePath &jsonDbDir)
|
||||
caps.clearExperimental();
|
||||
setClientCapabilities(caps);
|
||||
setLocatorsEnabled(false);
|
||||
setAutoRequestCodeActions(false); // clangd sends code actions inside diagnostics
|
||||
setProgressTitleForToken(indexingToken(), tr("Parsing C/C++ Files (clangd)"));
|
||||
setCurrentProject(project);
|
||||
|
||||
|
@@ -1317,6 +1317,7 @@ void Client::handleDiagnostics(const PublishDiagnosticsParams ¶ms)
|
||||
m_diagnosticManager.setDiagnostics(uri, diagnostics, params.version());
|
||||
if (LanguageClientManager::clientForUri(uri) == this) {
|
||||
m_diagnosticManager.showDiagnostics(uri, m_documentVersions.value(uri.toFilePath()));
|
||||
if (m_autoRequestCodeActions)
|
||||
requestCodeActions(uri, diagnostics);
|
||||
}
|
||||
}
|
||||
|
@@ -128,6 +128,7 @@ public:
|
||||
|
||||
void setLocatorsEnabled(bool enabled) { m_locatorsEnabled = enabled; }
|
||||
bool locatorsEnabled() const { return m_locatorsEnabled; }
|
||||
void setAutoRequestCodeActions(bool enabled) { m_autoRequestCodeActions = enabled; }
|
||||
|
||||
// document synchronization
|
||||
void setSupportedLanguage(const LanguageFilter &filter);
|
||||
@@ -281,6 +282,7 @@ private:
|
||||
QString m_serverVersion;
|
||||
LanguageServerProtocol::SymbolStringifier m_symbolStringifier;
|
||||
bool m_locatorsEnabled = true;
|
||||
bool m_autoRequestCodeActions = true;
|
||||
};
|
||||
|
||||
} // namespace LanguageClient
|
||||
|
Reference in New Issue
Block a user