Stephen Morgan
c6beb581a1
pkg: Use maximumBound instead of maximumDef to avoid deprecation
...
warnings in safe-0.3.18.
2021-11-14 21:49:58 -10:00
Stephen Morgan
ff0132df28
dev: Use realLength from doclayout instead of strWidth and textWidth. ( #895 )
...
This gives us more accurate string length calculations. In particular,
it handles emoji and other scripts properly.
2021-11-11 18:29:50 -10:00
Stephen Morgan
1bc04685b7
pkg: Drop base-compat-batteries dependency.
...
Our supported stackage versions are now new enough that we don't need
any of the compatibility features anymore.
2021-10-31 07:56:07 -10:00
Simon Michael
7af2e79465
;cabal: update cabal files
2021-10-03 22:56:02 -10:00
Simon Michael
b857307f64
;cabal: update cabal files
2021-09-24 12:22:15 -10:00
Simon Michael
1b020e004b
;cabal: update cabal files
2021-09-21 15:34:23 -10:00
Stephen Morgan
315e92c08b
pkg!: Break functions related to balancing out into a separate module,
...
Hledger.Data.Balancing.
Both Hledger.Data.Transaction and Hledger.Data.Journal are massive
module with many things in them. Placing the balancing functions, which
are conceptually related, into a separate module helps keep things more
modular.
It also reduces the risk of import cycles, as right now balancing
functions cannot depend on any functions defined outside of
Hledger.Data.Transaction or Hledger.Data.Journal, respectively, if those
modules require basic transaction or journal functions.
2021-09-19 17:10:38 -10:00
Stephen Morgan
1c402edb06
pkg!: Remove Hledger.Data.Commodity module.
...
There are no modules which depend on Hledger.Data.Commodity which don't
also depend on Hledger.Data.Amount. Though Hledger.Data.Amount is a very
large module and might be broken up, Hledger.Data.Commodity only defines
three very small functions which are used, and so can be combined with
little cost.
2021-08-30 15:57:33 -10:00
Stephen Morgan
a0f9d7560f
pkg!: Remove Hledger.Utils.Color module.
...
This module was only used in one place in Hledger.Data.Amount. The code
has been moved directly into Hledger.Utils.
2021-08-30 15:57:33 -10:00
Stephen Morgan
f1994d5aa8
pkg!: Remove Hledger.Utils.Tree module.
...
This very small module was only used in Hledger.Data.Account, so the
code was moved into that module instead.
2021-08-30 15:57:33 -10:00
Stephen Morgan
1ed06f3bc8
pkg!: Remove Hledger.Utils.UTF8IOCompat module.
...
This module does nothing beyond define error' and usageError, which have
been moved to Hledger.Utils.
2021-08-30 15:57:33 -10:00
Stephen Morgan
c784da3d0c
dev: lens: Create a Template Haskell helper for generating classy lenses
...
for hledger options.
This works for BalancingOpts, InputOpts, ReportOpts, ReportSpec, and CliOpts.
2021-08-28 19:12:04 -10:00
Stephen Morgan
4576f8effd
pkg!: Migrate the last of old-time over to time, changing ClockTime to
...
POSIXTime.
This eliminates old-time, which has been deprecated for a while, from
our dependencies.
This introduces a slight incompatibility, as a small number of functions
now take/return POSIXTime instead of ClockTime. Generally you will be
using the current time, in which case you should use getPOSIXTime from
Data.Time.Clock.POSIX instead of getClockTime.
utcTimeToClockTime has been removed, as it is now equivalent to
utcTimeToPOSIXSeconds from Data.Time.Clock.POSIX.
2021-08-19 17:47:19 -10:00
Arjen Langebaerd
3426030a91
feat: added commodity style commandline option
2021-08-17 22:05:29 -10:00
Simon Michael
6afc5ce6b2
;cabal: update cabal files
2021-08-03 21:05:29 -10:00
Simon Michael
95de5a878a
;cabal: update cabal files
2021-08-03 08:00:22 -10:00
Stephen Morgan
4e9db4e377
dev: lens: Introduce lenses for ReportOpts and ReportSpec.
2021-07-30 09:27:39 -10:00
Stephen Morgan
f673e7c2eb
lib!: lib,web: Remove unused TransactionReport. Move the useful utility
...
functions to AccountTransactionsReport.
If you use transactionsReport, you should either use entryReport if you
don't require a running total, or using accountTransactionsReport with
thisacctq as Any or None (depending on what you want included in the
running total).
2021-07-22 19:00:37 -10:00
Simon Michael
861c34484e
test: skip doctests with GHC 9 for now ( #1503 , #1615 )
2021-07-20 20:38:39 -10:00
Simon Michael
3ef9958041
test: doctest cleanups, use latest
2021-07-20 20:38:39 -10:00
Simon Michael
9aac520edd
deps: allow megaparsec 9.1
2021-07-20 20:38:39 -10:00
Simon Michael
26bc5e6df3
;update cabal files
2021-06-28 22:38:12 -10:00
Simon Michael
b681cde62d
;update cabal files
2021-06-03 14:08:47 -10:00
Simon Michael
d3b20675d0
tools: really regenerate the cabal files with stack's hpack
...
hpack has dropped the hash at last, this should help a lot to reduce
edit conflicts and commit noise.
2021-05-14 16:14:06 -10:00
Simon Michael
41c8e1f6ef
;regen cabal files with latest stack's hpack (0.34.4)
2021-05-14 08:17:56 -10:00
Simon Michael
eb2da22f63
;update cabal files
2021-04-04 08:03:57 -10:00
Simon Michael
d0940bf8ce
;update cabal files
2021-03-29 08:19:54 -07:00
Simon Michael
ae57e76cb3
;update cabal files
2021-03-12 06:59:30 -08:00
Simon Michael
5573538fdc
;update cabal files
2021-03-10 13:50:50 -08:00
Simon Michael
00beaf1423
;update cabal files
2021-03-10 08:24:59 -08:00
Simon Michael
f7bbb39a77
;regenerate cabal files with the hpack version in current stack
...
To minimise warnings. They got regenerated by a commit for #1471 .
2021-02-18 13:42:40 -08:00
Arnout Engelen
ad2ab3c823
Make sure to round up for the 'to' date
2021-02-17 09:05:13 -08:00
Simon Michael
70bcd0a249
;update cabal files ( #1457 , #1458 )
2021-01-13 10:01:55 -08:00
Stephen Morgan
541c4fc18c
lib,cli: Use Text for CSV values.
2021-01-02 15:08:09 +11:00
Simon Michael
62660577c3
;update cabal files
2020-12-24 10:22:16 -08:00
Simon Michael
df5c755d96
;lib, cli: remove old unused parsec dependency
2020-12-15 08:33:05 -08:00
Simon Michael
9afccde16f
;update cabal files
2020-12-14 12:31:01 -08:00
Simon Michael
5507cb07ef
;update cabal files
2020-11-30 15:19:21 -08:00
Simon Michael
221a6d9001
lib: new more robust price lookup implementation, fixing #1402
2020-11-23 18:08:41 -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
Stephen Morgan
a620ab9666
lib: Expand Tabular.AsciiWide to allow multiline cells, either top or bottom aligned.
2020-11-04 14:25:21 +11:00
Simon Michael
90adb95983
;update cabal files
2020-09-07 12:17:35 -07:00
Simon Michael
e95a222ad2
;update some cabal files
2020-09-01 20:39:02 -07:00
Stephen Morgan
2cd7877c46
lib: Remove unnecessary NFData instances.
2020-08-31 15:41:36 +10:00
Simon Michael
403cb457b7
;cabal files
2020-07-14 12:09:45 -07:00
Simon Michael
e090e0f949
add lower bound needed for aeson, to help cabal ( #1268 )
2020-06-23 14:55:42 -07:00
Stephen Morgan
0dcfddd201
lib: multiBalanceReport: Break calculateAccountChanges and acctChangesFromPostings separate functions.
2020-06-22 21:43:30 +10:00
Simon Michael
24996caaeb
bump to dev version
2020-06-21 10:35:52 -07:00
Simon Michael
729e87066f
;cabal files
2020-06-07 13:00:40 -07:00
Simon Michael
a54376e204
;regen cabal files
2020-06-06 17:20:13 -07:00
Simon Michael
d963944c99
lib: add jsonPrettyText helper, depend on aeson-pretty
2020-06-04 15:12:57 -07:00
Simon Michael
6935c46b2c
;regen cabal files with latest stack/hpack (2.3.1/0.33.0)
2020-05-02 17:31:35 -07:00
Simon Michael
741bfdc462
;update cabal file
2020-03-30 15:28:42 -07:00
Simon Michael
d868a7e170
;update cabal files
2020-03-22 10:49:49 -07:00
Simon Michael
40d3a5c1f4
;update cabal files
2020-03-22 09:28:10 -07:00
Simon Michael
2b15418ddd
;update cabal files
2020-03-22 09:08:37 -07:00
Simon Michael
612a4d1c0e
;gen cabal
2020-03-19 11:38:05 -07:00
Simon Michael
96b4f0be4f
require newer Decimal, math-functions, fixing inconsistent rounding
...
Decimal 0.5.1+ changed to banker's rounding (round to nearest even
number), and math-functions 0.3.3.0 (used by roi) fixed various
precision-related issues. Now we require the latest versions of these.
This was causing some functional test failures when building with old
GHCs/snapshots.
2020-03-19 10:10:55 -07:00
Simon Michael
1883ff4499
bump to dev version
2020-03-07 15:06:18 -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
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
6dfdc2bee8
;one more cabal file update. Not in hackage tarballs.
2020-03-01 17:42:20 -08:00
Simon Michael
ba44d00bed
;bump version to 1.17
2020-03-01 17:29:01 -08:00
Simon Michael
7011160bfd
;allow base 4.14/GHC 8.10
2020-01-26 08:12:25 -08:00
Simon Michael
445e8aa3cc
add support for megaparsec 8 ( #1175 )
2020-01-14 09:54:06 -08:00
Simon Michael
cfb2a61ae1
;bump to dev version; bump man page dates
...
[ci skip]
2020-01-05 09:04:50 -08:00
Simon Michael
46d516e7a3
move JSON instances from hledger-web to hledger-lib
2019-12-16 17:17:00 -08:00
Simon Michael
093dca570d
lib, cli, web: bump version to 1.16.1
2019-12-03 08:41:44 -08:00
Simon Michael
0ce890e5ff
lib, cli, web: drop unnecessary mtl-compat dependency
2019-12-02 08:23:00 -08:00
Simon Michael
6daebf60ea
;regen cabal files
2019-12-01 10:05:37 -08:00
Simon Michael
4b66bc2ed9
lib: disable doctest suite again till we can run it with cabal ( #1139 )
2019-12-01 09:13:18 -08:00
Simon Michael
caf8cdf0ca
;test: consistent singular naming for test suites and files
2019-11-29 06:35:29 -08:00
Simon Michael
ebedae01cf
;cabal: remove special cases for unsupported GHC 7
2019-11-28 14:59:18 -08:00
Simon Michael
08951ac3e8
;cabal: add ghc 8.8 to tested-with
...
[ci skip]
2019-11-28 14:59:10 -08:00
Simon Michael
ca4fade4af
;tests: re-add hledger-lib's tests to the cabal file, as unittests
2019-11-28 14:45:10 -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
Mykola Orliuk
f82ed83153
;lib: re-enable easytests
2019-11-19 03:58:56 -08:00
Mykola Orliuk
097486a247
;lib: re-enable doctests
2019-11-19 03:58:56 -08:00
Simon Michael
24ce2686f4
drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles
...
in JournalReader.hs. If you still need this, feel free to work on
those errors. But hopefully not, because dropping base 4.8 should
permit some code cleanups.
2019-09-14 03:45:37 -07:00
Simon Michael
977d4f009e
lib, cli: disable hledger-lib test suites, hledger benchmark suite
...
by default. hledger-lib's doctests and easytests test suites (each ?)
require an additional slow rebuild of hledger-lib and are not worth
the time, energy and carbon. hledger's test suite runs those same
easytest tests (but not the doctests).
2019-09-14 03:45:37 -07:00
Simon Michael
f65fc47185
;bump version to 1.15.99
...
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
acd7010e5a
;doc: "curses-style interface" -> "terminal interface"
...
[ci skip]
2019-09-10 18:14:16 -07:00
Simon Michael
499e20c0b2
lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11
...
fail is moving out of Monad and into it's own MonadFail class.
This will be enforced in GHC 8.8 (I think).
base-compat/base-compat-batteries 0.11.0 have adapted to this,
and are approaching stackage nightly
(https://github.com/commercialhaskell/stackage/issues/4802 ).
hledger is now ready to build with base-compat-batteries 0.11.0, once
all of our deps do (eg aeson). We are still compatible with the older
0.10.x and GHC 7.10.3 as well.
For now we are using both fails:
- new fail (from Control.Monad.Fail), used in our parsers, imported
via base-compat-batteries Control.Monad.Fail.Compat to work with
older GHC versions.
- old fail (from GHC.Base, exported by Prelude, Control.Monad,
Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's
Test, since I couldn't find their existing fail implementation to update.
To reduce (my) confusion, these are imported carefully, consistently,
and qualified everywhere as Fail.fail and Prelude.fail, with clashing
re-exports suppressed, like so:
import Prelude hiding (fail)
import qualified Prelude (fail)
import Control.Monad.State.Strict hiding (fail)
import "base-compat-batteries" Prelude.Compat hiding (fail)
import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail
2019-09-08 17:13:47 -07:00
Simon Michael
cd5af48165
lib, cli: bump version to 1.15.2
2019-09-05 15:35:19 -07:00
Simon Michael
90e5a5f95b
;lib, cli: don't forget to commit the cabal file
2019-09-02 12:31:06 -07:00
Simon Michael
29f7654c3a
bump versions to 1.15
2019-09-01 08:53:06 -07:00
Simon Michael
c14f22b975
;lib: depend on timeit
...
Allows easy benchmarking at ghci prompt and I expect will be used for
reporting timing info later.
2019-08-01 18:31:39 +02:00
Simon Michael
a5372168bc
;lib: suppress doctest failures with GHC < 8.2
...
[ci skip]
2019-07-14 04:40:07 -07:00
Simon Michael
6f2f8d7638
;deps: a better fix for nubSortBy with ghc 7.10, 8.0
...
nubSortBy and nub . sortBy are not equivalent, it seems.
I didn't notice the failing valuation func tests.
2019-07-13 00:13:33 -07:00
Simon Michael
503d21ef77
;lib: also update fgl bounds in cabal file
2019-07-13 08:08:36 +01:00
Simon Michael
a6e9b11a54
;cabal: bump tested-with, regen cabal files
...
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
69defd497f
;lib: refactor: Data.Prices -> Data.Valuation
2019-06-14 19:04:09 -07:00
Simon Michael
baa15d9bea
;lib: rename MultiBalanceReports.hs -> MultiBalanceReport.hs
2019-06-14 11:45:25 -07:00
Simon Michael
ce0354ddbe
lib: -X/--exchange now supports indirect price chains ( #131 )
...
Adds fgl as a dependency.
2019-06-13 15:50:01 -07:00
Simon Michael
34a0ad00b1
;lib: encapsulate Prices db
2019-05-25 05:29:34 -07:00
Simon Michael
20bc386b80
restore TransactionsReport
...
hledger-web's register chart uses it, I didn't see it
because it's called from a hamlet template.
2019-05-23 22:15:40 -07:00
Simon Michael
54c1529638
lib: drop TransactionsReport, BalanceHistoryReport
...
They seem unused.
2019-05-23 21:55:19 -07:00
Simon Michael
04a30fa084
lib: TransactionsReport/AccountTransactionsReport cleanup
...
Split them into separate files, rename journalTransactionsReport to
transactionsReport.
2019-05-23 21:55:19 -07:00
Simon Michael
c9e16b83ef
; propagate dev version bump
2019-03-20 17:13:59 -07:00
Hans-Peter Deifel
489b7fd870
Constrain easytest dependency to fix cabal build
...
This constraints the easytest dependency to <0.3, because hledger and
hledger-lib currently don't build with 0.3.
Of course the better solution would be to fix the build errors, but easytest-0.3
is not even in stackage nightly yet and I just need it to build right now :-)
2019-03-15 12:33:16 -07:00