diff options
| author | phanium <91544758+phanen@users.noreply.github.com> | 2026-02-15 20:33:49 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-15 07:33:49 -0500 |
| commit | 5c4b64aae59d162cf88d78760f9eb98699fb98f9 (patch) | |
| tree | f0d522da9b55dc70b7d88be44c67162e4332272f /test/functional/vimscript/executable_spec.lua | |
| parent | 3eb8a2784e37865cb15540870f2bd5f71230e8aa (diff) | |
| download | rneovim-5c4b64aae59d162cf88d78760f9eb98699fb98f9.tar.gz rneovim-5c4b64aae59d162cf88d78760f9eb98699fb98f9.tar.bz2 rneovim-5c4b64aae59d162cf88d78760f9eb98699fb98f9.zip | |
fix(lsp): wait for exit_timeout on quit #37597
Problem:
When quitting Nvim, LSP servers will not be force-stopped, even if
ClientConfig.exit_timeout is set to an integer.
pkill emmylua_ls; VIMRUNTIME=runtime/ nvim --clean -u repro.lua repro.lua ; waitpid $(pgrep emmylua_ls)
vim.lsp.config('foo', { cmd = { 'emmylua_ls' }, exit_timeout = 1000 })
vim.lsp.enable('foo')
vim.defer_fn(vim.cmd.quit, 500)
Solution:
On VimExit, wait up to `exit_timeout:integer` milliseconds for servers
to exit. Do this with an explicit `vim.wait()`, because the actual
force-stop is deferred, and won't be attempted if Nvim exits before
then.
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions