bug: deno fmt not recognizing --ext
Neovim version (nvim -v)
NVIM v0.10.0
Operating system/version
MacOS 14.6.1
Read debugging tips
- [X] I have read through the debugging tips.
Add the debug logs
- [X] I have set
log_level = vim.log.levels.DEBUGand pasted the log contents below.
Log file
2024-10-21 17:05:06[INFO] deno_fmt exited with code 1
2024-10-21 17:05:06[DEBUG] deno_fmt stdout: { "" }
2024-10-21 17:05:06[DEBUG] deno_fmt stderr: { "\27[0m\27[1m\27[31merror\27[0m: a value is required for '--ext
Formatters for this buffer: LSP: svelte deno_fmt ready (svelte, javascriptreact, markdown, jsonc, javascript, typescriptreact, json, html, css, typescript) /Users/jakubdonovan/.local/share/nvim/mason/bin/deno
Describe the bug
Unable to format svelte files with deno_fmt. Here's the relevant extract of my conform setup. All other files format as they should, but svelte files fail to format.
formatters_by_ft = {
svelte = {
"deno_fmt",
args = { "--ext", "svelte", "--stdin-filepath", "$FILENAME", "--unstable-component" },
}
},
format_on_save = {
enabled = true,
timeout_ms = 2000,
lsp_fallback = true,
}
As you can see,deno supports formatting of svelte files.
What is the severity of this bug?
minor (annoyance)
Steps To Reproduce
open svelte file and try to format it
Expected Behavior
it should format
Minimal example file
No response
Minimal init.lua
No response
Additional context
No response
Having the same issue, NixOS. (if it means anything)
Same here
I don't know where you got this syntax from, but it is not correct
formatters_by_ft = {
svelte = {
"deno_fmt",
args = { "--ext", "svelte", "--stdin-filepath", "$FILENAME", "--unstable-component" },
}
},
The formatters_by_ft table is for specifying the formatters that run and some options that get passed to conform.format (e.g. stop_after_first or lsp_format). It is not for customizing how a specific formatter will run; that is done with the formatters table.
Another note, the deno_fmt formatter should automatically handle svelte files without any customization of args as of #552. If you are not on the most recent version of conform, try updating.
Lastly, if you're still having trouble please follow the instructions under debugging tips. I notice the logs do not include the line which tells you exactly which arguments are being passed to the deno fmt command. That is kind of important to know if you're trying to figure out what's going wrong.
I had missed an update to conform. The latest version works fine for svelte files for me now.