Closed
Description
Neovim version (nvim -v)
0.9.5
Operating system/version
Archlinux 6.7.3-arch1-1
Add the debug logs
- I have set
log_level = vim.log.levels.DEBUG
and pasted the log contents below.
Log file
14:16:10[DEBUG] Running formatters on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php: { "phpcbf", "php_cs_fixer", "typos", "trim_newlines", "trim_whitespace" }
14:16:10[INFO] Run phpcbf on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:16:10[DEBUG] Run command: { "/home/rasmus/projects/wt-dev/vendor/bin/phpcbf", "-q", "--stdin-path=/home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php", "-" }
14:16:10[DEBUG] phpcbf exited with code 0
14:16:10[INFO] Run php_cs_fixer on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:16:10[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/.conform.2575698..php-cs-fixer.dist.php
14:16:10[DEBUG] Run command: { "/home/rasmus/projects/wt-dev/vendor/bin/php-cs-fixer", "fix", "/home/rasmus/projects/wt-dev/.conform.2575698..php-cs-fixer.dist.php" }
14:16:10[DEBUG] php_cs_fixer exited with code 0
14:16:10[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/.conform.2575698..php-cs-fixer.dist.php
14:16:10[INFO] Run typos on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:16:10[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/.conform.5625946..php-cs-fixer.dist.php
14:16:10[DEBUG] Run command: { "typos", "--write-changes", "--force-exclude", "/home/rasmus/projects/wt-dev/.conform.5625946..php-cs-fixer.dist.php" }
14:16:10[DEBUG] typos exited with code 0
14:16:10[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/.conform.5625946..php-cs-fixer.dist.php
14:16:10[INFO] Run trim_newlines on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:16:10[DEBUG] Run command: { "awk", 'NF{print s $0; s=""; next} {s=s ORS}' }
14:16:10[DEBUG] trim_newlines exited with code 0
14:16:10[INFO] Run trim_whitespace on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:16:10[DEBUG] Run command: { "awk", '{ sub(/[ \t]+$/, ""); print }' }
14:16:10[DEBUG] trim_whitespace exited with code 0
14:17:11[DEBUG] Running LSP formatter on /home/rasmus/.config/nvim/lua/plugins/conform-nvim/init.lua
14:17:11[DEBUG] Converting full-file LSP format to piecewise format
14:17:15[DEBUG] Running formatters on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php: { "phpcbf", "typos", "trim_newlines", "trim_whitespace" }
14:17:15[INFO] Run phpcbf on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:15[DEBUG] Run command: { "/home/rasmus/projects/wt-dev/vendor/bin/phpcbf", "-q", "--stdin-path=/home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php", "-" }
14:17:15[DEBUG] phpcbf exited with code 0
14:17:15[INFO] Run typos on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:15[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/.conform.3044990..php-cs-fixer.dist.php
14:17:15[DEBUG] Run command: { "typos", "--write-changes", "--force-exclude", "/home/rasmus/projects/wt-dev/.conform.3044990..php-cs-fixer.dist.php" }
14:17:15[DEBUG] typos exited with code 0
14:17:15[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/.conform.3044990..php-cs-fixer.dist.php
14:17:15[INFO] Run trim_newlines on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:15[DEBUG] Run command: { "awk", 'NF{print s $0; s=""; next} {s=s ORS}' }
14:17:15[DEBUG] trim_newlines exited with code 0
14:17:15[INFO] Run trim_whitespace on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:15[DEBUG] Run command: { "awk", '{ sub(/[ \t]+$/, ""); print }' }
14:17:15[DEBUG] trim_whitespace exited with code 0
14:17:33[DEBUG] Running LSP formatter on /home/rasmus/.config/nvim/lua/plugins/conform-nvim/init.lua
14:17:37[DEBUG] Running formatters on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php: { "php_cs_fixer", "typos", "trim_newlines", "trim_whitespace" }
14:17:37[INFO] Run php_cs_fixer on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:37[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/.conform.7351072..php-cs-fixer.dist.php
14:17:37[DEBUG] Run command: { "/home/rasmus/projects/wt-dev/vendor/bin/php-cs-fixer", "fix", "/home/rasmus/projects/wt-dev/.conform.7351072..php-cs-fixer.dist.php" }
14:17:37[DEBUG] php_cs_fixer exited with code 0
14:17:37[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/.conform.7351072..php-cs-fixer.dist.php
14:17:37[INFO] Run typos on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:37[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/.conform.5358265..php-cs-fixer.dist.php
14:17:37[DEBUG] Run command: { "typos", "--write-changes", "--force-exclude", "/home/rasmus/projects/wt-dev/.conform.5358265..php-cs-fixer.dist.php" }
14:17:37[DEBUG] typos exited with code 0
14:17:37[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/.conform.5358265..php-cs-fixer.dist.php
14:17:37[INFO] Run trim_newlines on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:37[DEBUG] Run command: { "awk", 'NF{print s $0; s=""; next} {s=s ORS}' }
14:17:38[DEBUG] trim_newlines exited with code 0
14:17:38[INFO] Run trim_whitespace on /home/rasmus/projects/wt-dev/.php-cs-fixer.dist.php
14:17:38[DEBUG] Run command: { "awk", '{ sub(/[ \t]+$/, ""); print }' }
14:17:38[DEBUG] trim_whitespace exited with code 0
14:18:15[DEBUG] Running LSP formatter on /home/rasmus/.config/nvim/lua/plugins/conform-nvim/init.lua
14:18:15[DEBUG] Converting full-file LSP format to piecewise format
14:22:35[DEBUG] Running formatters on /home/rasmus/projects/wt-dev/app/Models/Locale.php: { "phpcbf", "php_cs_fixer", "typos", "trim_newlines", "trim_whitespace" }
14:22:35[INFO] Run phpcbf on /home/rasmus/projects/wt-dev/app/Models/Locale.php
14:22:35[DEBUG] Run command: { "/home/rasmus/projects/wt-dev/vendor/bin/phpcbf", "-q", "--stdin-path=/home/rasmus/projects/wt-dev/app/Models/Locale.php", "-" }
14:22:35[DEBUG] phpcbf exited with code 1
14:22:35[INFO] Run php_cs_fixer on /home/rasmus/projects/wt-dev/app/Models/Locale.php
14:22:35[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/app/Models/.conform.4922251.Locale.php
14:22:35[DEBUG] Run command: { "/home/rasmus/projects/wt-dev/vendor/bin/php-cs-fixer", "fix", "/home/rasmus/projects/wt-dev/app/Models/.conform.4922251.Locale.php" }
14:22:36[DEBUG] php_cs_fixer exited with code 0
14:22:36[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/app/Models/.conform.4922251.Locale.php
14:22:36[INFO] Run typos on /home/rasmus/projects/wt-dev/app/Models/Locale.php
14:22:36[DEBUG] Creating temp file /home/rasmus/projects/wt-dev/app/Models/.conform.4931772.Locale.php
14:22:36[DEBUG] Run command: { "typos", "--write-changes", "--force-exclude", "/home/rasmus/projects/wt-dev/app/Models/.conform.4931772.Locale.php" }
14:22:36[DEBUG] typos exited with code 0
14:22:36[DEBUG] Cleaning up temp file /home/rasmus/projects/wt-dev/app/Models/.conform.4931772.Locale.php
14:22:36[INFO] Run trim_newlines on /home/rasmus/projects/wt-dev/app/Models/Locale.php
14:22:36[DEBUG] Run command: { "awk", 'NF{print s $0; s=""; next} {s=s ORS}' }
14:22:36[DEBUG] trim_newlines exited with code 0
14:22:36[INFO] Run trim_whitespace on /home/rasmus/projects/wt-dev/app/Models/Locale.php
14:22:36[DEBUG] Run command: { "awk", '{ sub(/[ \t]+$/, ""); print }' }
14:22:36[DEBUG] trim_whitespace exited with code 0
Describe the bug
phpcbf formatter seems to overwrite the file whenever it runs successfully and for some reason the only file it seems to run successfully is .php-cs-fixer.dist.php.
It overwrites the file with
No fixable errors were found
Time: 22ms; Memory: 8MB
What is the severity of this bug?
breaking (some functionality is broken)
Steps To Reproduce
- nvim -u repro.lua .php-cs-fixer.dist.php
:w
Expected Behavior
I expect it to format the file according to the rulesets I have defined or if no rulesets are defined by the defaults.
Minimal example file
.php-cs-fixer.dist.php
(phpcbf exits with code 0 and overwrites)
<?php
declare(strict_types=1);
app/Models/Locale.php
(phpcbf exits with code 1 and does nothing)
<?php
declare(strict_types=1);
Minimal init.lua
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end
-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"--single-branch",
"https://github.com/folke/lazy.nvim.git",
lazypath,
})
end
vim.opt.runtimepath:prepend(lazypath)
-- install plugins
local plugins = {
"folke/tokyonight.nvim",
{
"stevearc/conform.nvim",
config = function()
require("conform").setup({
log_level = vim.log.levels.DEBUG,
formatters_by_ft = {
php = { 'phpcbf', 'php_cs_fixer' },
json = { 'jq' },
['*'] = { 'typos', 'trim_newlines', 'trim_whitespace' },
},
format_on_save = function()
if not vim.g.enable_autoformat then return end
return { timeout_ms = 500, lsp_fallback = true }
end,
})
end,
init = function()
vim.g.enable_autoformat = true
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
end,
},
-- add any other plugins here
}
require("lazy").setup(plugins, {
root = root .. "/plugins",
})
vim.cmd.colorscheme("tokyonight")
-- add anything else here
Additional context
No response