Skip to content

Commit

Permalink
HackStudio+CppLanguageServer: Remove lexer-based autocomplete engine
Browse files Browse the repository at this point in the history
The parser-based autocomplete engine is at a point where it's stable
enough that I don't think there's a need for the lexer-based
alternative anymore.
  • Loading branch information
itamar8910 authored and awesomekling committed May 16, 2021
1 parent ddb278a commit b1531b7
Show file tree
Hide file tree
Showing 11 changed files with 0 additions and 156 deletions.
11 changes: 0 additions & 11 deletions Userland/DevTools/HackStudio/HackStudioWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -898,8 +898,6 @@ void HackStudioWidget::create_project_menubar(GUI::Menubar& menubar)
auto& project_menu = menubar.add_menu("&Project");
project_menu.add_action(*m_new_file_action);
project_menu.add_action(*m_new_directory_action);
project_menu.add_separator();
project_menu.add_action(*create_set_autocomplete_mode_action());
}

void HackStudioWidget::create_edit_menubar(GUI::Menubar& menubar)
Expand Down Expand Up @@ -1000,15 +998,6 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_stop_action()
return action;
}

NonnullRefPtr<GUI::Action> HackStudioWidget::create_set_autocomplete_mode_action()
{
auto action = GUI::Action::create_checkable("AutoComplete C++ with &Parser", [this](auto& action) {
get_language_client<LanguageClients::Cpp::ServerConnection>(project().root_path())->set_autocomplete_mode(action.is_checked() ? "Parser" : "Lexer");
});
action->set_checked(true);
return action;
}

void HackStudioWidget::initialize_menubar(GUI::Menubar& menubar)
{
create_file_menubar(menubar);
Expand Down
1 change: 0 additions & 1 deletion Userland/DevTools/HackStudio/HackStudioWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ class HackStudioWidget : public GUI::Widget {
NonnullRefPtr<GUI::Action> create_build_action();
NonnullRefPtr<GUI::Action> create_run_action();
NonnullRefPtr<GUI::Action> create_stop_action();
NonnullRefPtr<GUI::Action> create_set_autocomplete_mode_action();

void add_new_editor(GUI::Widget& parent);
RefPtr<EditorWrapper> get_editor_of_file(const String& filename);
Expand Down
7 changes: 0 additions & 7 deletions Userland/DevTools/HackStudio/LanguageClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,6 @@ void LanguageClient::provide_autocomplete_suggestions(const Vector<GUI::Autocomp
// Otherwise, drop it on the floor :shrug:
}

void LanguageClient::set_autocomplete_mode(const String& mode)
{
if (!m_connection_wrapper.connection())
return;
m_connection_wrapper.connection()->async_set_auto_complete_mode(mode);
}

void LanguageClient::set_active_client()
{
if (!m_connection_wrapper.connection())
Expand Down
1 change: 0 additions & 1 deletion Userland/DevTools/HackStudio/LanguageClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ class LanguageClient : public Weakable<LanguageClient> {
virtual void insert_text(const String& path, const String& text, size_t line, size_t column);
virtual void remove_text(const String& path, size_t from_line, size_t from_column, size_t to_line, size_t to_column);
virtual void request_autocomplete(const String& path, size_t cursor_line, size_t cursor_column);
virtual void set_autocomplete_mode(const String& mode);
virtual void search_declaration(const String& path, size_t line, size_t column);

void provide_autocomplete_suggestions(const Vector<GUI::AutocompleteProvider::Entry>&) const;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class ClientConnection
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;
virtual void set_auto_complete_mode(String const&) override = 0;

FileDB m_filedb;
OwnPtr<AutoCompleteEngine> m_autocomplete_engine;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
set(SOURCES
LexerAutoComplete.cpp
ParserAutoComplete.cpp
Tests.cpp
main.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#pragma once

#include "LexerAutoComplete.h"
#include "ParserAutoComplete.h"
#include <DevTools/HackStudio/LanguageServers/ClientConnection.h>

Expand All @@ -26,15 +25,5 @@ class ClientConnection final : public LanguageServers::ClientConnection {
}

virtual ~ClientConnection() override = default;

private:
virtual void set_auto_complete_mode(String const& mode) override
{
dbgln_if(CPP_LANGUAGE_SERVER_DEBUG, "SetAutoCompleteMode: {}", mode);
if (mode == "Parser")
m_autocomplete_engine = make<ParserAutoComplete>(m_filedb);
else
m_autocomplete_engine = make<LexerAutoComplete>(m_filedb);
}
};
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,5 @@ endpoint LanguageServer
set_file_content(String filename, String content) =|

auto_complete_suggestions(GUI::AutocompleteProvider::ProjectLocation location) =|
set_auto_complete_mode(String mode) =|
find_declaration(GUI::AutocompleteProvider::ProjectLocation location) =|
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,5 @@ class ClientConnection final : public LanguageServers::ClientConnection {
};
}
virtual ~ClientConnection() override = default;

private:
virtual void set_auto_complete_mode(String const&) override { }
};
}

0 comments on commit b1531b7

Please sign in to comment.