Commit Graph

140 Commits

Author SHA1 Message Date
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
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
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
fcb7d297c8 use canonical bugs.hledger.org url in cabal yamls 2015-08-13 10:02:06 -07:00
Simon Michael
48e31d4f8c bump version to 0.26.98 2015-08-12 22:49:04 -07:00
Simon Michael
b91f2b85d0 update hpack package.yaml files 2015-08-12 09:25:28 -07:00
Simon Michael
78018cc24d tools: yaml definitions for the hledger cabal files
Here are hpack package.yaml files for the other hledger cabal files.
These remove a lot of human-error-prone duplication.
They are not used yet as hpack isn't quite mature enough -
when it supports flags and benchmarks we will probably switch.
2015-07-14 17:32:49 -07:00