Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adael/SublimePhpCsFixer
Run php-cs-fixer code formatter to format php code from your favorite text editor
https://github.com/adael/SublimePhpCsFixer
code-formatter php sublime-text
Last synced: 5 days ago
JSON representation
Run php-cs-fixer code formatter to format php code from your favorite text editor
- Host: GitHub
- URL: https://github.com/adael/SublimePhpCsFixer
- Owner: adael
- License: mit
- Created: 2017-06-01T14:06:10.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-07T09:37:53.000Z (over 1 year ago)
- Last Synced: 2024-08-01T19:45:51.307Z (3 months ago)
- Topics: code-formatter, php, sublime-text
- Language: Python
- Homepage:
- Size: 51.8 KB
- Stars: 70
- Watchers: 4
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sublime PHP CS Fixer
This is a plugin for Sublime Text 3/4, to format PHP code through php-cs-fixer command on any view.# Features
* It works inside a temporal view (ie: on an new, non-saved file)
* Fast
* Easy
* Configurable through rules or a config file
* Tested on Windows and Linux# Configuration
You have to install the actual php-cs-fixer (the actual tool made by sensiolabs, not this plugin)
You can install php-cs-fixer directly with composer by running:
composer global require friendsofphp/php-cs-fixer
Also you can create a config file as explained here https://github.com/FriendsOfPHP/PHP-CS-Fixer
*for example in:* `$HOME/.php-cs-fixer.php`
```php
setRules([
'@Symfony' => true,
'array_syntax' => ['syntax' => 'short'],
]);
```If you've created a config file, you have to configure its path in the plugin's settings.
*In Menu -> Preferences -> Package Settings -> PHP CS Fixer -> Settings - user*
```js
{
"config": "/path/to/.php-cs-fixer.php"
}
```When using multiple projects with different configurations, it's possible to
configure the path relative to the Sublime project folder:```js
{
"config": "${folder}/.php-cs-fixer.php",
"php": "${packages}/User/php",
"path": "${packages}/User/php-cs-fixer.php"
}
```It's also possible to specify multiple config paths. In that case, the first readable file is used:
```js
{
"config": [
"${file_path}/.php-cs-fixer.php",
"${folder}/.php-cs-fixer.php",
"/path/to/.php-cs-fixer.php"
]
}
```See [`extract_variables` in the Sublime API Reference](https://www.sublimetext.com/docs/3/api_reference.html#sublime.Window)
for the supported replacement variables. The value of the `${folder}` points
the path of the first project in Sublime API. Here, it's beforehand replaced
with the path of the project the target file belongs.Please note:
* **`rules` and `config` directives are excluding.**
* This plugin don't try to find the config file automatically. If you want to
create a config file, you have to specify its path in the plugin settings.## Rules
```js
{
"rules": {
"@PhpCsFixer": true,
},
// or
"rules": "@PhpCsFixer",
// or
"rules": [
"@PhpCsFixer"
]
}
```*Please note that `rules` and `config` directives are excluding.*
For more information see: https://github.com/FriendsOfPHP/PHP-CS-Fixer#usage
## Exclude files
Since all php files are passed directly to the php-cs-fixer executable, a configured PhpCsFixer\\Finder gets ignored.
In order to exclude files from php-cs-fixer, you can use the "exclude" setting:```js
{
"exclude": [
".*[\\\\/]vendor[\\\\/].*", // vendor-path (used by Composer)
".*\\.phtml$" // files ending with ".phtml"
]
}
```The exclude-filter uses python regular expressions.
For more information see: https://docs.python.org/2/library/re.html### On Windows:
The plugin tries to find the executable in:
%APPDATA%\composer\vendor\bin\php-cs-fixer.bat
If it isn't working, you can locate your composer global packages path by running:
composer config -g home
### On Linux:
After installing php-cs-fixer you have to specify the full path to the
executable in the configuration page.The plugin tries to find the executable in:
$HOME/.composer/vendor/bin/php-cs-fixer
However, if it isn't working, you can create a symbolic link to the php-cs-fixer executable
ln -s $HOME/.composer/vendor/bin/php-cs-fixer $HOME/bin/php-cs-fixer
### Note
I've checked this on Linux and Windows, but I cannot check it on OSX.
I'll thank you if someone tells me if it's working on OSX and give me
some details on how to configure it.# Acknowledgements
I would like to thank to sensiolabs and contributors for their awesome package.
It works flawlessly. All the work here belongs to them.Check them at:
* https://github.com/FriendsOfPHP/PHP-CS-Fixer
* http://cs.sensiolabs.org/I'd also learned some of the sublime package structure from:
* https://github.com/Ennosuke/PHP-Codebeautifier