-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add Laravel extension #4284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add Laravel extension #4284
Conversation
Laravel development support for Zed with go-to-definition for views, Blade components, Livewire, routes, config, translations, and more. Includes real-time diagnostics for missing files and undefined references.
24c6282 to
f61df4a
Compare
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
a7b6854 to
b34f50b
Compare
MrSubidubi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this!
A few questions:
- Could you elaborate how this differs for the highlighting part from https://github.com/bajrangCoder/zed-laravel-blade? It seems that this already adds support for both highlighting as well as some LSPs.
- Could you please remove the custom logic for the dev extension install? Would be best to verify that this works without the workaronds. You can already test a local langauge server by just adding
lsp.your-lsp-name.binary.pathto your settings. - Could you please remove the code within the extension source code that is effectively unused (because it is only used in tests)? I'd prefer for the extension to just contain the code that will actually run on users machinses, as this makes auditing easier for both us as well as users looking at the code.
Thanks!
|
Hi @MrSubidubi
I actually started by integrating zed-laravel-blade, but it fell short in several areas in how it parsed Blade directives, syntax highlighting in edge cases, as well missing autocompletion entirely. As I worked around the limitations it became clear that it was easier to develop my own solution than trying to patch the other whenever I encountered problems trying to integrate it.
Will do!
You're referring to the test-project folder, etc? I think I should be able to exclude these during build. Will do! Thanks :) |
Blade Directive Resolution Comparisonzed-laravel-blade (bajrangCoder)
zed-laravel (this extension)Dynamic directive discovery via three-stage system in laravel-lsp/src/main.rs:
Key features:
Summary Table
|
|
@MrSubidubi could you take another look? I believe I addressed your concerns. Please let me know if there is anything else I can do. Thanks! |
Laravel Extension
Hey Zed team! 👋
This PR adds Laravel support to Zed—something the Laravel community has been eager for as more developers discover Zed.
What it does
The extension provides go-to-definition and diagnostics for Laravel's conventions. Click on a view name, Blade component, route, config key, or translation—and jump straight to the file. Get inline warnings when something's missing or misconfigured.
Essentially, it makes Zed understand Laravel projects the way Laravel developers think about them.
Why it matters
Laravel is the most widely-used PHP framework, powering millions of applications. PHP developers evaluating Zed often ask "does it support Laravel?" before making the switch. This extension removes that barrier.
Many Laravel developers are currently tied to VS Code or PhpStorm specifically because of Laravel tooling. Giving them a native Zed option opens the door for a large, enthusiastic community to join the Zed ecosystem.
About the extension
Links
Happy to address any feedback. Thanks for considering!