diff --git a/lsp-mode.el b/lsp-mode.el index 3b27a86b41..d0d1eabb68 100644 --- a/lsp-mode.el +++ b/lsp-mode.el @@ -9124,6 +9124,14 @@ This avoids overloading the server with many files when starting Emacs." (unless (lsp--init-if-visible) (add-hook 'window-configuration-change-hook #'lsp--init-if-visible nil t)))))))) +(with-eval-after-load 'desktop + (add-to-list 'desktop-locals-to-save 'lsp--buffer-deferred) + (add-to-list 'desktop-minor-mode-handlers + '(lsp-mode . (lambda (desktop-buffer-locals) + (if (alist-get 'lsp--buffer-deferred desktop-buffer-locals) + (lsp-deferred) + (lsp-mode)))))) + (defvar lsp-file-truename-cache (ht))