Commit graph

1579 commits

Author SHA1 Message Date
Gerry Agbobada
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
Henrik Lissner
0f663d007b
docs(evil,latex,vterm,treemacs): correct notices
Use the correct symbol for warnings.

Amend: 88bb045388
2023-09-17 03:27:49 +02:00
Henrik Lissner
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
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
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
Ellis Kenyo
e47accb773 fix(modeline): update icons for +light 2023-09-15 01:51:09 +02:00
Henrik Lissner
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
SunskyXH
0c79390623
fix(tabs): replace all-the-icons with nerd-icons
Ref: #7411
2023-09-14 03:37:46 +02:00
Henrik Lissner
a234d8e9c0
merge: pull request #6369 from elken/feature/editor-format-refactor 2023-09-14 01:19:01 +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
Ellis Kenyő
dc3b5c3710
fix(format): handle git-gutter nicely 2023-09-13 20:21:01 +01:00
Emily Bourke
fd98b44e6a tweak(workspaces): prefill current name on rename
This change uses completing-read to get the new name from the user when
renaming workspaces, to allow them to more easily make a small change to
the existing name of a workspace.
2023-09-12 21:23:48 +02:00
Velnbur
2a73bb4e7c bump: :ui treemacs
Alexander-Miller/treemacs@00e96c842f -> Alexander-Miller/treemacs@fe471314f1

Fix: #7409
2023-09-12 21:20:59 +02:00
Gerry Agbobada
46d7404bef refactor!(ligatures): use ligature.el for Emacs28+
Include ligature.el in a new set-font-ligatures! function, so that
"normal" (read: "font-based") ligatures can
also be controlled on a per-major mode basis from a user function
in configuration.

This commit also drops support for Emacs 27 to reduce the maintenance
burden.

BREAKING CHANGE: font ligatures for Harfbuzz/Coretext composition
table-based ligations are no longer controlled with
`+ligatures-composition-alist`, but is handled with
`+ligatures-prog-mode-list` and `+ligatures-all-modes-list` for most
common cases. See the README for the mode-specific methods

BREAKING CHANGE: the `:ui ligatures` module will not work anymore
with Emacs 27 or older. Also, there is no need to keep patched fonts
(for Fira, Hasklig, Iosevka) if you use the module. Update Emacs if
you want to keep using ligatures, or disable the module (`doom doctor`
will tell you if your current version of Emacs stopped working with
the module)
2023-09-12 21:19:18 +02:00
Henrik Lissner
d8372b6e2d
fix(popup): +popup/raise: recursive popup
Without this, raising a popup might result in simply opening a popup
with the same rules.
2023-09-11 23:53:59 +02:00
Henrik Lissner
bef076b655
bump: :editor evil
emacs-evil/evil@9eb69b7f5b -> emacs-evil/evil@5fc16776c5
emacs-evil/evil-collection@1ad283f5b7 -> emacs-evil/evil-collection@8be4b75c86

- Fixes breaking change due to emacs-mirror/emacs@802a54ad62 (see
  #7397).

Ref: debbugs.gnu.org/cgi/bugreport.cgi?bug=62248
Close: #7397
Co-authored-by: prashantvithani <prashantvithani@users.noreply.github.com>
2023-09-09 23:59:22 +02:00
Amos Bird
0e8f458d99
fix(popup): add wdired hacks
Previously, wdired actions will not close popup windows, which is
cumbersome to use. We've already added similar hacks to dired. Now it's
time to add similar hacks to wdired.
2023-09-06 14:33:27 +02:00
Liam Hupfer
62074bfcbb tweak(emoji): add emoji-search binding for Emacs 29
The emojify command takes precedence in case users want ASCII/GitHub
string completion/insertion.

Ref: https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-29.1#n884
2023-09-02 12:27:37 -05:00
Liam Hupfer
b84403a9fa nit: remove superfluous package cookies 2023-09-02 11:46:07 -05:00
Henrik Lissner
7a5f5d07e7
bump: :ui
Alexander-Miller/treemacs@9986d6cd3d -> Alexander-Miller/treemacs@00e96c842f
dgutov/diff-hl@d20f16bf5e -> dgutov/diff-hl@b5651f1c57
doomemacs/themes@b5ff201f4b -> doomemacs/themes@e4f0b006a5
edkolev/evil-goggles@8f20a16e74 -> edkolev/evil-goggles@0070c9d844
ema2159/centaur-tabs@a2890d968d -> ema2159/centaur-tabs@0bb1aa18d4
emacs-lsp/lsp-treemacs@a48763ba5d -> emacs-lsp/lsp-treemacs@e66ae21965
jaypei/emacs-neotree@98fe21334a -> jaypei/emacs-neotree@2b0cb82853
k-talo/volatile-highlights.el@513c8b73cd -> k-talo/volatile-highlights.el@fcf6e27784
seagle0128/doom-modeline@6125309c2c -> seagle0128/doom-modeline@f45a5a2003
tarsius/hl-todo@a627d33214 -> tarsius/hl-todo@0faf8569b6
2023-08-20 22:26:07 +02:00
Jeetaditya Chatterjee
6aa9ebae64 tweak(doom-dashboard): recentf now top menu section
This makes the top action one that is harmless as to prevent accidental
clobbering of current workspaces
2023-08-18 19:20:01 +02:00
StrawberryTea
177157b044
fix(popup): cycle windows with no-other-window property
Previously, +popup/other would do nothing if a window with the
no-other-window property that was not a popup was focused. Now
+popup/other will always select different window if there is another
popup or window with the no-other-window property.

Fix: #7119
2023-07-24 19:18:53 +02:00
Henrik Lissner
f70e382463
docs(unicode): describe #7164
Seems to be a common issue, and unlikely to see a fix, unless
unicode-fonts gets a new maintainer.

Ref: rolandwalker/unicode-fonts#36
Ref: #7164
2023-07-22 17:57:25 +02:00
Henrik Lissner
09f602b342
fix(unicode): unicode-fonts remapping for daemon
The unicode remappings were done too early, prior to this change, making
them ineffective for later daemon frames.

Fix: #5486
Fix: #7160
2023-03-22 17:58:21 -04:00
Henrik Lissner
1d7dd915ab
fix(unicode): show remapping progress at startup
unicode-fonts takes 5-15 seconds to remap unicode blocks on first
invokation, but it does so invisibly because inhibit-redisplay and
inhibit-message are active during startup (to prevent unintended redraws
slowing down the startup process). This change ensures users get
meaningful feedback during this time.
2023-03-22 17:57:39 -04:00
Robert Hambrock
1a01620705
fix(unicode): don't unset doom-unicode-font
Ref: #3298
Ref: #3334
2023-03-22 17:57:04 -04:00
David Adams
8be11ff48c fix(treemacs): ignore default popup rules
Fix: #7128
2023-03-08 20:24:44 -05:00
Henrik Lissner
5c563d307b
fix(doom-dashboard): update evil-replace-state ref
The command was renamed evil-enter-replace-state, upstream.
2023-02-25 20:47:29 -05:00
Yu-Fu Fu
bd0728e9b3
fix(window-select): unset winum-auto-setup-mode-line sooner
Its value is read when winum-mode is activated.
2023-02-23 01:09:32 -05:00
Henrik Lissner
1eb3fd3449
bump: :ui
Alexander-Miller/treemacs@76807bef3c -> Alexander-Miller/treemacs@9986d6cd3d
Bad-ptr/persp-mode.el@7a594a3d8f -> Bad-ptr/persp-mode.el@df95ea710e
abo-abo/ace-window@0577c426a9 -> abo-abo/ace-window@77115afc1b
abo-abo/hydra@9e9e00cb24 -> abo-abo/hydra@317e1de330
dgutov/diff-hl@dabb7be628 -> dgutov/diff-hl@d20f16bf5e
dimitri/switch-window@8d9fe251d8 -> dimitri/switch-window@71ef2f54c9
ema2159/centaur-tabs@f4cef95acb -> ema2159/centaur-tabs@a2890d968d
emacs-lsp/lsp-treemacs@2894e6dec5 -> emacs-lsp/lsp-treemacs@a48763ba5d
joostkremers/writeroom-mode@eac1da790f -> joostkremers/writeroom-mode@1fd52848eb
k-talo/volatile-highlights.el@9a20091f0c -> k-talo/volatile-highlights.el@513c8b73cd
rolandwalker/nav-flash@2e31f32085 -> rolandwalker/nav-flash@5d4b485678
rolandwalker/unicode-fonts@47f2397ade -> rolandwalker/unicode-fonts@44d0a22420
seagle0128/doom-modeline@b66d5e5006 -> seagle0128/doom-modeline@6125309c2c
tarsius/hl-todo@e52285965b -> tarsius/hl-todo@a627d33214
2023-02-20 22:47:23 -05:00
Ellis Kenyő
cc467d009e
bump: :ui doom
doomemacs/themes@535800fd6c -> doomemacs/themes@b5ff201f4b

Fix: doomemacs/themes#776
2023-02-20 20:03:49 -05:00
Henrik Lissner
7260725313
refactor: move compat package to core
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.
2023-02-20 19:01:38 -05:00
Henrik Lissner
086e9a9322
feat(workspaces): +workspace/switch-to: add buffer list column
To offer more context for ivy users while switching between workspaces.

Close: #3006
Co-authored-by: rgrinberg <rgrinberg@users.noreply.github.com>~
2023-02-18 15:27:47 -05:00
roife
d12b0ebc80 fix(workspaces): save current tab-bar tabs to file 2023-02-18 01:01:49 -05:00
roife
f6616e8a06
fix(vc-gutter): add missing autoloads
Add required autoloads for vc-gutter to fix errors from which-key. See the issue
below.

Fix: #6957
2023-02-18 01:00:59 -05:00
Itai Y. Efrat
29c595ed1b bump: magit compat git-commit
emacs-straight/compat@2bedcb5ea9 -> emacs-straight/compat@01fdf316a4
magit/magit@6d325d90ba -> magit/magit@30b0debaaa
2023-02-17 12:34:58 -05:00
Itai Y. Efrat
642f88ad99 bump: :completion vertico compat consult-lsp magit git-commit
emacs-straight/compat@7ca7d300d1 -> emacs-straight/compat@2bedcb5ea9
mhayashi1120/Emacs-wgrep@f9687c28bb -> mhayashi1120/Emacs-wgrep@edf768732a
minad/consult-flycheck@7a10be316d -> minad/consult-flycheck@51b1b48e8d
minad/consult@16b2dc5e34 -> oantolin/orderless@ae849b3d9f
minad/marginalia@c1365bf0c7 -> minad/marginalia@6d48ed54be
minad/vertico@bedd146c3f -> minad/vertico@f303790546
oantolin/embark@629cce948c -> oantolin/embark@4882b395ce
oantolin/orderless@847694e78c -> minad/vertico@f303790546
tumashu/vertico-posframe@a3d0802d7b -> tumashu/vertico-posframe@790f74b49d
gagbo/consult-lsp@58b5414762 -> gagbo/consult-lsp@f8db3252c0
magit/magit@0ef98ef518 -> magit/magit@6d325d90ba

consult-lsp needed to be bumped to work with some changed consult
internals, and due to compat shenanigans we have to bump magit to latest
as well.

Includes fixes to stay up to date with upstream api changes to.
consult-customize and the deprecation of embark-define-keymap

Close: #7064
2023-02-17 12:34:58 -05:00
Itai Y. Efrat
3c99e9f8ab bump: :completion vertico compat
emacs-straight/compat@cc1924fd8b -> emacs-straight/compat@7ca7d300d1
minad/consult@e4e2af1a2d -> minad/consult@16b2dc5e34
minad/marginalia@c68164c564 -> minad/marginalia@c1365bf0c7
minad/vertico@801ad3143d -> minad/vertico@bedd146c3f
oantolin/embark@09da327d43 -> oantolin/embark@629cce948c
oantolin/orderless@004cee6b8e -> oantolin/orderless@847694e78c
tumashu/vertico-posframe@61a88aec07 -> tumashu/vertico-posframe@a3d0802d7b

---

convert consult--ripgrep-builder instance to  consult--ripgrep-make-builder
2023-01-01 21:55:13 -05:00
Henrik Lissner
9d4689de5f
fix(indent-guides): face init in tty Emacs
Ensure that highlight-indent-guides-auto-set-faces is called when the
active theme and frame has been initialized (particularly tricky in
daemon sessions). With this assurance, we don't need to suppress its
errors anymore.

Close: #6900
Co-authored-by: Sleepful <Sleepful@users.noreply.github.com>
2022-10-29 01:57:39 +02:00
Vincent Bernat
aa40daf5e8 bump: :ui modeline
seagle0128/doom-modeline@bed80b82d7 -> seagle0128/doom-modeline@b66d5e5006

- Fixes error with eglot 1.9 (due to rename of eglot--major-mode)
2022-10-29 00:25:50 +02:00
Henrik Lissner
06c810f8cf
bump: :ui treemacs
Alexander-Miller/treemacs@e4bb236bd5 -> Alexander-Miller/treemacs@76807bef3c
emacs-lsp/lsp-treemacs@f7ae97560c -> emacs-lsp/lsp-treemacs@2894e6dec5

Ref: 20765acd38 (diff-36f7ea49dcbb6f011b9faf5f012271328ac46515b4f161214001917cbc2ef6b2L1023-R1053)
Fix: emacs-lsp/lsp-treemacs#145
Ref: emacs-lsp/lsp-treemacs#142
Close: #6887
Close: #6868
Co-authored-by: Jcaw <Jcaw@users.noreply.github.com>
2022-10-23 02:46:52 +02:00
Henrik Lissner
c2f5e41722
tweak(window-select): winum-auto-setup-mode-line = nil
Leave it to modeline modules, plugins, and/or the user to support this
plugin, rather than impose winum's (rather destructive) side-effects on
them all.
2022-10-23 02:30:13 +02:00
Antonio Ruiz
191745424b feat(workspaces): make tab-bar tabs workspace-local 2022-10-05 15:14:44 +02:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
毕达哥拉斯
2c31028a56
fix(treemacs): treemacs-collapse-dirs not changing
`treemacs-collapse-dirs` cannot be changed by setting
`+treemacs-git-mode` to `extended` or `deferred`

Fix: #6850
2022-09-30 22:39:24 +02:00
Henrik Lissner
07c1534ea3
fix(modeline): void-function +modeline-refresh-bars-h error
Occurs during non-interactive startup of the user's config (e.g. 'doom
doctor'), while :ui (modeline +light) is enabled.

This is a makeshift solution until I get around to finishing the +light
feature.
2022-09-26 00:47:28 +02:00
Henrik Lissner
29dfce32bd
fix(doom-dashboard): hide benchmark until available
The dashboard has a chance to display before doom-init-time is
calculated. To prevent the resulting type error, hide it until it is
ready.
2022-09-24 22:10:02 +02:00
Henrik Lissner
1c4217aa27
refactor: minor refactors & commentary revision
* lisp/doom-cli.el:
  - reference backport source commit.
  - doom-cli--restart: a type check is all we need here. This is a
    programmer error, not a user error.
* lisp/doom-editor.el (recentf): mention recentf-show-abbreviated (added in
  emacs-mirror/emacs@32906819ad)
* lisp/doom-keybinds.el (doom-init-leader-keys-h): move to
  doom-after-init-hook, in case the user customizes leader variables in
  a previous hook (like emacs-startup-hook or after-init-hook).
* lisp/doom-start.el: use eval-when! to compile out the section on
  non-macOS systems (when Doom gets around to compiling its core files,
  later).
* modules/config/literate/autoload.el (+literate-config-file): use
  file-name-concat instead of string concat. This relaxes the
  requirement that doom-user-dir end in a /; a requirement I intend to
  fully phase out.
* modules/lang/emacs-lisp/autoload.el (+emacs-lisp-non-package): remove
  empty map! macro in flycheck-emacs-lisp-check-form. The macro already
  no-ops at compile-time/in noninteractive sessions since b480ed51a3.
* modules/ui/hl-todo/config.el (hl-todo-keyword-faces): revise
  commentary for default hl-todo keywords.

Ref: emacs-mirror/emacs@32906819ad
Ref: b480ed51a3
2022-09-24 20:31:34 +02:00
Henrik Lissner
5c9672a28a
bump: :ui treemacs
Alexander-Miller/treemacs@b18a05b1f6 -> Alexander-Miller/treemacs@e4bb236bd5
emacs-lsp/lsp-treemacs@355e468b7f -> emacs-lsp/lsp-treemacs@f7ae97560c

A new major version of treemacs was released some days ago. The
currently pinned version is from February 2022, and it stops LSP servers
from starting with message "cannot load treemacs-lib" via lsp-treemacs.

Fix: #6814
Close: #6812
Co-authored-by: logc <logc@users.noreply.github.com>
2022-09-20 00:56:07 +02:00
Henrik Lissner
f3ffb9e1e1
bump: :ui doom
doomemacs/themes@83fd9545c2 -> doomemacs/themes@535800fd6c

Improves Emacs 29 compatibility (see ref).

Ref: emacs-mirror/emacs@d0a66f3e0e
2022-09-16 13:07:28 +02:00