Commit graph

378 commits

Author SHA1 Message Date
Ajai Nelson
4790db6448 fix(dired): typo in command name
`<leader> o p` is bound to `+dired/dirvish-side-and-follow`, but the
command was previously called `+dired/dirvish-side-or-follow` instead.
2024-09-10 15:27:18 -07:00
Henrik Lissner
47c8c905b8
feat(dired): open dirvish sidebar w/ '<leader> o {p,P}'
A new alternative to neotree and treemacs.
2024-09-09 18:52:45 -04:00
Henrik Lissner
07eae64509
refactor(vc): move git-commit to magit module
`git-commit` is no longer distributed with `magit` and no longer
declares its dependencies, causing "file missing: with-editor" and
similar errors for folks who don't have magit installed. Also, VC's
commit workflows don't utilize the mode, so there's no reason to keep it
in this module.

Ref: magit/magit@c170fcf399
Ref: #8003
2024-09-09 18:08:28 -04:00
Henrik Lissner
1ff37f9fa4
fix(dired): preserve buffers on dirvish-find-entry-a
Fix: #8038
2024-09-07 13:57:58 -04:00
Henrik Lissner
70fd17ebfd
fix(vc): smerge localleader keybinds
The keybinding in 682f151 was being overwritten. I'll simply copy the
keymap into the module, until I can devise a more elegant solution.

Amend: 682f151176
Ref: #5954
2024-09-01 18:25:37 -04:00
Henrik Lissner
682f151176
feat(vc): integrate smerge-mode
Activates smerge-mode if the file contains merge conflict markers. Also
turns binds the localleader to `smerge-mode-map` when it's active.

Also removes an unused leader binding (which will never be set because
:ui hydra was removed in b08c2c7).

Amend: b08c2c745f
Close: #5954
2024-09-01 17:29:14 -04:00
Henrik Lissner
a8f116bb6b
bump: magit forge orgit orgit-forge
magit/forge@30f181f785 -> magit/forge@35cc600d62
magit/magit@2da34f1317 -> magit/magit@0aa26864e3
magit/orgit-forge@a989b2b54d -> magit/orgit-forge@2718a6aaf0
magit/orgit@29a0f37e5c -> magit/orgit@59d21fdb21

For Magit's 4.1.0 release, and to repin away from these packages'
recently removed 'melpa' branches (see #8007).

Ref: #8003
Ref: #8007
2024-08-31 21:51:59 -04:00
Henrik Lissner
34cc0c9d86
tweak(dired): ESC to exit wdired-mode
Fix: #8004
2024-08-30 18:56:44 -04:00
Henrik Lissner
14478064af
refactor(dired,vc-gutter): setup for tty frames
A recent commit (c53f63b) allows me to simplify this a bit.

Ref: c53f63b96e
Ref: #8001
2024-08-28 17:56:55 -04:00
Henrik Lissner
c99e9b8654
fix(dired): initial pop-in for vc-state
Ref: hlissner/dirvish#1
2024-08-28 04:55:17 -04:00
Henrik Lissner
1fad466c12
fix(dired): "Attempt to delete minibuffer or sole ordinary window"
Makes `+dired--cleanup-dirvish-h` more robust, and only kick in for
dirvish-side or full-frame dirvish sessions.

Amend: e82dab3257
2024-08-25 17:44:29 -04:00
Henrik Lissner
b69e7d1780
tweak(dired): bind gl, h, l, & arrows to directory nav 2024-08-22 21:48:08 -04:00
Henrik Lissner
1e73754dad
refactor(dired): dirvish-hide-cursor
Give the same treatment I give dirvish-hide-details to
dirvish-hide-cursor (see ddfb0cc).

Ref: ddfb0cc3cc
Ref: #6760
2024-08-22 12:32:14 -04:00
Henrik Lissner
fe15b1daf3
fix(dired): remove keybind to nonexistent command
Amend: e82dab3257
Co-authored-by: kalwk <kalwk@users.noreply.github.com>
2024-08-21 05:02:43 -04:00
Henrik Lissner
4ed3e75f5f
fix(dired): fail gracefully if pdf-tools isn't installed
Will throw a "void-variable pdf-info-epdfinfo-program" error if
pdf-tools isn't installed (or `:tools pdf` is disabled).
2024-08-21 02:15:40 -04:00
Henrik Lissner
a6c3c6842a
refactor(dired): use dirvish-preview-environment
- Remove +dired--suppress-hooks-in-previews-a, because Dirvish already
  does this.
- Exploit dirvish-preview-environment instead of hardcoding the
  enable-local-variables let-binding for the child process. Its defaults
  are more reasonable.
2024-08-21 02:11:55 -04:00
Henrik Lissner
f3e9920e80
bump: magit
magit/magit@3b37048688 -> magit/magit@2da34f1317

- Whoops. The HEAD of magit's melpa branch is auto-generated and rebased
  to the front, so pinning to its HEAD will always eventually break.

Fix: #8007
Amend: 5e70fe1697
2024-08-21 00:18:06 -04:00
Henrik Lissner
d1e5a285fe
fix(vc): git-timemachine: enable font-lock-mode 2024-08-20 16:44:23 -04:00
Henrik Lissner
1c6288e2b7
perf(dired): suppress mode hooks when previewing files
Ref: #6760
2024-08-19 16:21:45 -04:00
Henrik Lissner
22f37e84dc
bump: :emacs
emacs-straight/undo-tree@5e9f4c9234 -> emacs-straight/undo-tree@d8f72bbe7d
emacs-straight/vundo@a18d63a9a1 -> emacs-straight/vundo@5374125dc0
ideasman42/emacs-undo-fu-session@75d78310c8 -> ideasman42/emacs-undo-fu-session@beb0e285d0
ideasman42/emacs-undo-fu@ea902716f3 -> ideasman42/emacs-undo-fu@dbb3e4b699
magit/git-modes@d96fa7a3c7 -> magit/git-modes@f99010bbeb
magit/magit@e777822720 -> magit/magit@55656a31cc
2024-08-19 16:21:45 -04:00
Henrik Lissner
ddfb0cc3cc
refactor(dired): dirvish-hide-details
Prior to this, I used window-width to determine whether file details
should be hidden, but there was a jarring delay on `dirvish-setup-hook`
that made the effect look awful (especially when walking up and down
file trees).

This changes `dirvish-hide-details` to accept a list of contexts where
it should be enabled, which I think is more elegant. Of course,
`dirvish-hide-details` will fall back on old behavior if set to `t` or
`nil`.

I'll consider upstreaming it later (and perhaps doing similar for
`dirvish-hide-cursor`).

Ref: #6760
2024-08-19 02:15:05 -04:00
Henrik Lissner
d4ad14b75d
fix(dired): fallback to default if dirvish-use-mode-line == nil
Currently, setting `dirvish-use-mode-line` to nil blanks out the
mode-line, and setting it to `t` makes Dirvish use its own mode-line. To
get the default mode-line, `dirvish-mode-line-format` needs to be set to
nil, but even then Dirvish will prepend a bar to the default-mode-line
so it can control its height, which I think is a confusing chain of
causes and effects.

This changes the behavior such that `dirvish-use-mode-line` controls
whether `dirvish-mode-line-format` will be used or not. I'll upstream
this to hlissner/dirvish later.

Fix: #8000
2024-08-18 16:31:21 -04:00
Henrik Lissner
967586fcae
fix(dired): dirvish-{mode,header}-line-height = doom-modeline-height
Ref: #8000
2024-08-18 16:20:20 -04:00
Henrik Lissner
e82dab3257
refactor!(dired): use dirvish, drop +ranger
BREAKING CHANGE: This drops the Dired module's +ranger flag and replaces
much of this module's innards with (my maintained fork of) Dirvish,
which provides a spiritually similar (if not superior) experience to
Ranger. Plus, Dirvish makes most of our dired plugins unnecessary.

Also, I am now registering myself as this module's maintainer now that I
dogfood and maintain Dirvish.

Close: #6760
Co-authored-by: alexluigit <alexluigit@users.noreply.github.com>
Co-authored-by: hpfr <hpfr@users.noreply.github.com>
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
Co-authored-by: pharcosyle <pharcosyle@users.noreply.github.com>
2024-08-18 03:57:12 -04:00
Henrik Lissner
5e2e886b35
nit: comment revision & reformatting 2024-08-15 23:18:47 -04:00
Henrik Lissner
4fcf332749
refactor: generalize fd/ripgrep vars & options
I intend to eventually replace projectile with project.el, so these
doom-projectile-* variables need to be generalized, starting with the
fd/ripgrep executable paths.

ALong with that, this refactors Doom's projectile-generic-command to
lean more on built-in fd support in projectile, where possible (fewer
wheels reinvented).

Ref: doomemacs/core#1
2024-08-09 21:03:37 -04:00
Henrik Lissner
0f30e1eca5
bump: :ui vc-gutter :tools magit :emacs vc
dgutov/diff-hl@f66345ed1f -> dgutov/diff-hl@57d9d4e3e1
magit/forge@9edfcb2c15 -> magit/forge@21d410c810
magit/magit@9d4192b7b1 -> magit/magit@e777822720
2024-07-29 02:03:25 -04:00
Henrik Lissner
bc948c38c2
refactor(vc): remove hydra
hydra was removed in b08c2c7, so I'm no longer supporting hydra
workflows.

Amend: b08c2c745f
2024-07-28 15:21:13 -04:00
Henrik Lissner
4fa24d1533
bump: :tools magit :emacs vc
emacsmirror/git-timemachine@5ed73c3831 -> emacsmirror/git-timemachine@3780835fcd
magit/forge@67314e2f83 -> magit/forge@9edfcb2c15
magit/git-modes@52ea2a1281 -> magit/git-modes@d96fa7a3c7
magit/magit@b9948f9571 -> magit/magit@9d4192b7b1
2024-07-20 14:31:53 -04:00
Samuel Tschiedel
4af60fe066 feat(dired): add subtree bindings to dirvish
The structure follows `dired`'s evil-collection's.

Ref: 5886bab852/modes/dired/evil-collection-dired.el (L205-L212)
2024-06-23 15:55:58 -04:00
Samuel Tschiedel
0f09d6f748 fix(dired): update dirvish keybindings
This is another temporary fix to buy us more time until doomemacs#6760
lands.
2024-06-23 15:55:58 -04:00
Henrik Lissner
1c18a0cc7e
bump: :emacs undo
emacs-straight/undo-tree@f9e7eac16f -> emacs-straight/undo-tree@5e9f4c9234
emacs-straight/vundo@10d011fb05 -> emacs-straight/vundo@a18d63a9a1
ideasman42/emacs-undo-fu-session@2b355c9d39 -> ideasman42/emacs-undo-fu-session@75d78310c8
ideasman42/emacs-undo-fu@04961ba775 -> ideasman42/emacs-undo-fu@ea902716f3
2024-06-20 18:28:13 -04:00
Henrik Lissner
6ba70df105
docs(dired): update flags & package listing
Close: #7851
Co-authored-by: isentropic <isentropic@users.noreply.github.com>
2024-06-20 18:28:12 -04:00
Henrik Lissner
5a8d65bc51
bump: :tools magit :emacs vc
alphapapa/magit-todos@332ce763f7 -> alphapapa/magit-todos@501c8db90a
magit/forge@ad94b5665d -> magit/forge@c3675fd068
magit/git-modes@3cc94974c0 -> magit/git-modes@52ea2a1281
magit/magit@b5637d665c -> magit/magit@f9268a9598
2024-06-03 16:22:10 -04:00
Henrik Lissner
57f43e0953
fix(vc): *vc-{diff,change-log}* popup rules
The former rules weren't proccing on these buffers. Also
changes *vc-diff* popups to resize based on contents.
2024-04-05 19:05:54 -04:00
Henrik Lissner
beb6e87636
bump: :tools magit :emacs vc
emacsmirror/git-timemachine@ac933e5cd2 -> emacsmirror/git-timemachine@5ed73c3831
magit/forge@2a3b41eb62 -> magit/forge@ad94b5665d
magit/magit@0e8f25a8d8 -> magit/magit@b5637d665c
2024-04-03 15:55:40 -04:00
StrawberryTea
c03113906a
fix(dired): hide flycheck temp files 2024-03-05 01:11:19 -05:00
Henrik Lissner
a2484538b4
bump: :tools magit :emacs vc
magit/forge@ba35ffc9ba -> magit/forge@3fc6c362b0
magit/git-modes@4a61a9b86d -> magit/git-modes@3cc94974c0
magit/magit@54d37dc14c -> magit/magit@b68e0a3c33

Ref: magit/forge@3fc6c362b0
2024-02-07 00:33:50 -05:00
Filipe Regadas
bd6a382b18
fix(dired): void-variable dired-omit-files error
Caused by a recent bump to :emacs dired (see e242ac9).

Fix: #6562
Amend: e242ac9548
2024-02-05 19:29:24 -05:00
Henrik Lissner
e242ac9548
bump: :emacs
alexluigit/dirvish@4fe9c00894 -> alexluigit/dirvish@119f9f59a6
emacs-straight/dired-git-info@9461476a28 -> emacs-straight/dired-git-info@6b6f2a5d71
emacs-straight/vundo@24271862a2 -> emacs-straight/vundo@10d011fb05
emacsmirror/git-timemachine@d8ffd0d7cc -> emacsmirror/git-timemachine@ac933e5cd2
ideasman42/emacs-undo-fu-session@a6c4f73bc2 -> ideasman42/emacs-undo-fu-session@2b355c9d39
ideasman42/emacs-undo-fu@0e74116fd5 -> ideasman42/emacs-undo-fu@04961ba775
magit/git-modes@f0a0154bf4 -> magit/git-modes@4a61a9b86d
magit/magit@4881835572 -> magit/magit@54d37dc14c
purcell/diredfl@f9140b2c42 -> purcell/diredfl@f6d599c308
purcell/ibuffer-vc@1388d2ea18 -> purcell/ibuffer-vc@66d0226733
rainstormstudio/nerd-icons-dired@4a068884bf -> rainstormstudio/nerd-icons-dired@c1c7348863
rmuslimov/browse-at-remote@c020975a89 -> rmuslimov/browse-at-remote@76aa27dfd4
stsquad/dired-rsync@7940d9154d -> stsquad/dired-rsync@5bcb851f3b
2024-02-05 17:21:21 -05:00
Henrik Lissner
659f7bfc71
refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
Henrik Lissner
7cae2b01f6
bump: :emacs ibuffer undo
emacs-straight/undo-tree@16f4121032 -> emacs-straight/undo-tree@f9e7eac16f
emacs-straight/vundo@26c929229a -> emacs-straight/vundo@24271862a2
ideasman42/emacs-undo-fu-session@7b3fd0647d -> ideasman42/emacs-undo-fu-session@a6c4f73bc2
ideasman42/emacs-undo-fu@0e22308de8 -> ideasman42/emacs-undo-fu@0e74116fd5
purcell/ibuffer-projectile@ecbe482804 -> purcell/ibuffer-projectile@710ecac157
purcell/ibuffer-vc@9204001d1c -> purcell/ibuffer-vc@1388d2ea18
2023-09-20 20:23:59 +02:00
Noisy Computation
2b08b2da33 bump: :emacs vc
magit/magit@97a95f7007 -> magit/magit@4881835572

The pinned version of `magit` in `:tools magit` needs be the same
as that of `git-commit` in `:emacs vc`.

`straight.el` prepares the repo only once, and if `git-commit` is
processed first, its pinned version wins out and the more recent
pinning of `magit` is ignored.

As noted in #7363, processing order may be non-deterministic, so the
inconsistent pinning may not be apparent on every system.

Fix: #7363
Amend: #7277
Amend: 7c63b353d2
2023-09-19 23:31:32 +02:00
Jdogzz
2be3cf4b38
bump: nerd-icons-dired
rainstormstudio/nerd-icons-dired@b760520821 -> rainstormstudio/nerd-icons-dired@4a068884bf

Fix: #5579
Ref: rainstormstudio/nerd-icons-dired@4a068884bf
Ref: rainstormstudio/nerd-icons-dired#14
2023-09-17 05:07:52 +02:00
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Henrik Lissner
8e1f5509ea
fix(undo): add emacs version check for vundo 2023-09-16 05:30:06 +02:00
Ellis Kenyő
9787022b83
refactor!: replace all-the-icons with nerd-icons
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.

This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.

Fix: #7368
Close: #6675
Close: #7364
2023-09-14 01:03:55 +02:00
Henrik Lissner
98f3af7a7c
feat(vc): browse-at-remote: recognize gitlab.* hosts
Previously, only gitlab.com and gitlab.gnome.org were recognized as
gitlab hosts. This tweaks browse-at-remote to recognize any subdomain
named gitlab.* as a gitlab host (as a fallback, if no other regexp
matches).
2023-07-24 02:58:35 +02:00
Franz Srambical
9fdaa4c3db
docs(undo): unfo-fu -> undo-fu 2023-07-22 23:42:35 +02:00
Michael Peyton Jones
bab4c921c8
tweak(vc): smerge-next -> smerge-vc-next-conflict
This is provided by `smerge-mode` in Emacs 27, and functions exactly
like `smerge-next`, except that if there are no more conflicts in the
current file, it will go to the next file with conflicts.

Arguably this could be a different key binding. However, I find that it
is almost strictly superior to `smerge-next`: I can't think of a case
where I *wouldn't* immediately want to go to the next file with
conflicts, and even if you do by accident you can just pop back to the
preceding buffer. So I think it warrants being the default.

Close: #5431
2023-03-22 18:22:47 -04:00