Commit Graph

9059 Commits

Author SHA1 Message Date
Simon Michael
ec2a774b18 cli, lib: move functional tests into hledger/test/ 2020-11-16 08:47:41 -08:00
Simon Michael
1c9d704e2f ;ui: add symlink for manual tests (#1387) 2020-11-15 12:46:23 -08:00
Simon Michael
3930e06e72 ui: start gathering manual tests (#1387) 2020-11-15 12:43:29 -08:00
Simon Michael
34cae907e0 ;ui: move WIP tests into hledger-ui package 2020-11-15 12:17:00 -08:00
Simon Michael
cc2654b17b ;ui: notes (#1387) 2020-11-15 11:32:43 -08:00
Simon Michael
2448d07148 ;roi: doc: link example file 2020-11-15 11:20:52 -08:00
Simon Michael
4aecb9182e ;ui: notes (#1387) 2020-11-15 11:20:40 -08:00
Simon Michael
9337a66fb5 ui: quick fix for date: and --change breakage (#1387) 2020-11-15 10:30:58 -08:00
Simon Michael
5aedfa6b23 ;ci: windows: try using ghc 8.8.4 (& default stack.yaml)
It's better to use a stack.yaml file than just a resolver, since the
former declares extra deps we may need from time to time.
Try with ghc 8.8.4, hopefully it's good enough on windows.
2020-11-15 09:38:35 -08:00
Simon Michael
0ce9c352ec add: don't let number style disturb the default (Fixes #1378) 2020-11-14 11:08:01 -08:00
Simon Michael
e8672c4cd5 ;lib: don't catch in maybeFileModificationTime (#1390)
It's overkill.. it's understood that any IO action can
throw an exception, and it's best to handle them at top level,
eg as Yesod does.
2020-11-13 16:50:17 -08:00
Simon Michael
3651a5f5f4 ;web: tests: refactor, add a test for --forecast (#1390) 2020-11-13 16:40:33 -08:00
Simon Michael
1f94aa1628 ;lib: make file modification/reloading helpers more robust (#1390)
Work on hledger-web tests showed some bad behaviour, in particular
journalReloadIfNewer would always reload a journal read from a string
or stdout. This is now fixed, and an ugly read.show conversion has
been cleaned up.

Hledger.Cli.Utils API changes:

removed:
- journalSpecifiedFileIsNewer
- fileModificationTime

added:
- utcTimeToClockTime

changed:
- journalFileIsNewer now requires a file argument
2020-11-13 16:28:35 -08:00
Simon Michael
d4152c52f0 ;make ghci-web-test, for debugging hledger-web test suite 2020-11-13 15:03:07 -08:00
Simon Michael
5d42f1f198 ;ci: exclude underscore-disabled tests 2020-11-13 10:23:47 -08:00
Simon Michael
c7e267e314 ;web: begin work on a forecasting test (#1390) 2020-11-13 09:42:06 -08:00
Simon Michael
290428f9d4 web: re-enable the test suite; add a test for /journal (#1390) 2020-11-13 09:37:56 -08:00
Simon Michael
b76a88aa81 web: fix --forecast breakage since 1.18 (fix #1390)
Replaces the partial HashMap.! with List.elemIndex.
(Although the HashMap is more algorithmically efficient,
its API changed recently, possibly complicating building,
and efficiency is just not going to be an issue here.)
2020-11-12 17:03:39 -08:00
Simon Michael
03daf46be0 ;ui: tests readme tweak 2020-11-11 16:23:10 -08:00
Simon Michael
79430a18eb ;ui: commit old WIP hledger-ui tests 2020-11-11 16:03:52 -08:00
Simon Michael
7e667238db add missing dep for other stack snapshots; also bump GHC 8.10 to .2 2020-11-11 12:52:44 -08:00
Simon Michael
9b536f1ae4 examples: stripe csv 2020-11-11 10:25:15 -08:00
Simon Michael
70f95e9f2c ;doc: journal: clarify that it's the first-seen digit group style 2020-11-10 09:29:04 -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
a97daaf322 lib: replace pretty-show with pretty-simple
pretty-simple, already used in .ghci, will hopefully give nicer debug
output, including for values which don't have Read-able Show output.
This should mean that we can start removing custom string-like Show
instances that were a workaround for pretty-show.

We are using the latest version (4.0.0.0) to get compact output.
Here's some old pretty-show output:

 CsvRules
   { rdirectives = [ ( "skip" , "1" ) ]
   , rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
   , rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
   , rconditionalblocks = []
   }

And the new pretty-simple output:

 CsvRules
   { rdirectives=
     [ ( "skip", "1" ) ]
   , rcsvfieldindexes=
     [ ( "date", 1 ), ( "amount", 2 ) ]
   , rassignments=
     [ ( "amount", "%2" ), ( "date", "%1" ) ]
   , rconditionalblocks= []
   }

Non-compact pretty-simple output would be:

 CsvRules
     { rdirectives=
         [
             ( "skip"
             , "1B"
             )
         ]
     , rcsvfieldindexes=
         [
             ( "date"
             , 1
             )
         ,
             ( "amount"
             , 2
             )
         ]
     , rassignments=
         [
             ( "amount"
             , "%2"
             )
         ,
             ( "date"
             , "%1"
             )
         ]
     , rconditionalblocks=[]
     }

Also:

- Account's Show instance no longer converts : to _ in account names

- drop unused pretty-show dependency from hledger, hledger-ui packages

- regenerate hledger-lib with the older hpack that's shipped in stack
2020-11-10 08:06:11 -08:00
Simon Michael
84ee05baa6 Shake cabalfiles: give an error when this fails 2020-11-10 08:06:03 -08:00
Simon Michael
de42cc6706 ;doc: valuation: try to clarify effect on reports table (#1380) 2020-11-09 18:04:35 -08:00
Simon Michael
86fac4236d ;update manuals 2020-11-09 17:14:38 -08:00
Simon Michael
94b01dd19d ;update CLI usage texts 2020-11-09 17:14:38 -08:00
Simon Michael
66af4962a1 ;lib: drop a todo, seems ok 2020-11-09 17:14:38 -08:00
Simon Michael
78894d46c8 import: apply journal's commodity styles to imported amounts 2020-11-09 17:14:38 -08:00
Simon Michael
687494834b ;doc: journal: amount display style -> commodity display style 2020-11-09 17:14:37 -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
Stephen Morgan
74ce7be556 lib,ui: Make sure ReportSpec is updated when updating ReportOpts. 2020-11-09 16:30:15 -08:00
Stephen Morgan
3caf82c003 lib: Remove Empty Query constructor, which does nothing and has done so
for a very long time.
2020-11-09 11:21:40 -08:00
Simon Michael
895783ebe0 ;update manuals 2020-11-09 11:09:55 -08:00
Simon Michael
7cf7bcbf96 ;doc: period expressions: slightly clarify "every WEEKDAY" 2020-11-09 11:08:20 -08:00
Stephen Morgan
76dd4d83bc cli, docs: Add documentation, improve test comments, and clarify report titles for reports with valuation date changing over different columns. 2020-11-08 17:11:05 -08:00
Stephen Morgan
c25612b8de lib: Refactor to eliminate confusing variables. 2020-11-08 17:11:05 -08:00
Stephen Morgan
4cd3ed15a0 lib: Use simpler MultiBalanceReport valuation calculations in more cases. 2020-11-08 17:11:05 -08:00
Stephen Morgan
35a83fbd8c lib: For MultiBalanceReport, report change in valuation rather than valuation of change. 2020-11-08 17:11:05 -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
Simon Michael
0df6998b58 ;bal: doc tweak (#1283, #1379) 2020-11-05 11:07:23 -10:00
Simon Michael
b5656c5909 ;update manuals 2020-11-05 11:00:38 -10:00
Simon Michael
f615c07d0f ;update CLI usage texts 2020-11-05 11:00:38 -10:00
Simon Michael
10facfdb50 ;bal: improve -S docs (#1283, #1379) 2020-11-05 11:00:26 -10:00