Serenity Operating System
at master 44 lines 1.7 kB view raw
1/* 2 * Copyright (c) 2020, Itamar S. <itamar8910@gmail.com> 3 * Copyright (c) 2022, the SerenityOS developers. 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#pragma once 9 10#include "../AutoCompleteResponse.h" 11#include "FileDB.h" 12#include <AK/HashMap.h> 13#include <AK/LexicalPath.h> 14#include <LibCodeComprehension/CodeComprehensionEngine.h> 15#include <LibIPC/ConnectionFromClient.h> 16 17#include <Userland/DevTools/HackStudio/LanguageServers/LanguageClientEndpoint.h> 18#include <Userland/DevTools/HackStudio/LanguageServers/LanguageServerEndpoint.h> 19 20namespace LanguageServers { 21 22class ConnectionFromClient : public IPC::ConnectionFromClient<LanguageClientEndpoint, LanguageServerEndpoint> { 23public: 24 explicit ConnectionFromClient(NonnullOwnPtr<Core::LocalSocket>); 25 ~ConnectionFromClient() override = default; 26 27 virtual void die() override; 28 29protected: 30 virtual void greet(DeprecatedString const&) override; 31 virtual void file_opened(DeprecatedString const&, IPC::File const&) override; 32 virtual void file_edit_insert_text(DeprecatedString const&, DeprecatedString const&, i32, i32) override; 33 virtual void file_edit_remove_text(DeprecatedString const&, i32, i32, i32, i32) override; 34 virtual void set_file_content(DeprecatedString const&, DeprecatedString const&) override; 35 virtual void auto_complete_suggestions(CodeComprehension::ProjectLocation const&) override; 36 virtual void find_declaration(CodeComprehension::ProjectLocation const&) override; 37 virtual void get_parameters_hint(CodeComprehension::ProjectLocation const&) override; 38 virtual void get_tokens_info(DeprecatedString const&) override; 39 40 FileDB m_filedb; 41 OwnPtr<CodeComprehension::CodeComprehensionEngine> m_autocomplete_engine; 42}; 43 44}