Commit Graph

20028 Commits

Author SHA1 Message Date
a70ce220c0 refactor(org): use variables instead of +org-pretty-mode
Toggling +org-pretty-mode on startup is much slower (because
`org-toggle-pretty-entites` and realigning tables can be expensive in
larger Org buffers), so rely on the variables instead.
2025-04-06 15:32:22 -04:00
32fc210bf6 fix(org): org-modern in org-agenda
Amend: b1e6dec47a
Ref: #6434
2025-04-06 15:32:22 -04:00
90b64a0313 refactor(latex): replace latex-preview-pane w/ auctex-cont-latexmk
Since latex-preview-pane is unmaintained, replace it with auctex-cont-latexmk.el
and a simple function to compile the document and open the default viewer.

Close: #3128
Close: #5249
2025-04-06 00:04:39 -04:00
35e348ea20 bump: :lang org
doomelpa/org-contacts@f0a430442b -> doomelpa/org-contacts@b06a597368
emacs-jupyter/jupyter@db8a9e233a -> emacs-jupyter/jupyter@3615c2de16
emacs-straight/org-mode@07e380f76d87[release_9.7.26] ->
emacs-straight/org-mode@74dde3abae74[release_9.7.27]
hakimel/reveal.js@5c77e86301 -> hakimel/reveal.js@dfc5690c6d
magit/orgit-forge@2718a6aaf0 -> magit/orgit-forge@764820769e
magit/orgit@6ad0dc35c8 -> magit/orgit@efd98e5caa
msnoigrs/ox-rst@99fa790da5 -> msnoigrs/ox-rst@b4ba5c7e95
2025-04-05 17:03:30 -04:00
98e37b9cea tweak(org): org-priority-faces: use shadow face for #C
Defaulting to green for the lowest priority indicators seemed
inappropriate, so use a more washed out face.
2025-04-05 16:56:36 -04:00
8168a03599 fix(org): org-modern: respect defaults for org-*-faces
Makes org-modern respect Doom's defaults out-of-the-box.

Amend: b1e6dec47a
2025-04-05 16:54:38 -04:00
26b97766e6 fix(default): replace deprecated magit staging commands
magit-{stage,unstage}-buffer-file were deprecated in Magit 4.3.2 for
magit-file-{stage,unstage}.

Amend: 8afc08a7a8
Close: #8342
Co-authored-by: panchoh <panchoh@users.noreply.github.com>
2025-04-05 15:22:40 -04:00
5020d592da fix: tooltip-resize-echo-area = t
Since we disable tooltip-mode, the echo-area should expand to display
multi-line output, to be consistent with our default for
resize-mini-windows. This also fixes the truncation of annotations in
PDF buffers (#1615).

Fix: #1615
2025-04-05 02:14:54 -04:00
a13fda7ec0 fix(magit): don't auto-revert non-file-visiting buffers
Fix: #8339
Amend: 17a870fef8
2025-04-05 02:02:00 -04:00
457b7cab1e docs(undo): doctor: check for other undo package
If the user has installed one package while :emacs undo installs the
other, they're gonna have a bad time.
2025-04-05 02:00:12 -04:00
9dfcb5401f tweak(org): disable org-modern-hide-stars w/ org-indent-mode 2025-04-04 16:12:23 -04:00
b0cd2bec9e docs(smooth-scroll): reformat troubleshooting section 2025-04-04 16:12:07 -04:00
fce552f4bf docs(smooth-scroll): mention high CPU w/ +interpolate
Ref: io12/good-scroll.el#31
2025-04-04 15:57:18 -04:00
6919d5e1c4 fix(lsp): eglot: don't manage flymake
Amend: 8afc08a7a8
2025-04-04 05:30:27 -04:00
5aca456258 nit: recentf: reformat & revise comments 2025-04-04 05:11:08 -04:00
eb19afa8c3 refactor: remove doom--recentf-file-truename-fn
For the sake of reducing complexity, I stop Doom from stripping symlinks
or the "/sudo:" prefix from tramp paths in recentf's file list. It's
extra work that's not strictly necessary or unanimously desired.

Also removes the tidbit about `recentf-show-abbreviated`; the variable
was removed just prior to 29's release so it is no longer an option.
2025-04-04 05:09:54 -04:00
f98eb3824f revert: refactor(magit): reduce pollution of global namespace
This refactor was premature. It still worked, but only by accident.

This is not a *full* revert; +magit--pos has been renamed for clarity.

Revert: d4c02bcd08
2025-04-04 00:50:45 -04:00
e91a5edd31 fix(smooth-scroll): good-scroll & ultra-scroll interop
Makes these two packages coexist better and more efficiently.

Ref: 5f04b56229
2025-04-03 21:49:59 -04:00
668a4a36d5 docs(org): update & reorganize package list 2025-04-03 18:02:09 -04:00
b1e6dec47a refactor!(org): +pretty: use org-modern instead
BREAKING CHANGE: This changes the packages that +pretty depends on;
removing org-superstar and org-fancy-priorities, and replacing them with
org-modern. The user doesn't need to do anything but remove any
now-defunct configuration for org-superstar and org-fancy-priorities
from their config.

This was done to simplify our config, lighten our maintenance burden,
and rely on a more reliable (and still-maintained) package.

Fix: #6434
2025-04-03 17:40:32 -04:00
318e630037 feat(smooth-scroll): add +interpolate flag
Adds optional scroll interpolation/animation in #8335 via the
good-scroll package. Command support is light right now, but I plan to
expand on it later, and I welcome PRs to do so in the meantime.

Ref: #8335
2025-04-03 17:40:11 -04:00
46742977b1 refactor(emacs-lisp): remove unused +emacs-lisp-indent-function
Amend: e71daf5cc3
2025-04-03 00:43:45 -04:00
061189953d perf(smooth-scroll): suppress hl-todo, diff-hl-flydiff, & jit-lock
While scrolling.
2025-04-02 19:04:11 -04:00
4d44b78ccf docs(smooth-scroll): mention Emacs 29 requirement 2025-04-02 19:04:11 -04:00
63c29561df fix(smooth-scroll): add Emacs 29 check
This package requires 29+ and will fail otherwise (it depends on
pixel-scroll-precision-mode).
2025-04-02 19:04:11 -04:00
5fae69b7bf docs: docstring & comment revisions
For `undefadvice!`, `doom-load-theme-hook`, and the `ws-butler` package.
2025-04-02 19:04:11 -04:00
625b793218 fix: over-aggressive doom--run-switch-frame-hooks-fn
Due to a typo in the hook's self-removal, causing this function to
trigger many times per second. It isn't doing much thanks to the
debouncing, but was still legitimately triggering doom-switch-frame-hook
every ~2 seconds despite no change in frame focus.

Also removes the ineffectual inhibit-redisplay let-bind.

Amend: 653b465c74
2025-04-02 19:03:51 -04:00
d4c02bcd08 refactor(magit): reduce pollution of global namespace 2025-04-02 06:37:12 -04:00
98273b639b fix: recursive redisplay error from doom-switch-frame-hook
If a function on doom-switch-frame-hook triggered a redisplay, it could
cause infinite recursion.

Amend: 653b465c74
2025-04-02 06:36:27 -04:00
919e658436 fix(magit): magit-uniquify-buffer-names = nil
This prevents naming collisions between projects that resolve to the
same name (e.g. foo/bar/src and baz/foo/src both resolve to the same
project name: "src"), causing Magit to destructively reuse magit
bufffers across projects (which is especially disruptive if you use
workspaces and are using magit in both, in unrelated projects that
happen to have the same name).
2025-04-02 06:19:11 -04:00
635f0a3eec refactor(magit): magit-credential-cache-daemon-socket: remove hack
This is handled upstream now and is no longer needed.
2025-04-02 06:12:44 -04:00
0bf0ea9910 dev: update license year
I spoke too soon...

Ref: 8d4d831565
2025-04-02 04:44:35 -04:00
16dd6f8674 fix(dired): don't treat dirvish-side buffers as popups
If the user has :ui (popup +all) enabled, it will capture dirvish side
buffers and treat them like arbitrary popups, so we correct the default
popup rule to force it to ignore them like we already do with dirvish's
main buffers.

Fix: #8338
2025-04-02 04:23:23 -04:00
760a92e952 fix(ivy): counsel-projectile-switch-project: empty list on first run
This is due to `counsel-projectile-switch-project` not initializing the
known projects list before consulting the `projectile-known-projects`
variable (or at the very least, calling the function of the same name,
rather than referencing the variable directly). By changing
counsel-projectile-remove-current-project, it now does.
2025-04-02 04:13:50 -04:00
cf41865693 perf(magit): optimize +magit-mark-stale-buffers-h
For cases where the user has *many* buffers open in long-lived sessions.
2025-04-02 03:18:08 -04:00
653b465c74 refactor: doom-switch-frame-hook
Redesign this hook around `after-focus-change-function`, along with
debouncing, to prevent it from triggering too aggressively (due to
misbehaving desktop environments, elisp packages that tinker with frame
focus, or accidental (and rapid) focus changes by the user).

`doom-switch-{window,buffer}-hook` have also been simplified, and
`doom-switch-window-hook` now will not trigger when focusing another
frame (only when you switch windows *within* any one frame).

This also fixes diff-hl not updating when refocusing an Emacs frame.
2025-04-02 03:17:29 -04:00
27e5ae62e4 fix(vc-gutter): respect diff-hl-bmp-max-width 2025-04-02 01:15:16 -04:00
3abd194c0a docs(vterm): mention permission error issue on Tumbleweed
Credit for this tidbit goes to Qyu on Discord.
2025-04-02 01:14:51 -04:00
52c385c033 refactor!(python): remove anaconda-mode
BREAKING CHANGE: This removes company and non-LSP integration from the
Python module, in order to reduce the complexity of the module, reduce
dependencies on Company, and lean more on LSP, which provides these
features with more reliability and consistency. Switch to :tools lsp and
install a Python LSP client to get these features back.
2025-04-01 17:58:13 -04:00
417f3bc892 refactor!(go): remove go-eldoc & company-go
BREAKING CHANGE: This removes company and non-LSP integration from the
Go module, in order to reduce the complexity of the module, reduce
dependencies on Company, and lean more on LSP, which provides these
features with more reliability and consistency. Switch to :tools lsp and
install a Go LSP client to get these features back.
2025-04-01 17:58:13 -04:00
f9e9c27a8b module: remove :tools prodigy
This module has been deprecated for a while as it's much too trivial to
warrant being its own module, has been incomplete since its inception,
and there's no interest in maintaining, finishing, or expanding it.
2025-04-01 17:58:13 -04:00
5f04b56229 module: add :ui smooth-scroll
Normally, this would be too small to warrant its own module, but smooth
scrolling is one of those things that can tip large swaths of
fence-sitting beginners into Emacs' camp. I can't help but imagine how
many people get their impression that Emacs is "laggy" or "slow" solely
from the way it scrolls.

Don't get me wrong, there *are* good reasons to call Emacs slow, but
startup and scrolling speed are not it, yet they are easily overblown
because it's the first thing you see. I might even consider enabling
this by default, but I'll make that decision later.

Fix: #8335
2025-04-01 17:58:13 -04:00
951df2dbee bump: :completion
LuigiPiucco/nerd-icons-corfu@13166345b2 -> LuigiPiucco/nerd-icons-corfu@55b17ee20a
abo-abo/swiper@db61f55bc2 -> abo-abo/swiper@e33b028ed4
emacs-helm/helm@c0b70dbc26 -> emacs-helm/helm@f948dc4464
minad/cape@2e86b6deed -> minad/cape@f72ebcaeff
minad/consult@d557305b73 -> minad/consult@f94d557807
minad/corfu@c302b0526a -> minad/corfu@061d926d0f
minad/marginalia@a527fb03b7 -> minad/marginalia@c51fd9e4d4
minad/vertico@026a81a9c8 -> minad/vertico@e0bb699ebf
oantolin/orderless@c7cb04499d -> oantolin/orderless@254f241248
2025-04-01 15:50:03 -04:00
8afc08a7a8 bump: :tools direnv lsp magit
emacs-lsp/lsp-mode@4cddd2d99d -> emacs-lsp/lsp-mode@7c0df125c1
emacs-straight/eglot@8711f483be -> emacs-straight/eglot@6a9e0c76b9
magit/forge@1c904090df -> magit/forge@9db4d386a1
magit/magit@28d272ce0b -> magit/magit@bf58615a03
purcell/envrc@116cb75ee1 -> purcell/envrc@4ca2166ac7

Fix: #8325
2025-04-01 15:31:54 -04:00
fc7b179e6c bump: :lang
Wilfred/helpful@5ad8a9ce57 -> Wilfred/helpful@6a4d5e0760
agda/agda@10a0ca0516 -> agda/agda@49a12eab7f
clojure-emacs/cider@a0d6169026 -> clojure-emacs/cider@fdfa7c2200
dominikh/go-mode.el@602d73e226 -> dominikh/go-mode.el@0ed3c5227e
emacs-geiser/gauche@8ff743f641 -> emacs-geiser/gauche@9eb8b35f0c
emacs-lsp/lsp-dart@7e3d342941 -> emacs-lsp/lsp-dart@2170823139
emacs-lsp/lsp-java@868600bf7f -> emacs-lsp/lsp-java@6cfff8761e
emacs-lsp/lsp-metals@567089f7f4 -> emacs-lsp/lsp-metals@345b4fa80e
emacs-lsp/lsp-sourcekit@63ff1ab638 -> emacs-lsp/lsp-sourcekit@3bd9750e7e
emacs-lsp/lsp-treemacs@fb1a07ae0a -> emacs-lsp/lsp-treemacs@312dee2b3a
emacs-rustic/rustic@fbbf0a7192 -> emacs-rustic/rustic@22a5ef8bfd
emacs-straight/auctex@53f80ba36c -> emacs-straight/auctex@6fb366064c
emacs-straight/csv-mode@6979fc18eb -> emacs-straight/csv-mode@1695ee1752
emacsorphanage/dart-mode@88b6683f43 -> emacsorphanage/dart-mode@6229941ec5
erlang/otp@64185e73b0 -> erlang/otp@740af6bae5
fsharp/emacs-fsharp-mode@677d78c4d6 -> fsharp/emacs-fsharp-mode@bf7a11e1ba
gcv/julia-snail@24f79a067b -> gcv/julia-snail@cacf52e4c8
godotengine/emacs-gdscript-mode@c3d9988984 -> godotengine/emacs-gdscript-mode@3f3739dd88
greghendershott/racket-mode@eef5e9ab2c -> greghendershott/racket-mode@88d82e249e
jrblevin/markdown-mode@ee9d6de1d2 -> jrblevin/markdown-mode@d2d960bec1
json-emacs/json-mode@77125b01c0 -> json-emacs/json-mode@466d5b5637
ledger/ledger-mode@356d8049ed -> ledger/ledger-mode@d9b6648201
rust-lang/rust-mode@542f1755d8 -> rust-lang/rust-mode@efd830806c
seagle0128/grip-mode@ffce7f78eb -> seagle0128/grip-mode@e90e3b47d8
ziglang/zig-mode@f0b4a48753 -> ziglang/zig-mode@4ad4edf759
2025-04-01 03:49:02 -04:00
94731a85c2 bump: :ui :input :config :checkers
Alexander-Miller/treemacs@32bb3dd02d -> Alexander-Miller/treemacs@96a808f067
coldnew/pangu-spacing@2303013e5c -> coldnew/pangu-spacing@6509df9c90
dgutov/diff-hl@65a5de16e2 -> dgutov/diff-hl@7da881a957
ema2159/centaur-tabs@63eb35cf42 -> ema2159/centaur-tabs@7704f2017c
emacs-jp/migemo@7d78901773 -> emacs-jp/migemo@fbc16b57ea
emacs-lsp/lsp-treemacs@fb1a07ae0a -> emacs-lsp/lsp-treemacs@312dee2b3a
emacs-straight/use-package@e8c659a050 -> emacs-straight/use-package@d79bac4574
emacsorphanage/evil-anzu@d1e98ee697 -> emacsorphanage/evil-anzu@7309650425
flycheck/flycheck@86715c0f29 -> flycheck/flycheck@b9db1379dc
jaypei/emacs-neotree@599bd049a5 -> jaypei/emacs-neotree@4a4cd85761
jdtsmith/indent-bars@47ae080d9b -> jdtsmith/indent-bars@fa293f98ab
joostkremers/writeroom-mode@86965a56ed -> joostkremers/writeroom-mode@cca2b4b3cf
merrickluo/liberime@c5839f5417 -> merrickluo/liberime@23c0caa1bf
purcell/package-lint@21edc6d0d0 -> purcell/package-lint@43012b41ac
rainstormstudio/treemacs-nerd-icons@9876cb4781 -> rainstormstudio/treemacs-nerd-icons@eac9fb5d92
seagle0128/doom-modeline@9d6f0f9635 -> seagle0128/doom-modeline@1708db2d35
skk-dev/ddskk@8c47f46e38 -> skk-dev/ddskk@f81ed803e6
tarsius/hl-todo@fb692ec092 -> tarsius/hl-todo@0ce21c329b
tumashu/posframe@f4e9e509ba -> tumashu/posframe@12f540c9ad
tumashu/pyim@f22c20f2e6 -> tumashu/pyim@64731c213c
2025-04-01 03:47:37 -04:00
6a1ab50e02 release(modules): 25.05.0-dev
Ref: 2b39e41368
2025-04-01 03:44:01 -04:00
6f6302d42d fix(workspaces): clobbering pre-existing workspaces on switch-project
If you used `projectile-switch-project`, the workspaces module would
open a new workspace named after the project, but if a  workspace named
after that project already exists, it is hijacked (e.g. two projects in
'some-project/src' and 'another-project/src' would get the same name:
"src"). This commit uniquifies their names so this doesn't happen, and
also embeds a +workspace-project persp parameter in the workspace so
that they can be disamiguated later (this association is lost if you
rename the workspace manually, however).

Fix: #7637
2025-04-01 03:27:03 -04:00
c6f979b4e0 refactor(workspaces): projectile integration
Simplifies +workspaces-switch-to-project-h and refactors out the
dependency on external state.
2025-04-01 03:27:03 -04:00
7941dfa766 fix(workspaces): only trigger projectile-*-switch-project-hook once
Changes upstream made our triggers for these hooks redundant.

Fix: #6559
2025-04-01 03:27:02 -04:00