From d502c7c06a649c7cf153271a6e4be8d44693424a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 28 May 2020 15:30:20 -0400 Subject: [PATCH] tools/lsp: minor refactors --- modules/tools/lsp/+eglot.el | 16 ++++++++++------ modules/tools/lsp/config.el | 5 ++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/modules/tools/lsp/+eglot.el b/modules/tools/lsp/+eglot.el index e1b8d7397..ae37e20d4 100644 --- a/modules/tools/lsp/+eglot.el +++ b/modules/tools/lsp/+eglot.el @@ -1,19 +1,23 @@ ;;; tools/lsp/+eglot.el -*- lexical-binding: t; -*- +;; TODO set eglot-events-buffer-size to nil in doom-debug-mode +;; TODO Implement `+lsp-defer-shutdown' + (use-package! eglot - :commands (eglot-ensure eglot) + :commands eglot eglot-ensure :init (setq eglot-sync-connect 1 eglot-connect-timeout 10 eglot-autoshutdown t eglot-send-changes-idle-time 0.5 - ;; NOTE: Do NOT set eglot-auto-display-help-buffer to t. - ;; With popup-rule! :select t, eglot will steal focus from the source code very often. + ;; NOTE We disable eglot-auto-display-help-buffer because :select t in + ;; its popup rule causes eglot to steal focus too often. eglot-auto-display-help-buffer nil) + :config (set-popup-rule! "^\\*eglot-help" :size 0.35 :quit t :select t) + (set-lookup-handlers! 'eglot--managed-mode + :documentation #'+eglot/documentation-lookup-handler) (when (featurep! :checkers syntax) (after! flycheck - (load! "autoload/flycheck-eglot"))) - (set-lookup-handlers! 'eglot--managed-mode - :documentation #'+eglot/documentation-lookup-handler)) + (load! "autoload/flycheck-eglot")))) diff --git a/modules/tools/lsp/config.el b/modules/tools/lsp/config.el index 431a2701c..3d26aa100 100644 --- a/modules/tools/lsp/config.el +++ b/modules/tools/lsp/config.el @@ -7,7 +7,10 @@ workspace buffer is closed. This delay prevents premature server shutdown when a user still intends on working on that project after closing the last buffer.") -;; TODO : set eglot-events-buffer-size to nil in doom-debug-mode + +;; +;;; Implementations + (if (featurep! +eglot) (load! "+eglot") (load! "+lsp"))