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:
AnotherTest 2020-10-02 03:01:33 +03:30 committed by Andreas Kling
commit ac5e08a541
Notes: sideshowbarker 2024-07-19 02:05:43 +09:00
17 changed files with 291 additions and 118 deletions

View file

@ -1,11 +0,0 @@
endpoint CppLanguageServer = 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) => (Vector<String> suggestions)
}