Generalize LSP optimizations to include eglot

This commit is contained in:
Henrik Lissner 2020-08-11 21:10:35 -04:00
parent 50f1391e86
commit 6cf5d72ff6
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 21 additions and 13 deletions

View file

@ -8,6 +8,24 @@ This delay prevents premature server shutdown when a user still intends on
working on that project after closing the last buffer.")
;;
;;; Common
(defun +lsp-init-optimizations-h ()
(when (or (bound-and-true-p eglot--managed-mode)
(bound-and-true-p lsp-mode))
;; `read-process-output-max' is only available on recent development
;; builds of Emacs 27 and above.
(setq-local read-process-output-max (* 1024 1024))
;; REVIEW LSP causes a lot of allocations, with or without Emacs 27+'s
;; native JSON library, so we up the GC threshold to stave off
;; GC-induced slowdowns/freezes. Doom uses `gcmh' to enforce its GC
;; strategy, so we modify its variables rather than
;; `gc-cons-threshold' directly.
(setq-local gcmh-high-cons-threshold (* 2 (default-value 'gcmh-high-cons-threshold)))))
;;
;;; Implementations