phpF
phpF copied to clipboard
formatter is moving type hints in classes
Description: formatter is moving type hints in classes
Failing code:
class Record implements JsonSerializable
{
public $filename;
public (float) $number;
public $recorder;
}
Expected result:
class Record implements JsonSerializable
{
public $filename;
public (float) $number;
public $recorder;
}
Actual result:
class Record implements JsonSerializable {
public $filename;
(float) public $number;
public $recorder;
}
PSR2ModifierVisibilityStaticOrder is the pass that is causing it
Thanks. Add this to the exclude
"codeformatter_php_options": { "syntaxes": "php", // Syntax names which must process PHP formatter "php_path": "C:/source/php-7.4.32-nts-Win32-vc15-x64/php.exe", // Path for PHP executable, e.g. "/usr/lib/php" or "C:/Program Files/PHP/php.exe". If empty, uses command "php" from system environments "format_on_save": false, // Format on save. Either a boolean (true/false) or a string regexp tested on filename. Example : "^((?!.min.|vendor).)*$" "psr1": false, // Activate PSR1 style "psr1_naming": false, // Activate PSR1 style - Section 3 and 4.3 - Class and method names case "psr2": true, // Activate PSR2 style "indent_with_space": 4, // Use spaces instead of tabs for indentation "enable_auto_align": true, // Enable auto align of = and => "visibility_order": true, // Fixes visibility order for method in classes - PSR-2 4.2 "smart_linebreak_after_curly": true, // Convert multistatement blocks into multiline blocks // Enable specific transformations. Example: ["ConvertOpenTagWithEcho", "PrettyPrintDocBlocks"] // You can list all available transformations from command palette: CodeFormatter: Show PHP Transformations // You can also see examples of many transformations at https://github.com/akalongman/sublimetext-codeformatter/blob/master/PHP-Transformations.md "passes": [], // Disable specific transformations "excludes": ["PSR2ModifierVisibilityStaticOrder"], "max_preserve_newlines": 3 },