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:
- `LspManager::server_has_responded` isn't being marked `true` from the response handlers (hover / definition / completion paths missed the `mark_server_responded()` call).
- 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).
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:
Files
Surfaced by
#223 Tooltip pilot smoke test (unrelated to the pilot itself).