Commit Graph

357 Commits

Author SHA1 Message Date
Simon Michael
2a6a028222 register: date display refinements
- when showing multiple postings from a transaction, show their individual dates accurately
- with --date2, use that date for sorting
2013-02-14 21:12:35 +00:00
Simon Michael
7175c57992 reg: --related/-r flag to show other postings in the transaction 2012-12-22 00:24:38 +00:00
Simon Michael
552a15a1ba reg: --width/-w option to adjust register overall output width 2012-12-21 21:56:11 +00:00
Simon Michael
621a91807e rename actual/effective dates to primary/secondary
The command-line flag is now --date2. Alternate spellings --effective and --aux-date
are accepted for compatibility.
2012-12-06 04:43:41 +00:00
Simon Michael
20e68f23a8 support effective dates on postings as well
We now preserve all dates while reporting, instead of overwriting one with the other.
2012-12-06 02:41:37 +00:00
Simon Michael
e75abc4625 parse posting dates, better comment/tag handling, begin using HTF for unit testing 2012-12-06 00:28:23 +00:00
Simon Michael
b2b429c9e4 refactor: dead code 2012-12-06 00:04:09 +00:00
Simon Michael
4aafeb32e6 refactor: clean up Posting construction 2012-12-06 00:03:07 +00:00
Simon Michael
157c85a915 move stripbrackets to Utils 2012-12-04 00:03:42 +00:00
Simon Michael
c553103caf bump version 2012-11-27 23:53:16 +00:00
Simon Michael
1d8fe29c4c docs: point to new repo location on darcs hub 2012-11-17 04:31:21 +00:00
Simon Michael
26a37bf3df web: quick fix for "Prelude.read: no parse" errors with GHC >= 7.6 2012-11-24 15:13:14 +00:00
Simon Michael
64180b18ef refactor: clarify that price amounts have only a single commodity 2012-11-19 23:17:55 +00:00
Simon Michael
4567e91409 refactor: move amount display settings out of commodity, simplify amount construction 2012-11-19 21:20:10 +00:00
Simon Michael
7798744d60 should have released hledger-lib; bump all version numbers again 2012-11-24 16:01:19 +00:00
Simon Michael
d22be3ac30 bump hledger & hledger-web versions 2012-11-24 15:34:53 +00:00
Simon Michael
5b9c5459be web: make hledger[-lib] compatible with all of yesod's language extensions
Useful when building all of hledger-web at once.
2012-11-14 17:25:02 +00:00
Simon Michael
ef73894889 redo bad fix to balancesheet, cashflow, incomestatement commands
I had this crazy idea shakepeare-text interpolation syntax had changed
when these failed in hledger-web dev builds. It was CPP of course.
2012-11-17 03:22:58 +00:00
Simon Michael
cfbd8bb956 web: update for yesod 1.1.3
Build with latest yesod. Also reorganise to conform more closely with
yesod's standard scaffold layout to reduce upgrade effort.
2012-11-15 17:48:48 +00:00
Simon Michael
9786894bbb bump version, release notes 2012-11-17 03:32:48 +00:00
Simon Michael
c1ab41f0a9 hledger, hledger-lib: support GHC 7.6 2012-10-08 16:52:07 +00:00
Simon Michael
00f22819ae balance report speedup
This refactoring fixes an O(n^2) slowdown in the balance command with
large numbers of accounts. It's now speedy, and the implementation is
clearer. To facilitate this, the Account type now represents a tree of
accounts which can easily be traversed up or down (and/or flattened
into a list).

Benchmark on a 2010 macbook:

    +-------------------------------------------++--------------+------------+--------+
    |                                           || before:      | after:     |        |
    |                                           || hledger-0.18 | hledgeropt | ledger |
    +===========================================++==============+============+========+
    | -f data/100x100x10.journal     balance    ||         0.21 |       0.07 |   0.09 |
    | -f data/1000x1000x10.journal   balance    ||        10.13 |       0.47 |   0.62 |
    | -f data/1000x10000x10.journal  balance    ||        40.67 |       0.67 |   1.01 |
    | -f data/10000x1000x10.journal  balance    ||        15.01 |       3.22 |   2.36 |
    | -f data/10000x1000x10.journal  balance aa ||         4.77 |       4.40 |   2.33 |
    +-------------------------------------------++--------------+------------+--------+
2012-10-21 17:18:18 +00:00
Simon Michael
51a9f2a948 bump version 2012-10-21 20:20:35 +00:00
Simon Michael
f03b020e2f set version with CPP instead of cabal-file-th; make building more robust
hledger and hledger-web were reading their version number (and program
name) from their cabal files at compile time using cabal-file-th,
which allowed the version number be maintained in one place (per
package).

This meant you had to be in same directory as the cabal file when
building, which made life more complicated, eg emacs compilation mode
could not jump to errors. Also, it slowed down building slightly, and
is a factor in hledger Debian packages being unavailable on a number
of platforms (we also use TH for report templates).

Now, the build version is set with a CPP VERSION flag, which seems
simpler overall. For cabal builds, this needs to be configured
manually in a few more places in each cabal file. For makefile builds,
it is set it to the name of the most recent darcs tag (which should be
more useful than the old behaviour). If not set, it defaults to the
blank string, useful eg for haddock. And, all makefile builds now run
from the top directory.
2012-10-13 19:21:17 +00:00
Simon Michael
7fec954cbf support latest cmdargs, haskeline, split 2012-10-08 16:50:35 +00:00
Simon Michael
f8a9cce43d bump base lower bound to 4.3 to enforce GHC 7 requirement 2012-07-08 00:22:20 +00:00
Simon Michael
63973c3728 bump version to 0.18.2 2012-07-08 00:24:40 +00:00
Simon Michael
0b96a767b4 support tilde (~) in journal and rules file paths 2012-05-30 08:36:01 +00:00
Simon Michael
34318906d8 register, print: fix reverse ordering of same-day transactions 2012-06-29 18:06:58 +00:00
Simon Michael
6ccecb6ae0 stats: list included journal files 2012-05-30 09:17:18 +00:00
Simon Michael
6db9db0be1 bump version 2012-06-29 23:09:19 +00:00
Simon Michael
ed1ea545f5 make --rules-file work again 2012-03-24 19:53:07 +00:00
Simon Michael
50068221c3 fix build warnings in all GHC versions 2012-03-29 21:19:35 +00:00
Simon Michael
31f3e4dc27 balance: accept "bal" without complaining about ambiguity with balancesheet 2012-04-14 20:33:15 +00:00
Simon Michael
3441c2d816 unneeded imports 2012-04-21 00:23:52 +00:00
Simon Michael
d30cd5847a a simplistic cashflow statement to complete the trio 2012-04-17 17:32:56 +00:00
Simon Michael
483eb09a82 show proper help for balancesheet/incomestatement 2012-04-14 20:33:48 +00:00
Simon Michael
df6ee91e38 hledger-lib, hledger will require GHC >= 7.0 due to use of shakespeare-text QQ in reports 2012-05-06 20:41:40 +00:00
Simon Michael
b584f33cbb Cli, Cli.Test module doc updates 2012-05-09 15:29:14 +00:00
Simon Michael
6b280d8970 add missing text, shakespeare-text deps 2012-05-14 16:25:23 +00:00
Simon Michael
b6e5028071 fix compiler warning 2012-05-16 06:40:52 +00:00
Simon Michael
294a350993 promote Hledger.Query to second level 2012-05-16 07:57:10 +00:00
Simon Michael
0616499b97 update cabal files 2012-05-29 02:52:16 +00:00
Simon Michael
722c3a489f update cabal dependencies after dropping convert 2012-03-26 00:36:41 +00:00
Simon Michael
98274b481d more build warnings 2012-05-06 20:44:23 +00:00
Simon Michael
d0bf2667c2 bump version 2012-05-28 21:08:05 +00:00
Simon Michael
1f1a1eb16f bump version 2012-03-30 00:27:23 +00:00
Simon Michael
7f3b990394 docs: fix api docs 2012-03-07 16:05:04 +00:00
Simon Michael
2fb2aea056 rename metadata fields to tags 2012-05-27 22:59:06 +00:00
Simon Michael
3ee6a351f3 big query/tests/show refactoring
- use new query system for command line too, filterspec is no more
- move unit tests near the code they test, run them in bottom up order, add more
- more precise Show instances, used for debugging not ui
2012-05-27 18:14:20 +00:00
Simon Michael
1654776f4a refactor test runner 2012-05-14 19:23:12 +00:00
Simon Michael
db4d853a3f refactor: move readJournal' 2012-04-14 01:10:39 +00:00
Simon Michael
197f35cb5b unit test exposing sample journal parse failure 2012-05-09 15:30:43 +00:00
Simon Michael
a628964016 prepare to support full query expressions on command line 2012-05-16 08:31:06 +00:00
Simon Michael
88afea8c44 balancesheet: ignore start dates, always show the accurate balance from all transactions up to the specified end date 2012-04-17 02:28:30 +00:00
Simon Michael
65a20c6870 separate account types in balancesheet, show totals with consistent layout 2012-04-16 16:55:30 +00:00
Simon Michael
1e2c2bb10c hook up more tests, begin converting remaining reports to Query 2012-05-17 04:21:34 +00:00
Simon Michael
a58a5f96ad more robust comments & metadata, on postings too, and document as "tags" 2012-05-14 18:52:22 +00:00
Simon Michael
88212f26e8 simplify journal parser names 2012-05-09 15:34:05 +00:00
Simon Michael
c23d1793ae docs: clarify supported GHC versions 2012-03-29 22:09:54 +00:00
Simon Michael
e1b1b8bce8 rename Matcher to Query, simplify constructors 2012-05-16 07:12:49 +00:00
Simon Michael
8c7eea9ee0 make incomestatement respect options 2012-04-16 16:45:24 +00:00
Simon Michael
b4b2b67236 incomestatement: show revenue and expense accounts separately 2012-04-15 00:05:10 +00:00
Simon Michael
abb470aadb use shakespeare-text to help lay out incomestatement's output 2012-04-14 20:35:51 +00:00
Simon Michael
a27eb7c29f more matcher -> query renaming 2012-05-16 07:37:24 +00:00
Simon Michael
8492f6cae4 fix unicode handling on GHC >= 7.2, unify utf8 IO compatibility layer
tests pass again from GHC 6.12.3 to 7.4.1
2012-03-29 19:06:31 +00:00
Simon Michael
ca5d5020e1 prototypical incomestatement and balancesheet commands 2012-04-14 01:34:56 +00:00
Simon Michael
b96e3ac85d drop convert command 2012-03-24 19:40:06 +00:00
Simon Michael
00a43cd1bf Hledger.Cli.Format -> Hledger.Data.FormatStrings 2012-03-10 19:20:15 +00:00
Simon Michael
a1297daae2 cashflow: forgot th' module 2012-04-17 18:27:28 +00:00
Simon Michael
e396c0dc8d push csv rule and format string types down 2012-03-24 01:58:34 +00:00
Simon Michael
6eb7ad28e1 refactor/beef up readJournal/readJournalFile 2012-03-23 16:21:41 +00:00
Simon Michael
a26ecdb3e3 true-by-default threaded flag for hledger, allowing non-threaded builds on some debian architectures (Clint Adams) 2012-01-02 17:42:43 +00:00
Simon Michael
13e0757670 less obscure error when the journal file path contains a tilde 2012-01-03 12:12:37 +00:00
Simon Michael
26ad00a659 support and require latest cmdargs 2012-01-05 18:25:15 +00:00
Simon Michael
917a35d62b allow building with cmdargs 0.9 2012-01-02 17:43:26 +00:00
Simon Michael
3e3af47b96 bump cmdargs upper bound in other places 2012-01-03 11:00:35 +00:00
Simon Michael
1bc4d4b395 refactor: clarify mixed amount normalising a bit 2012-01-01 00:39:13 +00:00
Dmitry Astapov
7426e93ec6 Testcase+fix for commodity being reported more than once per account in balance 2011-12-25 21:21:27 +00:00
Simon Michael
0d8a7c935b fix import warning 2012-02-02 05:27:07 +00:00
Simon Michael
c686645fab refactor: update version number handling 2012-01-31 06:01:31 +00:00
Simon Michael
6b784c0e65 bump version 2012-02-02 05:37:02 +00:00
Simon Michael
9329873cef bump version to "0.17 alpha" 2012-01-31 05:18:18 +00:00
Simon Michael
62454b45ff update tested-with fields 2012-01-30 04:21:03 +00:00
Simon Michael
db7f4d1b3d use cabal-file-th to get executable name and version from cabal files 2011-10-19 19:53:42 +00:00
Simon Michael
4fb325b92a bump version 2011-10-04 23:53:50 +00:00
Simon Michael
9a6328adeb comment 2011-09-14 19:46:31 +00:00
Simon Michael
33f6277e0d cli: hledger ADDONCOMMAND --version now shows add-on command's version 2011-09-14 02:32:44 +00:00
Simon Michael
fcb4a39089 when running addons with --debug, show the command line 2011-09-17 04:19:26 +00:00
Simon Michael
6ca155edc0 convert: don't reverse order of transactions 2011-09-19 03:10:16 +00:00
Simon Michael
353e3f2d55 convert: always order converted transactions by date 2011-09-21 06:04:18 +00:00
Simon Michael
de502e732b drop unused TIMELOG env var 2011-09-21 23:12:53 +00:00
Simon Michael
556e3c9246 cli: give literal tilde error also with -f 2011-09-21 23:10:44 +00:00
Simon Michael
f79b272ff3 balance: ledger compatibility fix: don't elide parent accounts with multiple displayed subaccounts 2011-09-22 20:40:06 +00:00
Simon Michael
6ddf394119 add: clearer prompts, more validation, use . to end as well 2011-09-23 03:51:45 +00:00
Simon Michael
17b1fcefed rename/update doc 2011-09-23 14:09:12 +00:00
Simon Michael
c9f1f5c663 strip the -- when calling addon commands, so their options work (#64) 2011-09-23 14:10:27 +00:00
Simon Michael
fffb15c1ae add: avoid excess whitespace between transactions (#46) 2011-09-25 17:47:55 +00:00
Simon Michael
9b2a5f56e1 only the add and web commands auto-create the journal file 2011-09-23 03:53:14 +00:00
Simon Michael
992ce48093 convert: use full option name in error message 2011-09-27 23:54:49 +00:00
Simon Michael
780dc878c7 convert: currency -> base-currency 2011-09-27 23:55:07 +00:00
Simon Michael
7d3b1f4a55 convert: in-field, out-field -> amount-in-field, amount-out-field 2011-09-28 00:13:42 +00:00
Simon Michael
fe6f37753f convert: give an error instead of a silent zero amount from amount-in-field/amount-in-field 2011-09-28 00:14:42 +00:00
Simon Michael
9a0a0be01c docs: whitespace 2011-09-23 14:27:26 +00:00
Simon Michael
602ccceeec convert: give a useful error, not a null date when parsing fails; refactor 2011-09-28 17:12:43 +00:00
Simon Michael
5eeadad160 add: refactor, note default precision issue 2011-09-30 23:26:11 +00:00
Simon Michael
b0b1f7d733 bump version 2011-10-01 17:17:02 +00:00
Simon Michael
fa5f09f06a handle multiple filter patterns on the command-line again 2011-09-11 20:37:04 +00:00
Simon Michael
b46ffbac14 don't give a confusing error with -f and no command 2011-09-11 21:35:06 +00:00
Simon Michael
8a50cb1289 don't pass an addon command's name to it as an extra argument 2011-09-11 21:48:13 +00:00
Simon Michael
f37d7b5659 bump version 2011-09-12 22:52:24 +00:00
Simon Michael
4db6c2881a cli: fix an accidental parsec 3 dependency 2011-09-02 18:52:44 +00:00
Simon Michael
c834f4a8af bump version for all but hledger-lib, due to hledger fix 2011-09-02 19:25:31 +00:00
Simon Michael
ae02ca68dd doctest comment fix 2011-04-23 14:54:26 +00:00
Simon Michael
171c0e73ea convert: fix recent breakage causing zero amounts 2011-05-31 22:09:05 +00:00
Simon Michael
c562412964 convert: fix amount-field/in-field/out-field validation 2011-06-02 21:23:53 +00:00
Simon Michael
3617bc1a79 convert: fix --rules warning 2011-06-02 22:37:45 +00:00
Simon Michael
5784587208 convert: warn if there is neither amount-field or in & out-field 2011-06-02 22:56:17 +00:00
Simon Michael
92777edc99 docs: haddock tweaks 2011-04-29 03:25:52 +00:00
Simon Michael
cd68f43be3 cli: rename hledger.hs (but not the executable) to avoid mac build issues 2011-07-17 23:21:48 +00:00
Simon Michael
a44aa8d7d2 refactor: remove unnecessary LANGUAGE CPP pragmas 2011-07-17 23:29:57 +00:00
Simon Michael
cbb0fc5c59 move basic reports into hledger-lib 2011-08-15 22:59:06 +00:00
Simon Michael
85f83c00fc drop some old base 3 support 2011-08-15 22:59:15 +00:00
Simon Michael
02a43f1e40 slightly improve help layout 2011-08-19 18:28:50 +00:00
Simon Michael
e005625780 web: account register now obeys --cost and --effective flags like the rest 2011-08-19 18:30:03 +00:00
Simon Michael
17fbc9de14 another part of add-on command detection that was missed 2011-08-25 23:13:08 +00:00
Simon Michael
dc43ca2d00 easier to roll back this one than merge 2011-08-22 14:52:47 +00:00
Simon Michael
b39c0f8819 would like to react to --version before --help, cmdargs does it first though 2011-08-20 19:18:10 +00:00
Simon Michael
4e91387ab3 fix a warning 2011-08-25 23:14:12 +00:00
Simon Michael
e67c63dc54 don't fail if PATH is not defined 2011-08-25 23:50:34 +00:00
Simon Michael
ec9e06e33e don't fail when PATH contains bad directories 2011-08-25 23:36:25 +00:00
Simon Michael
7616ed9b8e haddocks 2011-08-26 00:46:52 +00:00
Simon Michael
96628feee9 make the old ledger-compatible command names primary for now 2011-08-28 19:49:26 +00:00
Clint Adams
5ead6d05b1 update to cmdargs 0.8 API
Between 0.7 and 0.8, modeArgs changed from

modeArgs :: Maybe (Arg a)

to

modeArgs :: ([Arg a], Maybe (Arg a))
2011-08-30 21:41:25 +00:00
Simon Michael
b2e80554e6 convert: convert stdin when no csv file is specified 2011-08-20 19:59:20 +00:00
Simon Michael
464d8d4bcb hledger now detects and runs hledger-* add-ons found in path; many options cleanups 2011-08-22 14:55:39 +00:00
Simon Michael
98509d4bbc fix a bogus error with -f and no command 2011-08-16 22:23:05 +00:00
Simon Michael
3fa9fab9a4 fix warning 2011-08-19 19:20:43 +00:00
Simon Michael
1f5f1b5e78 convert: don't fail when there's no default journal file 2011-08-20 19:49:07 +00:00
Simon Michael
676845b269 trim even more fat from amounts 2011-08-31 17:44:20 +00:00
Simon Michael
4104114d4e harmonise package descriptions, make them hackage-compliant 2011-09-02 00:28:27 +00:00
Simon Michael
9e056d573e Setup.hs is needed after all, by hackage 2011-09-02 00:29:50 +00:00
Simon Michael
10fd7ebc42 simplify amounts code, make tests pass 2011-08-31 16:54:10 +00:00
Simon Michael
1273f02a9a more balance/amount clarifications and a test 2011-08-30 11:37:36 +00:00
Simon Michael
9aaf489a38 readability cleanups 2011-08-28 22:16:58 +00:00
Simon Michael
6a61c96481 whitespace 2011-06-24 02:41:37 +00:00
Simon Michael
059825a9b2 optionsgeddon.. port to cmdargs and a fully modal cli 2011-08-15 22:50:09 +00:00
Simon Michael
c3954cad43 cli: fix typo in previous patch 2011-05-29 19:42:37 +00:00
Simon Michael
7d46ae6141 runTestsOrExit 2011-06-13 21:44:08 +00:00
Trygve Laugstol
dca66a63a7 convert: Adding support for formatting expressions in description-field 2011-06-27 22:59:07 +00:00