20039 Commits

Author SHA1 Message Date
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
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
5df769e994 feat(beancount): add commodity/currency completion
Was supposed to be part of d3e8ca8. Now completes commodities/currencies
from declared commidities, operating_currency options, or price
directives. Currently only works in postings, but can be later extended
to complete in price directives and operating_currency options.

Amend: d3e8ca8d9d
2025-05-22 21:15:57 +02:00
7f8b24d1b8 fix(beancount): enhance +beancount/clone-{,this-}transaction
- `+beancount/clone-transaction` now completes for all transactions
  across this and any included files (depending on the value of
  `+beancount-files`).
- Handles an edge case where `+beancount/clone-this-transaction` would
  try and fail to clone a transaction at point where there wasn't any.
2025-05-22 16:39:20 +02:00
c22bb498e5 fix(lib): doom-print-minimum-level: type error if level is undefined 2025-05-22 16:33:33 +02:00
d3e8ca8d9d feat(beancount): enhance completion across the board
Enhances completion for beancount-mode in the following ways:

1. Adds completion for:
   - Event directives and values,
   - The payee field in transactions,
   - Currencies and commodities,
2. Fixes completion for #tag and ^links not working at the end of a
   transaction's heading.
3. Completion now scans not only the current file, but any included
   files (recursively) for candidates if `+beancount-files' is set to
   `auto`. It can otherwise be set to a list of static files or set to
   `nil` (reverts to only scanning the current buffer). This applies not
   only to completion-at-point functions, but also interactive commands
   like `beancount-insert-account'.

This is all very rudimentary and needs polish!
2025-05-22 16:33:23 +02:00
a02871ba83 feat(beancount): support lines only read by linter
Adds support for meta lines that only the flymake linter will see.
These are lines prefixed by any number of semicolons followed by a hash
then space. E.g.

;# include "../config.beancount"
;# 2025-01-01 pad Assets:Bank Equity:Opening-Balances

This is useful for silencing the linter in multi-file beancount projects
rather than suffer the usual deluge of multiple-include errors and
redundancies.
2025-05-22 16:33:23 +02:00
8627117d63 feat(beancount): activate on *.bean files too 2025-05-22 16:33:23 +02:00
b173fedaff refactor(beancount): move autoloads to sub-directory 2025-05-22 16:33:23 +02:00
5d13d6ce99 fix(lib): doom-file-cookie: what argument-less cookies return
Used to be that a ;;;###COOKIE with no argument would return NULL-VALUE.
No more, it will now return `t`.

Also corrects the docstring to properly reflect what this does.
2025-05-22 16:33:22 +02:00
11b4b8d2e5 revert: transient
magit/transient@HEAD -> magit/transient@25b994a565

Seems to be a source of many issues the past month or so. About time we
pin it by stable release.

Fix: #8394
2025-05-18 00:35:24 +02:00
57b8d5fd8e fix(beancount): flymake-bean: false positives from relative paths
Beancount tools and Fava recognize relative paths in include and
document directives, and documents options. However, flymake-bean pipes
the buffer's contents to bean-check via /dev/stdin, so paths are
resolved relative to /dev instead of the location of the containing
beancount file, resulting in file errors. This commit expands those
relatives paths before sending the buffer's contents to bean-check to
resolve these false positives.
2025-05-18 00:33:14 +02:00
bda27228eb fix(beancount): linter in narrowed buffers
flymake-bean only sends the visible buffer to bean-check, causing a
cascade of unhelpful linter warnings and errors.
2025-05-18 00:32:49 +02:00
55e97eb78a fix(beancount): +beancount/balance: omit zeroed accounts 2025-05-16 10:55:47 +02:00
6d9484820a fix(tty): s/tty-setup-hoom/tty-setup-hook
Amend: e25e684014
2025-05-16 10:55:03 +02:00
bd908e4c47 revert: eglot
emacs-straight/eglot@0b0f894713 -> emacs-straight/eglot@6a9e0c76b9

I incorrectly believed that #8380 was resolved upstream, but it hasn't,
therefore this revert is necessary to avoid Eldoc errors on the latest
commit of Eglot.

Amend: 50200762cd
Ref: 13e92ceb3c
Ref: #8380
2025-05-16 09:28:29 +02:00
e25e684014 feat(tty): add support for TTY child frames in 31+ 2025-05-16 08:53:00 +02:00
78f55f3a45 fix(magit): update diff-hl on revert
Not a complete fix, because +vc-gutter-update-h isn't aggressive or
responsive enough to changes in VC in buffers that haven't changed, but
I'll address that later.
2025-05-15 19:35:06 +02:00
621ea4d56c refactor(hy): remove redundant mode/interpreter entries
These are set by the package's autoloads.
2025-05-15 17:47:27 +02:00
fabce333e0 fix(undo): undo-tree visualizer refusing to quit in some cases
This is due to other dedicated/side popups and/or windows causing the
undo-tree visualizer buffer to open in difficult-to-delete windows. This
should be reported and addressed upstream, though.

Fix: #8198
2025-05-15 15:18:35 +02:00
3a9d6071f3 fix: defining as dynamic an already lexical var
When invoking straight's API directly.

Fix: #8251
2025-05-15 14:21:00 +02:00
50200762cd bump: :tools
doomelpa/code-review@fba8fe3343 -> doomelpa/code-review@303edcfbad
emacs-citar/citar@ce5e9644ed -> emacs-citar/citar@5ef097beba
emacs-lsp/lsp-mode@54251da4ff -> emacs-lsp/lsp-mode@c77ba14106
emacs-straight/dape@588a907c87 -> emacs-straight/dape@8dbe56d7c7
emacs-straight/eglot@6a9e0c76b9 -> emacs-straight/eglot@0b0f894713
emacs-tree-sitter/elisp-tree-sitter@12f92ef399 -> emacs-tree-sitter/elisp-tree-sitter@1c455b0953
emacs-tree-sitter/tree-sitter-langs@4eb4989d1a -> emacs-tree-sitter/tree-sitter-langs@becd29c756
emacsorphanage/quickrun@a5c9a5e8c6 -> emacsorphanage/quickrun@bae8efb8c5
karthink/gptel@1aa5f1c10d -> karthink/gptel@e1050ef6e5
magit/magit@531e7ca619 -> magit/magit@04ee83d93f
2025-05-15 11:39:50 +02:00
6c1965b1ed fix(magit): +magit-auto-revert: handle edge cases
In cases where user have changed `vc-follow-symlinks`,
causing *Messages* spam and unexpected prompting, OR where revert-buffer
hooks and handlers are prematurely triggered for file buffers that
haven't been changed.

Fix: #8392
2025-05-15 11:39:50 +02:00
4be8557eb3 docs(cc): Specify -- with command for bear 2025-05-15 09:39:34 +00:00
4b99e6f156 fix(debugger): wrong-number-of-arguments error
dape-breakpoint-save's sole argument is optional. Calls omitting it
would cause our advise to throw an arity error.

Amend: 52dbde017a
2025-05-14 23:43:58 +02:00
3c8240dfaa fix(cli): error if $EMACSDIR/.local/etc/eln missing 2025-05-14 23:43:58 +02:00
e614ffbda8 fix(llm): don't auto-kill gptel popup buffer
Fix: #8387
2025-05-11 20:34:14 -04:00
0658c1f863 fix(use-package): omit bind-key-pkg.el
Fix: #8300
Ref: melpa/melpa#9193
2025-05-11 20:34:11 -04:00
07ea4b1ee0 nit(terraform): reformat
To match the formatting of other Doom modules.
2025-05-11 04:20:06 -04:00
56fc5410c2 fix(terraform): duplicate localleader keybind 2025-05-11 00:52:54 -04:00