Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yaegassy/coc-php-cs-fixer
PHP CS Fixer (PHP Coding Standards Fixer) and Laravel Pint extension for coc.nvim
https://github.com/yaegassy/coc-php-cs-fixer
coc coc-extensions coc-nvim laravel neovim php php-cs-fixer pint vim
Last synced: 16 days ago
JSON representation
PHP CS Fixer (PHP Coding Standards Fixer) and Laravel Pint extension for coc.nvim
- Host: GitHub
- URL: https://github.com/yaegassy/coc-php-cs-fixer
- Owner: yaegassy
- License: mit
- Created: 2021-03-16T12:59:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-03-30T02:30:20.000Z (7 months ago)
- Last Synced: 2024-10-19T02:26:47.569Z (20 days ago)
- Topics: coc, coc-extensions, coc-nvim, laravel, neovim, php, php-cs-fixer, pint, vim
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/coc-php-cs-fixer
- Size: 180 KB
- Stars: 30
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# coc-php-cs-fixer
[PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) (PHP Coding Standards Fixer) and [Laravel Pint](https://github.com/laravel/pint) extension for [coc.nvim](https://github.com/neoclide/coc.nvim)
## Install
`:CocInstall coc-php-cs-fixer`
## Features
`php-cs-fixer` and `laravel/pint` are supported.
- Formatter
- Command
- Code Action
- Status Bar
- `pint.json` Auto Completion and JSON validation
- Downloader## Note
The formatter tool used is `php-cs-fixer` by default. If you want to use `laravel/pint`, change the `php-cs-fixer.activateTool` setting in `coc-settings.json`.
```json
{
"php-cs-fixer.activateTool": "pint"
}
```- [DEMO](https://github.com/yaegassy/coc-php-cs-fixer/pull/7#issue-1293669659)
---
Detects the `php-cs-fixer` or `pint` tool. They are prioritized in order from the top.
1. `php-cs-fixer.toolPath` or `php-cs-fixer.pint.toolPath`
1. `vendor/bin/php-cs-fixer` or `vendor/bin/pint`
1. `php-cs-fixer` or `pint` retrieved by the download feature (`:CocCommand php-cs-fixer.download` or `php-cs-fixer.pintDownload`)
- **php-cs-fixer**:
- Mac/Linux: `~/.config/coc/extensions/coc-php-cs-fixer-data/php-cs-fixer`
- Windows: `~/AppData/Local/coc/extensions/coc-php-cs-fixer-data/php-cs-fixer`
- **pint**:
- Mac/Linux: `~/.config/coc/extensions/coc-php-cs-fixer-data/pint`
- Windows: `~/AppData/Local/coc/extensions/coc-php-cs-fixer-data/pint`If "1" and "2" above are not detected, the download feature will be executed (The prompt will be displayed)
## Usage
`coc-php-cs-fixer` can be executed in multiple ways.
### Auto run when saving a file
Add the settings to `coc-settings.json`.
```jsonc
{
"[php]": {
"coc.preferences.formatOnSave": true
},
}
```If the file size is large or the tool (`php-cs-fixer` or `pint`) is slow in your environment, formatting may not work properly when saving. In coc.nvim, time-consuming formatting on save is canceled.
In that case, please perform the formatting in another way.
### Run from CocCommand
- If the `php-cs-fixer.activateTool` setting is `php-cs-fixer`
- `:CocCommand php-cs-fixer.fix`
- If the `php-cs-fixer.activateTool` setting is `pint`
- `:CocCommand php-cs-fixer.pintFix`### Run formatting from call function
- `:call CocAction('format')`
### Run codeAction from call function
- `:call CocAction('codeAction')`
- If the `php-cs-fixer.activateTool` setting is `php-cs-fixer`
- Choose action: `"Run: php-cs-fixer.fix"`
- If the `php-cs-fixer.activateTool` setting is `pint`
- Choose action: `"Run: php-cs-fixer.pintFix"`## Precedence of "php-cs-fixer" and "laravel/pint" configuration files and options
### php-cs-fixer
1. `php-cs-fixer.config` setting for this extension.
2. `.php-cs-fixer.php` or `.php-cs-fixer.dist.php` config file in the workspace (project) root.
3. options-reated settings for this extension. e.g. `php-cs-fixer.rules` and more.### pint
1. `php-cs-fixer.pint.config` setting for this extension.
2. `pint.json` config file in the workspace (project) root.
3. options-reated settings for this extension. `php-cs-fixer.pint.preset`.## Configuration options
- `php-cs-fixer.enable`: Enable coc-php-cs-fixer extension, default: `true`
- `php-cs-fixer.activateTool`: Formatter tool to be used, valid option `["php-cs-fixer", "pint"]`, default: `"php-cs-fixer"`
- `php-cs-fixer.toolPath`: The path to the php-cs-fixer tool, default: `""`
- `php-cs-fixer.config`: Path to php-cs-fixer config file (--config), default: `""`
- `php-cs-fixer.useCache`: Use a cache file when fixing files (--using-cache), default: `false`
- `php-cs-fixer.allowRisky`: Determines whether risky rules are allowed (--allow-risky), default: `false`
- `php-cs-fixer.rules`: Rules to use when fixing files (--rules), e.g. `"@PSR12,@Symfony"`, default: `"@PSR12"`
- `php-cs-fixer.enableIgnoreEnv`: Add the environment variable `PHP_CS_FIXER_IGNORE_ENV=1` and run php-cs-fixer, default: `false`
- `php-cs-fixer.pint.toolPath`: The path to the pint tool, default: `""`
- `php-cs-fixer.pint.config`: Path to `pint.json` config file (`--config`), default: `""`
- `php-cs-fixer.pint.preset`: Presets define a set of rules that can be used to fix code style issues in your code (`--preset`), valid option `["laravel", "psr12", "symfony"]`, default: `"laravel"`
- `php-cs-fixer.downloadCheckOnStartup`: If `php-cs-fixer` or `pint` is not present at startup, run the built-in download. The tool to be downloaded will follow the `php-cs-fixer.activateTool` configuration, default: `true`
- `php-cs-fixer.downloadMajorVersion`: Specify the major version of php-cs-fixer to download for the extension, valid option `[2, 3]`, default: `3`
- `php-cs-fixer.enableFormatProvider`: Enable format provider, default: `true`
- `php-cs-fixer.enableActionProvider`: Enable codeAction provider, default: `true`
- `php-cs-fixer.terminal.enableSplitRight`: Use vertical belowright for dryRunDiff and pintTest terminal window, default: `false`## Commands
- `php-cs-fixer.fix`: Run php-cs-fixer fix
- `php-cs-fixer.dryRunDiff`: Run php-cs-fixer fix with `--dry-run` and `--diff` in a terminal window | [DEMO](https://github.com/yaegassy/coc-php-cs-fixer/pull/8)
- `php-cs-fixer.pintFix`: Run pint
- `php-cs-fixer.pintTest`: Run pint with `--test` in a terminal window | [DEMO](https://github.com/yaegassy/coc-php-cs-fixer/pull/9#issue-1295053515)
- `php-cs-fixer.download`: Download php-cs-fixer
- By default, the "v3" series will be downloaded. If you want to download "v2" series, please change the `php-cs-fixer.downloadMajorVersion` setting.
- `php-cs-fixer.pintDownload`: Download pint
- `php-cs-fixer.showOutput`: Show php-cs-fixer output channel## Code Actions
- `Run: php-cs-fixer.fix`
- `Run: php-cs-fixer.pintFix`## Thanks
-
-
-
-## License
MIT
---
> This extension is built with [create-coc-extension](https://github.com/fannheyward/create-coc-extension)