Add Laravel config-backed resource name intelligence - #372
Open
shuvroroy wants to merge 8 commits into
Open
Conversation
6 tasks
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Recognize auth guards, cache stores, log channels, database and queue connections, mailers, and broadcast connections across direct Laravel helpers, facades, contextual attributes, and route middleware. Drive completion, hover, navigation, diagnostics, and references from one descriptor table while preserving semantic alias and homonym handling.
shuvroroy
force-pushed
the
feat/laravel-config-resource-names
branch
from
August 17, 2026 01:11
8837010 to
538f69e
Compare
12 tasks
shuvroroy
marked this pull request as ready for review
August 17, 2026 04:17
# Conflicts: # docs/CHANGELOG.md # docs/todo.md # src/analyse/run.rs # src/blade/call_site_inference.rs # src/completion/laravel_string_keys.rs # src/symbol_map/extraction/laravel.rs # tests/integration/main.rs
…ig-resource-names # Conflicts: # docs/todo.md # examples/laravel/app/Demo.php # src/completion/laravel_string_keys.rs # src/diagnostics/mod.rs # src/lib.rs # src/symbol_map/extraction/laravel.rs
Contributor
Author
|
@AJenbo this pr is ready for review again. |
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
Laravel's config-backed service names are now first-class, family-aware string symbols. This layer adds direct editor support for eight resource families:
auth.guards.*cache.stores.*logging.channels.*filesystems.disks.*database.connections.*queue.connections.*mail.mailers.*broadcasting.connections.*Supported direct contexts include
auth(), the corresponding Laravel facades, parameter-level contextual attributes,Log::stack()array values, andauth:*parameters on static or fluentRoute::middleware()calls.Editor behavior
Each resource family now provides:
config()/Configaccess, and the config declarationSemantic name resolution accepts imports, aliases, and fully qualified Laravel classes while rejecting namespace-local and vendor homonyms. Named arguments, reordered arguments, modern and legacy arrays, multiline/commented Route chains, and grouped contextual attributes are covered.
Laravel-specific edge behavior is preserved: database role suffixes such as
mysql::read,mysql::write, andmysql::directresolve themysqlconnection; built-inCache::store('null')andQueue::connection('null')remain valid without fabricated config declarations.Design and performance
Arcstorage instead of cloning candidate vectors.Deliberate scope boundary
This PR handles direct, config-backed contexts only. Type-resolved
->connection()receivers and$connectionproperties, free-form queue names, typed controller middleware, and source-registered rate limiters remain separate backlog items. Mixed short/full config-resource rename also remains disabled until the existing Laravel string-rename task is implemented safely.Stack
This is the focused config-resource layer split from #368 after review feedback.
Depends on:
Once #371 lands, this branch can be rebased and the PR will show only this resource-family layer.
Verification
cargo test --no-fail-fastsuite passedcargo clippy --all-targets -- -D warningscargo fmt --checkChecklist
CHANGELOG.mdREADME.md,docs/,examples/)config-schema.json)how it works, how it's organized), including any code drafted by an LLM.
an eye towards deleting anything that is irrelevant, clarifying anything
that is confusing, and adding details that are relevant. This includes,
for example, commit descriptions, PR descriptions, and code comments.
🤖 Generated with Codex