-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature request: #504
Comments
My question is, how to now run multiple formatters + conditionally run first available? require('conform').setup({
formatters_by_ft = {
go = { 'goimports', { 'gofumpt', 'gofmt' } },
javascript = { { 'prettierd', 'prettier' }, 'eslint_d' },
javascriptreact = { { 'prettierd', 'prettier' }, 'eslint_d' },
}) How can I now achieve this in |
In addition to the function linked above, I also made this ---@param bufnr integer
---@param ... string
---@return string
local function first(bufnr, ...)
local conform = require("conform")
for i = 1, select("#", ...) do
local formatter = select(i, ...)
if conform.get_formatter_info(formatter, bufnr).available then
return formatter
end
end
return select(1, ...)
end
local function expandFormatters(formatters)
return function(bufnr)
local result = {}
for i = 1, #formatters do
local formatter = formatters[i]
if type(formatter) == "table" then
result[i] = first(bufnr, unpack(formatter))
else
result[i] = formatter
end
end
return result
end
end typescript = expandFormatters({ { "prettierd", "prettier" }, "rustywind", lsp_format = "fallback" }) |
Did you check existing requests?
Describe the feature
in the old syntax, I could list a few formatters to try in order, and stop at the first just in the setup call i.e. per filetype
for js files, this would use prettierd if available, and prettier otherwise.
afaik that api's deprecated (message everytime I use it), but from my reading and code spelunking, its not actually possible to specify
stop_after_first
in the tableis it possible to use the old functionality without using the deprecated api?
Provide background
provided above
What is the significance of this feature?
strongly desired
Additional details
was an old feature, was removed(??)
The text was updated successfully, but these errors were encountered: