Commit Graph

3884 Commits

Author SHA1 Message Date
Simon Michael
b663822b88 fix: print: ignore --depth entirely
Until now, a depth limit caused print to show only transactions referencing accounts as deep or deeper than that.
2024-12-09 15:37:30 -10:00
Simon Michael
b10c0f256c ;doc: common.m4: clean up, update generaloptions macro 2024-12-07 09:22:32 -10:00
Simon Michael
43dd0cfc5d ;dev: cleanups 2024-12-07 08:50:34 -10:00
Simon Michael
917f03b828 ;doc: changelogs 2024-12-06 18:05:28 -10:00
Simon Michael
972a2a066b ;doc:beancount output: edits 2024-12-06 08:11:30 -10:00
Simon Michael
32182a05fc ;doc:beancount output: edits 2024-12-06 07:54:45 -10:00
Simon Michael
82fde8d2dc ;doc:query types: edits 2024-12-06 07:14:29 -10:00
Simon Michael
f148eec5fb ;doc:query types: edits 2024-12-06 07:13:03 -10:00
Simon Michael
85428d5cac ;doc:query types: updates, add headings, mention tag:'s infix matching 2024-12-06 07:04:05 -10:00
Simon Michael
f648903b37 imp:print:beancount: don't add account tags to postings
When print is generating beancount output, turn off the usual
inheritance of account tags by postings; it would generate excessive
metadata in the journal. Beancount can do or not do that kind of
inheritance itself.
2024-12-06 05:55:42 -10:00
Simon Michael
ff28aa329a imp:print:beancount: convert tags to BC metadata
Transaction and posting tags (and posting tags inherited from accounts)
are now converted safely to Beancount-compatible transaction and posting
metadata lines.
2024-12-06 05:55:42 -10:00
Simon Michael
17332c75f9 imp:print:beancount: generate operating_currency directives from cost currencies 2024-12-06 05:55:42 -10:00
Simon Michael
f5e97e2f92 ;doc:output:beancount: updates 2024-12-06 05:55:42 -10:00
Simon Michael
b4f4374dfa imp:print:beancount: remove redundant conversion postings automatically 2024-12-06 05:55:42 -10:00
Simon Michael
d925c8a042 imp:print:beancount: add a second account name part if needed
Beancount requires account names to have at least two parts.
2024-12-06 05:55:42 -10:00
Simon Michael
6e3dfd6703 imp:print:beancount: remove virtual postings automatically 2024-12-06 05:55:42 -10:00
Simon Michael
29349458b3 imp:csv:if: go back to accepting unknown csv field names [#2289]
It makes life easier when reusing common rules with different CSVs.
2024-12-04 17:45:28 -10:00
Simon Michael
9696677c5d ;doc: depth: note version 2024-12-04 10:33:23 -10:00
Simon Michael
595243ea18 ;doc: LEDGER_FILE on Windows: copy improvements from hledger_site#119 2024-12-04 07:47:06 -10:00
Simon Michael
00beef6052 imp:csv:if: edits 2024-12-03 17:32:39 -10:00
Simon Michael
054a204aa0 imp:csv:if: support & ! (AND NOT) 2024-12-03 17:25:43 -10:00
Simon Michael
f73888d3b6 ;doc:csv:if: edits 2024-12-03 16:41:54 -10:00
Simon Michael
3d55f260b3 imp:csv:if: warn on invalid csv field names; improve doc [#2289] 2024-12-03 16:07:57 -10:00
Simon Michael
fd9c64a4ad pkg: allow megaparsec 9.7 [stackage#7585] 2024-12-03 08:46:29 -10:00
Stephen Morgan
73fd60b2b0 ;imp: doc: Document new regular expression limited depth. 2024-12-03 08:33:21 -10:00
Stephen Morgan
74f0f37fb3 imp: queries: Allow regular expression depth queries
Previously depth-limiting was universal across all accounts, e.g. all
accounts are clipped to depth 2. However, sometimes you want certain
accounts clipped to a different depth than others, e.g. all expenses to
depth 3, while all assets to depth 2. This commit enables depth-limiting
to optionally include a regular expression, which limits the accounts it
applies to.

More than one depth limit can be passed, and they are applied to each
account name by the following rules:
- If one or more regular-expression depth limit applies, use the
  most specific one
- If no regular-expression depth limits apply, and a flat depth limit is
  supplied, use that
- Otherwise, do not do any depth limiting

For example, this will clip all accounts matching "assets" to depth 3,
all accounts matching "expenses" to depth 2, and all other accounts to
depth 1.
--depth assets=3 --depth expenses=2 --depth 1
2024-12-03 08:33:21 -10:00
Simon Michael
f345c6c8d9 ;doc:import: more edits 2024-12-01 11:22:10 -10:00
Simon Michael
d16efeb26a ;doc:import: edit 2024-11-30 09:25:02 -08:00
Simon Michael
f414c37195 ;doc:import: first import tips 2024-11-30 06:57:13 -08:00
Simon Michael
812a7e28d7 ;doc:import: updates 2024-11-29 16:18:58 -08:00
Simon Michael
ff649114a7 ;doc:import: updates 2024-11-29 16:03:08 -08:00
Simon Michael
3d0aec7e8b ;doc:import: rewrite; date skipping -> overlap detection 2024-11-29 15:45:19 -08:00
Simon Michael
a38c09be98 ;doc: assertions: mention their behaviour with posting status 2024-11-21 07:57:26 -10:00
Simon Michael
21d8044bcf ;doc:journal: rewrite the Tags section 2024-11-16 14:40:03 -10:00
Simon Michael
1ad9fbb4a8 imp:print: clean up special tags; show them more often with --verbose-tags
- These special hidden tags, used internally, have been renamed:
  - `_modified`           -> `_modified-transaction`
  - `_cost-matched`       -> `_cost-posting`
  - `_conversion-matched` -> `_conversion-posting`

- All special hidden tags now have a similarly-named visible tag,
  and `--verbose-tags` now shows those more often, which is useful
  when troubleshooting `--infer-equity`, `--infer-costs`,
  or the matching of redundant costs and conversion postings.

- The `generated-posting:` tag added by `--infer-equity` is now valueless.

- The `modified-transaction:` tag added by `--auto` now appears on its own line.
2024-11-16 14:40:03 -10:00
Simon Michael
f57cd638da imp:print:beancount output: more robust account/commodity encoding
Unsupported chars are now hex-encoded, not just converted to dashes.
This helps keep account and commodity names unique, especially with
the equity conversion account names generated by --infer-equity when
using currency symbols.
(Those could also be converted to ISO 4217 codes, in theory, but
for now we just hex encode them, which is easier to make robust.)

Also, Beancount commodity symbols are no longer enclosed in
hledger-style double quotes.
2024-11-07 01:28:31 -10:00
Simon Michael
1078c176bf ;doc: pager: link to less FAQ
Signed-off-by: Simon Michael <simon@joyful.com>
2024-11-07 01:24:21 -10:00
Dmitry Astapov
c006959b05 lib: fix division by zero in roi when all assets are sold (fixes #2281) 2024-11-06 17:56:36 -10:00
Henning Thielemann
d176215f03 cli: Commands.Aregister: --header -> --heading 2024-11-06 16:38:38 -10:00
Simon Michael
660bbbb1f4 dev: update errors/README 2024-11-02 18:11:08 -10:00
Simon Michael
326acbf93b imp: check recentassertions: try to make the error message clearer 2024-11-02 18:10:53 -10:00
Simon Michael
4d38c63ec8 dev: move/rename nullsourcepos 2024-11-02 14:59:43 -10:00
Simon Michael
657fc1551f !fix: respect --color=yes in a few places that didn't; drop text-ansi dep
Hledger.Utils.IO's ansi style/color helpers now respect --color=yes,
so that eg `hledger --color=yes | less -R` shows bold headings as
you'd expect.

Hledger.Utils.IO.rgb' now takes Float arguments instead of Word8.
2024-11-01 10:40:25 -10:00
Simon Michael
66953ae0be ;doc: pager: note that help -p TOPIC uses less 2024-11-01 08:15:09 -10:00
Simon Michael
234b4879c2 imp: less pager will use HLEDGER_LESS instead, if defined
When using `less` as pager, if HLEDGER_LESS is defined, it will
provide the options (instead of LESS + hledger's extra options).
You can set your own preferred options here, or you can set it
equal to LESS to use exactly those options.

[#2272]-related
2024-11-01 08:02:03 -10:00
Simon Michael
30086ae249 imp: run pager more robustly; drop pager lib [#2272]
This fixes the error displayed when quitting the pager with long output.
It also replaces the pager lib with more robust homegrown pager utilities,
which should prevent a number of failure modes.
2024-10-31 18:55:09 -10:00
Simon Michael
659e493b30 ;doc: update changelogs 2024-10-30 19:01:49 -10:00
Simon Michael
50bf401ea6 dev: split debug/ghcdebug flags, comment out the latter for now
Compilation with ghc-debug is failing, and it has not yet been used
for anything. Separate the flag and leave it in place but commented for now.
2024-10-24 10:44:28 -10:00
Simon Michael
f96df24a00 ;doc: regular expressions: note possible RTL/bidi limitation 2024-10-24 10:44:28 -10:00
Henning Thielemann
e43168533f cli: Commands.Aregister: replace option --no-header by --header=YN 2024-10-23 21:55:24 -10:00