Commit Graph

1622 Commits

Author SHA1 Message Date
0c79390623 fix(tabs): replace all-the-icons with nerd-icons
Ref: #7411
2023-09-14 03:37:46 +02:00
a234d8e9c0 merge: pull request #6369 from elken/feature/editor-format-refactor 2023-09-14 01:19:01 +02:00
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
dc3b5c3710 fix(format): handle git-gutter nicely 2023-09-13 20:21:01 +01:00
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
2a73bb4e7c bump: :ui treemacs
Alexander-Miller/treemacs@00e96c842f -> Alexander-Miller/treemacs@fe471314f1

Fix: #7409
2023-09-12 21:20:59 +02:00
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
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
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
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
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
b84403a9fa nit: remove superfluous package cookies 2023-09-02 11:46:07 -05:00
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
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
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
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
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
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
1a01620705 fix(unicode): don't unset doom-unicode-font
Ref: #3298
Ref: #3334
2023-03-22 17:57:04 -04:00
8be11ff48c fix(treemacs): ignore default popup rules
Fix: #7128
2023-03-08 20:24:44 -05:00
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
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
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
cc467d009e bump: :ui doom
doomemacs/themes@535800fd6c -> doomemacs/themes@b5ff201f4b

Fix: doomemacs/themes#776
2023-02-20 20:03:49 -05:00
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
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
d12b0ebc80 fix(workspaces): save current tab-bar tabs to file 2023-02-18 01:01:49 -05:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
67a42e8222 bump: :ui modeline
emacsorphanage/evil-anzu@d3f6ed4773 -> emacsorphanage/evil-anzu@d1e98ee697
seagle0128/doom-modeline@ce9899f00a -> seagle0128/doom-modeline@bed80b82d7

Also improves Emacs 29 compatibility (see ref).

Ref: emacs-mirror/emacs@d0a66f3e0e
2022-09-16 13:07:28 +02:00
3ae8c520d5 nit(vc-gutter): reformat annotated comments 2022-09-06 23:41:28 +02:00
aa54383b5d refactor: deprecate doom-etc-dir for doom-data-dir
doom-etc-dir will be renamed to doom-data-dir, to better reflect its
purpose, and align it with XDG_DATA_HOME (where it will be moved to in
v3, where Doom will begin to obey XDG directory conventions more
closely).
2022-08-14 20:43:35 +02:00
a5c80fcb4b refactor: deprecate doom-private-dir for doom-user-dir
- Deprecates the doom-private-dir variable in favor of doom-user-dir.
- Renames the pseudo category for the user's module: :private -> :user.
- Renames the doom-private-error error type to doom-user-error.

Emacs uses the term "user" to refer to the "things" in user space (e.g.
user-init-file, user-emacs-directory, user-mail-address, xdg-user-dirs,
package-user-dir, etc), and I'd like to be consistent with that. It also
has the nice side-effect of being slightly shorter. I also hope
'doom-user-error' will be less obtuse to beginners than
'doom-private-error'.
2022-08-14 20:43:35 +02:00
ad6a3d0f33 refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
0407621aff refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES
To reduce redundancy, remove the maintenance hassle that version
constants would impose later on, and rely on built-in
facilities (featurep) more over global variables or doomisms, these
global constants have been deprecated in favor of Emacs "features":

- EMACS28+   -- replace with (> emacs-major-version 27)
- EMACS29+   -- replace with (> emacs-major-version 28)
- NATIVECOMP -- replace with (featurep 'native-compile)
- MODULES    -- replace with (featurep 'dynamic-modules)

(These constants will be formally removed when v3 is released. The IS-*
constants are likely next, but I haven't decided on their substitutes
yet)

I also decided to follow native-compile's example and provide features
for Emacs' system features (since system-configuration-features' docs
outs itself as a poor method to detect features):

- dynamic-modules
- jansson
- native-compile -- this one already exists, but will instead be removed
  if it's non-functional; i.e. (native-comp-available-p) returns nil.

These are now detectable using featurep, which is fast and built-in.
2022-08-14 20:43:35 +02:00
de62c5449d nit(vc-gutter): add summary tags to comments
A new convention I'm slowly rolling out to modules to help readers
quickly identify the purpose of a change. E.g.

  UX    - a change done to improve user experience
  STYLE - for aesthetics
  FIX   - addresses a perceived or potential issue
  PERF  - intended to improve performance

Combined tags will be delimited with commas. E.g. "UX,PERF:"

There may be more later, and these will be further documented in the new
docs about to come up.
2022-08-10 14:06:52 +02:00