Skip to content

Add full workspace reference index#186

Merged
AJenbo merged 5 commits into
PHPantom-dev:mainfrom
sidux:feat/full-workspace-reference-index
Jul 20, 2026
Merged

Add full workspace reference index#186
AJenbo merged 5 commits into
PHPantom-dev:mainfrom
sidux:feat/full-workspace-reference-index

Conversation

@sidux

@sidux sidux commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a full workspace indexing mode that builds complete symbol maps and a cross-file reference candidate index in the background. Full indexing is now the default strategy, so new/missing config uses strategy = "full" automatically. Users can still opt into lighter modes with strategy = "composer", "self", or "none".

Key changes:

  • Make indexing.strategy = "full" the default in config/schema/docs.
  • Start a background full workspace index after normal initialization.
  • Add a reference index keyed by classes, functions, constants, members, and Laravel string keys.
  • Use full-index data broadly where it is available:
    • class, function, constant, member, constructor, Laravel-string references now snapshot only reference-index candidate files instead of snapshotting all user files and filtering afterward.
    • rename benefits through the same reference engine.
    • go-to-implementation and type-hierarchy subtype lookups use the reverse inheritance index (gti_index) once workspace indexing is ready.
  • Batch workspace parsing and index publication to avoid thousands of per-file lock/update cycles.
  • Use weighted, largest-first progress reporting so large files do not create a misleading late tail.
  • Bulk-evict reference-index batches in one pass

@codecov-commenter

codecov-commenter commented Jul 3, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 97.19276% with 45 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/references/mod.rs 94.20% 41 Missing ⚠️
src/parser/ast_update.rs 98.82% 4 Missing ⚠️

📢 Thoughts on this report? Let us know!

@sidux
sidux force-pushed the feat/full-workspace-reference-index branch 5 times, most recently from a0d2b4f to 19fffd4 Compare July 3, 2026 17:16
@AJenbo

AJenbo commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Hey just to key you in, I decided I wanted this merged after 0.9.0 and so we spent a few days hammering that release in to shape and it's gone out to the public as of today ... I should probably have let you know before rather then after ... but um such are things sometimes. Any way this PR is now one of the next things to land so rejoice!

@AJenbo
AJenbo force-pushed the feat/full-workspace-reference-index branch from 224611d to 8e399b0 Compare July 20, 2026 19:13
AJenbo added a commit to sidux/phpantom_lsp that referenced this pull request Jul 20, 2026
)

Adds the changelog entries this PR was missing, removes the now-shipped
X4/X8 backlog items and rewords their cross-references in other todo
docs, simplifies a redundant branch in find_implementors, and fixes a
clippy warning left over from the rebase merge.

Contributed by @sidux in PHPantom-dev#186.
@AJenbo

AJenbo commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Thanks for doing this, big help, looks solid too.

Use weighted, largest-first progress reporting so large files do not create a misleading late tail.

nice

@AJenbo
AJenbo force-pushed the feat/full-workspace-reference-index branch from 11701e3 to 8e399b0 Compare July 20, 2026 19:27
sidux and others added 5 commits July 20, 2026 21:27
)

Adds the changelog entries this PR was missing, removes the now-shipped
X4/X8 backlog items and rewords their cross-references in other todo
docs, simplifies a redundant branch in find_implementors, and fixes a
clippy warning left over from the rebase merge.

Contributed by @sidux in PHPantom-dev#186.
@AJenbo
AJenbo force-pushed the feat/full-workspace-reference-index branch from 8e399b0 to e1f06c9 Compare July 20, 2026 19:27
@AJenbo
AJenbo merged commit 2128552 into PHPantom-dev:main Jul 20, 2026
7 checks passed
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.

3 participants