serenity/Userland/DevTools/HackStudio/LanguageServers
Itamar 4f1889c2cb CppLanguageServer: Work with a HashMap of Symbols in each document
This is a pretty fundamental refactor of the way
CppComprehensionEngine works.

Previously, in order to answer queries such as "goto definition" or
"autocomplete", we would do ad-hoc logic of walking the AST,
collecting available declaration nodes, computing scopes, and so on.

This commit introduces an architectural change where each Document
builds a hashmap of symbols on creation.

With these hashmaps, it's easier to iterate over all of the available
symbols, and to answer a query such as "which symbols are defined in
this scope".
2021-06-01 22:20:13 +02:00
..
Cpp CppLanguageServer: Work with a HashMap of Symbols in each document 2021-06-01 22:20:13 +02:00
Shell LanguageServers: Rename AutoCompleteEngine => CodeComprehensionEngine 2021-05-16 16:39:21 +02:00
ClientConnection.cpp LanguageServers: Remove ClientConnection dependency 2021-05-14 13:27:47 +02:00
ClientConnection.h Userland: Mark subclasses of IPC::{Client,Server}Connection final 2021-05-23 09:53:55 +02:00
CMakeLists.txt LanguageServers: Rename AutoCompleteEngine => CodeComprehensionEngine 2021-05-16 16:39:21 +02:00
CodeComprehensionEngine.cpp LanguageServers: Rename AutoCompleteEngine => CodeComprehensionEngine 2021-05-16 16:39:21 +02:00
CodeComprehensionEngine.h LanguageServers: Rename AutoCompleteEngine => CodeComprehensionEngine 2021-05-16 16:39:21 +02:00
FileDB.cpp LanguageServers/FileDB: Allow m_project_root to be null 2021-05-14 13:27:47 +02:00
FileDB.h LanguageServers: Add FileDB::project_root() getter 2021-05-22 15:52:11 +02:00
LanguageClient.ipc Userland: Use snake case names in .ipc files 2021-05-03 21:14:40 +02:00
LanguageServer.ipc HackStudio: Greet language servers asynchronously 2021-05-23 09:53:55 +02:00