Commit Graph

8302 Commits

Author SHA1 Message Date
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
43c55bf4ea ;lib: add YYYY.MM.DD to parsedate/parsedateM helpers
For a bit more consistency with simple dates. And document better.
2020-02-27 10:57:55 -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
3aebf03864 ;doc: json tweaks
[ci skip]
2020-02-26 11:48:09 -08:00
Simon Michael
a33a9d61c2 json: use a simpler, more consumable number representation (#1195)
Amounts in JSON are now rendered as simple Numbers with up to 10
decimal places, instead of Decimal objects which would in some cases
have 255 digits, too many for most JSON parsers to handle.
A provisional fix, see the comment in Json.hs for more detail.
2020-02-26 11:48:09 -08:00
Simon Michael
ca62312f55 ;examples: use field matcher in amazon example file
[ci skip]
2020-02-26 09:45:33 -08:00
Simon Michael
99aec9d476 ;csv: doc: use field matchers in manual examples
[ci skip]
2020-02-26 09:38:30 -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
fad5b438d9 ; make ghci(-*): use ghci 8.10 for modern features
[ci skip]
2020-02-25 13:44:06 -08:00
Simon Michael
4c321cee4a ;doc: update output dest/format docs; add notes about JSON
[ci skip]
2020-02-25 09:25:48 -08:00
Simon Michael
2a5f7819af bs,cf,is,bal,print,reg: support json output format 2020-02-24 17:49:53 -08:00
Simon Michael
bc9bdf8108 ;print: refactor, drop unneeded ropts tweak 2020-02-24 17:49:53 -08:00
Simon Michael
7f16d23898 ;refactor: extract --value=then error message 2020-02-24 17:49:53 -08:00
Simon Michael
8b520b5c3e bs,cf,is,bal,print,reg: reject invalid output formats 2020-02-24 17:49: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
696ec4998b ;doc: regen help/manuals
[ci skip]
2020-02-22 11:40:41 -08:00
Simon Michael
b9b5702946 ;doc: add hledger-ui note to --forecast help (#1193)
[ci skip]
2020-02-22 11:40:41 -08:00
Simon Michael
dac3920221 ;ui: drop redundant exitSuccess 2020-02-22 11:06:58 -08:00
Simon Michael
3bee9a96c9 ui: simpler forecast toggle: just visibility, no reload (#1193) 2020-02-22 11:06:58 -08:00
Simon Michael
4eba930a5c ui: don't force --auto/--forecast on; merge --future with --forecast (#1193)
Periodic transactions were always on, which meant that periodic
transactions occurring today were always shown, in future or present
mode.

Now, both periodic transactions and display of future transactions are
controlled by --forecast, and toggleable by the F key ("forecast
mode"). The --future flag has been dropped (it still works as a hidden
alias for --forecast, but is deprecated).

It seemed to also make sense to leave auto postings off by default,
like hledger.
2020-02-22 11:06:58 -08:00
Simon Michael
e8e1566083 ;bal: doc: document --transpose; remove obsolete limitation note
[ci skip]
2020-02-20 10:02:02 -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
Simon Michael
6ccda549b0 install: bump minimum stack version to 1.9.1
1.7.1 fails with deps using newer cabal file syntax I believe.

[ci skip]
2020-02-12 13:48:59 -08:00
Simon Michael
bd0753101e bs, cf, is: in csv output, subreport headings had two excess columns 2020-02-12 10:48:04 -08:00
Simon Michael
7359fdd32a ;doc:journal: edits (#1187)
[ci skip]
2020-02-11 10:38:08 -08:00
Simon Michael
86ffef1057 ;doc:journal: edits, Amount display format -> Amount display style (#1187)
Drop occasional use of "display format", prefer "display style".

[ci skip]
2020-02-11 10:23:52 -08:00
Simon Michael
9112e077ba ;doc: journal: edits (#1187)
[ci skip]
2020-02-11 10:18:39 -08:00
Simon Michael
0b2349c28f ;doc: journal: fix D example (#1187)
[ci skip]
2020-02-11 10:09:20 -08:00
Simon Michael
8ff225920a ;doc: journal: update D doc (#1187)
[ci skip]
2020-02-11 10:06:36 -08:00
Simon Michael
e4a0bdff8d journal: default commodity (D) limits display precision too (#1187)
D directives are now fully equivalent to commodity directives for
setting a commodity's display style. (Previously it was equivalent to
a posting amount, so it couldn't limit the number of decimal places.)
When both kinds of directive exist, commodity directives take precedence.
When there are multiple D directives in the journal, only the last one
affects display style.
2020-02-11 09:47:26 -08:00
Simon Michael
1741b607e2 lib: more cleanup of amount canonicalisation helpers (#1187)
Stop exporting journalAmounts, overJournalAmounts, traverseJournalAmounts.
Rename journalAmounts helper to journalStyleInfluencingAmounts.

D directives are now a little better at influencing amount
canonicalisation, eg in the updated test case.
2020-02-11 09:23:04 -08:00
Simon Michael
242bf528fd ;tests: convert default commodity tests to new format
[ci skip]
2020-02-11 08:34:22 -08:00
Simon Michael
926b01f2eb ;lib: try to clarify this amount traversing stuff (#1187) 2020-02-11 08:34:22 -08:00
Simon Michael
dad4d9b662 print: be sure to value all postings; -V/-X/--value now imply -x
Previously -B implied -x; now any of the valuation flags do.
This avoids a bug where print -V of a transaction with an implicit
commodity conversion would convert only some of its postings to value.

Also, more valuation tests.
2020-02-10 12:41:36 -08:00
Simon Michael
ae9d8d6e56 ;add then and t to --value's error message
[ci skip]
2020-02-10 12:40:02 -08:00
Mateus Furquim
05814e6fe7 Fix extra $ symbol 2020-02-10 10:18:20 -08:00
Simon Michael
af73547615 ;print, register: doc: some corrections to --value=then's effects
[ci skip]
2020-02-10 08:40:50 -08:00