Commit Graph

12917 Commits

Author SHA1 Message Date
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
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
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
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