diff options
| -rw-r--r-- | lua/mason-registry/index.lua | 1 | ||||
| -rw-r--r-- | lua/mason-registry/php-cs-fixer/init.lua | 47 | ||||
| -rw-r--r-- | lua/mason/mappings/language.lua | 2 |
3 files changed, 49 insertions, 1 deletions
diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua index 303969f5..fa3b9df8 100644 --- a/lua/mason-registry/index.lua +++ b/lua/mason-registry/index.lua @@ -125,6 +125,7 @@ return { ["omnisharp-mono"] = "mason-registry.omnisharp-mono", ["opencl-language-server"] = "mason-registry.opencl-language-server", perlnavigator = "mason-registry.perlnavigator", + ["php-cs-fixer"] = "mason-registry.php-cs-fixer", ["php-debug-adapter"] = "mason-registry.php-debug-adapter", phpactor = "mason-registry.phpactor", ["powershell-editor-services"] = "mason-registry.powershell-editor-services", diff --git a/lua/mason-registry/php-cs-fixer/init.lua b/lua/mason-registry/php-cs-fixer/init.lua new file mode 100644 index 00000000..0929a2b3 --- /dev/null +++ b/lua/mason-registry/php-cs-fixer/init.lua @@ -0,0 +1,47 @@ +local Pkg = require "mason-core.package" +local _ = require "mason-core.functional" +local github = require "mason-core.managers.github" +local std = require "mason-core.managers.std" +local platform = require "mason-core.platform" +local path = require "mason-core.path" + +return Pkg.new { + name = "php-cs-fixer", + desc = _.dedent [[ + The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards; whether you want to + follow PHP coding standards as defined in the PSR-1, PSR-2, etc., or other community driven ones like the + Symfony one. You can also define your (team's) style through configuration.') + ]], + homepage = "https://github.com/FriendsOfPHP/PHP-CS-Fixer", + languages = { Pkg.Lang.PHP }, + categories = { Pkg.Cat.Formatter }, + ---@async + ---@param ctx InstallContext + install = function(ctx) + github + .download_release_file({ + repo = "FriendsOfPHP/PHP-CS-Fixer", + asset_file = "php-cs-fixer.phar", + out_file = platform.is.win and "php-cs-fixer.phar" or "php-cs-fixer", + }) + .with_receipt() + platform.when { + unix = function() + std.chmod("+x", { "php-cs-fixer" }) + ctx:link_bin("php-cs-fixer", "php-cs-fixer") + end, + win = function() + ctx:link_bin( + "php-cs-fixer", + ctx:write_shell_exec_wrapper( + "php-cs-fixer", + ("php %q"):format(path.concat { + ctx.package:get_install_path(), + "php-cs-fixer.phar", + }) + ) + ) + end, + } + end, +} diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua index 28b5c4fb..f92741e5 100644 --- a/lua/mason/mappings/language.lua +++ b/lua/mason/mappings/language.lua @@ -77,7 +77,7 @@ return { opencl = { "opencl-language-server" }, openfoam = { "foam-language-server" }, perl = { "perlnavigator" }, - php = { "intelephense", "php-debug-adapter", "phpactor", "psalm" }, + php = { "intelephense", "php-cs-fixer", "php-debug-adapter", "phpactor", "psalm" }, powershell = { "powershell-editor-services" }, prisma = { "prisma-language-server" }, protobuf = { "buf" }, |
