Commit Graph

373 Commits

Author SHA1 Message Date
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
1e5e30ae87 regen cabal files
[ci skip]
2019-01-25 18:33:39 -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
Simon Michael
80dc2ef03f update cabal files with hpack 0.31
As in latest stack release. Hopefully this won't unleash horrors.
2018-10-18 14:44:16 -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
8c18bada0c lib, cli, ui, web: update cabal files 2018-09-22 21:01:23 -10:00
Simon Michael
362705a981 update cabal files 2018-09-07 12:44:52 -07:00
Simon Michael
23bdac41d9 csv: merge lucamolteni's cassava/custom separators (squashed) (#829)
commit 5ba464de761b298e50d57a8b7d14bc28adb30d5d
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:54:12 2018 +0200

    Fix CI 2

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

    Fix CI build

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

    Fix rebase

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

    Fixed some GHC warnings

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

    Fix .cabal

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

    Removed to-do list

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

    Better test

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

    Fix parsing

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

    Parsing of separator

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

    Almost separator in options

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

    Separator in parseCSV

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

    separator option

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

    Removed one qualified import

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

    Removed string conversions

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

    custom delimiter in cassava

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

    Use Text.getContents - remove UTF-8 compatibility library

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

    todo list

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

    CSV test now has unicode characters

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

    Use decode from Text

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

    Use Text and Lazy Bytestring

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

    Use megaparsec error

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

    Renamed qualify and remove Parsec

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

    Use cassava mega parsec

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

    Removed Data.Vector

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

    Removed Parsec ParseError

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

    Type sinonim for ParsecError

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

    Replaced with typeclasses

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

    Replaced Text/CSV with Cassava

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

    Use cassava parsin instead of Text/CSV

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

    Text CSV error messages

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

    Better types

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

    Conversion to Text CSV type

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

    First function with cassava

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

    Added cassava as dependency

commit 5ea005c558a3939af7e5f0cd735a9b4da931228e
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
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
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
2d420a33a4 lib: update cabal file with 'Glob' library depdendency 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
Alex Chen
0382bb5cd4 lib: move custom parse errors to Text.Megaparsec.Custom 2018-06-11 13:58:56 -06:00
Alex Chen
39e7ef0311 lib: refine date parser error messages 2018-06-11 13:58:55 -06:00
Alex Chen
ca201e4618 lib: add a module for custom parse errors
... for displaying the source line on which parse errors occured

Over the following set of commits, I will to refactor the parsers to
obviate the `ExceptT String` layer of the `ErroringJournalParser` type
so that all parse errors go through Megaparsec's parse error machinery.
2018-06-11 13:57:22 -06: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
Simon Michael
c9d46f830f lib: fix hpack warning
[ci skip]
2018-05-14 10:28:29 -07:00
Mykola Orliuk
64c7eb78f4 GHC 8.0 compatibility 2018-05-13 14:41:08 -07:00
Simon Michael
41665d07b0 regenerate cabal files, fix tabular compilation error 2018-04-23 18:52:28 -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
d53557b09d regen cabal files with stack 1.7's hpack (0.28.2) 2018-04-20 06:47:52 -07:00
Simon Michael
30186e35ea cabal: update tested-with 2018-04-20 05:24:09 -07:00
Simon Michael
7129577f34 update cabal files 2018-04-04 17:56:22 +01:00
Simon Michael
4ea02bf1cb bump version to 1.9.99 2018-04-04 17:53:38 +01:00
Simon Michael
6ebb1fb061 update cabal files 2018-03-31 19:15:24 +01:00
Simon Michael
0979dbc01f regenerate cabal files with stack 1.6.3 to silence hpack warnings
[ci skip]
2018-03-31 03:24:01 +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
21db75f1a6 update cabal files 2018-03-24 16:06:20 +00:00
Simon Michael
1e738e6ee5 lib: regenerate cabal file with older hpack to silence warning 2018-03-22 16:42:02 +00:00
Peter Simons
b3e4abe46d hledger-lib: re-generate the hledger-lib.cabal file 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
Peter Simons
4c5a58ec1e hledger-lib: add missing Semigroup instance for Journal
GHC 8.4.1 makes Semigroup a superclass of Monoid. See
https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid
for details.
2018-03-12 23:17:14 +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
956dee9682 update cabal files 2017-12-31 10:24:15 -08:00
Simon Michael
0d8ac2cd6f update cabal files 2017-12-31 10:03:50 -08:00
Simon Michael
d3363d09d8 allow megaparsec 6.4.0 2017-12-31 08:47:59 -08:00
Simon Michael
2a0e12122c tools: regen cabal files with latest stack's hpack to avoid warnings 2017-12-30 08:47:47 -08:00
Simon Michael
aa06d0f9bd lib, cli, ui: allow ansi-terminal 0.8 2017-12-29 12:41:22 -08:00
Simon Michael
0621a27833 update cabal files 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
9013694d89 cabal: regenerate with stack 1.6/hpack 0.20 2017-12-07 11:46:33 -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
bfb4a38afb update cabal files 2017-09-30 11:45:33 -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
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
1efbbbc7ac regenerate cabal files 2017-07-31 15:01:23 -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
Simon Michael
3c13da3ca2 update cabal files to hpack 0.17.0/stack 1.4 format #512 2017-03-15 23:04:35 +00:00
Simon Michael
fa388257d9 add MarketPrice module to other cabal sections #505 2017-02-04 16:32:03 -08: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
5345e2641a regenerate cabal files with hpack
A few packages which included the Paths_* module no longer do,
and this seems ok with stack and cabal as far as I can tell.
That should be the only change, aside from a bunch of reorderings.
2017-01-16 14:23:47 -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
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
7d81adcefa lib: use Period for rendering DateSpans 2016-07-29 11:41:42 -07:00
Simon Michael
b7071dee84 lib: use Data.Default directly, not via cmdargs 2016-07-29 10:15:48 -07:00
Moritz Kiefer
4141067428 Replace Parsec with Megaparsec (see #289) (#366)
* Replace Parsec with Megaparsec (see #289)

This builds upon PR #289 by @rasendubi

* Revert renaming of parseWithState to parseWithCtx

* Fix doctests

* Update for Megaparsec 5

* Specialize parser to improve performance

* Pretty print errors

* Swap StateT and ParsecT

This is necessary to get the correct backtracking behavior, i.e. discard
state changes if the parsing fails.
2016-07-29 08:57:10 -07:00
Simon Michael
a216c7216a lib: search all .hs files for doctests 2016-06-06 19:45:59 -07:00
Simon Michael
a961988a88 bump cabal versions to 0.28 2016-05-29 00:00:59 -07:00
Simon Michael
cdc323d05b Revert "lib: allow transformers 0.5.* (#351)"
A bump too far.
This reverts commit fa7878278a.
2016-05-26 12:23:57 -07:00
Simon Michael
fa7878278a lib: allow transformers 0.5.* (#351) 2016-05-26 11:58:47 -07:00
Simon Michael
2538d14ea7 lib: textification begins! account names
The first of several conversions from String to (strict) Text, hopefully
reducing space and time usage.

This one shows a small improvement, with GHC 7.10.3 and text-1.2.2.1:

hledger -f data/100x100x10.journal stats
string: <<ghc: 39471064 bytes, 77 GCs, 198421/275048 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.020 elapsed), 0.010 GC (0.014 elapsed) :ghc>>
text:   <<ghc: 39268024 bytes, 77 GCs, 197018/270840 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.002 elapsed), 0.016 MUT (0.022 elapsed), 0.009 GC (0.011 elapsed) :ghc>>

hledger -f data/1000x100x10.journal stats
string: <<ghc: 318555920 bytes, 617 GCs, 2178997/7134472 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.001 elapsed), 0.129 MUT (0.136 elapsed), 0.067 GC (0.077 elapsed) :ghc>>
text:   <<ghc: 314248496 bytes, 612 GCs, 2074045/6617960 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.003 elapsed), 0.137 MUT (0.145 elapsed), 0.067 GC (0.079 elapsed) :ghc>>

hledger -f data/10000x100x10.journal stats
string: <<ghc: 3114763608 bytes, 6026 GCs, 18858950/75552024 avg/max bytes residency (11 samples), 201M in use, 0.000 INIT (0.000 elapsed), 1.331 MUT (1.372 elapsed), 0.699 GC (0.812 elapsed) :ghc>>
text:   <<ghc: 3071468920 bytes, 5968 GCs, 14120344/62951360 avg/max bytes residency (9 samples), 124M in use, 0.000 INIT (0.003 elapsed), 1.272 MUT (1.349 elapsed), 0.513 GC (0.578 elapsed) :ghc>>

hledger -f data/100000x100x10.journal stats
string: <<ghc: 31186579432 bytes, 60278 GCs, 135332581/740228992 avg/max bytes residency (13 samples), 1697M in use, 0.000 INIT (0.008 elapsed), 14.677 MUT (15.508 elapsed), 7.081 GC (8.074 elapsed) :ghc>>
text:   <<ghc: 30753427672 bytes, 59763 GCs, 117595958/666457240 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.008 elapsed), 13.713 MUT (13.966 elapsed), 6.220 GC (7.108 elapsed) :ghc>>
2016-05-24 19:00:49 -07:00
Simon Michael
ea383d88d6 lib: drop "double" build flag 2016-05-18 20:32:58 -07:00
Simon Michael
84097b75c7 journal: can now include timeclock/timedot files (#320)
journal files can now include journal, timeclock or timedot files (but
not yet CSV files). Also timeclock/timedot files no longer support
default year directives.

The Hledger.Read.* modules have been reorganised for better reuse.
Hledger.Read.Utils has been renamed Hledger.Read.Common and holds
low-level parsers & utilities; high-level read utilities have moved to
Hledger.Read.
2016-05-17 19:46:54 -07:00
Simon Michael
7ec3ebb66b update tested-with
Note we seem to have lost GHC 7.4 compatibility. It should be fixable if
anyone cares.
2016-04-28 17:32:17 -07:00
Simon Michael
259e7bfbe3 lib: add a doctest suite 2016-04-28 13:34:57 -07:00
Simon Michael
50aeb90596 lib, ui: GHC 8 compatibility 2016-04-28 12:55:19 -07:00
Simon Michael
91847fc6fd data-files does not support wildcards after all 2016-04-20 13:23:05 -07:00
Simon Michael
33b5c5dc94 declare generated docs as data-files, sync hpack yamls 2016-04-20 12:47:17 -07:00
Simon Michael
b73bcda52a include txt man pages in cabal tarballs 2016-04-13 22:38:53 -07:00
Simon Michael
588f36d662 rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
Simon Michael
b4d491791c doc: include nroff man pages in cabal tarballs 2016-04-12 11:25:46 -07:00
Simon Michael
5e71d749c4 doc: ensure all five main packages have a README 2016-04-12 11:13:01 -07: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
Simon Michael
a5fd56223c bump version to 0.27 2015-10-30 13:21:51 -07:00
Simon Michael
36d97a2e50 update cabal docs and other fields 2015-10-30 13:08:03 -07:00
Simon Michael
f8f2d457b9 lib: memoize toRegex[CI] (#244)
The regex helpers were converting strings to regex-tdfa regular
expressions on the fly every time, but this appears to be quite
expensive. The simplest memoisation lib seems to solve it nicely.
2015-09-26 15:39:21 -10:00
Simon Michael
6fd1e965ed fix cabal file regression breaking GHC<7.10 (#280) 2015-08-21 12:19:43 -07:00
Simon Michael
7aecbac851 lib: split up Utils more 2015-08-19 20:53:50 -07:00
Simon Michael
36dd64cf02 balance, lib: clarify --format implementation
The --format option's OutputFormat type was named confusingly like the
--output-format option.  It has been renamed StringFormat to distinguish
it from StorageFormat (aka the data file format, referenced by
--output-format). Related code and types have been consolidated.
Also the (single-column) balance report's item rendering has had
some cleanup.
2015-08-19 20:53:49 -07:00
Simon Michael
2b339667e2 Merge branch 'perf-polyparse' (early part) 2015-08-13 13:10:10 -07:00
Simon Michael
632a000f08 derive NFData in a way compatible with GHC < 7.10
The DeriveAnyClass extension requires GHC 7.10, so instead do this in a
more verbose backwards-compatible way. Adds a dependency on deepseq.
2015-08-13 12:58:44 -07:00
Simon Michael
48e31d4f8c bump version to 0.26.98 2015-08-12 22:49:04 -07:00
Simon Michael
a9b2e5409c switch to hpack-generated cabal files
The hledger-lib, hledger and hledger-web cabal files are now generated
from the package.yaml files with hpack, plus some manual fixups.
2015-08-12 22:45:08 -07:00
Simon Michael
087f3a49bc note older tested-with versions based on hackage builder 2015-07-13 20:23:59 -07:00
Simon Michael
e5c0d75117 bump version to 0.26 2015-07-12 15:29:10 -07:00
Simon Michael
9e2111106b drop regexpr dependency 2015-05-17 08:32:45 -07:00
Simon Michael
61423bdad4 consistently require latest base-compat for sanity 2015-04-29 07:16:08 -07:00
Simon Michael
dac8a784f4 bump version to 0.26 alpha 2015-04-28 13:48:23 -07:00
Simon Michael
1bc9b71f28 bump version to 0.25 2015-04-28 13:42:41 -07:00
Simon Hengel
964a410b24 hledger-lib: Update for base-compat-0.8.0 (see #245) 2015-04-23 15:41:59 +08:00