Skip to content

fix(lsp): restore work-done progress - #293

Merged
fcoury-oai merged 1 commit into
mainfrom
fcoury/fidget-lsp-progress
Aug 21, 2026
Merged

fix(lsp): restore work-done progress#293
fcoury-oai merged 1 commit into
mainfrom
fcoury/fidget-lsp-progress

Conversation

@fcoury-oai

Copy link
Copy Markdown
Collaborator

Why

Language servers such as rust-analyzer only emit work-done progress after the client advertises support and acknowledges window/workDoneProgress/create. Red advertised progress as unsupported and rejected creation requests, so the bundled Fidget overlay loaded successfully but never received anything to display.

What changed

  • Advertise window.workDoneProgress in Red's LSP initialization capabilities.
  • Acknowledge server-initiated progress-token creation with a successful JSON-RPC response.
  • Replace the obsolete negative capability assertion with a behavioral regression covering initialization, token creation, and begin/report/end notifications for both string and numeric tokens.

How to Test

  1. Run cargo test -p red --lib work_done_progress_is_negotiated_created_and_forwarded -- --nocapture. Expect the complete progress handshake and both token variants to pass.
  2. Run cargo test -p red --lib fidget_. Expect the bundled Fidget overlay rendering, numeric-token handling, and timer-cleanup tests to pass.
  3. Open a Rust project with cargo run -- path/to/src/main.rs. During rust-analyzer indexing, expect the Fidget progress overlay to show the active task and clear after completion.

Validated with cargo clippy --all-targets --all-features -- -D warnings and 2,974 passing package tests. The package run excluded the unrelated pre-existing Neo-tree test neotree_renders_deep_mostly_clean_workspaces_within_the_instruction_budget, whose stale 200-row expectation conflicts with the newer unbounded-tree implementation.

@fcoury-oai
fcoury-oai merged commit 9934a1a into main Aug 21, 2026
10 checks passed
@fcoury-oai
fcoury-oai deleted the fcoury/fidget-lsp-progress branch August 21, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant