12933 Commits

Author SHA1 Message Date
b6cbfea53d refactor(org): remove +org--follow-search-string-a
This was upstreamed.

Ref: https://cgit.git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=95554543b
2025-07-13 22:28:34 +02:00
29ec1f40f3 feat(org): jupyter-repl: move cursor to prompt on self-insert-command
Ala 3384414, but for jupyter-repl, which isn't a comint-derived.

Ref: 3384414e957f
2025-07-13 22:28:34 +02:00
5a690fc54f feat(:term): confine undo to comint/eshell prompts
Otherwise, undo could delete entire chunks of a shell buffer. This
addresses the issue in eshell, comint shells, and derivatives (like
ielm, shell, or inferior-* shells).

Ref: #8410
2025-07-13 21:13:00 +02:00
1b125ddf7b feat(:term): make previous command output read-only
This makes the output of previous commands and prompts immutable (by
default), so users can't accidentally alter them, which can leave the
buffer in a half-broken state (requiring the user flush out the garbled
input with a couple RETs).

This targets comint shells (shell, ielm, etc), eshell, (ansi-)term, and
any derivatives thereof.

Fix: #8411
2025-07-13 21:12:57 +02:00
5b5b170f79 fix(macos): avoid calling nushell's open
Using `shell-command` risks calling any `open` commands defined by the user's
$SHELL.
2025-07-05 22:21:36 +02:00
6010b40247 fix(fold): Use function variables over direct func
Replace direct calls to `hs-looking-at-block-start-p` and
`hs-find-block-beginning` with their corresponding function variables to
ensure compatibility with hideshow mode's configurable function
handling.

These function variables are set in [`treesit` in Emacs 31][1]. It broke
fold because `hs-block-start-regexp` is set to `nil` explicitly by
treesit overrides.

The default for `hs-looking-at-block-start-p-func` and
`hs-find-block-beginning-func` are same as what was being called before.

Ref:
[1]: 2e3b085d44
2025-07-01 14:28:46 +02:00
6bd38e2c4d tweak(python): don't use basedpyright by default
Because of the python dev's propensity to use env managers, setting the
pyright executable globally doesn't make much sense, and could in fact
end up intrusively overriding a user's local settings.

A better approach may be to introduce an envvar here that can be set
from external .envrc or venv config files, or making
`lsp-pyright-langserver-command` a safe file-local variable (so it can
be set from .dir-locals.el or in the file-local variables of a python
file), but if I decide to do one or the other, I'd like to be consistent
about it across all python executables/external dependencies (and
possibly even to all :lang modules that depend on env managers), so I'll
defer implementing that until I have the time to give it more thought
and plan it better.

Amend: 1fa1eba5ac
2025-07-01 14:22:10 +02:00
6a69add73f refactor(file-templates): update doomrc templates
For .doom, .doommodule, and .doom.el files.
2025-06-30 15:23:27 +02:00
000bf3beea docs(magit): add 29.1+ check for +forge
Was supposed to be in aa7dd61. Oops.

Amend: aa7dd61a2c
2025-06-30 15:23:27 +02:00
fdc0fa3bec docs(markdown): doctor: allow for alternate grips
Note that we are pinned to the latest release of `seagle0128/grip-mode`,
which supports¹ alternate grip-like programs, namely `mdopen` and
`go-grip`. Although a specific one can be configured, `grip-mode` will
try and load any of the three (the two mentioned plus `grip`).

I’ve added them in the same order that `grip-mode` searches for them².

¹: https://github.com/seagle0128/grip-mode?tab=readme-ov-file#alternative-markdown-preview-without-accessing-github-api
²: 96a927dce6/grip-mode.el (L177-L179)
2025-06-29 23:59:50 +02:00
87b616e5d8 refactor!: remove rainbow-delimiters
BREAKING CHANGE: parentheses will no longer be colored by depth. No
substitute is provided because it's trivial for users to install
themselves.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610828
2025-06-29 18:53:40 +02:00
5cb34fa151 refactor!: remove highlight-numbers
BREAKING CHANGE: Numerics will no longer be syntax highlighted in major
modes that don't already have their own (or provided by tree-sitter). No
substitute will be provided because it's trivial for the user to install
themselves.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610783
2025-06-29 18:53:40 +02:00
59c6b8e614 refactor!(ruby): remove rubocop
BREAKING CHANGE: This removes rubocop from the ruby module in lieu of
LSP clients.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=69411575
2025-06-29 17:36:18 +02:00
957b1266bf refactor(minimap): replace minimap.el w/ demap.el
The former is unmaintained.

Fix: #8430
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=2922285
2025-06-29 17:35:56 +02:00
57fcd95e7d tweak(latex): don't insert braces after sub/superscript
This avoids inserting braces when you type "a_", so you end up typing
"a_i" instead of "a_{i}".

The official LaTeX manual says that braces are correct, but it doesn't
matter for many cases, e.g., when the sub/superscript is just a single
token like "i". It's simply a matter of taste in these cases.
 - Frank Mittelbach, a LaTeX maintainer, says that he types "a_i":
   https://tex.stackexchange.com/questions/82329/how-bad-for-tex-is-omitting-braces-even-if-the-result-is-the-same#comment176261_82331
 - David Carlisle, another LaTeX maintainer, says that a_i "arguably
   improves the look of the source code":
   https://tex.stackexchange.com/a/82337
 - Joseph Wright, yet another LaTeX maintainer, says that he "would
   always use braces here, so favour a_{i}":
   https://tex.stackexchange.com/a/1929

And I think if it is a matter of taste, then the sane default is to
avoid any magic that gets in the way of users. Anyone who prefers braces
can still enable this argument, but people who do not like them won't
get upset every time they type "_" or "^".
2025-06-26 02:37:18 +02:00
7ac03e3f0f bump: :email wanderlust
wanderlust/flim@c4c72d2833 -> wanderlust/flim@56e3e0fd02
wanderlust/semi@f6e299706a -> wanderlust/semi@813892fe2c
wanderlust/wanderlust@657eded150 -> wanderlust/wanderlust@70427e9c84
2025-06-26 02:36:55 +02:00
bffc593b9f bump: ghub
magit/ghub@HEAD -> magit/ghub@97a07691ef (4.3.2)

ghub is in a state of flux right now, with some parts being split into
their own packages¹. The latest ghub release (4.3.2)² is just three weeks old,
so I think we are fine just pinning that one.

¹: 3e7ad9d138/CHANGELOG (v500----unreleased)
²: https://github.com/magit/ghub/releases/tag/v4.3.2

Fix: #8421
Ref: magit/ghub@30e57b2
2025-06-26 02:36:19 +02:00
f64e199517 bump: :lang org
bastibe/org-journal@e581bf5530 -> bastibe/org-journal@c72d7c75f8
emacs-straight/org-mode@79781bac69 -> emacs-straight/org-mode@4e6d38d1a6
magit/orgit-forge@764820769e -> magit/orgit-forge@050590fbc7
magit/orgit@efd98e5caa -> magit/orgit@224350397d
minad/org-modern@6158d3d007 -> minad/org-modern@1723689710
oer/org-re-reveal@89ed240450 -> oer/org-re-reveal@da7e1feba9
org-roam/org-roam@046822b512 -> org-roam/org-roam@c172951345
2025-06-25 17:36:59 +02:00
f0c8290ae2 fix(format): prefix arg inhibiting format-on-save
We bind to basic-save-buffer in :config default (and save-buffer calls
it too), so we advise that instead. However, this is a temporary
solution because it casts way too wide a net. Probably better to  add a
new save-without-formatting keybind instead.

Fix: #8420
2025-06-25 17:36:59 +02:00
a4d00445d2 tweak(markdown): markdown-mouse-follow-link = nil 2025-06-25 17:36:59 +02:00
e6c7553053 feat(emacs-lisp): reduce flycheck in org-edit-special buffers
Minimize the flycheck rules when using org-mode's edit functionality for
source code blocks (e.g. `#+begin_src emacs-lisp / #+end_src`) that pops
up a new buffer with the minor mode `'org-src-mode`.
2025-06-14 12:01:29 +02:00
267aa3d788 bump: :email wanderlust
wanderlust/apel@1a6fd3bab2 -> wanderlust/apel@2383abfd3a
wanderlust/flim@774e40da2b -> wanderlust/flim@c4c72d2833
wanderlust/semi@85a52b899a -> wanderlust/semi@f6e299706a
wanderlust/wanderlust@d6dcbad228 -> wanderlust/wanderlust@657eded150
2025-06-12 23:29:44 +02:00
ce51b4e8bb bump: :completion
abo-abo/swiper@2529a23f9f -> abo-abo/swiper@2257a9d051
company-mode/company-mode@41f07c7d40 -> company-mode/company-mode@1924eabfa7
elken/yasnippet-capf@de6446732b -> elken/yasnippet-capf@f53c42a996
emacs-helm/helm@5a222a8a6b -> emacs-helm/helm@90cd6ad68c
minad/cape@5546a2db8e -> minad/cape@c9191ee9e1
minad/consult-flycheck@77d3e790a3 -> minad/consult-flycheck@8067363ee3
minad/consult@ee64a2a299 -> minad/consult@7146596b56
minad/corfu@2e05fe8244 -> minad/corfu@53aa6c85be
minad/marginalia@2ff4d690f7 -> minad/marginalia@0e7097051c
minad/vertico@304be874be -> minad/vertico@b43b594bb3
oantolin/embark@923d0ec52e -> oantolin/embark@2941f2ea36
rainstormstudio/nerd-icons-completion@8e5b995eb2 -> rainstormstudio/nerd-icons-completion@e15e21a263
2025-06-12 17:16:49 +02:00
35c565f6ce bump: :os
benotn/kkp@ad23d961c3 -> benotn/kkp@1a7b4f395a
2025-06-12 17:15:45 +02:00
4d92921b59 bump: :app
https://git.savannah.gnu.org/git/emms.git@abb4f614dae6 -> https://git.savannah.gnu.org/git/emms.git@e5f46561c3c1
tecosaur/emacs-everywhere@caeab3948f -> tecosaur/emacs-everywhere@4ec16c12ce
2025-06-12 17:10:28 +02:00
b6927d0698 bump: :editor
emacs-evil/evil-collection@fca81ddb2c -> emacs-evil/evil-collection@4748cfb784
emacs-tree-sitter/ts-fold@6eed69cf2b -> emacs-tree-sitter/ts-fold@327757e436
emacsmirror/visual-fill-column@30fc3e4ea9 -> emacsmirror/visual-fill-column@e391b52922
emacsorphanage/god-mode@9f3f6a1dc9 -> emacsorphanage/god-mode@fbcf7381c4
hlissner/evil-snipe@c2108d3932 -> hlissner/evil-snipe@16317d7e54
joaotavora/yasnippet@2384fe1655 -> joaotavora/yasnippet@c1e6ff23e9
radian-software/apheleia@0c41a5a52c -> radian-software/apheleia@f3308f53d3
2025-06-12 17:10:28 +02:00
197419f041 fix(magit): +forge: fail gracefully on <29.1
Amend: aa7dd61a2c
2025-06-12 17:10:25 +02:00
aa7dd61a2c fix(magit): require Emacs 29.1+ for +forge
Forge depends on ghub, and ghub requires 29.1+, so Forge has dropped
backwards compatibility (plus, code-review depends on Forge).

Also adds a doctor check for this constraint.

Fix: #8419
Ref: magit/forge@35224e5dd4
2025-06-12 14:43:03 +02:00
442f4db4d4 bump: :ui
Alexander-Miller/treemacs@820b09db10 -> Alexander-Miller/treemacs@abd27c86df
dgutov/diff-hl@aa667ac58a -> dgutov/diff-hl@9b032018fd
doomemacs/themes@88126db5e6 -> doomemacs/themes@729ad03463
jdtsmith/indent-bars@ea74161b46 -> jdtsmith/indent-bars@87729d685d
jdtsmith/ultra-scroll@f2e4fba601 -> jdtsmith/ultra-scroll@b447044b9d
minad/goggles@6141d31c51 -> minad/goggles@5176114e99
tarsius/hl-todo@0ce21c329b -> tarsius/hl-todo@7ed8bbcadb
2025-06-11 01:29:52 +02:00
f96af872ac bump: :tools
NicolasPetton/pass@1a9f610015 -> NicolasPetton/pass@896696999d
andras-simonyi/citeproc-el@54184baaff -> andras-simonyi/citeproc-el@d232616851
emacs-lsp/lsp-mode@c77ba14106 -> emacs-lsp/lsp-mode@3a96df0dd7
emacs-straight/dape@8dbe56d7c7 -> emacs-straight/dape@1df7834306
emacs-tree-sitter/tree-sitter-langs@becd29c756 -> emacs-tree-sitter/tree-sitter-langs@59979a1f5c
hcl-emacs/terraform-mode@5bdd734a87 -> hcl-emacs/terraform-mode@80383ff42b
jacktasia/dumb-jump@737267a613 -> jacktasia/dumb-jump@42f97dea50
magit/forge@9db4d386a1 -> magit/forge@a31859547a
magit/magit@04ee83d93f -> magit/magit@2f1ff91f12
magit/transient@25b994a565 -> magit/transient@f3f498aa15
mohkale/consult-eglot@b71499f4b9 -> mohkale/consult-eglot@2816f8aad7
purcell/envrc@4ca2166ac7 -> purcell/envrc@cb5f6d2a42
2025-06-11 01:29:52 +02:00
68010af090 bump: :tools llm
karthink/gptel-quick@34acd437a7 -> karthink/gptel-quick@495b5e0b53
karthink/gptel@e1050ef6e5 -> karthink/gptel@0a77446108
ragnard/gptel-magit@7f58694304 -> ragnard/gptel-magit@f27c01821b

Ref: karthink/gptel#848
Close: #8415
Co-authored-by: markflarup <markflarup@users.noreply.github.com>
2025-06-10 21:29:00 +02:00
7280e44dc5 fix(beancount): link completion
Due to not escaping the literal ^ in the regexp.

Fix: #8414
Amend: d3e8ca8d9d
2025-06-10 21:28:52 +02:00
ed860b2b06 feat(eww): Add jump-to-heading in EWW
1. Add jump-to-heading functionality for EWW buffers
2. Bind within imenu (replaces +eww/jump-to-url-on-page; bound to
`:localleader l`)

The new functions are based on existing `eww--capture-url-on-page` and
`+eww/jump-to-url-on-page`. However, I took a different approach and
used alists to hide the position/coordinates from the `completing-read`.
Also, unlike `+eww/jump-to-url-on-page`, we don't give the user an
option of limiting the scope to a region or visible portion of the
buffer. `+eww/jump-to-heading-on-page` always prompts based on the
entire buffer.

Examples:

1. `<h1>H1</h1>`
    - "H1"
2. `<h1>H1</h1><h2>H2</h2>`
    - "H1"
    - "H1/h2"
3. `<h1>H1</h1><h2>H2</h2><h3>H3</h3>`
    - "H1"
    - "H1/H2"
    - "H1/H2/H3"
4. `<h1>H1-1</h1><h2>H2</h2><h1>H1-2</h1>`
    - "H1-1"
    - "H1-1/H2"
    - "H1-2"

![screenshot on the Emacs Wikipedia entry](https://github.com/user-attachments/assets/c2210f0f-c026-4325-9b1b-c2427ec13cd5)

Gaps in the hierarchy (for example a `<h2>` followed by an `<h5>`) are not
represented in the labels presented to the user. Take the Wikipedia
entry for Emacs (above) as an example. The `<h2>` "Content" is the first
heading on the page, there's no preceeding `<h1>`, so it's shown to the
user as "Content" without any prefix. Examples:

1. `<h2>H2</h2>`
    - "H2"
2. `<h2>H2</h2><h4>H4</h4>`
    - "H2"
    - "H2/H4"
3. `<h2>H2</h2><h4>H4</h4><h5>H5</h5>`
    - "H2"
    - "H2/H4"
    - "H2/H4/H5"
4. `<h2>H2</h2><h1>H1</h1><h5>H5</h5>`
    - "H2"
    - "H1"
    - "H1/H5"

- modules/emacs/eww/autoload.el
  - (eww--capture-url-on-page): Rename to `eww--capture-urls-on-page`
  - (eww--capture-headings-on-page): Add; based on existing `eww--capture-urls-on-page`
  - (+eww/jump-to-heading-on-page): Add; based on existing `+eww/jump-to-url-on-page`
- modules/emacs/eww/config.el
  - (keybind) Bind `+eww/jump-to-heading-on-page` to `<:localleader.>`;
    based on existing org-mode jump-to-heading keybind (`consult-org-heading`)
2025-06-10 21:23:31 +02:00
d60d639efe fix(magit): Remove +magit-optimize-process-calls-h 2025-06-10 21:23:00 +02:00
313e8fb48b fix(smooth-scroll): advice on wrong function
Amend: aa6f3903d5
Fix: #8376
2025-06-02 17:34:15 +02:00
aa6f3903d5 fix(smooth-scroll): potential out-of-bounds error
Wherever an interactive motion command (that good-scroll has advised) is
used programmatically.

This should be addressed upstream. Either by adding
boundary/called-interactively guards to
`good-scroll--point-at-top-fix-a`, or by avoiding interactive motion
commands in ledger-mode.

Fix: #8376
2025-06-02 14:19:26 +02:00
c1632fa887 fix(debugger): don't persist breakpoints
Leave it to users to implement this, if they want this, but not only
might it cause confusion, but users may want a clean slate every time
they launch a new debugging session in the same project.

Fix: #8407
2025-06-02 14:19:26 +02:00
50a2ba0586 fix(format): eglot format scratch buffer 2025-06-02 14:18:25 +02:00
4ca742a281 fix(format): lsp format scratch buffer
Apheleia wants the formatters to act on the `scratch` buffer
complains if `buffer` was modified.

Fix: #8182
2025-06-02 14:18:25 +02:00
f71cbb9f5c docs(hl-todo): Remove removed keybinding
Commit 0893edefae removed magit-todos and
the "SPC p t" keybinding. The documentation of hl-todo does not reflect
this change.

This commit removes said keybinding from hl-todos documentation.
2025-06-01 00:45:34 +02:00
361eec11a4 fix(workspaces): avoid duplicate workspace creation when no frame exists
When Emacs is started as a daemon and no frames exist, `emacsclient -c`
should simply switch to the main workspace. However, before
`+workspaces-associate-frame-fn` is called, the new frame is already
added to the frame list, which causes `persp-frame-list-without-daemon`
to always return a non-empty list. A new workspace will be created
instead of switching to the main one.
2025-06-01 00:45:04 +02:00
24aec7cd2b fix(coq): void-function company-coq 2025-06-01 00:44:13 +02:00
6a6ac8f315 fix(eshell): disable undo while process is executing
After further experimentation these will be replaced with named
functions.
2025-06-01 00:26:56 +02:00
96ac6b0037 fix(beancount): completion edge cases
Like when `+beancount/clone-transaction` is invoked from an org-capture
template.
2025-05-30 20:54:27 +02:00
4d685029f9 perf(beancount): speed up flymake checker advice 2025-05-29 20:36:07 +02:00
8667b181fc feat(beancount): add account completion on budget directives 2025-05-27 20:41:57 +02:00
0199727de5 fix(beancount): relax prefix on virtual lines
Before, virtual includes were only followed if preceded by three
semicolons. Only one should do.
2025-05-24 20:09:19 +02:00
8406c1ff22 feat(beancount): highlight custom directives
Doesn't seem to be done by beancount-mode, so...
2025-05-24 17:32:27 +02:00
5026de65bb refactor(beancount): don't complete commodities from prices
Auto-generates price files are a common feature among beancount users;
scanning them is a lot of unnecessary work when just reading commodity
directives (and operating_currency options) should be more than enough.

Amend: 5df769e994
2025-05-24 17:31:41 +02:00
cfea950e60 fix(beancount): hangs when completion cache is empty 2025-05-22 21:17:12 +02:00