Replace single-file tracking with whole-project type-checking#241
Open
Russoul wants to merge 1 commit into
Open
Replace single-file tracking with whole-project type-checking#241Russoul wants to merge 1 commit into
Russoul wants to merge 1 commit into
Conversation
Russoul
force-pushed
the
chip-in
branch
3 times, most recently
from
May 22, 2026 16:02
7884970 to
85247cd
Compare
Russoul
marked this pull request as ready for review
May 22, 2026 16:02
- Remove the `openFile` field and `loadIfNeeded` logic; add `ipkgPath` config option so the server knows which .ipkg to use - `loadURI` now builds the full project via `check pkg` instead of `buildDeps`, then reloads the main module's TTM on success - `withURI` loads metadata from TTM directly without re-type-checking - `sendDiagnostics` now groups errors by source file and sends per-file diagnostics across the whole project; clears stale diagnostics first - Drop the "must match currently open file" guard from Definition, DocumentHighlight, and DocumentSymbol handlers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
loadURInow invokescheck pkg(full project build via the.ipkgfile) instead ofbuildDepson a single file. On success, the main module's TTM is reloaded into a clean context.ipkgPathconfig option: Clients can supply the path to the.ipkgfile via theipkgPathworkspace setting. If unset,findIpkgFileis used as a fallback.withURIno longer triggers a re-type-check per request — it loads metadata from the pre-built TTM file directly, making hover/definition/highlight responses much faster.sendDiagnosticsnow groups errors by source file and publishes per-file diagnostic notifications across the whole project. Previously issued diagnostics are cleared before each new build.openFile/loadIfNeeded: The single-file tracking field and the "only re-check if the file changed" guard are removed; the server always operates on the full project.