summaryrefslogtreecommitdiff
path: root/Userland/DevTools/HackStudio/Editor.h
diff options
context:
space:
mode:
authorItamar <itamar8910@gmail.com>2022-02-07 08:08:34 +0200
committerAndreas Kling <kling@serenityos.org>2022-02-09 00:51:31 +0100
commitaba2e03b711363f6ab85be1041d7e5f77dc4804f (patch)
tree654ac3f1b1e34a48f2cae7723eca41ee4082956e /Userland/DevTools/HackStudio/Editor.h
parent10d75d7f2199d7d06b2c7a0d8fa8f7dc357ad49b (diff)
downloadserenity-aba2e03b711363f6ab85be1041d7e5f77dc4804f.zip
HackStudio: Use the C++ semantic syntax highlighter
HackStudio::Editor will now send a request to get semantic token information to the language server whenever there's a short pause in editing. The result is used by the semantic c++ syntax highlighter to provide better highlighting information.
Diffstat (limited to 'Userland/DevTools/HackStudio/Editor.h')
-rw-r--r--Userland/DevTools/HackStudio/Editor.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/Userland/DevTools/HackStudio/Editor.h b/Userland/DevTools/HackStudio/Editor.h
index b0b2d1b65c..1076b15615 100644
--- a/Userland/DevTools/HackStudio/Editor.h
+++ b/Userland/DevTools/HackStudio/Editor.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
+ * Copyright (c) 2020-2022, Itamar S. <itamar8910@gmail.com>
* Copyright (c) 2018-2021, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
@@ -101,6 +102,9 @@ private:
void set_language_client_for(const CodeDocument&);
void set_autocomplete_provider_for(CodeDocument const&);
void handle_function_parameters_hint_request();
+ void on_token_info_timer_tick();
+ void on_tokens_info_result(Vector<GUI::AutocompleteProvider::TokenInfo> const& tokens_info);
+ void create_tokens_info_timer();
explicit Editor();
@@ -115,6 +119,7 @@ private:
bool m_autocomplete_in_focus { false };
RefPtr<GUI::Action> m_evaluate_expression_action;
RefPtr<GUI::Action> m_move_execution_to_line_action;
+ RefPtr<Core::Timer> m_tokens_info_timer; // Used for querying language server for syntax highlighting info
OwnPtr<LanguageClient> m_language_client;
ErrorOr<void> initialize_documentation_tooltip();