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.
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:
- Use existing node based rules.
- Write your own custom rules.
From the official one.
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.
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.
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.
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: