Skip to content

LSP status indicator: 'rust-analyzer...' initializing text never updates after init completes #230

Description

@JDonaghy

Symptom

The status bar / LSP indicator shows `rust-analyzer...` (the initializing-with-trailing-ellipsis variant) and never transitions to the running / indexed state, even after rust-analyzer finishes initializing and is happily serving hover / completion / definition requests.

Expected

Per Session 243 (`PROJECT_STATE.md` memory): `LspStatus::Initializing(name)` downgrades to `LspStatus::Running(name)` once `server_has_responded == true` AND semantic tokens have arrived (or workspace indexing completes). The status text should drop the `...` ellipsis once that happens.

Reality

Hover (`K`), completion, and other LSP-driven features all work — confirming rust-analyzer responded — but the indicator stays in the initializing state.

Likely cause

Either:

  1. `LspManager::server_has_responded` isn't being marked `true` from the response handlers (hover / definition / completion paths missed the `mark_server_responded()` call).
  2. The render-side downgrade in `Engine::lsp_status_for_buffer` checks `BufferState.semantic_tokens.is_empty()` and rust-analyzer isn't returning semantic tokens for this buffer (or they're not populating the cache).

Files

  • `src/core/lsp.rs` — `mark_server_responded` calls; verify hover / definition / completion all hit it.
  • `src/core/lsp_manager.rs` — `lsp_status_for_language`.
  • `src/core/engine/lsp_ops.rs` — `Engine::lsp_status_for_buffer` downgrade path.

Surfaced by

#223 Tooltip pilot smoke test (unrelated to the pilot itself).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinguiUI/rendering

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions