fix(nextflow): don't mark workspace scan flushed when both probes fail

_flush_deferred_workspace_scan sets _workspace_scan_flushed unconditionally after its
two completion() flush attempts, even when both raised. A later find_referencing_symbols
call then silently skips the flush and answers from a possibly-incomplete workspace AST
cache for the rest of the session, with no exception and no retry.

Fixes #1871
This commit is contained in:
Amir Fathi committed 2026-08-15 19:05:13 +00:00
1 parent 93ec043105
commit c72c07ae29
3 files changed
+71 -1

No files matched your search

@@ -320,12 +320,14 @@ class NextflowLanguageServer(SolidLanguageServer):
"textDocument": {"uri": self._resolve_file_uri(relative_file_path)},
"position": {"line": 0, "character": 0},
}
flushed = False
for _ in range(2):
try:
self.server.send.completion(params)
flushed = True
except Exception as e:
log.debug("Completion request used to flush the Nextflow workspace scan failed: %s", e)
self._workspace_scan_flushed = True
self._workspace_scan_flushed = flushed
@override
def _send_references_request(self, relative_file_path: str, line: int, column: int) -> list[lsp_types.Location] | None: