mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-12 06:02:51 +00:00
This feels like a better name since the "autocomplete engine" can, in addition to providing autocomplete suggestions, also find declarations of symbols and report back the symbols that are defined in a document. Also, Cpp/ParserAutoComplete has been renamed to CppComprehensionEngine and Shell/AutoComplete has been renamed to ShellComprehensionEngine.
42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
/*
|
|
* Copyright (c) 2020, Itamar S. <itamar8910@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "../AutoCompleteResponse.h"
|
|
#include "CodeComprehensionEngine.h"
|
|
#include "FileDB.h"
|
|
#include <AK/HashMap.h>
|
|
#include <AK/LexicalPath.h>
|
|
#include <LibIPC/ClientConnection.h>
|
|
|
|
#include <Userland/DevTools/HackStudio/LanguageServers/LanguageClientEndpoint.h>
|
|
#include <Userland/DevTools/HackStudio/LanguageServers/LanguageServerEndpoint.h>
|
|
|
|
namespace LanguageServers {
|
|
|
|
class ClientConnection
|
|
: public IPC::ClientConnection<LanguageClientEndpoint, LanguageServerEndpoint> {
|
|
public:
|
|
explicit ClientConnection(NonnullRefPtr<Core::LocalSocket>, int client_id);
|
|
~ClientConnection() override;
|
|
|
|
virtual void die() override;
|
|
|
|
protected:
|
|
virtual void greet(String const&) override;
|
|
virtual void file_opened(String const&, IPC::File const&) override;
|
|
virtual void file_edit_insert_text(String const&, String const&, i32, i32) override;
|
|
virtual void file_edit_remove_text(String const&, i32, i32, i32, i32) override;
|
|
virtual void set_file_content(String const&, String const&) override;
|
|
virtual void auto_complete_suggestions(GUI::AutocompleteProvider::ProjectLocation const&) override;
|
|
virtual void find_declaration(GUI::AutocompleteProvider::ProjectLocation const&) override;
|
|
|
|
FileDB m_filedb;
|
|
OwnPtr<CodeComprehensionEngine> m_autocomplete_engine;
|
|
};
|
|
|
|
}
|