diff options
author | pommicket <pommicket@gmail.com> | 2022-12-27 18:01:48 -0500 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2022-12-27 18:01:48 -0500 |
commit | 1eaef3694d54d3d92f0b43304c72f5148b4e5db9 (patch) | |
tree | a9c9160699edee9bcecd918cc9e8ced59f7a61da | |
parent | 5cdae84d6a61d03173a86cbfc9c7fd9112e41237 (diff) |
send "params": {} for initialized request
it's unclear whether the standard requires this,
but gopls fails without it
-rw-r--r-- | lsp-write.c | 5 | ||||
-rw-r--r-- | main.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lsp-write.c b/lsp-write.c index 5f6c858..ffa5337 100644 --- a/lsp-write.c +++ b/lsp-write.c @@ -342,11 +342,14 @@ static void write_request(LSP *lsp, LSPRequest *request) { case LSP_REQUEST_WORKSPACE_FOLDERS: assert(0); break; - case LSP_REQUEST_INITIALIZED: case LSP_REQUEST_SHUTDOWN: case LSP_REQUEST_EXIT: // no params break; + case LSP_REQUEST_INITIALIZED: + write_key_obj_start(o, "params"); + write_obj_end(o); + break; case LSP_REQUEST_INITIALIZE: { write_key_obj_start(o, "params"); write_key_number(o, "processId", process_get_id()); @@ -13,7 +13,6 @@ - what to do if initialize request takes a long time? - delete old sent requests? but make sure requests that just take a long time are okay. (if the server never sends a response) -- what's wrong with gopls? - TESTING: make rust-analyzer-slow (waits 10s before sending response) - run everything through valgrind ideally with leak checking - grep -i -n TODO *.[ch] |