Commit Graph

20028 Commits

Author SHA1 Message Date
adf5594c3c docs(cli): update exit codes table
I haven't enforced all of these yet, but will soon as part of the v3
release.
2025-07-01 14:22:10 +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
7d69c5f7df fix(lib): void-function editorconfig--default-indent-size-function
There are two editorconfig libraries. One built into 30+ and one on
MELPA. Same name, different APIs. If the MELPA one is installed through,
say, your OS package manager, then the detection heuristic in
`doom/set-indent-width` could get confused which library is which.

Fix: #8423
2025-07-01 14:22:10 +02:00
0fe36e12a9 nit(bin): doomscript: revise comments 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
1adc318cac dev: replace .doomrc w/ .doom.el
Also replaces the project's .doomrc file with a .doom (which isn't used
or recognized just yet, but will be later).
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
3d75d8e205 fix(cli): doom emacs: command not found
Being the flawless professional that I am, I forgot to include the
source code for `doom emacs` in 7f6a2d2.

Fix: #8429
Amend: 7f6a2d284e
2025-06-26 22:54:37 +02:00
c55abb1bf7 fix(cli): doom.ps1: ParserError on $PATH
Fix: #8427
2025-06-26 03:54:59 +02:00
be73e9685b docs(cli): update SEE ALSO links 2025-06-26 03:54: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
cab27813d5 dev: fix issue links
Turns out the about: field is required.
2025-06-25 18:50:59 +02:00
d5a35c224a dev: update issue links to project resources 2025-06-25 18:35:11 +02:00
fee14d073f dev: update & simplify bug_report issue template
To reflect recent changes to the community.

Also merges the expected and current behavior text areas into one.
2025-06-25 18:34:33 +02:00
c46583e3ec refactor(cli): doom version: add -v/--verbose option
And make its default output only print `doom-version` to stdout.
2025-06-25 17:36:59 +02:00
7f6a2d284e refactor(cli): doom run: rename to 'doom emacs'
In v3, 'doom run' will have a different purpose (for launching project
or CI/CD tasks), so it now emits a warning that it's moved to a new
'doom emacs' command.

I refrain from updating documentation because a rewrite of our docs will
be coming up soon.
2025-06-25 17:36:59 +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
cdc9566d0b fix(cli): doom.ps1: malformed geometry in __DOOMGEOM 2025-06-25 17:36:59 +02:00
589fa73435 fix(lib): doom/reload: on Windows
- cmd.exe chokes on the space in "C:\Program Files\...", but more
  importantly, doom.ps1 should be invoked with powershell, not cmd.exe.
- Windows has pwsh.exe and powershell.exe, which, while not identical,
  are close enough for our purposes, but needed to be accounted for.

Fix: #8098
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
0bedac650a bump: :doom
Fuco1/smartparens@b0d935c118 -> Fuco1/smartparens@b629b4e893
bbatsov/projectile@4dd84b02c9 -> bbatsov/projectile@0da59734fb
emacs-compat/compat@7179960b7c -> emacs-compat/compat@2577cc74d9
emacs-straight/project@27c6b04914 -> emacs-straight/project@de0deb8dbf
noctuid/general.el@826bf2b97a -> noctuid/general.el@74d4541781
radian-software/straight.el@d157afbec4 -> radian-software/straight.el@4128d42399
rainstormstudio/nerd-icons.el@14f7278dd7 -> rainstormstudio/nerd-icons.el@d972dee349
2025-06-12 23:26:06 +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
18bb2da849 fix(lib): doom-project-find-file: allow arbitrary roots
Allow doom-project-find-file to search file hierarchies from arbitrary
starting points (otherwise, project.el will resolve to the nearest
project root).
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
6ce4ba3d18 release(modules): 25.07.0-dev
Ref: 2b39e41368
2025-06-02 14:19:26 +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