neovim: Fix zls formatting hook
This commit is contained in:
parent
4669bd183b
commit
b94ace41d9
1 changed files with 13 additions and 3 deletions
|
|
@ -12,9 +12,19 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
|||
-- Usually not needed if server supports "textDocument/willSaveWaitUntil".
|
||||
already_waits = client:supports_method("textDocument/willSaveWaitUntil")
|
||||
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"
|
||||
if not already_waits and can_fmt and not deny_fmt then
|
||||
|
||||
should_fmt = ({
|
||||
-- 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", {
|
||||
group = vim.api.nvim_create_augroup("jdkaplan.lsp", { clear = false }),
|
||||
buffer = args.buf,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue