Updating dotfiles.

This commit is contained in:
Derek Taylor
2020-09-29 16:28:27 -05:00
parent e8ae19d7ad
commit af5b75ee4d
204 changed files with 1870 additions and 2063 deletions

View File

@@ -11,8 +11,11 @@
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#lsp-powered-project-search][LSP-powered project search]]
- [[#differences-between-eglot-and-lsp-mode][Differences between eglot and lsp-mode]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
- [[#my-language-server-is-not-found][My language server is not found]]
- [[#lspeglot-is-not-started-automatically-in-my-buffer][LSP/Eglot is not started automatically in my buffer]]
* Description
This module integrates [[https://langserver.org/][language servers]] into Doom Emacs. They provide features
@@ -93,6 +96,7 @@ active, LSP is used to search a symbol indexed by the LSP server :
|-----------+-------------------------------------|
| =SPC c j= | Jump to symbol in current workspace |
| =SPC c J= | Jump to symbol in any workspace |
** Differences between eglot and lsp-mode
Entering the debate about which one to use would be useless. Doom provides an
easy way to switch out lsp client implementations so you can test for yourself
@@ -108,6 +112,7 @@ closer integration with "more basic" emacs packages (=eldoc=, =xref=, ...).
** My language server is not found
Check the entry in the [[../../../docs/faq.org][FAQ]] about "Doom can't find my executables/doesn't inherit
the correct ~PATH~"
** LSP/Eglot is not started automatically in my buffer
Make sure that you added the =+lsp= flag to the language you're using too in
your init.el :

View File

@@ -5,7 +5,26 @@
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.")
working on that project after closing the last buffer, or when programmatically
killing and opening many LSP/eglot-powered buffers.")
;;
;;; Common
(defun +lsp-init-optimizations-h ()
"Deploys universal optimizations for `lsp-mode' and `eglot'."
(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)))))
;;

View File

@@ -3,11 +3,11 @@
(if (featurep! +eglot)
(progn
(package! eglot :pin "fb6b17e86eddc22b9ec81f52718fad6bcbb53668")
(package! eglot :pin "5f873d288e1c5434c1640bef03555ed056cb0d35")
(package! project :pin "da0333a697b18f0a863c1b1523d2fc7991b31174"))
(package! lsp-mode :pin "edb81194f0974643861a24d1bbc386dd53554748")
(package! lsp-ui :pin "1f3e9700395f4fae024ca45ca64c8d70e99b39d2")
(package! lsp-mode :pin "4145a70ce1d4bfb2463606ba34c5965080b080d9")
(package! lsp-ui :pin "c39ae3713f95a2d86e11fd1f77e89a671d08d18a")
(when (featurep! :completion ivy)
(package! lsp-ivy :pin "4cdb739fc2bc47f7d4dcad824f9240c70c4cb37d"))
(when (featurep! :completion helm)
(package! helm-lsp :pin "5c960e7800dc8f4432f3a1466a637d484b87dc35")))
(package! helm-lsp :pin "4263c967267b0579956b3b12ef32878a9ea80d97")))