Skip to content

Conversation

@ram-nadella
Copy link
Owner

Summary

  • Implements work done progress notifications during initial workspace indexing
  • Provides visual feedback in VSCode showing indexing status and percentage
  • Gracefully handles clients that don't support progress reporting

Changes

  • Added progress.rs module with LSP progress reporting utilities
  • Modified SymbolIndex to support progress callbacks during indexing
  • Updated LSP server to check client capabilities and send progress notifications
  • Thread-safe progress reporting across parallel file processing

Test plan

  • Run cargo fmt - formatting applied
  • Run cargo clippy - all warnings fixed
  • Run cargo test - all tests pass
  • Test in VSCode to verify progress notifications appear during indexing
  • Test with a large Python workspace to see progress updates
  • Verify fallback behavior when client doesn't support progress

🤖 Generated with Claude Code

ram-nadella and others added 2 commits June 29, 2025 23:00
Implements work done progress notifications during initial workspace indexing:
- Check client capabilities for work done progress support
- Send progress notifications showing file discovery and indexing status
- Display "Indexing file X of Y" with percentage during parallel processing
- Gracefully fall back to silent indexing if client doesn't support progress
- Thread-safe progress reporting across parallel file processing

This provides visual feedback in VSCode and other LSP clients that support
work done progress, improving user experience during large workspace indexing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Make regular index_workspace and parse_and_index_files call their
  _with_progress variants with no-op callbacks
- Reduces code duplication and makes maintenance easier
- No functional changes, just cleaner implementation
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.

2 participants