diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-03-31 20:06:34 -0700 |
---|---|---|
committer | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-03-31 20:23:17 -0700 |
commit | 08941e163e038c6a586cc3cb07f68a42675f2d6a (patch) | |
tree | 05242809ee5e48783518de04dc98d939551a718b /runtime/lua/vim/lsp.lua | |
parent | a177820420d3de1614bff01321c0a54a2327fab3 (diff) | |
download | rneovim-08941e163e038c6a586cc3cb07f68a42675f2d6a.tar.gz rneovim-08941e163e038c6a586cc3cb07f68a42675f2d6a.tar.bz2 rneovim-08941e163e038c6a586cc3cb07f68a42675f2d6a.zip |
lsp: clear did_save handler autocommand on each attach
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 4110bd1910..d0d2c21f71 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -931,7 +931,13 @@ function lsp.buf_attach_client(bufnr, client_id) all_buffer_active_clients[bufnr] = buffer_client_ids local uri = vim.uri_from_bufnr(bufnr) - nvim_command(string.format("autocmd BufWritePost <buffer=%d> lua vim.lsp._text_document_did_save_handler(0)", bufnr)) + local buf_did_save_autocommand = [=[ + augroup lsp_c_%d_b_%d_did_save + au! + au BufWritePost <buffer=%d> lua vim.lsp._text_document_did_save_handler(0) + augroup END + ]=] + vim.api.nvim_exec(string.format(buf_did_save_autocommand, client_id, bufnr, bufnr), false) -- First time, so attach and set up stuff. vim.api.nvim_buf_attach(bufnr, false, { on_lines = text_document_did_change_handler; |