aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lua/mason-registry/index.lua1
-rw-r--r--lua/mason-registry/php-cs-fixer/init.lua47
-rw-r--r--lua/mason/mappings/language.lua2
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" },