diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2021-02-23 13:51:41 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2021-04-22 07:32:58 +0000 |
commit | ecafdb7543927ffe8a9066ce24ed532a097fa21d (patch) | |
tree | 5f77d9fc9af3967af2bda56c052ccd4a351e0703 /src/plugins/cpptools/cppmodelmanager.cpp | |
parent | 8bacd9bdc49c376af69c81ac9acf2e9db1f10cb5 (diff) | |
download | qt-creator-ecafdb7543927ffe8a9066ce24ed532a097fa21d.tar.gz |
ClangCodeModel: Add experimental clangd support
If the user has enabled clangd (default is off), we start up one instance
per project when it is opened/changed (including build config switches),
and trigger background indexing.
So far, the index is used to provide results for locators and "Find
Usages".
Per-document functionality such as semantic highlighting and completion
is still provided by libclang.
Change-Id: I12532fca1b9c6278baab560e7238cba6189cde9f
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 9c2de6bbc2..971276f70a 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -328,7 +328,7 @@ void CppModelManager::globalRename(const CursorInEditor &data, UsagesCallback && void CppModelManager::findUsages(const CppTools::CursorInEditor &data, UsagesCallback &&showUsagesCallback) const { - RefactoringEngineInterface *engine = getRefactoringEngine(d->m_refactoringEngines); + RefactoringEngineInterface *engine = getRefactoringEngine(d->m_refactoringEngines, false); QTC_ASSERT(engine, return;); engine->findUsages(data, std::move(showUsagesCallback)); } @@ -466,6 +466,11 @@ void CppModelManager::removeRefactoringEngine(RefactoringEngineType type) instance()->d->m_refactoringEngines.remove(type); } +RefactoringEngineInterface *CppModelManager::builtinRefactoringEngine() +{ + return instance()->d->m_refactoringEngines.value(RefactoringEngineType::BuiltIn); +} + template<class FilterClass> static void setFilter(std::unique_ptr<FilterClass> &filter, std::unique_ptr<FilterClass> &&newFilter) @@ -917,6 +922,11 @@ QByteArray CppModelManager::codeModelConfiguration() const return QByteArray::fromRawData(pp_configuration, qstrlen(pp_configuration)); } +CppLocatorData *CppModelManager::locatorData() const +{ + return &d->m_locatorData; +} + static QSet<QString> tooBigFilesRemoved(const QSet<QString> &files, int fileSizeLimitInMb) { if (fileSizeLimitInMb <= 0) |