Commit Graph

1622 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
ea1f72e875 fix(tabs): reload centaur-tabs when changing themes
Fix: #6503
2024-06-20 18:28:12 -04:00
fddc912f81 fix(tabs): defer centaur-tabs-mode in daemon sessions
Fix: #6647
Fix: #7477
Close: #7276
2024-06-20 18:28:12 -04:00
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
874b536892 fix(ligatures): set-font-ligatures! reset on nil 2024-06-20 18:20:31 -04:00
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
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
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
5589722c8e fix(popup): fix typo in local variable name 2024-04-01 13:28:49 -04:00
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
45fd893074 refactor(ligatures): test for harfbuzz feature
A `harfbuzz` feature was introduced in 3e81655.

Ref: 3e81655b0e
2024-03-26 10:39:59 -04:00
7acfb0c77c nit: minor comment reformatting & revision 2024-03-26 10:39:24 -04:00
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
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
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
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
e27d9b35d3 fix(popup): fix finding of major side window
Fix: #7647
Amend: #7598
2024-03-11 02:55:38 -04:00
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
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
5ef7075f96 nit(popup): mention post-command-select-window for 30.x+
Ref: emacs-mirror/emacs@6f75d0f36d
2024-02-08 00:58:20 -05:00
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
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
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
6275ed7e8f bump: :ui modeline
seagle0128/doom-modeline@93f240f7a0 -> seagle0128/doom-modeline@bf880ae56f
2024-01-27 03:14:35 -05:00
6edb9dfc77 tweak(indent-guides): default to bitmap in GUI 2024-01-24 12:40:05 -05:00
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
dca4e4a8ed fix(popup): find internal major side windows
Fix: #5485
2024-01-24 12:16:58 -05:00
c3b228fedd fix(treemacs): do not overwrite git mode when treemacs-python-executable is set 2023-11-23 21:19:26 -05:00
574cd32147 tweak(doom-quit): make quit message OS-sensitive 2023-11-23 17:55:13 -05:00
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
c4bb95e073 fix(popup): change evil function to call following upstream rename 2023-10-06 22:38:35 +02:00
1a2789c922 fix(workspaces): check before loading tab configuration
Fix: #7139
2023-10-05 17:46:46 +02:00
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
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
a60d8b3da4 fix(ligatures): proper resetting of font-ligatures
resetting font-ligatures means passing `nil` as the second argument
of `(set-font-ligatures!)`

Using `ligatures-ignored-major-modes` to cancel ligatures is too
brittle, because "resetting ligatures for `prog-mode`" would have bad
semantics with all its derived modes. The user probably just wants to
remove the default ligatures and then configure `foo-mode`, but pushing
`prog-mode` to `ignored-major-modes` might just disable ligatures across
all modes _derived from_ `prog-mode`.

This commit changes things in 2 ways:
- resetting ligatures now directly manipulates ligature.el internal
  state (the `ligature-composition-table` alist)
- in order to work, Doom must maintain an extra invariant on that alist,
  multi-modes keys (`'(foo-mode bar-mode)`), cannot be used, only single
  modes.

That mostly means that users should _not_ use
`ligature-set-ligatures` themselves in private config, but instead
always rely on `set-font-ligatures!` which does splicing behind
curtains. Failing to do so would be mostly harmless though (it would
just make "resetting ligatures" only partially remove set ligatures).

Fix: #7433
2023-09-19 23:32:07 +02:00
0f663d007b docs(evil,latex,vterm,treemacs): correct notices
Use the correct symbol for warnings.

Amend: 88bb045388
2023-09-17 03:27:49 +02:00
8230b78ad5 fix(ligatures): set-font-ligatures!
Old lexical variable reference caused an error.

Ref: #7433
Amend: #5082
Amend: 46d7404bef
2023-09-17 03:24:09 +02:00
88bb045388 docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
57965f18a5 fix(treemacs): replace all-the-icons with nerd-icons
Ref: #7411
Close: #7428
Ref: https://discourse.doomemacs.org/t/4147
2023-09-15 21:24:45 +02:00
e47accb773 fix(modeline): update icons for +light 2023-09-15 01:51:09 +02:00
3b692e92f5 refactor(modeline): remove doom-modeline-buffer-modified shim
No longer needed.

Ref: seagle0128/doom-modeline@5c98267310
2023-09-14 03:42:14 +02:00