This prevents naming collisions between projects that resolve to the
same name (e.g. foo/bar/src and baz/foo/src both resolve to the same
project name: "src"), causing Magit to destructively reuse magit
bufffers across projects (which is especially disruptive if you use
workspaces and are using magit in both, in unrelated projects that
happen to have the same name).
If the user has :ui (popup +all) enabled, it will capture dirvish side
buffers and treat them like arbitrary popups, so we correct the default
popup rule to force it to ignore them like we already do with dirvish's
main buffers.
Fix: #8338
This is due to `counsel-projectile-switch-project` not initializing the
known projects list before consulting the `projectile-known-projects`
variable (or at the very least, calling the function of the same name,
rather than referencing the variable directly). By changing
counsel-projectile-remove-current-project, it now does.
Redesign this hook around `after-focus-change-function`, along with
debouncing, to prevent it from triggering too aggressively (due to
misbehaving desktop environments, elisp packages that tinker with frame
focus, or accidental (and rapid) focus changes by the user).
`doom-switch-{window,buffer}-hook` have also been simplified, and
`doom-switch-window-hook` now will not trigger when focusing another
frame (only when you switch windows *within* any one frame).
This also fixes diff-hl not updating when refocusing an Emacs frame.
BREAKING CHANGE: This removes company and non-LSP integration from the
Python module, in order to reduce the complexity of the module, reduce
dependencies on Company, and lean more on LSP, which provides these
features with more reliability and consistency. Switch to :tools lsp and
install a Python LSP client to get these features back.
BREAKING CHANGE: This removes company and non-LSP integration from the
Go module, in order to reduce the complexity of the module, reduce
dependencies on Company, and lean more on LSP, which provides these
features with more reliability and consistency. Switch to :tools lsp and
install a Go LSP client to get these features back.
This module has been deprecated for a while as it's much too trivial to
warrant being its own module, has been incomplete since its inception,
and there's no interest in maintaining, finishing, or expanding it.
Normally, this would be too small to warrant its own module, but smooth
scrolling is one of those things that can tip large swaths of
fence-sitting beginners into Emacs' camp. I can't help but imagine how
many people get their impression that Emacs is "laggy" or "slow" solely
from the way it scrolls.
Don't get me wrong, there *are* good reasons to call Emacs slow, but
startup and scrolling speed are not it, yet they are easily overblown
because it's the first thing you see. I might even consider enabling
this by default, but I'll make that decision later.
Fix: #8335
If you used `projectile-switch-project`, the workspaces module would
open a new workspace named after the project, but if a workspace named
after that project already exists, it is hijacked (e.g. two projects in
'some-project/src' and 'another-project/src' would get the same name:
"src"). This commit uniquifies their names so this doesn't happen, and
also embeds a +workspace-project persp parameter in the workspace so
that they can be disamiguated later (this association is lost if you
rename the workspace manually, however).
Fix: #7637
The jk/fd escape sequence catches up folks not expecting it and isn't
unanimously useful to all users, so it shouldn't be active by default.
This also deals with an issue where Evil macros are capturing the escape
key sequence (#8279).
Ref: #8279
This command would formerly raise the focused window into a regular
window, erroring out if that window isn't a popup. Now, if the focused
window isn't a popup, any (single) visible popup in the current frame
will be targeted, and if multiple popups are visible, you'll be prompted
to select one.
After setting +corfu-want-minibuffer-completion to t, I noticed that it
Corfu was still being enabled in Consult when finding files. This change
fixes that by ensuring that Corfu gets disabled in the minibuffer
whenever another completion framework is active.
org-mode requires `tab-width` be 8, which is not a sensible default for
`evil-shift-width`, so let it fall back to its default value (which is
4) in org buffers.
Exposes a user-configurable variable for disabling evil-collection
modules, while also blacklisting modules that are incompatible with our
modules (the case for evil-collection-lispy) or don't offer any/enough
value to the user.
Close: #8327
Amend: 2f7f37d49b
These fixes for evil-collection-magit-section weren't being applied
since 2f7f37d49b, but any combination of `after!` (or
`{with-}eval-after-load`) will convolute load order for users trying to
rebind their own keys on top of ours *and* evil-collection's, and using
`evil-collection-setup-hook` for this is clumsy, so I must resort to
advice.
Amend: 2f7f37d49b
- Ensure `magit-log-select-mode` windows use the same window as the
magit-status buffer, and that the revision buffer is displayed below
it (similar to commit window configs).
- Uses the same window when invoking diffs (#8083).
Fix: #8083
With the combination of a bad value for
`transient-display-buffer-action` and a non-nil
`transient-show-during-minibuffer-read`, transient may jumble up
adjacent popup/side windows, particularly those belonging to plugins
with their own popup management and dedicated side windows (i.e.
`display-buffer-alist` rules) like Helm or Doom's popups.
Fix: #8319Fix: #8235
Co-authored-by: tarsius <tarsius@users.noreply.github.com>
In the interest of slimming down Doom's core (as we near v3), I've
deprecated these macros. They doesn't really need to exist. Sure, the
alternatives aren't as ergonomic or elegant, but they're good enough
that we don't need these trivial wrappers. Their local uses have been
refactored out as well.