Simon Michael
e414446076
imp: pivoting on the type tag normalises type values to their short spelling.
2025-09-25 01:11:03 -10:00
Simon Michael
b5f954abf5
imp:errors: decode failures now also mention a possible CSV encoding [ #2465 ]
2025-09-24 10:40:30 -10:00
Stephen Morgan
f515c5f811
fix: balance: Don't display zero rows with --no-elide ( #2454 )
...
Zero rows with --no-elide should only be displayed if either --empty is
called or they have non-zero children at some depth.
2025-09-15 15:40:32 -07:00
Simon Michael
6d164b48a0
imp:journal: in amounts, also allow and ignore empty {} (or {{}})
2025-09-11 07:33:22 +01:00
Stephen Morgan
aad61e465d
fix: balance: Correctly handle empty journals ( #2452 )
...
Eliminate several partial functions.
2025-09-11 07:29:27 +01:00
Simon Michael
bc55e1c58f
dev: fix liftA2, Foldable1 build errors with ghc <9.6 [ #2395 ]
2025-09-03 20:02:12 +01:00
Simon Michael
00fae3ac3b
fix: ensure liftA2 is imported, build with ghc <9.6
...
This broke in 1.43.1.
2025-09-02 08:00:08 +01:00
Simon Michael
91d785aee8
dev:fix: use compatible code rather than new T.show added yesterday
2025-09-01 20:08:17 +01:00
Simon Michael
65eb0b1f78
fix:timeclock: change misleadding error message in --old-timeclock mode
2025-09-01 08:49:11 +01:00
Simon Michael
9849f196cb
fix:timeclock: process in parse order; fully support overlapping sessions [ #2417 ]
...
We no longer attempt to process timeclock entries in time order - that
was a wrong requirement, probably given by me, that can't work. Now
we just process them in parse order. This plus a little tweaking of
error checking fixes several ordering bugs with overlapping sessions
and also allows same-named overlapping sessions.
More cleanup will follow. More testing might show that --old-timeclock
is no longer needed.
2025-09-01 08:27:08 +01:00
Simon Michael
7ac0fa1aaa
dev:TimeclockReader, Timeclock: refactor/reindent [ #2417 ]
2025-09-01 08:27:01 +01:00
Simon Michael
a2710a5c2b
dev:timeclock: make --old-timeclock parser call itself, not new parser [ #2417 ]
...
There was no known visible bug, but this seems more correct.
2025-09-01 08:26:44 +01:00
Simon Michael
e37caf0f27
imp:journal: better error when attempting to include a rules file
2025-09-01 08:26:44 +01:00
Simon Michael
efe1d11edb
fix:timeclock: --old-timeclock also affects included files [ #2417 ]
...
This required changing the Reader type and passing InputOpts down to
journal's include directive parser.
2025-09-01 08:26:44 +01:00
Simon Michael
8bd9d92981
imp:timeclock: improve overlapping sessions error [ #2417 ]
2025-09-01 06:03:26 +01:00
Simon Michael
04e6c140c0
imp:timeclock: more informative error output for clashing sessions [ #2417 ]
2025-08-31 17:35:13 +01:00
Simon Michael
539a876e7a
;dev:Timeclock: indentation
2025-08-31 16:20:58 +01:00
Simon Michael
e6dbe5d231
fix:timeclock: sessions can begin at a same-named session's end time
...
Now we process entries in a more careful order: time, then parse
order, like journal format. This fixes the original issue and another
one mentioned at #2417 .
2025-08-31 12:01:04 +01:00
Simon Michael
5a3e34cc55
imp:timeclock: syntax is more robust and featureful
...
The default timeclock parser (ie when not using --old-timeclock) has
the following changes, related to issues such as
[#2141 ], [#2365 ], [#2400 ], [#2417 ]:
- semicolon now always starts a comment; timeclock account names can't include semicolons
(though journal account names still can)
- clock-in and clock-out entries now have different syntax
- clock-ins now require an account name
- clock-outs now can have a comment and tags
- the doc has been rewritten, and now mentions the --old-timeclock flag
- lib: accountnamep and modifiedaccountnamep now take a flag to allow semicolons or not
2025-08-31 10:58:37 +01:00
Simon Michael
97899f9a9b
feat:csv: support data generating scripts
...
and rewrite the rules reader.
2025-08-28 21:38:38 +01:00
Simon Michael
c7878e88da
lib:Hledger.Utils.IO: add warnIO
2025-08-28 21:38:38 +01:00
Simon Michael
b22f94007f
dev: source, archive, rules reader: improve docs
2025-08-28 21:38:38 +01:00
Simon Michael
e796a00fc4
dev:import: drop archiving of original data
...
just archive clean data
2025-08-28 21:38:38 +01:00
Simon Michael
b64ddfe813
dev:rules reader: drop "fall back to reading latest archived"
2025-08-28 21:38:38 +01:00
Simon Michael
c60ec90756
dev:import: improve buggy detection of import command
2025-08-28 21:38:38 +01:00
Simon Michael
c515fedf70
feat:csv: support data cleaning scripts
2025-08-28 21:38:38 +01:00
Simon Michael
c930fd0952
imp:end value reports: future P directives don't influence report end/valuation date [ #2445 ]
...
In end-value reports with unspecified end date, a market price later
than the latest transaction can extend the default report end date and
valuation date. Now, only market prices on or before "today" can do this;
market price declarations dated in the future will be ignored.
Report span and valuation date calculations have been clarified.
2025-08-28 17:26:42 +01:00
Simon Michael
4e52c7bd76
;lib:spanExtend: improve doc
2025-08-28 17:26:42 +01:00
Stephen Morgan
ef5c220690
fix: balance: Clip account names in generateMultiBalanceAccount, not before ( #2434 )
...
Previously accounts were clipped in getPostings, however compound
balance reports re-use the output of getPostings for the different
subreports. This caused a problem when clipping erased the information
needed to determine the account type, as would be used by e.g.
incomestatement.
Add some extra tests for --count.
2025-08-28 05:26:42 +01:00
Simon Michael
8951e11584
fix:import: don't erase .latest files when there are no new txns [ #2444 ]
...
Fixes a regression caused by the #2125 fix.
2025-08-25 19:25:52 +01:00
Simon Michael
e2bb24e902
dev: make LatestDatesForFile showable
2025-08-25 19:24:38 +01:00
Simon Michael
03262f3fff
fix 📟 don't use --mouse in default less options
...
Avoid an error on systems where less does not have mouse support.
2025-08-22 07:56:13 +01:00
Simon Michael
cb1d6a71a6
dev:import:archive: fix bugs in new code
...
Too hard to rebase
2025-08-14 19:22:52 +01:00
Simon Michael
7dfe2d84e7
dev:import: fix debug message
2025-08-14 17:52:54 +01:00
Simon Michael
88b451d6eb
imp: when source rule finds no files, read the latest archived
2025-08-14 14:23:53 +01:00
Simon Michael
3dec0a8944
dev: indentation
2025-08-14 14:23:53 +01:00
Simon Michael
76dc6d089a
feat:import:archive: archive data files, and process oldest first
2025-08-14 12:54:40 +01:00
Simon Michael
db7783b16d
dev: cleanups
2025-08-14 12:54:40 +01:00
Simon Michael
bfbef4bcbb
dev: refactor PrefixedFilePath
2025-08-14 12:37:11 +01:00
Simon Michael
cc3923d6d4
imp: the all: query now requires at least one posting
2025-08-03 06:34:00 +01:00
Simon Michael
f604b7a416
fix: accounts: a tag: query only matches account tags, not posting tags
...
Eg, `hledger accounts tag:t` lists only account a from this journal:
account a ; t:
2025-01-01
a 1
b -1 ; t:
2025-08-03 05:38:33 +01:00
Simon Michael
e69c72a6c7
dev: include: revert wrong error position fix; refactor
...
Errors in the main file are being reported a few lines too high,
due to the setOffset in includedirectivep.
It seems reverting this should have restored the original bug with
wrong line number in certain include error messages, but I can't find
that right now.
2025-07-28 11:57:46 +01:00
Simon Michael
79fbfb9f5f
dev: Hledger.Utils.Parse: cleanups
2025-07-18 07:31:05 -07:00
Simon Michael
c48c41bcd2
dev:timeclock: cleanups
2025-07-18 07:17:45 -07:00
Simon Michael
b7e35f84a2
imp: include: add hidden --old-glob flag to restore old dot behaviour
...
This disables the workaround for Glob#49, allowing glob patterns to
find dot files and traverse dot directories again (sometimes too much).
2025-07-17 08:00:08 -07:00
Simon Michael
01e0c34b85
dev: Hledger.Utils.IO: getFlag helper, like getOpt
2025-07-17 07:51:05 -07:00
Simon Michael
5ec770badd
imp: include: more flexible **; show the correct line in read errors
2025-07-16 06:52:19 -07:00
Simon Michael
b35dcfda28
imp: include: give a clearer error for trying to include a csv file
...
And note that other read errors may be unclear when occurring in included files.
2025-07-16 06:52:19 -07:00
Simon Michael
8215f19baa
dev: include: cleanup
2025-07-16 06:52:19 -07:00
Simon Michael
3741f9f030
fix: include: report read failures with correct line number
2025-07-16 06:52:19 -07:00