PHP_CodeSniffer
PHP_CodeSniffer copied to clipboard
[Feature] Insert a space after the `fn` keyword for arrow functions
Is your feature request related to a problem?
Not really. It's more of a "nice to have". I'd like phpcbf to format my arrow functions from this:
$ids = array_map(fn($entity) => $entity->getId(), $entities);
to this (note the space after the fn
keyword):
$ids = array_map(fn ($entity) => $entity->getId(), $entities);
Describe the solution you'd like
Maybe there already is a rule for this? When I google it, I'm only able to find this resolved issue on the PHP CS Fixer repo.
Additional context (optional)
- [x] if I would know the ins and outs of PHP_CodeSniffer, I'd certainly propose a PR. But I'm only beginning to use it...
@hirasso Thanks for bringing this up.
There is an open PR for this in the old repo, however, that PR was blocked because PSR-PER (the successor of PSR12) in their wisdom decided that there should be no space after the fn
keyword for arrow function - in contrast to the required one space after the function
keyword for closures....
I didn't port that PR over (yet) to this repo as it would need an update before it would be viable for merge, but considering your request, maybe the updated version of the PR shouldn't enforce no space, but should make it a configurable option, with the default being no space (to satisfy PSR-PER) and a user override being available to change this to 1 space.
What do you think ?
That sounds very reasonable to me! Thanks for the link to that PR. It's hugely interesting to read all the thoughts that go into these decisions.
Thank you for your very important work 🙏