From 6778d575ab88b52fc461f5b13c0b667fba1639af Mon Sep 17 00:00:00 2001 From: Ben Jackson Date: Fri, 22 Dec 2023 17:36:57 +0000 Subject: [PATCH] Re-instate actually updating the server on file ready to parse Perversely, in LSP completer, OnFileReadyToParse never parsed anything. At least, not in the obvious way. The original bug where we were doing redundant updates, ironically, was ensuring that we (eventually) updated the server with file contents (at some point in time) when we get OnFileReadyToParse. But by fixing that, we now never actually used the data supplied in OnFileReadyToParse, which the tests were relying heavily on. In particular, the Java tests would update file contents using only OnFileReadyToParse, which is a completely legitimate thing to do in our API. And worked. Until it didn't. Now it does again - we explicitly update server file state in OnFileReadyToParse, which seems perfectly sensible. --- ycmd/completers/language_server/language_server_completer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ycmd/completers/language_server/language_server_completer.py b/ycmd/completers/language_server/language_server_completer.py index 9f501d825e..b5fd6ee182 100644 --- a/ycmd/completers/language_server/language_server_completer.py +++ b/ycmd/completers/language_server/language_server_completer.py @@ -1922,6 +1922,8 @@ def ClearOneshotHandlers(): handler( self, request_data ) ClearOneshotHandlers() + self._UpdateServerWithFileContents( request_data ) + # Return the latest diagnostics that we have received. # # NOTE: We also return diagnostics asynchronously via the long-polling