doom-etc-dir will be renamed to doom-data-dir, to better reflect its
purpose, and align it with XDG_DATA_HOME (where it will be moved to in
v3, where Doom will begin to obey XDG directory conventions more
closely).
- Deprecates the doom-private-dir variable in favor of doom-user-dir.
- Renames the pseudo category for the user's module: :private -> :user.
- Renames the doom-private-error error type to doom-user-error.
Emacs uses the term "user" to refer to the "things" in user space (e.g.
user-init-file, user-emacs-directory, user-mail-address, xdg-user-dirs,
package-user-dir, etc), and I'd like to be consistent with that. It also
has the nice side-effect of being slightly shorter. I also hope
'doom-user-error' will be less obtuse to beginners than
'doom-private-error'.
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
Because this data contains cached session data, it makes more sense to
have it under `~/.emacs.d/.local/cache` so that it is clear that it can
and should be removed when debugging and testing LSP using modules.
Fix#5649
The sorting of these two backends are counter-intuitive in this
configuration, but I don't want to place the snippets in front of the
more meaningful capf results as suggested in #5215. A better solution is
needed, but for the time being this will do.
Fix#5262
Ref #5215
Revert ba716d69f0
When Emacs 26.x support was in place this was originally:
```elisp
lsp-ui-sideline-actions-icon (if EMACS27+ lsp-ui-sideline-actions-icon-default)
```
But when it was removed it became:
```elisp
lsp-ui-sideline-actions-icon t
```
The docs for lsp-ui-sideline-actions-icon say:
```
Image file for actions. It must be a png file.
```
Setting this to `t` results in a whole lot of these messages:
```
[lsp-ui-sideline]: Error with actions icon: (error Invalid image specification)
```
So the solution seems to me to be to set it to:
```elisp
lsp-ui-sideline-actions-icon lsp-ui-sideline-actions-icon-default
```
I've set it in my emacs and it seems to work.
Emacs 27.x has been the stable version of Emacs for nearly a year, and
introduces a litany of bugfixes, performance, and quality-of-life
improvements that significantly reduce Doom's maintenance burden (like
XDG support, early-init.el, image manipulation without imagemagick, a
native JSON library, harfbuzz support, pdumper, and others).
With so many big changes on Doom's horizon, I like having one less (big)
thing to worry about.
Also reverts bb677cf7a (#5232) as it is no longer needed.
Without this, subsequent handlers registered (e.g. those from other
completion frameworks) will also pop up in addition to the peek UI.
This creates UI lock-up and is generally undesired.
As I’m trying to use [corfu](https://github.com/minad/corfu) for a bit, I found out that this hook prevents lsp-mode from starting if company-mode isn’t used.
- otherwise, `+lookup-online-backend-fn` would be called as well
- lsp-describe-thing-at-point was marked as not async in
d4eb7e31ac
- but `lsp-describe-thing-at-point` calls `lsp--make-request`
internally (which is async I assume):
eda51c2166/lsp-mode.el (L4677)
Fixes some issues with lsp-mode's downloader resolving paths to
downloaded assets. For example, lua-language-server fails to download
when lsp-server-install-dir has a trailing slash (see #4846).
Fix#4846
+ 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>