BREAKING CHANGE: This moves helpful.el out of core into :lang
emacs-lisp. Since most (all) people have this module enabled, this
shouldn't make a difference for most people, but if you're one of the
few that don't have :lang emacs-lisp enabled, Doom will revert to using
Emacs' built-in help.el and describe-* commands.
Others can also disable helpful with (package! helpful :disable t) if
they prefer Emacs' built-in help system, which wasn't possible before,
because it was a core package.
This was done as part of an ongoing effort to slim down Doom's core in
preparation for v3.
This is already remapped in the vertico module. Plus,
`consult-org-heading` and `consult-org-agenda` are already on
"<localleader> ." and "<localleader> /".
Amend: 5e3c794d31
Ref: #7716
In cases where the user has an empty snippets library (or no snippets
for the mode at point), the expensive `yas-reload-all` function would be
called each time you press tab.
Fix: #8025
We're currently discarding all evil-collection bindings on
`cider--debug-mode`. Given that `j` is bound to a particularly
disruptive and non-cancellable command, this brings some friction to
evil users.
This commit adds those bindings back under `evil +everywhere`.
The in-buffer and minibuffer displayed keybindings were adjusted to
match, but not easy-menu's.
Ref: doomemacs/doomemacs#4627
"\\'" will match the true end-of-string, whereas "$" will also match
just before a newline character. Not that there's much risk that
there'll be newlines in a filepath, but I'd rather be consistent. It
also makes these entries easier for users to remove from
auto-mode-alist.
BREAKING CHANGE: This removes the phpactor.el package in favor of LSP
support via lsp-mode/eglot. Use `+lsp` with the `:lang php` module
instead (with one of the supported LSP servers).
This was done because phpactor.el is on the way out of maintainership,
is redundant with pre-existing phpactor support in lsp-mode/eglot (or
the other, possibly superior LSP servers), and to simplify modules for
whom LSP/Eglot is *the* way to get these features.
- Ensures `org-plantuml-jar-path` is less likely to be overwritten if the
user changes it.
- Sets `org-plantuml-jar-path` and `plantuml-default-exec-mode` after
calling `plantuml-download-jar`, so things Just Work™️ without
needing the user to know to update these variables.
Close: #7992
‘go-remove-unused-imports’ is an obsolete command (as of 1.7.0); set
‘gofmt-command’ to goimports instead, or use LSP and gopls’s "Organize
Imports" code action.
Ref: dominikh/go-mode.el@166dfb1e09
BREAKING CHANGE: Removes go-guru from the Go module. It has been
deprecated upstream in favor of gopls, the official Go LSP server.
Close: #7995
Ref: golang/go/issues/65880
Co-authored-by: Henrik Lissner <git@henrik.io>
While I don't intend to respect `evil-disable-insert-state-bindings`
everywhere, exhaustively (such as org's rebinding of return or tab), I
will do it for non-essential keybinds that have a high likeliness of
overwriting navigation commands (like meta keys).
These uses of this macro are a micro optimization that yield no benefit.
The only place it's useful is in autoloads (which are guaranteed to be
byte-compiled during `doom sync`).
Reduces edge cases, in the case the user eagerly loads any of these
packages. Also replaces all hardcoded paths to ocp-indent and opam's
executables with variables, respecting user configuration.
The ocamlformat.el package reinvents what Apheleia is already doing, but
Apheleia's default definition for ocamlformat is a little simplistic.
This merges the efforts of both and allows us to cut down on an unneeded
dependency.
The "clangd" package links to the version of clangd associated with that
version of the distribution. In Debian 11 it's clangd-11, in 12 it's
clangd-14, Ubuntu 22.04 LTS also has clangd-14, and 23.10 seems to have
clangd-16. No need to specify the clangd package name for each release.
Ref: #7502
I intend to keep `project-vc-extra-root-markers` much lighter than what
`projectile-project-root-files` ended up being, so I won't be
transferring all the root markers.
Ref: doomemacs/core#1
Adapts to changes made upstream to Org's window management logic (e.g.
Org dropped `org-switch-to-buffer-other-window` for
`switch-to-buffer-other-window`, and org-journal renamed one of its
helper functions).
`org-map-entries` uses `org-get-agenda-file-buffer` to visit agenda
files, and Doom optimizes the latter to open those org buffers in a
limited capacity (since buffers opened this way are rarely visible, and
full initialization of them is very expensive), deferring their
initialization until the user interactively switches to the buffer
later.
However, if an agenda buffer has already been visited, opening it with
`org-get-agenda-file-buffer` with all these disabled initializations
could have unpredictable effects on whatever the user is doing in their
`org-map-entries` call. Since these optimizations aren't needed for
agenda buffers that already exist, I'll no-op `+org--restart-mode-h` in
those cases.
Fix: #7979
For evil users, TAB used to invoke `org-cycle` in insert mode, until
recent changes with the corfu module undid them, making them invoke only
completion.