1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 23:37:35 +00:00

LanguageServers: Remove ClientConnection dependency

We now no longer need to provide a ClientConnection object to construct
AutoCompleteEngine.
This commit is contained in:
Itamar 2021-05-14 10:20:17 +03:00 committed by Andreas Kling
parent 687efe6dd6
commit c49cf23a86
12 changed files with 24 additions and 29 deletions

View file

@ -19,8 +19,10 @@ public:
ClientConnection(NonnullRefPtr<Core::LocalSocket> socket, int client_id)
: LanguageServers::ClientConnection(move(socket), client_id)
{
m_autocomplete_engine = make<ParserAutoComplete>(*this, m_filedb);
m_autocomplete_engine->set_declarations_of_document_callback = &ClientConnection::set_declarations_of_document_callback;
m_autocomplete_engine = make<ParserAutoComplete>(m_filedb);
m_autocomplete_engine->set_declarations_of_document_callback = [this](const String& filename, Vector<GUI::AutocompleteProvider::Declaration>&& declarations) {
async_declarations_in_document(filename, move(declarations));
};
}
virtual ~ClientConnection() override = default;
@ -30,9 +32,9 @@ private:
{
dbgln_if(CPP_LANGUAGE_SERVER_DEBUG, "SetAutoCompleteMode: {}", mode);
if (mode == "Parser")
m_autocomplete_engine = make<ParserAutoComplete>(*this, m_filedb);
m_autocomplete_engine = make<ParserAutoComplete>(m_filedb);
else
m_autocomplete_engine = make<LexerAutoComplete>(*this, m_filedb);
m_autocomplete_engine = make<LexerAutoComplete>(m_filedb);
}
};
}