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: #7368Close: #6675Close: #7364
- 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'.
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.
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
- Fixes the :key property in +doom-dashboard-menu-sections, which
formerly threw an error.
- When looking up commands in +doom-dashboard-menu-sections, the
dashboard will now prioritize keys in +doom-dashboard-mode-map.
Close: #6194
Co-authored-by: Gerry Agbobada <gagbo@users.noreply.github.com>
Change (and simplify) the load order of Doom's dashboard and persp-mode
so that the dashboard always initializes later. This and 0ab6aba should
fix#5643.
Fix#5643
Ref 0ab6aba056
Normally, the dashboard assumes the default-directory = project root of
the last buffer you had open. This is to make it easy for you to recover
from closing the last buffer in your project and wondering how to get
back. However, if the last file wasn't in a valid project, the dashboard
assumes the directory of the last buffer that did, which can be jarring.
It will now assume the last buffer's CWD if it wasn't in a valid project
root.
* Add an FAQ action to doom-dashboard
* Separate faq and user manual
This is necessary until I can dispatch properly the (file-exists-p)
conditions in the :action part of the variable.
The issue is that the value in :action needs to be a symbol (symbolp)
and the (if COND THEN ELSE) form does not match this.
* Use doom/help-search if (or faq.org manual.org)
Since the function searches through the (in-progress) manual and faq
* Remove :when condition from Search Documentation
This condition is unnecessary since doom/help-search now always at least
lists the modules from doom/help-modules
- file! replaces FILE!
- dir! replaces DIR!
- doom-{glob,path,dir} have the power to construct paths out of the
segment pieces provided to it.
- Move doom-files-in to core-lib and refactor to use the above.
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:
1. Replace the bar | to indicate a hook function with a -h suffix, e.g.
doom|init-ui -> doom-init-ui-h
doom|run-local-var-hooks -> doom-run-local-var-hooks-h
2. And add a -fn suffix for functions meant to be set on variables,
e.g.
(setq magit-display-buffer-function #'+magit-display-buffer-fn)
See ccf327f8 for the reasoning behind these changes.
Because :feature evil was moved to :editor evil, it is initialized
later, meaning evil map! keybinds prior to that module loading are
ignored. There's no harm in generalizing these remaps, however.
Since bb3f027c moved `projectile-mode` into `doom-init-ui-hook`,
projectile was getting initialized after the dashboard. This means for
non-evil users, the `C-c p p` binding is not shown, because it's not yet
loaded.