CppEditor/LanguageClient: Reuse MatcherType enum

Change-Id: I95a8c902ddf6d7525543ccbc2acf45fe273a12f4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Jarek Kobus
2023-04-13 10:39:20 +02:00
parent 6f7a56c31c
commit b1e65195ac
6 changed files with 81 additions and 40 deletions

View File

@@ -206,20 +206,18 @@ ClangModelManagerSupport::ClangModelManagerSupport()
cppModelManager()->setClassesFilter(std::make_unique<ClangClassesFilter>());
cppModelManager()->setFunctionsFilter(std::make_unique<ClangFunctionsFilter>());
// Setup matchers
using WorkspaceMatcherCreator = std::function<Core::LocatorMatcherTask(Client *, int)>;
const auto matcherCreator = [](const WorkspaceMatcherCreator &creator) {
const QList<Client *> clients = clientsForOpenProjects();
LocatorMatcherTasks matchers;
for (Client *client : clients)
matchers << creator(client, 10000);
return matchers;
};
LocatorMatcher::addMatcherCreator(MatcherType::AllSymbols,
[matcherCreator] { return matcherCreator(&LanguageClient::workspaceAllSymbolsMatcher); });
LocatorMatcher::addMatcherCreator(MatcherType::Classes,
[matcherCreator] { return matcherCreator(&LanguageClient::workspaceClassMatcher); });
LocatorMatcher::addMatcherCreator(MatcherType::Functions,
[matcherCreator] { return matcherCreator(&LanguageClient::workspaceFunctionMatcher); });
LocatorMatcher::addMatcherCreator(MatcherType::AllSymbols, [] {
return LanguageClient::workspaceMatchers(clientsForOpenProjects(), MatcherType::AllSymbols,
10000);
});
LocatorMatcher::addMatcherCreator(MatcherType::Classes, [] {
return LanguageClient::workspaceMatchers(clientsForOpenProjects(), MatcherType::Classes,
10000);
});
LocatorMatcher::addMatcherCreator(MatcherType::Functions, [] {
return LanguageClient::workspaceMatchers(clientsForOpenProjects(), MatcherType::Functions,
10000);
});
EditorManager *editorManager = EditorManager::instance();
connect(editorManager, &EditorManager::editorOpened,