BREAKING CHANGE: This removes git-gutter as an implementation for the
`:ui vc-gutter` module, leaving only the diff-hl implementation. There
are no longer any +git-gutter or +diff-hl flags for this module. Users
don't have to do anything to keep the vc gutter, unless they prefer
git-gutter for any reason (in which case they'll need to install and set
it up themselves).
This has been planned for some time, because of a roadmap goal for Doom
to lean into native/built-in functionality where it's equal or better
than the third party alternatives. diff-hl relies on the built-in vc.el
library instead of talking to git directly (thus expanding support to
whatever VCS's vc.el supports, and not git alone), which also means it
can take advantage of its caching and other user configuration for
vc.el. Overall, it is faster and lighter.
What I've also been waiting for was a stage-hunk command, similar to
git-gutter:stage-hunk, which arrived in dgutov/diff-hl@a0560551cd and
dgutov/diff-hl@133538973b, and have evolved since.
Ref: dgutov/diff-hl@a0560551cd
Ref: dgutov/diff-hl@133538973b
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=58747789
This was resolved upstream some time ago and is now a source of
errors (void-variable emacsql-sqlite-executable errors) if forge were
ever bumped (which it was, yesterday, in 1a05e2f).
Ref: magit/forge@398ca3a17a
Amend: 1a05e2fa64
From now on, our documentation will assume your Emacs config lives in
~/.config/emacs, by default, rather than ~/.emacs.d. Support for the
latter is not going away, it will simply be mentioned less in the
literature, as all supported versions of Emacs going forward (and future
versions of Doom) will support (and prefer) XDG conventions.
The user manual will be updated separately.
Close: #6965
Co-authored-by: gagbo <gagbo@users.noreply.github.com>
This package is cropping up in packages everywhere. Managing it has been
a source of issues, so I'm making it a core package until v3, where
we'll be able to pin packages without explicitly installing them.
BREAKING CHANGE: This commit removes the magit-gitflow package because:
- It is not considered a "universal" default. I.e. The majority of git
users do not know of or use it, much less need it.
- The elisp configuration for it is trivial. It doesn't warrant
Doom-specific support for it and is trivial enough for end-users to
deploy themselves with minimal difficulty.
Close: #7015
For some reason, the transient-append-suffix adding magit-worktree back
to magit-dispatch — after its potential replacement by
magit-gitflow-popup — was having no effect. (It does when moved into
(after! magit-gitflow), so the issue must have something to do with when
transient-append-suffix is called.) magit-worktree wasn't appearing in
the magit-dispatch popup when magit-gitflow was enabled, nor was the '*'
keybind for magit-worktree in effect outside (or inside) the popup,
unlike '%' for magit-gitflow-popup.
Replace the ineffectual transient-append-suffix with a normal and visual
mode keybind for magit-worktree in magit-mode-map (and move the
unconditionally defined keybind for magit-gitflow-popup into (after!
magit-gitflow)). Also, append the magit-gitflow-popup transient suffix
to magit-worktree instead of replacing it, so that the latter still
appears in magit-dispatch (though under the original keybind 'Z' — which
isn't really an issue, since evil-collection-magit doesn't seem to
update the keybinds of any of the other commands accessible from
magit-dispatch — but also callable with '*').
When using evil +everywhere, we disable the default forge bindings.
We must then explicitly remap magit-browse-thing, as it's just a
placeholder command (bound in multiple places).
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).
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.
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
emacs-straight/compat@2a9cf8b7bd -> emacs-straight/compat@cc1924fd8b
compat is a dependency of magit and doom-modeline (among other
packages), but a recent bug on compat@2a9cf8b caused #6583, so I am
pinning it to a stable commit. It's not common that Doom pins 2nd/3rd
order dependencies, but I will consider doing that more going forward.
Pinning them across multiple modules isn't elegant, but a better
solution is in the works as part of #4273.
Fix: #6583
Ref: #4273
evil-collection-magit-section introduces some redundant keybinds on
number keys 1-4, so our hack to correct these keys needed an adjustment.
And by unbinding these keys at the source (magit-section-mode-map), we
don't have to do the same for each inheriting keymap (like
code-review-mode-map and magit-mode-map).
Ref: emacs-evil/evil-collection@e26c869735
Amend: 31519d393a
Add the two main keybindings expected in the README of code-review: `r`
for a transient menu with all actions and `RET` to add or edit a
comment. Both should only be enabled while in a `*Code Review*` buffer.
Ref: https://github.com/wandersoncferreira/code-review