aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-04-01 00:53:47 -0700
committerGitHub <noreply@github.com>2021-04-01 00:53:47 -0700
commitf738f089daec493d13c316a01f40e239eafd390f (patch)
tree2fc70b43d4179aeaf0f0e4d46d01dd4d8c618fcf /runtime/lua/vim
parent5dfa937e4ac609ae35ba3fb13b47b237b9151f07 (diff)
parent08941e163e038c6a586cc3cb07f68a42675f2d6a (diff)
downloadrneovim-f738f089daec493d13c316a01f40e239eafd390f.tar.gz
rneovim-f738f089daec493d13c316a01f40e239eafd390f.tar.bz2
rneovim-f738f089daec493d13c316a01f40e239eafd390f.zip
Merge pull request #14262 from mjlbach/feature/lsp_did_save_autocommand
lsp: clear did_save handler autocommand on each attach
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r--runtime/lua/vim/lsp.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index edbe8753be..f2c46ff10e 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;