Commit Graph

260 Commits

Author SHA1 Message Date
Simon Michael
889767f1bd ;bump tested-with
[ci skip]
2020-03-01 17:28:43 -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
87d0491103 ;bump version to 1.16 2019-12-01 10:03:58 -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
c7574b8005 ;lib, cli: test suite cleanups, don't run hledger-lib tests twice 2019-11-29 06:11:25 -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
Simon Michael
f0b2eed6c2 ;lib: clarify test suites recompilation workaround (#1125)
[ci skip]
2019-11-19 04:10:46 -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
08e011af37 lib: note doctests fix (omitted from 1.15), bump to 1.15.1 2019-09-02 12:25:29 -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
e560afccd2 ;lib: package.yaml comment cleanups
[ci skip]
2019-07-15 17:18:28 +01: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
40dd5e41cb ;deps: bump fgl lower bound to fix ghc 7, 8.0 builds 2019-07-12 15:25:19 -07: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
Simon Michael
68e5c41d52 bump version, manual dates
[ci skip]
2019-03-01 16:11:15 -08:00
Simon Michael
9bb6f75bc8 update tested-with, add ghc 8.6
[ci skip]
2019-03-01 15:10:42 -08:00
Simon Michael
94753f1cea bump to dev version 2019-02-08 11:33:44 -08:00
Simon Michael
a18e4e9773 hpack: drop quotes from version: field, apparently not required
[ci skip]
2019-02-05 06:35:40 -08:00
Simon Michael
6553353bc5 lib, cli: bump version to 1.13.1 2019-02-02 20:21:35 -08:00
Simon Michael
86d5652e53 stop depending on here due to slow haskell-src-meta/stackage issues
Using file-embed or ordinary literals instead, for now.
2019-02-02 16:34:10 -08:00
Simon Michael
40d1572359 bump version to 1.13 2019-02-01 17:19:19 -08:00
Simon Michael
550aa408eb lib: refactor, add embedFileRelative 2019-01-26 15:52:58 -08:00
Simon Michael
01c6f3e665 doc: changelogs: rename to CHANGES.md
These have been an adhoc mixture of plain text, markdown and org, and
used in each mode at different times. They will now have a definite
format, which for now is markdown. Org was another contender.

[ci skip]
2019-01-25 18:12:33 -08:00
Simon Michael
0ed3ec08fa bump version to 1.12.99 2019-01-05 07:35:54 +00:00
Simon Michael
67d7c82e9f bump version to 1.12 2018-12-02 17:20:34 -08:00
Peter Simons
4e8f2c11d3 Allow building with base-4.12.
The build succeeds just fine and all test suites pass, too.
2018-10-24 10:35:11 -07:00
Alex Chen
2cbc41e088 Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
Alex Chen
e45070aab5 Update dependency bounds for megaparsec 2018-10-09 11:15:33 -06:00
Simon Michael
ff2a546319 bump version to 1.11.99 2018-10-06 09:42:12 -10:00
Simon Michael
2c9c4ebf79
Merge branch 'master' into ExceptTLayer 2018-10-04 21:04:02 -10:00
Simon Michael
b798c48040 bump version to 1.11 2018-09-30 20:07:45 -10:00
Alex Chen
3d2584d869 lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00
Simon Michael
03acd40668 lib, cli, ui, web: upper bound to avoid megaparsec 7 for now 2018-09-20 20:48:47 -10:00
Simon Michael
23bdac41d9 csv: merge lucamolteni's cassava/custom separators (squashed) (#829)
commit 5ba464de76
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:54:12 2018 +0200

    Fix CI 2

commit f060ae9449
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:30:08 2018 +0200

    Fix CI build

commit af0719a33b
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:19:01 2018 +0200

    Fix rebase

commit 1a24ddfa54
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Aug 10 16:25:24 2018 +0200

    Fixed some GHC warnings

commit 1ac43398a3
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Aug 10 16:14:49 2018 +0200

    Fix .cabal

commit 422456b925
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jul 1 22:56:20 2018 +0200

    Removed to-do list

commit 1118b762e4
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jul 1 22:53:28 2018 +0200

    Better test

commit 1146ed0941
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jul 1 15:32:28 2018 +0200

    Fix parsing

commit 4fc2374b2b
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 22:11:11 2018 +0200

    Parsing of separator

commit f7a61737f1
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 14:29:23 2018 +0200

    Almost separator in options

commit ac8841cf3b
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 14:16:59 2018 +0200

    Separator in parseCSV

commit 92a8b9f6ba
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 13:30:41 2018 +0200

    separator option

commit ec417a81ae
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 10:45:26 2018 +0200

    Removed one qualified import

commit 8b2f386c2f
Author: Luca Molteni <volothamp@gmail.com>
Date:   Wed Jun 20 14:01:12 2018 +0200

    Removed string conversions

commit a14d0e099e
Author: Luca Molteni <volothamp@gmail.com>
Date:   Wed Jun 20 10:23:20 2018 +0200

    custom delimiter in cassava

commit 694d48e2bc
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 17:51:54 2018 +0200

    Use Text.getContents - remove UTF-8 compatibility library

commit a7ada2cc60
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 17:49:34 2018 +0200

    todo list

commit 58ec47d398
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 17:45:22 2018 +0200

    CSV test now has unicode characters

commit b7851e94c3
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 16:59:39 2018 +0200

    Use decode from Text

commit 79f59fd28c
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 13:28:57 2018 +0200

    Use Text and Lazy Bytestring

commit 470c9bcb8d
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 15:30:22 2018 +0200

    Use megaparsec error

commit f978848ba2
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 15:22:07 2018 +0200

    Renamed qualify and remove Parsec

commit 152587fde2
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 15:12:36 2018 +0200

    Use cassava mega parsec

commit cf281577a3
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 14:01:47 2018 +0200

    Removed Data.Vector

commit 1272e8e758
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 12:16:18 2018 +0200

    Removed Parsec ParseError

commit ae07f04313
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 12:06:14 2018 +0200

    Type sinonim for ParsecError

commit 8e15b253c1
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 11:16:08 2018 +0200

    Replaced with typeclasses

commit 1ed46f9c17
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 11:01:33 2018 +0200

    Replaced Text/CSV with Cassava

commit 362f4111b5
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 10:34:37 2018 +0200

    Use cassava parsin instead of Text/CSV

commit 83e678e371
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 08:22:51 2018 +0200

    Text CSV error messages

commit f922df71d2
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 21:45:20 2018 +0200

    Better types

commit edd130781c
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 21:34:59 2018 +0200

    Conversion to Text CSV type

commit 0799383214
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 16:06:21 2018 +0200

    First function with cassava

commit e92aeb151f
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 13:47:34 2018 +0200

    Added cassava as dependency

commit 5ea005c558
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 13:18:47 2018 +0200

    Better .gitignore for multi idea modules
2018-09-07 12:34:51 -07:00
Simon Michael
65807162b3 tests: make doctests suite run with old ghcs
(Require a newer doctest which supports --fast and --verbose.)
2018-09-07 12:34:51 -07:00
Simon Michael
d893ed64a5 lib: drop hunittests test suite & HUnit dependency 2018-09-04 13:53:59 -07:00
Simon Michael
582e088325 lib: tests/ -> test/ 2018-08-18 15:20:15 +01:00
Simon Michael
dab75d98c8 lib: expectEq', expectParseEq: pretty-print compared values (#812) 2018-08-16 06:31:37 +01:00
Simon Michael
50d666d5a0 test: refactor, document, organise easytests, port amountp tests (#812) 2018-08-15 19:58:07 +01:00
Simon Michael
ed93807ee5 lib: doctests: add --verbose and --slow flags to executable
--slow turns off doctest's --fast flag, which skips reloading between
  tests.
--verbose shows progress output as tests are run, if doctest 0.16.0+
  is installed (and I believe will be harmless otherwise)
2018-08-03 19:05:14 +01:00
Simon Michael
0135f8c863 tools: make doctest: use default snapshot/ghc 8.4, mention mac workaround 2018-08-03 19:05:11 +01:00
Simon Michael
72acb86299 cabal: bump tested-with declarations 2018-08-02 08:25:49 +01:00
Simon Michael
a49b1cd3bb lib: AutoTransaction.hs -> TransactionModifier.hs, PeriodicTransaction.hs 2018-07-30 20:22:39 +01:00
Joseph Weston
0ade323d2a lib: use glob matching if filename in 'include' directive is a glob pattern 2018-07-26 06:12:31 +01:00
Simon Michael
d62f082bce bump version to 1.10.99 (dev) 2018-07-04 13:32:42 +01:00
Simon Michael
6242b1d784 bump version to 1.10 2018-06-30 22:08:02 +01:00
Simon Michael
7ebecb1ab8 use newer hashtables to fix an instance warning with doctests/ghc 7 (#794) 2018-06-04 17:33:17 -07:00
Simon Michael
0ce9c5728a switch to base-compat-batteries to fix ghc 7.10 support (#794)
base-compat-batteries provides the same API across more ghc versions
than base-compat does, at the cost of more dependencies. Eg it exports
Prelude.Compat ((<>)) with ghc 7.10/base 4.8, which we expect.
My belief is that several of our deps already require it so the added
cost is not too great. We should probably go back to base-compat when
possible though, eg when we stop supporting ghc 7.10.
2018-06-04 17:32:42 -07:00
Simon Michael
328b2dabfe require latest base-compat, might as well (#794) 2018-06-04 17:32:32 -07:00
Peter Simons
8c0c168cd6 Fix the build of hledger-lib with ghc 8.0.x and base-compat 0.10.x.
We don't need to import Data.Monoid because Prelude.Compat exports "<>"
already. In fact, importing that module causes build failures:

    Hledger/Read/Common.hs:725:62: error:
        Ambiguous occurrence ‘<>’
        It could refer to either ‘Sem.<>’,
                                 imported from ‘Prelude.Compat’ at Hledger/Read/Common.hs:97:1-39
                                 (and originally defined in ‘Data.Semigroup’)
                              or ‘Data.Monoid.<>’,
                                 imported from ‘Data.Monoid’ at Hledger/Read/Common.hs:110:1-18

Fixes https://github.com/simonmichael/hledger/issues/794.
2018-06-04 20:58:58 +02:00
Simon Michael
66fbdc5d61 lib: enable doctests on mac again, note workaround, fix link
[ci skip]
2018-06-01 07:18:12 -07:00
Alex Chen
b245ec7b3d lib: remove the megaparsec compatability module 2018-05-22 12:16:46 -07:00
Alex Chen
c4ba7542d7 lib: use megaparsec 6 for all supported ghc versions 2018-05-22 12:16:46 -07:00
Mykola Orliuk
64c7eb78f4 GHC 8.0 compatibility 2018-05-13 14:41:08 -07:00
Simon Michael
43287a3e26 budget: use a new first-class BudgetReport for --budget 2018-04-23 18:52:28 -07:00
Simon Michael
4b3c6afe75 lib: new generic PeriodicReport, and some report-related type aliases 2018-04-23 18:52:28 -07:00
Simon Michael
30186e35ea cabal: update tested-with 2018-04-20 05:24:09 -07:00
Simon Michael
4ea02bf1cb bump version to 1.9.99 2018-04-04 17:53:38 +01:00
Simon Michael
2db2010e40 bump version to 1.9, bump manual date 2018-03-31 19:15:24 +01:00
Simon Michael
d403b003c1 lib: disable doctests when building with ghc 8.4 on mac
[ci skip]
2018-03-26 18:23:46 +01:00
Simon Michael
d1a55e5f76 tighten base upper bound, avoid breakage with next major GHC 2018-03-22 16:43:40 +00:00
Peter Simons
a1ddecd8f5 hledger-lib: remove redundant dependency declaration on semigroups
This dependency is already expressed conditionally for GHC versions older than
8.0.x, which is the proper way to do it since newer versions have that code in
base already.
2018-03-22 16:08:17 +00:00
Simon Michael
7635f56a5c lib: add conditional dep to package.yaml and rest of cabal file 2018-03-12 23:27:23 +00:00
Simon Michael
6aa35b5cb8 lib: move easytest tests to lib, depend on released version 2018-03-05 17:27:13 -08:00
Simon Michael
92d48ed0a2 lib/ui/web/api: move manuals to extra-source-files in these pkgs too
[ci skip]
2018-01-26 11:49:26 -08:00
Simon Michael
bc3f5c476c bump version to 1.5.99 2018-01-04 10:15:03 -08:00
Simon Michael
52c3884ab7 bump version strings & bounds to 1.5 2017-12-31 10:20:48 -08:00
Simon Michael
667a1d7e59 remove upper bounds on all but hledger* and base
It's rare that my deps break their api or that newer versions must be avoided,
and very common that they release new versions which I must tediously
and promptly test and release hackage revisions for or risk falling out
of stackage. Trying it this way for a bit.
2017-12-31 09:13:50 -08:00
Simon Michael
26d1f10ef1 consistent spacing in bounds 2017-12-31 09:05:39 -08:00
Simon Michael
d3363d09d8 allow megaparsec 6.4.0 2017-12-31 08:47:59 -08:00
Simon Michael
aa06d0f9bd lib, cli, ui: allow ansi-terminal 0.8 2017-12-29 12:41:22 -08:00
Simon Michael
efdee17aae bump version strings & lower bounds to 1.4.99 2017-12-22 10:13:37 -08:00
Simon Michael
761fc31eb8 lib,cli,ui,web: allow megaparsec 6.3.0 2017-12-15 12:32:11 -08:00
Simon Michael
c18a75ecfe fix data-files paths in yaml/cabal files 2017-12-06 18:45:01 -08:00
Dmitry Astapov
cf0dfa9f58 lib: add dependecy on 'extra' package
It has a collection of useful list processing functions.
2017-11-29 07:08:18 -08:00
Simon Michael
302723b1be lib,cli,ui,web: allow megaparsec 6.2
Forgot to commit this last time.

[ci skip]
2017-10-01 09:49:51 -10:00
Simon Michael
4a49b86175 bump version strings & lower bounds to 1.4 2017-09-30 11:44:53 -10:00
Simon Michael
5ae011b249 lib: add missing parsec lower bound, possibly related to #596, fpco/stackage#2835
[ci skip]
2017-09-06 07:32:13 -07:00
Simon Michael
831ab78a74 lib, cli, ui: allow ansi-terminal 0.7 2017-08-26 07:47:34 -07:00
Simon Michael
b324d3de95 lib, cli, ui, web: drop oldtime flag, require time 1.5+
Should be safe to do now, I hope.
2017-08-25 16:56:41 -07:00
Simon Michael
3778db9ec7 lib: similar package.yaml whitespace 2017-08-25 16:53:41 -07:00
Simon Michael
230dfea207 update tested-with GHC versions 2017-08-25 16:40:29 -07:00
Simon Michael
6448053448 lib, cli, web: remove ghc < 7.6 support 2017-08-25 16:36:17 -07:00
Simon Michael
d9e72d389e lib: fix a deps problem in package.yaml breaking test suite with ghc 8.2 2017-08-25 14:39:35 -07:00
Hans-Peter Deifel
37d7c248e2 Allow megaparsec-6.1 2017-08-24 15:56:49 -07:00
Simon Michael
5706353881 bump version strings & lower bounds to 1.3.99 2017-07-31 14:02:35 -07:00
Simon Michael
dbef13b13f lib: more consistent deps, fixing doctests with Cabal 2 (fixes #596) 2017-07-31 07:09:06 -07:00
Simon Michael
d7d5f8a064 add support for megaparsec 6 (fixes #594)
Older megaparsec is still supported.
Also cleans up our custom parser types,
and some text (un)packing is done in different places
(possible performance impact).
2017-07-27 19:20:46 -07:00
Simon Michael
af952532c9 bump package versions to 1.3 2017-06-30 20:57:47 +01:00
Simon Michael
af11cd6243 bump package versions to 1.2.98 (1.3 alpha) 2017-06-06 09:21:51 -07:00
Simon Michael
2de0109953 allow megaparsec 5.3 2017-04-29 17:16:27 -07:00
Simon Michael
9a86c9ee52 lib: begin supporting colour
Add some basic helpers for working with ANSI colour codes,
and make strWidth and the various string layout functions aware of them.
2017-04-25 18:27:25 -07:00
Simon Michael
1850fb732f bump version to 1.2 2017-03-31 17:58:11 -07:00
Simon Michael
e8dcef5b5f lib: disable WIP ledger4 parser, lighten dependencies 2017-03-29 21:06:26 -07:00
Peter Simons
e2c8a6ae42 Use more accurate license tag in Cabal file. 2017-03-15 23:07:57 +00:00
Justin Le
6bccb847d5 Added a simple 'showMarketPrice' function to show market price directives in a journal-compatible way (#505)
* added showMarketPrice and Hledger.Data.MarketPrice module

* showMarketPrice implemented using showDate

* attempted to add tests to Hledger.Data.MarketPrice

* moved MarketPrice test to Hledger.Read.JournalReader; fixed documentation on MarketPrice; added MarketPrice module to package.yaml
2017-02-03 18:20:00 -08:00
Simon Michael
a30583f6a1 allow megaparsec 5.2 #503 2017-02-01 16:24:37 -08:00
Mykola Orliuk
7437c96ff6 Make hledger-rewrite tool suitable for re-factoring original journals (#490)
* cli: fix bug in pivot for postings without tag

Without this fix for postings without tag query checked effective
account which is always empty text ("").

* rewrite: inherit dates, change application order

For budgeting it is important to inherit actual date of posting if it
differs from date of transaction. These dates will be added
as a separate line of comment.

More natural order of rewrites is when result of first defined one is
available for all next rewrites.

* rewrite: factor out Hledger.Data.AutoTransaction

* rewrite: add diff output

With this option you can modify your original files without loosing
inter-transaction comments etc. I.e. you can run:

hledger-rewrite --diff Agency \
  --add-posting 'Expenses:Taxes  *0.17' \
  | patch

As result multiple files should be updated.
Also it is nice to review your changes using colordiff instead of
patch.

* lib: track source lines range for journal

* doc: auto entries and diff output for rewrite
2017-01-20 07:33:24 -08:00
Simon Michael
ce69f17db6 lib: fix a potential build failure: add Ledger.Parse.Text to package.yaml 2017-01-16 13:52:30 -08:00
Simon Michael
631a95ba9c bump version to 1.1.98 (1.2 alpha) 2017-01-05 10:43:06 -08:00
Simon Michael
14c8e4d8f7 bump version to 1.1 2016-12-31 07:54:47 -08:00
Johannes Gerer
45401e538e Balance Assignments and accounts resetting (#438)
* Changed behavior of `readJournalFiles` to be identical to `readJournalFile` for singleton lists

* Balance Assertions have to be simple Amounts

* Add 'isAssignment' and 'assignmentPostings' to Hledger.Data.Posting and Transaction

* Implemented 'balanceTransactionUpdate', a more general version of 'balanceTransaction' that takes an update function

* Fixed test cases.

* Implemented balance assignment ("resetting a balance")

* Add assertions to show function

* updated the comments

* numbering is not needed in journalCheckBalanceAssertions

* remove prices before balance checks

* rename functions
2016-12-10 07:04:48 -08:00
Simon Michael
6a36efb7ca set base lower bound to 4.8 to enforce GHC 7.10+
hledger-lib had a valid install plan with GHC 7.8, but requires GHC 7.10 to compile (currently).
Require base 4.8+ everywhere so that stack/cabal will enforce a supported GHC version early.

Also, bump hledger-ui's "stability" to "stable".
2016-11-16 13:14:02 -08:00
Simon Michael
6db6f9aa2c lib: fix hunit tests 2016-11-12 14:13:55 -08:00
Simon Michael
2b310029bf file list fixes 2016-11-12 13:53:55 -08:00
Simon Michael
f5ee020b88 lib: add a copy of the ledger4 parser
This adds some or all of these as new dependencies for hledger-lib:
parsers, parsec, attoparsec, trifecta
2016-11-12 10:50:57 -08:00
Simon Michael
6d0716b0a5 bump packages (excluding hledger-api and docs) to 1.0.1 2016-10-27 08:14:35 -07:00
Simon Michael
8bc0538778 allow megaparsec 5.0 or 5.1 for stackage compatibility 2016-10-27 07:19:26 -07:00
Simon Michael
315db5621a doc: bump version to 1.0, update manuals & cabal files 2016-10-26 13:34:27 -07:00
Simon Michael
ee2ced7f65 set an upper bound on megaparsec 2016-10-26 13:34:27 -07:00
Simon Michael
5aa4c91332 stack/cabal cleanups; drop GHC 7.6, 7.8 support
A (disabled) stack build plan for GHC 7.8 is included; supporting it
would need small code changes and a maintainer.
2016-10-21 14:47:22 -07:00
Simon Michael
15ebae5c5f lib, cli, web: try to fix building with GHC 7.4 2016-08-09 12:22:38 -07:00
Simon Michael
c3b76221d4 pkg: rename terminfo flag, drop pretty-show conditionals 2016-08-09 12:16:24 -07:00
Simon Michael
9ad7f2f7e4 pkg: drop unused double flag 2016-08-09 12:04:19 -07:00
Simon Michael
cf8ebd4ae2 pkg: rename, clean up oldtime flag 2016-08-09 12:03:23 -07:00
Simon Michael
1b65582908 pkg: clean up deps slightly 2016-08-09 12:02:57 -07:00
Simon Michael
4c313be10e reorder yaml files consistently 2016-08-09 11:39:42 -07:00
Simon Michael
570de3a0a5 format package descriptions more nicely 2016-08-09 11:29:17 -07:00
Simon Michael
0302be1b15 tools: fix tested-with in package.yamls 2016-08-09 07:57:30 -07:00
Simon Michael
d165600155 lib, cli, web, api: use hpack (package.yaml) for all packages at last #371
Generated package.yaml files from the old cabal files with hpack-convert,
removed some problematic blank lines manually,
regenerated the cabal files from the package.yaml files with hpack.
Tests pass, looks like all the info is still there.

This means that from now on, we don't edit cabal files directly.
We edit the less verbose package.yaml files. stack will update
the cabal files automatically (or non-stack users can use hpack).
The changes to both are committed, as we still want to provide
the cabal files to downloaders.
2016-08-09 07:24:57 -07:00
Simon Michael
494c74f81b tools: hide package.yaml files to fix travis
The latest stack runs a buggy hpack that generates invalid
cabal files. Rename them to future-package.yaml for now.
2016-02-20 19:07:49 -08:00
Simon Michael
1cf223a2db lib: finish move of reading utils, useful for 320
It seems this already began in today's timedot commit.
2016-02-19 21:37:12 -08:00
Simon Michael
06b54bf05e lib: timedot format, convenient for time logging
Timedot is a plain text format for logging dated, categorised
quantities (eg time), supported by hledger.  It is convenient for
approximate and retroactive time logging, eg when the real-time
clock-in/out required with a timeclock file is too precise or too
interruptive.  It can be formatted like a bar chart, making clear at a
glance where time was spent.
2016-02-19 17:55:57 -08:00