+ Allow LSP to prompt to install servers. All this machinary just adds
more confusion for beginners, and at least LSP asks for your permission
before it does it.
+ Reverts lsp-enable-file-watchers and lsp-enable-indentation to their
default (enabled), hopefully to help lsp-java, lsp-dart, and lsp-clojure
users, for whom file-watchers seems to be necessary.
+ Apply GC/IPC optimizations globally, to ensure their reach. By only
setting them buffer-locally we don't have a guarantee that subprocesses
will be affected when the lsp buffer isn't focused.
Closes#3989
Co-authored-by: Eric Dallo <ercdll1337@gmail.com>
+ Add explain-pause-mode
+ Now reloads itself if doom-debug-variables is changed or when one of
its variables becomes available.
+ doom-debug-variables now supports a cons cell entry where its CAR is
the name of the variable and CDR is the value it should be set to when
doom-debug-mode is active.
3f5cc4c63 introduced some big changes to how Doom starts lsp-mode. I've
deferred much more of the work to upstream, but it:
1. lsp's errors no longer made sense (complaining about servers having
no automated install routine, despite having one).
2. Broke lsp support in indirect buffers (like org src/capture buffers).
So I half-reverted 3f5cc4c63 and added a +lsp-auto-install-servers
variable to make it optional (albeit opt-in).
`lsp-deferred` calls `lsp` and `lsp` seems to do something expensive
whether or not lsp-mode is already active. Over TRAMP, this is much too
expensive, so we no-op lsp-deferred if lsp-mode is already active.