An open API service indexing awesome lists of open source software.

https://github.com/ghostwriter/phormat

[WIP] PHP code formatter.
https://github.com/ghostwriter/phormat

coding-standard ghostwriter phormat

Last synced: 10 months ago
JSON representation

[WIP] PHP code formatter.

Awesome Lists containing this project

README

          

# Phormat

[![GitHub Sponsors](https://img.shields.io/github/sponsors/ghostwriter?label=Sponsor+@ghostwriter/phormat&logo=GitHub+Sponsors)](https://github.com/sponsors/ghostwriter)
[![Automation](https://github.com/ghostwriter/phormat/actions/workflows/automation.yml/badge.svg)](https://github.com/ghostwriter/phormat/actions/workflows/automation.yml)
[![Supported PHP Version](https://badgen.net/packagist/php/ghostwriter/phormat?color=8892bf)](https://www.php.net/supported-versions)
[![Downloads](https://badgen.net/packagist/dt/ghostwriter/phormat?color=blue)](https://packagist.org/packages/ghostwriter/phormat)

PHP code formatter.

> [!WARNING]
>
> This project is not finished yet, work in progress.

## Installation

You can install the package via composer:

``` bash
composer require ghostwriter/phormat
```

### Star ⭐️ this repo if you find it useful

You can also star (🌟) this repo to find it easier later.

## Usage

```php
vendor/bin/phormat --dry-run
```

## Configuration

wip - work in progress

```php
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

- [Nathanael Esayeas](https://github.com/ghostwriter)
- [Nikita Popov `nikic/php-parser`](https://github.com/nikic/php-parser)
- [All Contributors](https://github.com/ghostwriter/phormat/contributors)

### Changelog

Please see [CHANGELOG.md](./CHANGELOG.md) for more information on what has changed recently.

### License

Please see [LICENSE](./LICENSE) for more information on the license that applies to this project.

### Security

Please see [SECURITY.md](./SECURITY.md) for more information on security disclosure process.