Commit graph

1579 commits

Author SHA1 Message Date
Henrik Lissner
f5a9f5d7ad
docs(popup): set-popup-rule!: update docstring 2024-07-18 22:38:59 -04:00
Henrik Lissner
58375306ad
bump: :ui doom
doomemacs/themes@188ab05eef -> doomemacs/themes@2c794a09b0
hlissner/emacs-solaire-mode@8ccdceeb92 -> hlissner/emacs-solaire-mode@c9334666bd
2024-07-16 22:33:16 -04:00
Henrik Lissner
3f66400d62
fix(treemacs): open last treemacs session if in $HOME or non-project
`treemacs-add-and-display-current-project-exclusively' seems to confuse
some people and please others when it is used in $HOME. To reduce
confusion, SPC o p will now resume from the last session if
default-directory isn't a valid project OR if it's $HOME. It will also
emit a warning informing them of that.

Fix: #7948
Amend: f9dfb7e92a
2024-07-16 11:23:11 -04:00
Henrik Lissner
5485b912de
bump: :ui vc-gutter
dgutov/diff-hl@11f3113e79 -> dgutov/diff-hl@f66345ed1f

- Our diff-hl-update-async hack is no longer needed. The issue was
  addressed upstream.

Amend: 778fc9ad3f
Ref: dgutov/diff-hl#213
Ref: dgutov/diff-hl@e264d13a3d
2024-07-15 00:23:31 -04:00
Henrik Lissner
778fc9ad3f
fix(vc-gutter): disable diff-hl-update-async in with-editor-mode
`diff-hl-update-async` was enabled in f2696d7, causing a regression
where with-editor buffers wouldn't get cleaned up properly. This would
particularly affect Magit's COMMIT_EDITMSG buffers. To quote jds on
Discord:

  It seems like after committing (with cc in the magit buffer), it
  leaves COMMIT_EDITMSG around. The next time I try & commit, a single c
  keypress immediately jumps to the old COMMIT_EDITMSG buffer, but it's
  inactive - C-c C-c closes that buffer but makes no change to git.

I opt for advice instead of find-file or with-editor-mode hooks to
restore normal behavior should with-editor-mode be later disabled
without the death of its buffer (not relevant to magit, specifically,
but it might be to other consumers of with-editor, now or in the
future).

Ref: dgutov/diff-hl#213
Amend: f2696d7302
2024-07-10 18:27:54 -04:00
Henrik Lissner
f1f72c291a
refactor(vc-gutter): simplify & DRY
These advice were unnecessary when not only does diff-hl expose
variables to change them, but one of the overridden definitions is
identical to the function it's replacing.

Also includes some other minor refactors.
2024-07-10 03:54:45 -04:00
Henrik Lissner
78304f4d79
perf(vc-gutter): optimize bitmaps
The NS build of Emacs (on MacOS) seems to struggle rendering our old
fringe bitmaps for diff-hl, leading to noticably slow-downs when
scrolling in buffers with diff-hl enabled. By pre-computing the pixel
height and width of the bitmap, rather than relying on passing `repeat`
to define-fringe-bitmap's ALIGN argument, this seems to spare it a chunk
of wasted cycles.

Ref: https://www.reddit.com/r/emacs/comments/1do1wgj/fringes_incredibly_slow_on_emacs_ns_with_macos/
Fix: #7923
2024-07-10 03:18:46 -04:00
Henrik Lissner
f2696d7302
perf(vc-gutter): diff-hl-update-async = t
Don't block Emacs when updating the gutter.

Ref: #7923
2024-07-08 22:16:05 -04:00
Henrik Lissner
5289861109
refactor(workspaces): +workspace/delete: rename to +workspace/kill
To be more consistent with other uses of the verb in the Emacs
ecosystem. Also done in preparation for a new +workspaces/delete command
for #7869.

Ref: #7869
2024-07-05 18:05:15 -04:00
Henrik Lissner
b08c2c745f
module: remove :ui hydra
This module has been deprecated for some time because it is too
trivially small, and it's always been unclear how hydra fits into Doom's
vision for its UI, but I intend to lean into either transient or Embark
in the future.
2024-07-05 18:03:56 -04:00
Henrik Lissner
d7f5e7033e
bump: :ui doom modeline
doomemacs/themes@816fb54d60 -> doomemacs/themes@188ab05eef
seagle0128/doom-modeline@11ae6c193c -> seagle0128/doom-modeline@1505c13564
2024-07-02 20:03:16 -04:00
Henrik Lissner
f9dfb7e92a
tweak(treemacs): use treemacs-add-and-display-current-project-exclusively
Folks seem to expect to *only* see the current project in the treemacs
pane when they open it. I sort of agree, so I've tweaked
+treemacs/toggle (on SPC o p) to use
`treemacs-add-and-display-current-project-exclusively` instead.

Fix: #7614
2024-07-01 18:10:06 -04:00
Henrik Lissner
42923be0b3
bump: :ui tabs
ema2159/centaur-tabs@4a121a175e -> ema2159/centaur-tabs@d6009c295a

Ref: ema2159/centaur-tabs@9f04a13db0
Revert: ea1f72e875
2024-06-28 17:00:58 -04:00
Henrik Lissner
3431ddd44c
refactor!(ophints): replace volatile-highlights w/ goggles
BREAKING CHANGE: This replaces volatile-highlights.el with goggles.el,
since the former is no longer maintained and the latter is a much
simpler implementation for the same functionality. No adjustments are
needed for end-users to adopt this change, unless they have
volatile-highlights-specific configuration.

Ref: https://github.com/orgs/doomemacs/projects/5/views/9?pane=issue&itemId=326184
Close: #7810
Co-authored-by: Dev380 <Dev380@users.noreply.github.com>
2024-06-23 15:56:18 -04:00
Henrik Lissner
b405225b90
refactor!(vc-gutter): drop git-gutter for diff-hl
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
2024-06-22 18:14:04 -04:00
Henrik Lissner
62248f8366
bump: :ui
Alexander-Miller/treemacs@8c6df39f01 -> Alexander-Miller/treemacs@54ef590b76
dgutov/diff-hl@9662083943 -> dgutov/diff-hl@11f3113e79
doomemacs/themes@3b2422b208 -> doomemacs/themes@816fb54d60
emacs-lsp/lsp-treemacs@e54e74deb8 -> emacs-lsp/lsp-treemacs@1d43e9e030
emacs-straight/minimap@90aeeb5798 -> emacs-straight/minimap@4898d27768
jrblevin/deft@bb1a16b87c -> jrblevin/deft@b369d7225d
seagle0128/doom-modeline@e09b8e989f -> seagle0128/doom-modeline@11ae6c193c
tarsius/hl-todo@f1fef158f9 -> tarsius/hl-todo@dd46d426c0
2024-06-21 19:11:30 -04:00
Henrik Lissner
4f4718e6d1
bump: :ui tabs
ema2159/centaur-tabs@0bb1aa18d4 -> ema2159/centaur-tabs@4a121a175e

- Reverts some hacks that are no longer needed:
  - ema2159/centaur-tabs#231 makes 56f33bc7ed obsolete.
  - ema2159/centaur-tabs@2f6a5fbb8d makes 813c961511 obsolete.

Ref: ema2159/centaur-tabs@2f6a5fbb8d
Revert: 813c961511
Ref: ema2159/centaur-tabs#231
Revert: 56f33bc7ed
2024-06-21 17:59:42 -04:00
Henrik Lissner
ea1f72e875
fix(tabs): reload centaur-tabs when changing themes
Fix: #6503
2024-06-20 18:28:12 -04:00
Henrik Lissner
fddc912f81
fix(tabs): defer centaur-tabs-mode in daemon sessions
Fix: #6647
Fix: #7477
Close: #7276
2024-06-20 18:28:12 -04:00
Henrik Lissner
56f33bc7ed
fix(tabs): workaround for ema2159/centaur-tabs#231
`centaur-tabs-line-tab' reads `centaur-tabs-ace-jump-keys' without
length guards. If there are fewer entries than you have tabs, you'll see
an error (ema2159/centaur-tabs#231), and because the function is inlined
and monolithic, advising its behavior is non-trivial. This workaround
will mitigate it until it's dealt with upstream.

Ref: ema2159/centaur-tabs#231
2024-06-20 18:28:12 -04:00
André Silva
874b536892 fix(ligatures): set-font-ligatures! reset on nil 2024-06-20 18:20:31 -04:00
Henrik Lissner
f99863b9f5
bump: :ui doom
doomemacs/themes@37d2182f50 -> doomemacs/themes@3b2422b208
hlissner/emacs-solaire-mode@8af65fbdc5 -> hlissner/emacs-solaire-mode@8ccdceeb92
2024-04-07 16:10:39 -04:00
Henrik Lissner
69bc471722
fix(workspaces): dual *Warnings* windows at startup
At some point, either Emacs, persp-mode, or I fixed what caused #319,
which swallows the *Warnings* popup when the new main workspace is
created. Until I can determine what fixed it (so I can determine whether
the whole hack should go), I'll simply add this guard.

Ref: #319
2024-04-06 12:55:01 -04:00
gpanago
813c961511
perf(tabs): rate limit centaur-tabs-buffer-update-groups
`centaur-tabs-buffer-update-groups` walks every buffer to determine the
group it belongs to. This function can be called execessively (upwards
of 1,000 times per second in certain conditions), as it is called on
every redisplay (it is indirectly attached to `tab-line-format`). This
rate limits its calls to about 10 per second.

Close: #7792
Ref: ema2159/centaur-tabs#222
2024-04-06 00:21:59 -04:00
yuhan0
5589722c8e fix(popup): fix typo in local variable name 2024-04-01 13:28:49 -04:00
Henrik Lissner
a84462133d
fix(neotree): don't use all-the-icons
Fixes 'Package `all-the-icons' isn't installed' error when opening
neotree.

Ref: #7664
2024-04-01 13:16:36 -04:00
Henrik Lissner
45fd893074
refactor(ligatures): test for harfbuzz feature
A `harfbuzz` feature was introduced in 3e81655.

Ref: 3e81655b0e
2024-03-26 10:39:59 -04:00
Henrik Lissner
7acfb0c77c
nit: minor comment reformatting & revision 2024-03-26 10:39:24 -04:00
Henrik Lissner
90070c639a
fix(workspaces): remove ivy integration
Due to upstream changes in ivy-rich, +workspace/switch-to throws a
`wrong-type-argument listp leaf` error. As I plan to phase out Ivy
support (and the Ivy module) in the long term, I'll simply remove
ivy (and ivy-rich) integration in the workspaces module, rather than
update it.

Fix: #7499
Fix: #7173
2024-03-26 10:11:34 -04:00
tecosaur
cb6e3f0e89
fix(modeline,everywhere): adjust checker -> check
As part of the recent UI bump (665d808d09), the doom-modeline changed
the name of the "checker" segment to "check".

Amend: 665d808d09
2024-03-22 10:07:57 -04:00
Henrik Lissner
665d808d09
bump: :ui
Alexander-Miller/treemacs@df26b6ab9a -> Alexander-Miller/treemacs@8c6df39f01
dgutov/diff-hl@b8b2727a72 -> dgutov/diff-hl@9662083943
doomemacs/themes@ff26f26ea3 -> doomemacs/themes@37d2182f50
jrblevin/deft@28be94d89b -> jrblevin/deft@bb1a16b87c
seagle0128/doom-modeline@bf880ae56f -> seagle0128/doom-modeline@e09b8e989f
2024-03-21 12:02:02 -04:00
Henrik Lissner
90f90fb34d
fix(treemacs): simplify lsp-treemacs load-order
dec058f fixed the load order between treemacs-nerd-icons and
lsp-treemacs, but lsp-treemacs still loads so late that folks will see a
theme-less Treemacs until they visit their first lsp-mode-enabled file.
This ensures that won't happen.

Amend: dec058fabb
Amend: #7519
2024-03-13 01:00:38 -04:00
Tim Ruffing
e27d9b35d3 fix(popup): fix finding of major side window
Fix: #7647
Amend: #7598
2024-03-11 02:55:38 -04:00
Henrik Lissner
dec058fabb
fix(treemacs): treemacs-nerd-icons load order w/ +lsp
lsp-treemacs changes the default Treemacs theme, so treemacs-nerd-icons
needs to be loaded after it, if it's installed/enabled.

Fix: #7519
Fix: doomemacs/themes#801
Ref: emacs-lsp/lsp-treemacs#89
2024-03-11 00:53:44 -04:00
Henrik Lissner
7a3773484b
fix(doom): remove neotree icon config
Since we've remove all-the-icons, doom-themes-neotree-config will no
longer work properly, so I disable it for now (not a complete solution
though; we still need proper nerd-icons support for neotree).

Fix: #7634
Ref: #7664
2024-02-20 05:04:26 -05:00
Henrik Lissner
5ef7075f96
nit(popup): mention post-command-select-window for 30.x+
Ref: emacs-mirror/emacs@6f75d0f36d
2024-02-08 00:58:20 -05:00
Henrik Lissner
210a5d4162
bump: :ui
Alexander-Miller/treemacs@56691a530a -> Alexander-Miller/treemacs@df26b6ab9a
Bad-ptr/persp-mode.el@df95ea710e -> Bad-ptr/persp-mode.el@345baaa520
dgutov/diff-hl@b5651f1c57 -> dgutov/diff-hl@b8b2727a72
edkolev/evil-goggles@0070c9d844 -> edkolev/evil-goggles@34ca276a85
emacs-lsp/lsp-treemacs@e66ae21965 -> emacs-lsp/lsp-treemacs@e54e74deb8
emacsorphanage/anzu@5abb37455e -> emacsorphanage/anzu@26fb50b429
joostkremers/writeroom-mode@1fd52848eb -> joostkremers/writeroom-mode@f4d035e91d
mickeynp/ligature.el@0e5d0a8554 -> mickeynp/ligature.el@6ac1634612
rolandwalker/unicode-fonts@44d0a22420 -> rolandwalker/unicode-fonts@6245b97d8d
tarsius/hl-todo@70ce48470c -> tarsius/hl-todo@f1fef158f9
2024-02-04 18:58:53 -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
Mathew
2c15e4e6fc
fix(evil): obsolete evil-command-window advice
As noted in #7556, the advice `+popup--evil-command-window-a` fails,
preventing the command window from being opened. This is because
`evil-command-window` has been rewritten extensively.

In particular, emacs-evil/evil@a09fdca0b3 made it use
`display-buffer` instead of `switch-to-buffer`, so that users could
customize how the window opens. Since this was the function of this
advice, it is obsolete and can be removed.

Fix: #7556
Ref: emacs-evil/evil@a09fdca0b3
2024-02-01 02:36:16 -05:00
George Thomas
6275ed7e8f
bump: :ui modeline
seagle0128/doom-modeline@93f240f7a0 -> seagle0128/doom-modeline@bf880ae56f
2024-01-27 03:14:35 -05:00
Henrik Lissner
6edb9dfc77
tweak(indent-guides): default to bitmap in GUI 2024-01-24 12:40:05 -05:00
Ivan Necas
819f3f11cc bump: :ui doom
doomemacs/themes@4aee1f5a0e -> doomemacs/themes@ff26f26ea3

Improves Emacs 30 compatibility (see ref).

Ref: https://github.com/doomemacs/themes/issues/809
2024-01-24 12:26:43 -05:00
Tim Ruffing
dca4e4a8ed fix(popup): find internal major side windows
Fix: #5485
2024-01-24 12:16:58 -05:00
Kiana Sheibani
c3b228fedd fix(treemacs): do not overwrite git mode when treemacs-python-executable is set 2023-11-23 21:19:26 -05:00
Zardoz
574cd32147
tweak(doom-quit): make quit message OS-sensitive 2023-11-23 17:55:13 -05:00
Liam Hupfer
4499ce7b0a refactor: doom-unicode-font -> doom-symbol-font
No font supports all of Unicode or anywhere near it. It’s not even
really possible with current font formats. Therefore, rename
`doom-unicode-font` to `doom-symbol-font`. Only set it as a fallback for
characters in the `symbol` and `mathematical` scripts.
2023-10-07 02:33:45 +02:00
How Si Wei
c4bb95e073 fix(popup): change evil function to call following upstream rename 2023-10-06 22:38:35 +02:00
roife
1a2789c922
fix(workspaces): check before loading tab configuration
Fix: #7139
2023-10-05 17:46:46 +02:00
Henrik Lissner
7da57e72f1
bump: :ui
Alexander-Miller/treemacs@fe471314f1 -> Alexander-Miller/treemacs@56691a530a
doomemacs/themes@d1d6c2953f -> doomemacs/themes@4aee1f5a0e
emacs-straight/minimap@ed7490652a -> emacs-straight/minimap@90aeeb5798
seagle0128/doom-modeline@173ad0a27f -> seagle0128/doom-modeline@93f240f7a0
tarsius/hl-todo@0faf8569b6 -> tarsius/hl-todo@70ce48470c
2023-09-20 20:23:59 +02:00
Henrik Lissner
fed0f49ca7
fix(dart,scala,swift,treemacs): ignore lsp-* packages for eglot
Close: #7441
Co-authored-by: itome <itome@users.noreply.github.com>
2023-09-20 20:23:59 +02:00