From c1e66cf87af0f2f26afbd55679bb68962fb76f91 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Fri, 4 May 2018 01:25:13 +0100 Subject: [PATCH] When user declines to reconnect, first quit existing server * eglot.el (eglot): Rework reconnection logic. --- lisp/progmodes/eglot.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index c5a0c0f0d7a..3d0c0448344 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -293,13 +293,15 @@ Execute program (or connect to :) " (y-or-n-p "[eglot] Live process found, reconnect instead? ")) (eglot-reconnect current-process interactive)) (t + (when (process-live-p current-process) + (eglot-shutdown current-process 'sync)) (eglot--connect project managed-major-mode short-name command (lambda (proc) - (eglot--message "Connected! Process `%s' now managing `%s'\ + (eglot--message "Connected! Process `%s' now managing `%s' \ buffers in project %s." proc managed-major-mode -- 2.39.5