Download the PHP package haringsrob/laravel-dev-tools without Composer
On this page you can find all versions of the php package haringsrob/laravel-dev-tools. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download haringsrob/laravel-dev-tools
More information about haringsrob/laravel-dev-tools
Files in haringsrob/laravel-dev-tools
Package laravel-dev-tools
Short Description Laravel dev tools contains of multiple tools to ease Laravel development: Blade lsp
License APACHE 2.0
Homepage https://github.com/haringsrob/laravel-dev-tools
Informations about the package laravel-dev-tools
Laravel lsp
The Laravel/Blade lsp provides:
Blade:
- [x] Diagnostics on missing components + action to create it.
- [x] Autocomplete for components and their arguments.
- [x] Hover shows the path to the view.
- [x] Goto definition on components to jump to the view or component class.
Livewire:
- [x] Autocomplete for livewire components and their arguments.
- [x] Autocomplete for livewire wireable properties.
- [x] Goto definition to the livewire class (not yet the view).
- [x] Hover shows the path to the view.
- [x] Diagnostics on missing wire:model rules/parameters or missing wire:click methods.
- [x] Diagnostics on missing components + action to create it.
Extractors for (external) lsp:
- [x] routes() autocomplete
- [x] views() autocomplete
- [x] container autocomplete
- [ ] config() autocomplete
- [x] Php autocomplete in blade
- [x] Model information, relation builders
Demo
Status
This LSP is still to be considered unstable. If you find issues, you are welcome to provide a issue/pull request with a reproducable example.
Issues without clear steps to reproduce may be closed without answer.
As it is experimental, there is no guarantee whatsoever that this will work. Please always ensure your code is under version control.
Thing may be slow.
Installation
Requirements
PHP 8.0, older versions will NOT work. (not even trying). LARAVEL 8.0, older versions will NOT work.
This LSP is based on php in your runtime. I have not tested this with docker so for now assume it will not work from outside.
Your application needs to be bootable. This LSP will run commands in your codebase to get all the information it needs. (Much like running laravel-ide-helper).
Vscode
!! Not up to date, so best to build it yourself for now.
Install Name: laravel-blade syntax
Download the extension from the vscode extensions.
(Neo)vim
Download the compiled version from the releases then use it to setup the lsp:
This depends on your setup, below are instruction for using it with nvim-lspconfig
Building from source
This LSP is based on the great work in phpactor/language-server
As it is php it actually does not need building, but we can still do this by makeing a phar so it is easier to distribute.
To build the phar you run:
Building the vscode extension
To build the vscode extension we have to build the phar and copy it to the extension's directory:
Then in the extensions/vscode
directory we do:
Install npm modules: npm install
Then make the package: npm run package
(for me: publish using vsce publish
)
Licence notes
This project is based on Laravel Zero
It uses phpactor/language-server for the LSP layer.
Other packages used are:
- Spatie invade
- To extract information out of laravel's core.
- Laravel
- Best php framework ever, and needed for it's types.
- Soyhuce/next-ide-helper
- To extract model information.
Todo's
- [ ] Auto copy the readme/Licence to the extension folder when building.
All versions of laravel-dev-tools with dependencies
illuminate/support Version ^9.3
illuminate/view Version ^9.3
laravel-zero/framework Version ^8.0|^9.0
phpactor/language-server Version ^1.1
phpactor/text-document Version ^1.2
spatie/invade Version ^1.0
wa72/simplelogger Version ^1.1