diff options
author | Itamar <itamar8910@gmail.com> | 2022-02-07 08:08:34 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-02-09 00:51:31 +0100 |
commit | aba2e03b711363f6ab85be1041d7e5f77dc4804f (patch) | |
tree | 654ac3f1b1e34a48f2cae7723eca41ee4082956e /Userland/DevTools/HackStudio/Editor.h | |
parent | 10d75d7f2199d7d06b2c7a0d8fa8f7dc357ad49b (diff) | |
download | serenity-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.h | 5 |
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(); |