mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 05:07:35 +00:00
HackStudio: Abstract away language-server details
This commit moves all the logic that deals with the language server (from HackStudio) into a LanguageClient class, provides some functions to make constructing them easier, and makes all language servers use a singular IPC definition. Also fixes the FIXME about making the autocompletion async. This makes adding language servers in the future significantly less duplicate-y, and significantly easier :^)
This commit is contained in:
parent
44f9637e20
commit
ac5e08a541
17 changed files with 291 additions and 118 deletions
|
@ -1,16 +1,15 @@
|
|||
compile_ipc(CppLanguageServer.ipc CppLanguageServerEndpoint.h)
|
||||
compile_ipc(CppLanguageClient.ipc CppLanguageClientEndpoint.h)
|
||||
|
||||
set(SOURCES
|
||||
ClientConnection.cpp
|
||||
main.cpp
|
||||
CppLanguageServerEndpoint.h
|
||||
CppLanguageClientEndpoint.h
|
||||
AutoComplete.cpp
|
||||
)
|
||||
|
||||
set(GENERATED_SOURCES
|
||||
../LanguageServerEndpoint.h
|
||||
../LanguageClientEndpoint.h)
|
||||
|
||||
serenity_bin(CppLanguageServer)
|
||||
|
||||
# We link with LibGUI because we use GUI::TextDocument to update
|
||||
# We link with LibGUI because we use GUI::TextDocument to update
|
||||
# the content of files according to the edit actions we receive over IPC.
|
||||
target_link_libraries(CppLanguageServer LibIPC LibCpp LibGUI)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue