Commit graph

1574 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
bd597ffda4
docs(vc-gutter): document module's hacks 2022-08-10 13:18:34 +02:00
Henrik Lissner
99b0b70c49
fix(vc-gutter): remove advice removal for diff-hl-overlay-modified
Originally, this intended to *stop* diff-hl from too aggressively
deleting the diff overlays while editing. This is either no longer the
case or the old advice was mistaken; the intended behavior is achieved
without it.
2022-08-10 13:18:34 +02:00
Henrik Lissner
d55d7f3088
feat(vc-gutter): shrink revert-hunk popup to contents 2022-08-10 13:18:33 +02:00
Henrik Lissner
24623f9959
refactor!(dired): move diff-hl config to :ui vc-gutter
BREAKING CHANGE: users who are used to diff-hl displaying diffs in dired
will notice they have vanished. diff-hl's conig has been moved to :ui
vc-gutter +diff-hl (added in 27a448b). Enable it to get it back.

Ref: 27a448b04b
2022-08-09 16:30:43 +02:00
Henrik Lissner
e76f327e0a
fix(vc-gutter): apply +pretty to diff-hl-dired-mode
Amend: cd9bc5a1fd
2022-08-09 16:30:43 +02:00
Henrik Lissner
e30eb03f83
refactor(vc-gutter): remove redundant hooks
The refresh hooks address the stage/unstage cases already.
2022-08-09 16:30:43 +02:00
Henrik Lissner
15b00b78fe
refactor(vc-gutter): use local modes instead of global 2022-08-09 16:30:43 +02:00
Henrik Lissner
27a448b04b
feat(vc-gutter): add +diff-hl backend
This adds an alternative backend to the :ui vc-gutter module, enabled
with the +diff-hl flag. In the future, I intend for diff-hl to replace
git-gutter, as it is slightly faster and depends on more native
functionality (vc.el), but it's still a little buggy. It will remain
opt-in until those issues are sorted out.
2022-08-08 18:23:47 +02:00
Henrik Lissner
cd9bc5a1fd
refactor!(vc-gutter): move style defaults behind +pretty
BREAKING CHANGE: This changes moves its default configuration of the
fringe behind a +pretty flag. This won't cause breakage, but will cause
a (possibly unwanted) visual change: git-gutter will use its default
indicators (e.g. + and - symbols) instead of the continuous bars from
before.

To get back the old look, enable `+pretty` on the `:ui vc-gutter`
module.

This was done to make the defaults toggleable, to standardize +pretty,
to document issues with this customization that have been brought up by
members of the Emacs community, and to better document it in comments
for posterity.
2022-08-08 18:23:47 +02:00
Henrik Lissner
057e6c531c
refactor: replace doom-enlist with ensure-list
doom-enlist is now a deprecated alias for ensure-list, which is built
into Emacs 28.1+ and is its drop-in replacement. We've already
backported it for 27.x users in doom-lib (in 4bf4978).

Ref: 4bf49785fd
2022-08-07 19:43:13 +02:00
Henrik Lissner
1abcf913aa
revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00
Henrik Lissner
6d4b2b48c2
fix(doom-dashboard): revert unintended changes
Amend: b5a2aa48fe
2022-08-03 03:34:28 +02:00
Henrik Lissner
1f8bf7accb
merge: rewrite-docs
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.
2022-08-03 03:27:50 +02:00
Henrik Lissner
7e400abdc0
fix(docs): set mode in file-local vars
Due to emacs-straight/org-mode@e22b4eb, a replacement major mode (for
org-mode) can no longer be specified from .dir-locals.el, as it spirals
into infinite recursion. Therefore, a mode: line is needed in all Doom
docs.

Ref: emacs-straight/org-mode@e22b4eb7aa
2022-08-03 02:46:33 +02:00
Henrik Lissner
1255315bfc
refactor(docs): replace nav menus with virtual one
Now that the header is dynamically generated (when doom-docs-mode is
active), a literal header is unnecessary.
2022-08-02 19:37:07 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Henrik Lissner
9744946a66
docs(ligatures): mention doom-unicode-font incompatibilities 2022-08-02 16:23:42 +02:00
Henrik Lissner
dd34802523
revert: compat
emacs-straight/compat@2a9cf8b7bd -> emacs-straight/compat@cc1924fd8b

compat is a dependency of magit and doom-modeline (among other
packages), but a recent bug on compat@2a9cf8b caused #6583, so I am
pinning it to a stable commit. It's not common that Doom pins 2nd/3rd
order dependencies, but I will consider doing that more going forward.

Pinning them across multiple modules isn't elegant, but a better
solution is in the works as part of #4273.

Fix: #6583
Ref: #4273
2022-07-31 16:56:14 +02:00
Henrik Lissner
9d1df5f298
nit: minor refactors & comment/docstring revisions 2022-06-21 14:40:15 +02:00
Henrik Lissner
8b93e8b15c
fix(tabs): wrong-type-arg stringp (Git "...") error
Newer versions of project.el changed the return value of
`project-current` to a three-part list, rather than a cons cell.
centaur-tabs expects the old signature and we get a type error.

This advice ensures centaur-tabs works with old or new versions of
project, and is a temporary measure until the issue is resolved
upstream.

Ref: ema2159/centaur-tabs#181
Fix: #6280
2022-06-20 02:07:42 +02:00
Antonio Ruiz
41921f5f07 fix(window-select): allow Switch Window to work with >6 windows 2022-06-17 18:38:39 +02:00
Henrik Lissner
26d47b5ebc
feat(nav-flash): add consult support 2022-06-17 18:21:23 +02:00
Henrik Lissner
398b91b623
nit(hl-todo): revise keyword summaries in comments 2022-05-27 00:35:37 +02:00
Henrik Lissner
d212f3bd13
bump: :ui
Alexander-Miller/treemacs@1820db42c6 -> Alexander-Miller/treemacs@b18a05b1f6
Bad-ptr/persp-mode.el@298df111f0 -> Bad-ptr/persp-mode.el@7a594a3d8f
abo-abo/ace-window@c7cb315c14 -> abo-abo/ace-window@0577c426a9
abo-abo/hydra@2d553787ac -> abo-abo/hydra@9e9e00cb24
doomemacs/themes@56e8a93b2d -> doomemacs/themes@83fd9545c2
edkolev/evil-goggles@08a22058fd -> edkolev/evil-goggles@8f20a16e74
ema2159/centaur-tabs@5860a5c40c -> ema2159/centaur-tabs@f4cef95acb
emacs-lsp/lsp-treemacs@c40a381730 -> emacs-lsp/lsp-treemacs@355e468b7f
seagle0128/doom-modeline@84573ae5e7 -> seagle0128/doom-modeline@ce9899f00a
tarsius/hl-todo@42f744ffb5 -> tarsius/hl-todo@e52285965b

Close: #6228
2022-03-31 21:08:31 +02:00
Henrik Lissner
b5093a5e93
fix(doom-dashboard): :key param & keymap precedence
- 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>
2022-03-31 01:06:07 +02:00
Anh T Nguyen
6c4b7169f0 feat(hydra): add winner commands to +hydra/window-nav 2022-03-19 16:14:33 +01:00
skykanin
71e07da578 feat(ligatures): include support for new ligatures
Includes support for =<= and =>= ligatures
2022-02-23 17:48:01 +01:00
Henrik Lissner
849672691d
fix(emoji): restore emoji in org-mode
Amend: d499b98c87
2022-02-19 01:08:08 +01:00
Henrik Lissner
d499b98c87 fix(emoji): don't render emoji in verbatim org text 2022-02-10 21:07:20 +01:00
Henrik Lissner
f26094b4ab tweak(popup): 7% bigger help popups by default 2022-02-01 18:56:16 +01:00
Henrik Lissner
7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00
wangggong
402e5eb723
docs(modeline): mention modeline hiding & strange icons
Ref: #1166
2022-01-29 20:09:50 +01:00
Henrik Lissner
6e19e75748 fix(zen): add solaire-line-number-face to mixed-pitch-fixed-pitch-faces
To avoid variable-pitch line numbers.
2022-01-28 20:36:13 +01:00
Seong Yong-ju
ff4609835a bump: :ui doom
doomemacs/themes@7d1a56623c -> doomemacs/themes@56e8a93b2d
2022-01-27 04:06:11 +01:00
Henrik Lissner
7832424843 bump: :ui modeline
seagle0128/doom-modeline@69ede7d719 -> seagle0128/doom-modeline@84573ae5e7

- Fixes an issue where doom-modeline was generating too many iex child
  processes while trying to read the installed version of elixir (see
  #5895).

Fix: #5895
2022-01-03 19:22:28 +01:00
Henrik Lissner
5cf424cf6b bump: :ui
Alexander-Miller/treemacs@63e2bc207a -> Alexander-Miller/treemacs@1820db42c6
ema2159/centaur-tabs@8b4249c405 -> ema2159/centaur-tabs@5860a5c40c
emacs-lsp/lsp-treemacs@d82df44d63 -> emacs-lsp/lsp-treemacs@c40a381730
emacsorphanage/git-gutter-fringe@4f19866494 -> emacsorphanage/git-gutter-fringe@648cb5b57f
hlissner/emacs-doom-themes@e716ddbb88 -> hlissner/emacs-doom-themes@7d1a56623c
joostkremers/writeroom-mode@7f4ec92404 -> joostkremers/writeroom-mode@eac1da790f
rolandwalker/unicode-fonts@e3942fe40b -> rolandwalker/unicode-fonts@47f2397ade
seagle0128/doom-modeline@ffedb34800 -> seagle0128/doom-modeline@69ede7d719

- Emacs 29 introduces the mode-line-active face, which inherits from
  variable-pitch, therefore the modeline uses your variable-pitch font,
  instead of your default. As of
  hlissner/emacs-doom-themes@7d1a56623c, this is no longer the
  case (fixing #5891).

Fix: #5891
2021-12-13 19:28:32 +01:00
Dan
f458f97760
fix(popup): rules for report-emacs-bug 2021-12-03 16:48:06 +01:00
Roch D'Amour
08071f92b7 docs(doom): fix doom-variable-pitch-font reference
Fixes doom-variable-font so it is consistent with the actual
variable used within doom, which is 'doom-variable-pitch-font'.
2021-11-21 20:04:28 +01:00
Henrik Lissner
88844e9cec docs: simplify internal docs links
Fewer links means less confusion.

- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
  Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
2021-11-21 20:04:28 +01:00
Henrik Lissner
b5a2aa48fe docs(:ui): update READMEs to new format 2021-11-21 20:04:28 +01:00
Henrik Lissner
df62fcba26 docs: add category readmes 2021-11-21 20:04:28 +01:00
Henrik Lissner
02850dd6d7 fix(workspaces): wrong-type-argument list error on kill emacs
Amend: 1db18f6e1390
Fix: #5687
2021-11-21 18:49:21 +01:00
Quoc Huy Vu
3d91c9aff7 fix(popup): show reftex-citation in popup 2021-11-18 19:09:34 +01:00
Henrik Lissner
db9106f92c fix(popup,undo): show undo-tree visualizer in popup
But only if undo-tree-visualizer-diff is disabled. If it's enabled,
undo-tree has its own opinions on how to manage the two windows which
don't mesh well with our popup manager, so we leave undo-tree to its
devices.

Fix: #5617
2021-10-20 21:42:13 +02:00
Henrik Lissner
e431dbc138 fix(doom-dashboard,workspaces): module init order
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
2021-10-18 01:15:20 +02:00
Henrik Lissner
0bb4d4dfcb refactor: switch buffer/frame/window hooks
Emacs 27 introduced a bunch of `window-*-change-functions` hooks,
including `window-selection-change-functions` and
`window-buffer-change-functions`, which handles 98% of the use case for
Doom's `doom-switch-{buffer,window,frame}-hook` hooks, so I've rewritten
them to use them under the hood, which amounts to simpler code and fewer
hacks.
2021-10-10 18:36:46 +02:00
Björn Larsson
b2f27c2b4f
refactor(lookup): move xwidget popup rule (#5598)
Setting the rules explicitly was preventing users from customizing how
xwidget popups should behave, so it was moved to the popup module as a 
global default.
2021-10-10 18:22:13 +02:00
Itai Y. Efrat
e8df74f09b bump: :ui doom
hlissner/emacs-doom-themes@65fb964f36 -> hlissner/emacs-doom-themes@e716ddbb88
hlissner/emacs-solaire-mode@030964f7c6 -> hlissner/emacs-solaire-mode@46408f4a10
2021-10-03 13:33:36 +02:00