1
0
Fork 0

neovim: Fix zls formatting hook

This commit is contained in:
Jeremy Kaplan 2026-03-20 12:48:46 -04:00
commit b94ace41d9

View file

@ -12,9 +12,19 @@ vim.api.nvim_create_autocmd("LspAttach", {
-- Usually not needed if server supports "textDocument/willSaveWaitUntil". -- Usually not needed if server supports "textDocument/willSaveWaitUntil".
already_waits = client:supports_method("textDocument/willSaveWaitUntil") already_waits = client:supports_method("textDocument/willSaveWaitUntil")
can_fmt = client:supports_method("textDocument/formatting") can_fmt = client:supports_method("textDocument/formatting")
-- But tsserver/ts_ls seems to have no other way of disabling formatting.
deny_fmt = client.name == "ts_ls" should_fmt = ({
if not already_waits and can_fmt and not deny_fmt then -- tsserver/ts_ls seems to have no other way of disabling formatting.
["ts_ls"] = false,
-- zls doesn't seem to trigger the normal way.
["zls"] = true,
})[client.name]
if should_fmt == nil then
should_fmt = not already_waits and can_fmt
end
if should_fmt then
vim.api.nvim_create_autocmd("BufWritePre", { vim.api.nvim_create_autocmd("BufWritePre", {
group = vim.api.nvim_create_augroup("jdkaplan.lsp", { clear = false }), group = vim.api.nvim_create_augroup("jdkaplan.lsp", { clear = false }),
buffer = args.buf, buffer = args.buf,