Add Laravel storage disk name intelligence - #371
Merged
AJenbo merged 5 commits intoSep 7, 2026
Conversation
This was referenced Aug 16, 2026
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
# 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
Contributor
Author
|
@AJenbo I already resolved the conflicts for you so it's ready for review again |
AJenbo
force-pushed
the
feat/laravel-storage-disk-names
branch
from
September 7, 2026 00:37
fea27da to
993d0a2
Compare
Contributor
|
Thanks. I handled some regressions, please make sure it still works as expected |
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 storage disk names now behave like navigable config symbols in every direct storage context:
Storage::disk()Storage::fake()andStorage::persistentFake()Storage::forgetDisk()#[Storage]contextual attribute, including named argumentsCompletion reads
filesystems.disks.*; hover and Ctrl+Click resolve the matching config entry; find-references connects storage calls, generic config access, and the config declaration.Runtime semantics
The diagnostic behavior follows Laravel rather than treating every occurrence as a required config read:
disk()diagnoses an unknown configured disk.fake()andpersistentFake()may create ad-hoc test disks, so they remain valid without a declaration.forgetDisk()accepts a scalar or array and tolerates names that are not currently configured.Array keys, nested values, dynamic expressions, unrelated
Storageclasses, and incorrect named parameters are deliberately excluded.Why this is separate
This is the focused storage-disk layer split from #368 after review feedback. It contains only the Laravel storage task and its tests, docs, and demo changes.
Depends on:
The dependency is the independent filesystem-alias fix discovered while testing this work. Once #369 lands, this branch can be rebased and the PR will show only the storage feature.
Verification
cargo 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