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".
|
-- 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,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue