Replace formatting code

This commit is contained in:
Sonny Bakker 2025-03-18 19:44:22 +01:00
parent 7f3dd527af
commit 747a1fe584

View file

@ -176,7 +176,7 @@ vim.diagnostic.config {
},
}
local enable_formatting = os.getenv("ENABLE_FORMATTING")
local enable_formatting = os.getenv("enable_formatting") == 'true';
-- format buffers before saving for specific LSPs
if (enable_formatting) then
@ -185,38 +185,21 @@ if (enable_formatting) then
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('lsp', { clear = true }),
callback = function(args)
vim.api.nvim_create_autocmd('BufWritePre', {
buffer = args.buf,
callback = function()
local formatting_clients = vim.lsp.get_clients {
bufnr = args.buf,
method = 'textDocument/formatting'
}
local client = vim.lsp.get_client_by_id(args.data.client_id)
local filtered_clients = {}
if vim.list_contains(excluded_clients, client.name) then return end;
for _, client in pairs(formatting_clients) do
if vim.list_contains(excluded_clients, client.name) then
goto skip
end
table.insert(filtered_clients, client.name)
::skip::
end
if #filtered_clients == 0 then
return
end
vim.lsp.buf.format {
filter = function(client)
return vim.list_contains(filtered_clients, client.name)
end,
async = false,
id = args.data.client_id
}
end,
})
if client.server_capabilities.documentFormattingProvider then
vim.api.nvim_create_autocmd('BufWritePre', {
buffer = args.buf,
callback = function()
vim.lsp.buf.format {
async = false,
id = args.data.client_id
}
end,
})
end
end
})
end