vincentlanglet/twig-cs-fixer

A tool to automatically fix Twig code style

Fund package maintenance!
VincentLanglet

Installs: 2 406 453

Dependents: 22

Suggesters: 1

Security: 0

Stars: 239

Watchers: 7

Forks: 26

Open Issues: 2

Type:coding-standard

3.5.0 2024-12-13 16:55 UTC

README

PHP Version Latest Stable Version License Actions Status Coverage Type Coverage Infection MSI

Installation

From composer

This tool can be installed with Composer.

Add the package as a dependency of your project

composer require --dev vincentlanglet/twig-cs-fixer

Then, use it!

vendor/bin/twig-cs-fixer lint /path/to/code
vendor/bin/twig-cs-fixer lint --fix /path/to/code

Note

Although bin-dependencies may have composer conflicts, this is the recommended way because it will autoload everything you need.

As a PHAR

You can always fetch the stable version as a Phar archive through the following link with the VERSION you're looking for:

wget -c https://github.com/VincentLanglet/Twig-CS-Fixer/releases/download/VERSION/twig-cs-fixer.phar

The PHAR files are signed with a public key which can be queried at keys.openpgp.org with the id AC0E7FD8858D80003AA88FF8DEBB71EDE9601234.

Tip

You will certainly need to add

require_once __DIR__.'/vendor/autoload.php';

in your config file in order to:

Twig Coding Standard Rules

From the official one.

Delimiter spacing

Ensures there is a single space after a delimiter opening ({{, {% and {#) and before a delimiter closing (}}, %} and #}).

When using a whitespace control character, do not put any spaces between it and the delimiter.

Operator spacing

Ensures there is a single space before and after the following operators: comparison operators (==, !=, <, >, >=, <=), math operators (+, -, /, *, %, //, **), logic operators (not, and, or), ~, is, in, and the ternary operator (?:).

Removes any space before and after the .. operator.

Punctuation spacing

Ensures there is a single space after : in hashes and , in arrays and hashes.

Removes any space after an opening parenthesis and before a closing parenthesis in expressions.

Removes any space before and after the following operators: |, ., [].

Removes any space before and after parenthesis in filter and function calls.

Removes any space before and after opening and closing of arrays and hashes.

Macro & Function/Filter/Test

Ensures there is a single space before and after = in macro argument declarations.

Ensures there is no space before and after = sign when using named arguments.

Ensures one space after the : sign when using named arguments.

Use : instead of = to separate argument names and values.

Naming

Use snake case for all variable names.

Use snake case for all argument names.

Use snake case for all named arguments.

Custom configuration

By default, the twig-cs-fixer standard is enabled with the twig coding standard rules and some extra rules. This tool also provides a standard with only the twig rules and another standard with extra rules from the symfony coding standards.

Everything is configurable, so take a look at the following documentation: