Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AlphabeticallySortedUses disagrees with VSCode on alphabetical order of '\' and '_' characters #1667

Open
joachim-n opened this issue Feb 26, 2024 · 2 comments

Comments

@joachim-n
Copy link

The coding standard wants the lines to be like this:

use Drupal\action_link\Ajax\ActionLinkMessageCommand;
use Drupal\action_link\Entity\ActionLinkInterface;
use Drupal\action_link\Plugin\ActionLinkStyle\Ajax;
use Drupal\action_link_formatter_links\DisplayBuildAlter;

But if I select them in VSCode and do 'Sort lines ascending' I get this:

use Drupal\action_link_formatter_links\DisplayBuildAlter;
use Drupal\action_link\Ajax\ActionLinkMessageCommand;
use Drupal\action_link\Entity\ActionLinkInterface;
use Drupal\action_link\Plugin\ActionLinkStyle\Ajax;
@kukulich
Copy link
Contributor

kukulich commented Mar 9, 2024

The sorting is compatible with PHPStorm. I was not able to find specification of the order between \ and _ in PSR 12. I'm ok to merge PR that will make this configurable.

@Kingdutch
Copy link

I'd argue that the coding standard and PHPStorm are correct here and that VSCode is wrong. VSCode is sorting the strings as-is whereas the coding standards and PHPStorm are more aware that we're dealing with "nested sections". If we alphabetically sort words then "action_link" would come before "action_link_formatter_links".

We can see that PHP treats these as nested "paths" because the following is uncommon but valid PHP:

use Drupal\action_link\{
    Ajax\ActionLinkMessageCommand,
    Entity\ActionLinkInterface,
    Plugin\ActionLinkStyle\Ajax,
};
use Drupal\action_link_formatter_links\{
    DisplayBuildAlter,
};

We should probably file a PHP issue with VSCode instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants