Allow doom-project-find-file to search file hierarchies from arbitrary
starting points (otherwise, project.el will resolve to the nearest
project root).
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"

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`)
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
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
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.
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.
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
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
- `+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.
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!
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.
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.
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
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.
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.
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
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