ghostwriter / phormat
PHP code formatter
Fund package maintenance!
ghostwriter
Installs: 39 954
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.3
- ghostwriter/case-converter: ^1.0.0
- ghostwriter/container: ^4.0.3
- ghostwriter/event-dispatcher: ^5.0.2
- ghostwriter/filesystem: ^0.1.1
- nikic/php-parser: ^5.3.1
- sebastian/diff: ^6.0.2
Requires (Dev)
- ghostwriter/coding-standard: @dev
- ghostwriter/handrail: @dev
- ghostwriter/psalm-plugin: @dev
- ghostwriter/testify: @dev
This package is auto-updated.
Last update: 2024-12-10 16:07:20 UTC
README
PHP code formatter.
Warning
This project is not finished yet, work in progress.
Installation
You can install the package via composer:
composer require ghostwriter/phormat
Star ⭐️ this repo if you find it useful
You can also star (🌟) this repo to find it easier later.
Usage
vendor/bin/phormat <path> --dry-run
Configuration
wip - work in progress
<?php declare(strict_types=1); use Ghostwriter\Phormat\NodeVisitor\ChangeToShortArrayNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\DeclareStrictTypesNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\ImportFullyQualifiedNamesNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\MakeClosureAndFunctionStaticNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\PERCSNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\SortClassLikeMemberStatementsAlphabeticallyNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\SortClassLikeStatementsAlphabeticallyNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\SortMatchExpressionsAlphabeticallyNodeVisitor; use Ghostwriter\Phormat\NodeVisitor\SortUseStatementsAlphabeticallyNodeVisitor; use Ghostwriter\Phormat\PhormatConfig; /** @var non-empty-string $workingDirectory */ $workingDirectory = \getcwd() ?: __DIR__; /** @psalm-suppress UncaughtThrowInGlobalScope */ return PhormatConfig::new() ->visitors([ PERCSNodeVisitor::class, // ChangeToShortArrayNodeVisitor::class, // DeclareStrictTypesNodeVisitor::class, // ImportFullyQualifiedNamesNodeVisitor::class, // MakeClosureAndFunctionStaticNodeVisitor::class, // SortClassLikeMemberStatementsAlphabeticallyNodeVisitor::class, // SortClassLikeStatementsAlphabeticallyNodeVisitor::class, // SortMatchExpressionsAlphabeticallyNodeVisitor::class, // SortUseStatementsAlphabeticallyNodeVisitor::class, ]); ->paths([ $workingDirectory . '/bin', $workingDirectory . '/src', $workingDirectory . '/tests' ]) ->exclude([ PERCSNodeVisitor::class => [ $workingDirectory . '/resources', ], $workingDirectory . '/.cache', $workingDirectory . '/docs', $workingDirectory . '/tests/fixture' $workingDirectory . '/vendor', ]); ->phpVersion(8, 2); // To use a specific PHP version when parsing the code
Credits
Changelog
Please see CHANGELOG.md for more information on what has changed recently.
License
Please see LICENSE for more information on the license that applies to this project.
Security
Please see SECURITY.md for more information on security disclosure process.