/php-cs-fixer

php-cs-fixer wrapper for the Emacs editor

Primary LanguageEmacs LispBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

A php-cs-fixer wrapper for the Emacs editor.

Features

Allows in the Emacs editor to fix most issues in PHP code when you want to follow the coding standards PSR-1 and PSR-2.

Under the hood, this package provides the customisable Elisp command php-cs-fix wich wraps the command line php-cs-fixer version >=2.0 provided by the powerful PHP Coding Standards Fixer

Installation

System part

Install PHP-CS-Fixer so that the command line php-cs-fixer is executable in your system.

Emacs part

From Melpa

This package can be installed from Melpa : `M-x package-install <RET> php-cs-fixer <RET>`

Manually

This package requires that the `cl-lib` package was installed.

To install `php-cs-fixer.el`, place `php-cs-fixer.el` in a directory of your choice, add it to your load path and require `’php-cs-fixer` writing this code in your emacs configuration file (aka .emacs) :

(add-to-list 'load-path "/place/where/you/put/it/")
(require 'php-cs-fixer)

Either evaluate both statements with `C-x C-e`, or restart Emacs.

Usage

Try `M-x php-cs-fix [ret]` when editing a PHP file.

If you want an automatic fix when saving all php files, place this code in your Emacs configuration file the line :

(add-hook 'before-save-hook 'php-cs-fixer-before-save)

Customisable variable

  • /`php-cs-fixer-command`/ : the ‘php-cs-fixer’ command (default is “php-cs-fixer”) ;
  • `php-cs-fixer-config-option`/ : the ‘php-cs-fixer’ –config option value (default is nil, see the file /php-cs-fixer-config.php for an example of configuration file) ;
  • /`php-cs-fixer-rules-level-part-options`/ : the ‘php-cs-fixer’ –rules base part options value (default is ‘(“@Symfony”)) ;
  • /`php-cs-fixer-rules-fixer-part-options`/ : the ‘php-cs-fixer’ –rules exact rules part options value (default is ‘(“no_multiline_whitespace_before_semicolons” “concat_space”)) ;

Try `M-x customize-group [ret] php-cs-fixer [ret]` to modify the values of these variables.