mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 02:47: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
11
DevTools/HackStudio/LanguageServers/LanguageServer.ipc
Normal file
11
DevTools/HackStudio/LanguageServers/LanguageServer.ipc
Normal file
|
@ -0,0 +1,11 @@
|
|||
endpoint LanguageServer = 8001
|
||||
{
|
||||
Greet(String project_root) => (i32 client_id)
|
||||
|
||||
FileOpened(String file_name) =|
|
||||
FileEditInsertText(String file_name, String text, i32 start_line, i32 start_column) =|
|
||||
FileEditRemoveText(String file_name, i32 start_line, i32 start_column, i32 end_line, i32 end_column) =|
|
||||
SetFileContent(String file_name, String content) =|
|
||||
|
||||
AutoCompleteSuggestions(String file_name, i32 cursor_line, i32 cursor_column) =|
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue