Skip to content

Conversation

nayeemrmn
Copy link
Contributor

@nayeemrmn nayeemrmn commented Aug 5, 2025

Closes #13579.

Implements pull-based diagnostics and replaces the push diagnostics implementation to reuse this code. Pull diagnostics will be much faster in large monorepos because requests to each TS subproject will not be blocked on each other.

Also includes a big performance boost by batching textDocument/didChange notifications as much as possible before calling refresh_dep_info(), which iterates and analyses every known module. Note that this notification didn't have any sort of cancellation, so the calls to that function piled up for each key press. Should be much faster for rapid sequences of changes in projects with a large module graph. d949618

@nayeemrmn nayeemrmn added the ci-bench put this on a PR to run the benchmarks label Aug 6, 2025
@nayeemrmn nayeemrmn marked this pull request as ready for review August 6, 2025 13:54
@nayeemrmn nayeemrmn marked this pull request as draft August 6, 2025 20:00
@nayeemrmn nayeemrmn added the ci-draft Run the CI on draft PRs. label Aug 6, 2025
@nayeemrmn nayeemrmn marked this pull request as ready for review August 13, 2025 14:08
@nayeemrmn nayeemrmn removed the ci-bench put this on a PR to run the benchmarks label Aug 13, 2025
@nayeemrmn nayeemrmn removed the ci-draft Run the CI on draft PRs. label Aug 14, 2025
Copy link
Member

@dsherret dsherret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! LGTM

@nayeemrmn nayeemrmn merged commit f26bd5e into denoland:main Aug 18, 2025
19 checks passed
@nayeemrmn nayeemrmn deleted the lsp-pull-diagnostics branch August 18, 2025 16:18
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.

lsp: investigate prioritizing the generation of diagnostics to the last modified or opened file
2 participants