Commit Graph

2146 Commits

Author SHA1 Message Date
Simon Michael
e0c3275d74 lib: debug helpers traceAt, traceAtWith 2020-03-11 19:08:05 -07:00
Simon Michael
8e04bd11fe ;doc: csv: clarify posting field rules, note a limitation 2020-03-10 15:01:52 -07:00
Simon Michael
70e85d8e4b ;doc: regen manuals
[ci skip]
2020-03-07 15:06:39 -08:00
Simon Michael
1883ff4499 bump to dev version 2020-03-07 15:06:18 -08:00
Simon Michael
be25c28822 ci: --pedantic is too much for now 2020-03-07 14:53:12 -08:00
Simon Michael
5639b47d85 ;ci: use --pedantic for all; fix a warning with unit test suites 2020-03-07 14:43:50 -08:00
Simon Michael
7ad0f9dd6d ;lib, cli: fix success-hiding in unit test suites 2020-03-07 14:10:22 -08:00
Simon Michael
5ab31f1111 ;lib, cli: hide successes in unit test suites' output 2020-03-07 04:00:55 -08:00
Simon Michael
3565f49acf ;re-enable doctest suite, with a workaround for cabal 3 (#1139) 2020-03-06 18:30:32 -08:00
Simon Michael
432b1c8ff4 ;doc: update manual versions
[ci skip]
2020-03-05 15:51:54 -08:00
Simon Michael
21fdcec6b7 journal: inclusive balance assignments now work (#1207) 2020-03-05 13:38:19 -08:00
Simon Michael
f18c74fff7 ;journal: a test for inclusive balance assignment, disabled (#1207)
[ci skip]
2020-03-05 11:19:04 -08:00
Simon Michael
5ed6fe586a ;refactor transaction balancing/checking (#1207) 2020-03-05 11:18:59 -08:00
Simon Michael
66d2897cc9 ;doc: changelog entry
[ci skip]
2020-03-02 12:49:16 -08:00
Stephen Morgan
e0dde6fe57 lib: Remove non-law-abiding Monoid instance for Journal. 2020-03-02 12:45:30 -08:00
Stephen Morgan
702c958487 lib: Replace some utility functions with library functions. 2020-03-02 12:45:30 -08:00
Simon Michael
61679e0178 ;lib: doc: changelog 2020-03-01 22:06:58 -08:00
Simon Michael
2ea66bcda4 ;lib: bump version to 1.17.0.1
hledger's first use of the fourth version component.
[ci skip]
2020-03-01 22:06:55 -08:00
Simon Michael
374be00223 ;lib: fix org headings and doctest setup that were breaking haddock
(and in some cases, installation).
[ci skip]
2020-03-01 22:00:39 -08:00
Simon Michael
6dfdc2bee8 ;one more cabal file update. Not in hackage tarballs. 2020-03-01 17:42:20 -08:00
Simon Michael
07a05d5c76 ;doc: finalise changelogs
More cleanup needed, but time's up.

[ci skip]
2020-03-01 17:33:18 -08:00
Simon Michael
061bf73b61 ;doc: regen manuals
[ci skip]
2020-03-01 17:29:01 -08:00
Simon Michael
ba44d00bed ;bump version to 1.17 2020-03-01 17:29:01 -08:00
Simon Michael
889767f1bd ;bump tested-with
[ci skip]
2020-03-01 17:28:43 -08:00
Simon Michael
04fb132496 ;doc: draft changelogs
[ci skip]
2020-03-01 16:44:28 -08:00
Simon Michael
752e8ed49a ;timedot: update docs 2020-03-01 14:06:29 -08:00
Simon Michael
07258d727f ;timedot: parsing fixes; allow blank lines/comments within days 2020-03-01 14:06:29 -08:00
Simon Michael
b9954bff60 journal, lib: the include directive no longer guesses the format
The include directive now tries just one reader, based on the file
extension and defaulting to journal, like the rest of hledger.
(It doesn't yet handle a reader prefix.)

Reader-finding utilities have moved from Hledger.Read to
Hledger.Read.JournalReader so the include directive can use them.

Reader changes:
- rExperimental flag removed
- old rParser renamed to rReadFn
- new rParser field provides the actual parser.
  This seems to require making Reader a higher-kinded type, unfortunately.
2020-03-01 14:06:29 -08:00
Simon Michael
b1f3880c3d lib: drop the file format auto-detection feature
For a long time hledger has auto-detected the file format when it's
not known, eg when reading from a file with unusual extension (like
.dat or .txt), or from standard input (-f-), or when using the include
directive (which currently ignores file extensions).

Auto-detecting has been done by trying all readers until one succeeds.
This could guess wrong in some cases, but it was so rare that it has
been working fine.

Recently, more conveniences have been added to timedot format,
increasing its overlap with journal format, which makes this kind of
auto-detection unreliable.

Auto-detection and auto-detection failures are (probably) still pretty
rare in practice. But when it does happen it's confusing, giving
misleading errors or false successes (eg printing timedot entries
instead of a journal error).

For predictability and to minimise confusion, hledger no longer tries
to guess; when there's no file extension or reader prefix, it assumes
journal format. To specify one of the other formats, you must use a
standard file extension (.timeclock, .timedot, .csv, .ssv, .tsv), or a
reader prefix (-f csv:foo.txt, -f timedot:-).

For now, the include directive still tries to autodetect
(journal/timeclock/timedot), and this can't be overridden; it will be
fixed later.

Experimental; testing and feedback welcome.
2020-03-01 14:06:29 -08:00
Simon Michael
32eb839eac timedot: rewrite the parser, making it more usable
Now, org headlines before the first day entry are ignored,
regardless of content.

Note, blank lines inside a day entry are not allowed, currently.

It's now easier to be both valid journal and valid timedot at the same
time, so guessing the format of stdin is unreliable, and some tests
are failing. See following commit.
2020-03-01 14:06:29 -08:00
Simon Michael
26c19c65b0 timedot: allow a note after the date, use as transaction descriptions 2020-03-01 14:06:29 -08:00
Simon Michael
190233b576 timedot: more org support: dates/entries can be org headlines
Org headline prefixes (stars and space at beginning of line) are ignored.
2020-03-01 14:06:29 -08:00
Simon Michael
50f8539911 ;lib: comments
[ci skip]
2020-03-01 14:06:29 -08:00
Eric Mertens
e33aa56d43 cli:Fixed NoLine column rendering after previous commit 2020-02-29 12:56:35 -08:00
Eric Mertens
011a864deb cli:Render pretty line-art tables with smooth borders 2020-02-29 11:44:13 -08:00
Simon Michael
3dce879731 ;timedot: fix accidentally committed debug output breaking CI 2020-02-29 11:39:16 -08:00
Simon Michael
c3680b868b lib: Hledger.Utils.Parse: restofline can go to eof also 2020-02-29 09:48:03 -08:00
Simon Michael
8ad2ea2fb4 lib: Hledger.Read cleanup 2020-02-27 23:51:54 -08:00
Simon Michael
2c8a6e988f lib: Hledger.Read.CsvReader cleanup
Exports added: CsvRecord, CsvValue, csvFileFor

Exports removed: expandIncludes, parseAndValidateCsvRules, transactionFromCsvRecord
2020-02-27 23:37:32 -08:00
Simon Michael
5365fde3bc ;lib: Hledger.Read.TimeclockReader cleanup 2020-02-27 22:51:27 -08:00
Simon Michael
1bb33be54d ;lib: Hledger.Read.TimedotReader cleanup 2020-02-27 22:49:53 -08:00
Simon Michael
af67c327ff ;lib: Hledger.Read.JournalReader cleanup 2020-02-27 22:44:35 -08:00
Simon Michael
2e5afd0a9f ;lib: Hledger.Read.Common cleanup 2020-02-27 22:44:27 -08:00
Simon Michael
8535939f33 ;timedot: update parser tracing 2020-02-27 18:11:07 -08:00
Eric Mertens
43b118c9b8 cli:Improve pretty table rendering
This fixes table edges always using single-width intersections and
adds support for double horizontal lines with single vertical lines
2020-02-27 14:54:47 -08:00
Simon Michael
bc4ea83d86 ;csv: refactor transactionFromCsvRecord 2020-02-27 12:58:30 -08:00
Simon Michael
2dd6e2d797 ;csv: refactor transactionFromCsvRecord 2020-02-27 12:09:39 -08:00
Simon Michael
b18f71a81b ;csv: extract mkPosting! and refactor 2020-02-27 11:51:11 -08:00
Simon Michael
f2767477ab ;csv: refactor transactionFromCsvRecord, extract those helpers 2020-02-27 11:19:37 -08:00
Simon Michael
6f08eed719 ;csv: refactor transactionFromCsvRecord, note forgotten rule
Clarify some helpers. Also note the forgotten default-accountN rule.
2020-02-27 11:03:58 -08:00