diff options
| -rw-r--r-- | lisp/progmodes/eglot.el | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 5ccae5210fe..f58a895a3f1 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el | |||
| @@ -1419,11 +1419,15 @@ INTERACTIVE is t if called interactively." | |||
| 1419 | (interactive (list (eglot--current-server-or-lose) t)) | 1419 | (interactive (list (eglot--current-server-or-lose) t)) |
| 1420 | (when (jsonrpc-running-p server) | 1420 | (when (jsonrpc-running-p server) |
| 1421 | (ignore-errors (eglot-shutdown server interactive nil 'preserve-buffers))) | 1421 | (ignore-errors (eglot-shutdown server interactive nil 'preserve-buffers))) |
| 1422 | (eglot--connect (eglot--major-modes server) | 1422 | (let* ((default-directory (project-root (eglot--project server))) |
| 1423 | (eglot--project server) | 1423 | (project (eglot--current-project))) |
| 1424 | (eieio-object-class-name server) | 1424 | (if (not project) |
| 1425 | (eglot--saved-initargs server) | 1425 | (eglot--error "Project in `%s' is gone!" default-directory) |
| 1426 | (eglot--language-ids server)) | 1426 | (eglot--connect (eglot--major-modes server) |
| 1427 | project | ||
| 1428 | (eieio-object-class-name server) | ||
| 1429 | (eglot--saved-initargs server) | ||
| 1430 | (eglot--language-ids server)))) | ||
| 1427 | (eglot--message "Reconnected!")) | 1431 | (eglot--message "Reconnected!")) |
| 1428 | 1432 | ||
| 1429 | (defvar eglot--managed-mode) ; forward decl | 1433 | (defvar eglot--managed-mode) ; forward decl |