Commit Graph

734 Commits

Author SHA1 Message Date
Simon Michael
c21b666130 csv: handle more sign variations, eg a sign by itself
simplifySign now covers a few more sign combinations that might arise.
And in particular, it strips a standalone sign with no number,
which simplifies sign flipping with amount-in/amount-out.
2021-01-07 10:06:38 -08:00
Stephen Morgan
7d3cf1747a lib: Make consistent naming scheme for showMixedAmount* functions,
add conversion between old API and new API in the documentation.
2021-01-02 15:08:09 +11:00
Stephen Morgan
e4e533eb9f lib,cli,ui: Replace some uses of String with Text, get rid of some unpacks, clean up showMixed options. 2021-01-02 15:08:09 +11:00
Stephen Morgan
07a7c3d3a8 lib: Use Text and Text builder only in postingAsLines. 2021-01-02 15:08:09 +11:00
Stephen Morgan
541c4fc18c lib,cli: Use Text for CSV values. 2021-01-02 15:08:09 +11:00
aragaer
2084b845e0 journal: Ignore AUTO commodity when strict checking
AUTO commodity is a placeholder for postings with missing amounts. It
should be ignored when doing a strict commodity check.

Fixes #1419
2020-12-31 09:54:23 -08:00
Simon Michael
8306420b61 check: also check "accounts"/"commodities" on demand
(cherry picked from commit 0c2bf54f2955e3a25fd0282acc42608f957abaea)
2020-12-31 08:33:36 -08:00
Simon Michael
31ea37a785 ;check: accounts, commodities, payees, ordereddates: improve errors
Error messages for these four are now a bit fancier and more
consistent. But not yet optimised for machine readability.
Cf #1436.

Added to hledger-lib: chomp1, linesPrepend[2].
2020-12-30 18:13:34 -08:00
Simon Michael
e59603a04a ;check errors: drop unwanted newline & "strict mode" prefix 2020-12-30 18:08:31 -08:00
Damien Cassou
b47d582583 ;check: fixes 2020-12-30 18:08:31 -08:00
Simon Michael
3c232fbd7d check: add "payees" check requiring payee declarations 2020-12-30 18:08:30 -08:00
Damien Cassou
e092b38631 ;lib: add 'payee' directive 2020-12-30 18:08:30 -08:00
Simon Michael
8c23a16bf8 journal: strict mode also requires commodity declarations 2020-11-27 17:54:55 -08:00
Simon Michael
ec3ad14ae5 strict mode: -s/--strict requires posted accounts to be declared 2020-11-26 08:48:16 -08:00
Simon Michael
0dc8eca68a lib: remove partial code from journalApplyAliases etc. 2020-11-25 21:06:31 -08:00
Simon Michael
94b3f090be csv, timedot, timeclock: respect --alias options (fix #859)
Command-line account aliases now also affect transactions read
from these formats (not just journal format).

lib: journalApplyAliases, transactionApplyAliases, postingApplyAliases
helpers have been added.
2020-11-24 09:17:01 -08:00
Simon Michael
5d4a6cd47e ;csv: tweak CsvRules Show for consistency with others 2020-11-18 07:14:28 -08:00
Simon Michael
ec2a774b18 cli, lib: move functional tests into hledger/test/ 2020-11-16 08:47:41 -08:00
Simon Michael
8bdb28a991 csv, journal: infer style from first amount, as documented, not last
This has been broken since hledger 1.12 (!)
2020-11-10 08:58:28 -08:00
Simon Michael
f43c7e41d1 csv, journal: debug output
The prolific "assignment" output is now at level 9.
2020-11-10 08:39:32 -08:00
Simon Michael
bfb5c6ee2a lib: global commodity display styles can be set in InputOpts or Journal, overriding all others 2020-11-09 17:14:37 -08:00
Simon Michael
0eddbe7a4b ;lib: reader cleanups 2020-11-09 17:14:37 -08:00
Simon Michael
524e23bc37 csv: decimal-mark rule to help with number parsing
Journal keeps a new piece of parsing state, a decimal mark character,
which can optionally be set to force the number format expected by all
amount parsers.
2020-11-08 16:39:03 -08:00
Simon Michael
4242a8592a ;csv: refactor amount parsing 2020-11-08 16:39:03 -08:00
Simon Michael
dae007a372 cleanup 2020-11-08 16:39:03 -08:00
Stephen Morgan
2aaab4b1b7 lib: Make Default instances clearer, remove Default instance for Bool. 2020-10-23 14:14:11 -07:00
Simon Michael
c5513ba722 ;tweak a few parse errors for clarity, consistency (#1329) 2020-09-19 08:10:39 -07:00
Stephen Morgan
07dd30c1e5 lib,cli,ui: Change to consistent naming scheme for Hledger.Utils.Regex. 2020-09-01 11:36:34 +10:00
Stephen Morgan
b91b391d08 lib: Replace some regex functions with parsers. 2020-08-31 22:44:41 +10:00
Stephen Morgan
af31d6e140 lib,cli,ui: Remove redundant Typeable and Data instances.
Also add some explicit import lists.
2020-08-31 15:41:30 +10:00
Stephen Morgan
e5371d5a6a lib,cli,ui,web: Make Regexp a wrapper for Regex. 2020-08-31 12:04:45 +10:00
Stephen Morgan
7182fa4746 lib: Improve documentation for amountRoundedQuantity, fix a typo. 2020-08-30 23:01:04 +10:00
Stephen Morgan
f6fa76bba7 lib,cli: Get rid of magic values for asprecision, use a sum type instead. 2020-08-30 23:00:35 +10:00
Stephen Morgan
ee1ef9606b lib: Fail when parsing number with more than 255 decimal places. 2020-08-30 22:30:24 +10:00
Stephen Morgan
ba59fed6b2 lib: Replace more instances of fromIntegral with safer versions. 2020-08-30 22:20:58 +10:00
Stephen Morgan
ca2e55c954 lib: Replace some fromIntegral with toInteger. 2020-08-30 22:20:58 +10:00
Stephen Morgan
b5ed2067d9 lib: Make aprecision and DigitGroupStyle use Word8 instead of Int. exponentp now parses an Integer rather than an Int. 2020-08-30 22:20:53 +10:00
Stephen Morgan
371b349b2e lib,cli: Replace parsedate and mkdatespan with direct applications of fromGregorian, transaction now takes Day instead of a date string. 2020-08-29 15:08:28 -07:00
Stephen Morgan
2fd678e415 lib,cli,ui: Remove old CPP directives made redundant by version bounds. 2020-08-29 15:08:28 -07:00
Simon Michael
a3c749f9e7 csv: fix inferring separator from .ssv/.tsv file extensions
This was documented but untested and may have never worked.
2020-08-21 08:59:55 -07:00
Simon Michael
108c548240 journal: when an account alias contains a bad regexp, show details
lib: accountNameApplyAliases, accountNameApplyAliasesMemo are now
total
2020-08-06 15:27:40 -07:00
Simon Michael
3f55c23603 ;review, tag all error calls with an easier to find PARTIAL: comment (#1312) 2020-08-05 16:08:33 -07:00
Simon Michael
242c05fc9a lib, journal: parseQuery, modifyTransactions are now total (#1312)
modifyTransactions now also requires a reference date, for parsing queries.
Relative dates are now permitted in auto posting rules.
2020-08-05 13:44:04 -07:00
Stephen Morgan
dc41cee2b0 lib: datep now requires years to be at least four digits. 2020-07-31 17:22:27 -07:00
Stephen Morgan
ffb5cf0773 lib: Ensure parsed years have at least 4 digits. 2020-07-31 17:22:27 -07:00
Stephen Morgan
7b9f9ae49c lib: Refactor reportingintervalp to be more compact and do less backtracking. 2020-07-31 17:22:27 -07:00
Stephen Morgan
081ee390ab lib: Change skipMany spacenonewline to takeWhileP Nothing isNonNewlineSpace. 2020-07-22 14:58:53 -07:00
Simon Michael
fd9171df07 journal: account types: add Cash, tweak fallback regexp, rewrite docs 2020-07-17 08:02:12 -07:00
Michael Sanders
5ec0a518da csv: Add support for & operators in conditional blocks 2020-07-07 12:51:01 -07:00
Simon Michael
765fb732c9 debug: move command parsing debug output down to level 8 2020-07-03 11:37:01 -07:00
Dmitry Astapov
21349c161e lib: only memoize in csv reader when there are more than 15 cond. blocks 2020-06-22 12:10:47 -07:00
Dmitry Astapov
8844ef1b5f lib: put conditionalblockp pasrser first as it is a more common case 2020-06-22 12:10:47 -07:00
Dmitry Astapov
ed01e57b23 lib: tabular rules separator cannot be space 2020-06-22 12:10:47 -07:00
Dmitry Astapov
c397b90b5b lib: memoize "if blocks that assign filed f" for 50% CSV reader speedup 2020-06-22 12:10:47 -07:00
Dmitry Astapov
834e9ec104 lib: condition tables in csv rules + tests 2020-06-22 12:10:47 -07:00
Martin Michlmayr
7310951178 doc: fix typos 2020-06-16 19:13:18 -07:00
Simon Michael
684cb45e1a tweak debug levels, document some guidelines
Beginnings of a project-wide policy for what output to show at
each debug level, for now. Later we'll want more flexibility,
eg filtering by topic.
2020-06-14 17:17:09 -07:00
Simon Michael
00e9e844ac journal: the include directive now accepts a file format prefix
This works with glob patterns too, applying the prefix to each path.
This can be useful when included files don't have the standard file
extension, eg:

include timedot:2020*.md
2020-06-04 13:59:26 -07:00
Simon Michael
97f2235bca ;lib: refactor amount cost functions
Rename costOfAmount -> amountCost, costOfMixedAmount -> mixedAmountCost,
drop amountToCost, mixedAmountToCost.
2020-05-31 15:48:08 -07:00
Simon Michael
660ba7e1d9 lib: clarify zero-checking function names
isZeroAmount                -> amountLooksZero
isReallyZeroAmount          -> amountIsZero
isZeroMixedAmount           -> mixedAmountLooksZero
isReallyZeroMixedAmount     -> mixedAmountIsZero
isReallyZeroMixedAmountCost dropped
2020-05-29 18:57:22 -07:00
Simon Michael
e1ddfc3a1b lib: also infer market prices from transactions, like Ledger (#1239) (WIP) 2020-05-25 17:45:31 -07:00
Simon Michael
40c296a446 lib: rename finaliseJournal -> journalFinalise 2020-05-23 09:45:35 -07:00
Simon Michael
2c1cbb7956 ;csv: remove a comment breaking doctests 2020-05-12 18:01:05 -07:00
Simon Michael
6b2dfad98c ;csv: clarify that whitespace is not stripped when matching 2020-05-09 15:43:44 -07:00
Vladimir Sorokin
5b88bfb834 csv: Increase maximum number of postings in CSV reader from 9 to 99.
The ordering of journalfieldnames is changed in order to comply with the requirement stated in the comment:
"Names must precede any other name they contain, for the parser".
If left unchanged, "account1" would precede "account11", "account12", and so on, which would break the parsing.
With the new ordering, "account11" precedes "account1".
2020-04-26 14:52:02 -07:00
Simon Michael
784d882e01 csv: combine amount assignments better, fix 1.17.1 regression (#1226) 2020-04-16 19:04:36 -07:00
Simon Michael
b149c0ba0c ;csv: tweak the too-many-amounts error more 2020-04-16 12:59:19 -07:00
Simon Michael
3693fd4eb6 ;csv: mention doc url in too many amounts error (#1226) 2020-04-16 08:36:04 -07:00
Simon Michael
1428291dd6 don't let case of file extension break file format detection (#1225) 2020-04-15 11:31:28 -07:00
Simon Michael
3ad2e50ec5 journal: also parse Ledger-style "virtual posting costs" - (@), (@@) 2020-04-08 20:22:03 -07:00
Simon Michael
847f924828 journal: comment fix 2020-04-08 20:00:18 -07:00
Simon Michael
f4a1a31712 journal: also support lot dates ([DATE]) 2020-04-08 19:55:55 -07:00
Simon Michael
fedde7fab1 journal: also support the total lot price variants ({{}}, {{=}}) 2020-04-08 19:18:39 -07:00
Simon Michael
ea3b290dd0 journal: more flexible, Ledger-compatible parsing of lot prices
We now accept (but still ignore) a fixed or nonfixed ({=} or {}) lot
price following a posting amount, and it may appear before or after a
transaction price (@ or @@). And it may no longer appear after a
balance assertion.

Also: fixedlotpricep renamed to lotpricep, now also parses non-fixed
lot prices. A bit of amount parsers cleanup.
2020-04-08 15:26:18 -07:00
Simon Michael
3cc79a67f2 csv: don't discard explicit assignments of a 0 amount
Eg: an `amount1  $0.00` assignment was generating a posting1 with
missing amount.
2020-04-05 14:19:02 -07:00
Simon Michael
f219bba494 allow spaces between sign and number, when parsing 2020-04-04 14:18:04 -07:00
Simon Michael
9868d7f20d ;lib: update emacs code-folding config
orgstruct-mode was dropped from org 9.2, and I shouldn't have been
forcing it on anyway.

The new config allows its "replacement", outshine-mode, to do similar
code folding when you press tab on any of the lines matching
outline-regexp. But only if you patch it as mentioned at
https://github.com/alphapapa/outshine/issues/77.
Enable it by, eg: (add-hook 'haskell-mode-hook 'outshine-mode)
2020-03-28 17:09:47 -07:00
Simon Michael
e15eabdf15 csv: ignore amount if any amountN's are assigned; improve error msg
The change for hledger 1.17.1 broke one of my csv rules, where I used
`amount` but then tried to override it with `amountN`s in a
conditional block; the two clashed. Now in that situation any
`amountN`s take precedence, causing `amount` to be ignored entirely.

Also clarified the "too many non-zero amounts" error message a bit.
2020-03-25 18:09:41 -07:00
Simon Michael
4e7a893efc ;csv: cleanup 2020-03-17 17:55:32 -07:00
Simon Michael
84165f5a0c ;journal: fix tests 2020-03-17 17:48:17 -07:00
Simon Michael
2cec32cebe journal: a more verbose commodity error message with examples 2020-03-17 13:36:48 -07:00
Simon Michael
6a01b1f438 ;lib, journal: fix some "decimal point" mentions 2020-03-17 13:36:19 -07:00
Simon Michael
a1361ecc04 csv: don't force a second posting with amount1
A rewrite and simplification of the posting-generating code. The
"special handling for pre 1.17 rules" should now be less noticeable.
amount1/amount2 no longer force a second posting or explicit amounts
on both postings. (Only amount/amount-in/amount-out do that.)
Error messages and handling of corner cases may be more robust, also.
2020-03-16 16:18:58 -07: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
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
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
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
Simon Michael
3dce879731 ;timedot: fix accidentally committed debug output breaking CI 2020-02-29 11:39:16 -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
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
Simon Michael
5a2f28f3ac ;csv: refactor transactionFromCsvRecord
[ci skip]
2020-02-27 01:23:28 -08:00
Simon Michael
a87baf4b29 ;csv: refactor: rename JournalFieldName -> HledgerFieldName 2020-02-27 01:00:35 -08:00
Simon Michael
be5fc09ebb ;csv: refactor: more transactionFromCsvRecord cleanups 2020-02-27 00:41:10 -08:00
Simon Michael
93358d72b4 ;csv: refactor transactionFromCsvRecord 2020-02-27 00:30:45 -08:00
Simon Michael
02f2e3bd9b csv: refine unknown accounts more thoroughly, a better fix for #1192 2020-02-26 22:45:49 -08:00
Simon Michael
58bb0df5ab csv: undo failed #1192 fix, causing "_unknown_" accounts; refactor
Restore the old logic, while also trying to clarify this
transaction-generating code, and add some tests.
See also #1198.
2020-02-26 21:46:11 -08:00
Simon Michael
fb788a64e8 ;csv: cleanups, drop match operator for now 2020-02-26 11:52:47 -08:00
Simon Michael
d537f1fe07 csv: allow single field matching; more docs and tests 2020-02-26 08:55:55 -08:00
Simon Michael
becd891dd1 ;csv: Matcher type, simplify 2020-02-25 13:44:45 -08:00
Simon Michael
1cbce98a68 ;csv: refactor, ConditionalBlock ADT 2020-02-25 13:44:45 -08:00
Simon Michael
7ec25da13a web: edit/upload: normalise line endings, avoiding parse errors (#1194)
Renamed: writeValidJournal -> writeJournalTextIfValidAndChanged

Added comments clarifying line ending behaviour of:
add, import, appendToJournalFileOrStdout, readFilePortably,
writeFileWithBackupIfChanged, writeJournalTextIfValidAndChanged

Summary of current behaviour:

- hledger add and import commands will append with (at least some)
  unix line endings, possibly causing the file to have mixed line
  endings

- hledger-web edit and upload forms will write the file with
  the current system's native line endings, ie changing all
  line endings if the file previously used foreign line endings.
2020-02-24 14:04:44 -08:00
Simon Michael
2d90074b2e ;csv: avoid a potential display of internal placeholder (#1192)
With a multicommodity amount, the unknown account name will always be
"expenses:unknown".
2020-02-15 14:02:53 -08:00
Simon Michael
017d3355f8 csv: allow manual assignment of "expenses:unknown" again (fix #1192) 2020-02-15 13:52:59 -08:00
Jakob Schöttl
50acfc9119 Fix documentation, make ISO date format standard in some places 2020-02-09 07:26:54 -08:00
Simon Michael
b3711488a7 lib: apply canonical display styles to auto posting amounts too 2020-01-31 06:00:06 -08:00
Simon Michael
fccd88149d ;lib: refactor, clarify finaliseJournal a bit 2020-01-31 05:39:16 -08:00
Simon Michael
80ab45984b csv: also recognise .tsv, .ssv extensions; document thoroughly (#1179) 2020-01-20 12:58:47 -08:00
Jakob Schöttl
c7a88b50fb Fix timeclock format parsing
Fix presumably copy-paste errors

timeclock format has only timeclock lines or empty/comment lines

Update test format to v3, add new tests

Throw error on unexpected clock codes in timeclock format

Fix missing case in pattern matching
2020-01-12 13:17:36 -08:00
Aleksandar Dimitrov
3ead97975c Inline function, add debug statement 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
9011aaa5ba Refactor getSeparator 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
92f680875f Parse reserved words case insensitively 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
8df4e1ed83 Remove --separator command line argument 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
02d9205af7 Allow separator to be overridden from command line
This also fixes that parsing separators on the command line and the
rules file was not handled the same way.
2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
b524a088c7 Implement getting separator from rules 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
32ccc3a2b2 Add directive 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
ec0f55d18e Add missing type signature 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
b104b3b8a3 Explictly discard result 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
42d585d20b Refactor: rename variable 2020-01-05 14:45:57 -08:00
Aleksandar Dimitrov
63cda87e86 Whitespace 2020-01-05 14:45:57 -08:00
Brian Wignall
2852f9dbee Fix typos 2019-12-21 12:09:05 -08:00
Simon Michael
47567cd770 ;fix some warnings with GHC 8.10 alpha
hledger is GHC 8.10 ready!
2019-12-14 17:30:19 -08:00
Simon Michael
13e6c7dfdf lib: drop "assertion" alias for nullassertion
Perhaps we'll stick with the null* convention. Fixes a warning in Transaction.hs.
2019-12-09 06:08:03 -08:00
Simon Michael
a0b92e02b9 Revert "remove old fail compatibility imports that are obsolete ?"
They are needed with ghc <8.4, not for fail but for <> I think.
Try cleaning up again another time.
This reverts commit 318ce7eb07.
2019-12-01 11:32:51 -08:00
Simon Michael
318ce7eb07 remove old fail compatibility imports that are obsolete ? 2019-12-01 08:31:50 -08:00
Simon Michael
2b2a0b3cf8 ;tests: use "test" alias for testCase everywhere
Easier to type and read, and a little clearer to my eyes;
"testCase" implies a single case, but it can contain many assertions.
2019-11-28 15:33:33 -08:00
Simon Michael
030b633cd6 ;fix build issues with old GHC versions 2019-11-28 15:22:12 -08:00
Simon Michael
b36f6df110 tests: port all unit tests to tasty, second pass (#1090)
Hledger.Util.Tests helpers have been cleaned up, and test names are
now shown.

Tests have been cleaned up a bit. Some groups of unnamed tests have
been collapsed into a single named test containing a sequence of
assertions. The test command counts named tests, not assertions, so
the reported unit test count has dropped from 199 to 188.
2019-11-27 13:17:34 -08:00
Simon Michael
13a3542464 tests: port all unit tests to tasty, first cut (#1090)
easytest is not actively maintained and requires an old version of
hedgehog which does not support base-compat 0.11 & ghc 8.8.

This is still using the old easytest helpers, and not displaying test
names properly.
2019-11-27 12:43:43 -08:00
Dmitry Astapov
aa051a05cf lib: support generation of (un)balanced virtual postings in csv reader 2019-11-23 10:28:10 -08:00
Brian Wignall
f8269e21ab Fix some simple typos 2019-11-20 13:33:33 -08:00
Mykola Orliuk
097486a247 ;lib: re-enable doctests 2019-11-19 03:58:56 -08:00
Dmitry Astapov
c4d650e6ad lib: balance-style -> balance-type 2019-11-13 09:06:25 -08:00
Dmitry Astapov
39bc183340 lib: csv reader gets balance-style directive 2019-11-13 09:06:25 -08:00
Simon Michael
fb3c1a132c csv: fix parsing of whitespace on line after an if block (fix #1120) 2019-11-13 05:41:32 -08:00
Dmitry Astapov
94f912e558 lib: better resolution of csv field aliases ("balance" vs "balance1", etc) 2019-11-12 12:20:09 -08:00
Simon Michael
c4d7cc198a csv: finalise and check journals generated from CSV (#1000)
Invalid transactions generated from CSV will now be rejected.
I updated some csv tests to avoid this, except for 21, which
probably needs more cleanup.
2019-11-07 18:58:12 -08:00