Commit Graph

360 Commits

Author SHA1 Message Date
Simon Michael
4c1b2c0f86 remove obsolete regex-compat-tdfa dependency from hledger 2014-01-08 14:48:28 -08:00
Simon Michael
8befcb8354 bump version to 0.22, update tested-with & doc building 2013-12-13 18:28:45 -08:00
Simon Michael
060c9c73d0 hledger: allow text 1.0 2013-12-13 17:43:52 -08:00
Simon Michael
044ba78693 help fix, -V is not equivalent to --version (#145) 2013-12-07 15:35:58 -08:00
Simon Michael
5bdc55ab77 note that getCliOpts, debugArgs api fns are unused 2013-12-07 06:10:45 -08:00
Simon Michael
8261ac0f56 three fixes to handle --debug=N like --debug 2013-12-07 06:09:39 -08:00
Simon Michael
8bbd22d7ed fix handling of --debug before command 2013-12-07 05:51:17 -08:00
Simon Michael
c53732a4af balance: new multi-column reports & documentation
Two new multi-column balance report modes show ending balance per
period: `--cumulative`, starting from 0, and `--historical`, starting
from the historical starting balance.

The balance command's specification has been clarified and consolidated
in the Balance.hs haddock. Reports.hs has also had haddock updates. The
old AccountsReport type is now BalanceReport, still used by
single-column balance report. The new MultiBalanceReport type is used by
the multi-column reports.
2013-12-07 05:43:31 -08:00
Simon Michael
b2c6a8e7d2 require data-pprint 0.2.3, works with ghc < 7.2 2013-12-06 13:58:06 -08:00
Simon Michael
c99f37241c allow an optional level argument with --debug 2013-12-06 13:30:36 -08:00
Simon Michael
6e7610c1b7 drop some experimental pprint logging 2013-12-06 13:26:08 -08:00
Simon Michael
3eac48871c require data-pprint 0.2.3, works with ghc < 7.2 2013-12-06 13:22:28 -08:00
Simon Michael
7e06a6a24c balance: basic multi-column balance (change) reports 2013-09-26 15:06:48 -07:00
Simon Michael
eb5e2f95e9 cashflow: don't ignore the report start date (fixed #135)
Odd, there may have been s reason to do this but I can't remember it.
2013-09-23 11:08:55 -07:00
Simon Michael
b44efdcb4e don't depend on an unreleased version of data-pprint (fixes #140) 2013-09-23 10:46:52 -07:00
Simon Michael
009c7e3f90 bump version to 0.22 alpha 2013-09-22 22:38:27 -07:00
Simon Michael
a66a715eeb command line options API updates, possibly fixing hledger-web build 2013-09-22 22:31:06 -07:00
Simon Michael
13f8c0f938 overhaul command line processing
Command line processing has been overhauled and made more consistent,
and now has tests and extensive debug output.  More flags now work
both before and after COMMAND: -f, --rule-file, --alias, --help,
--debug, --version.  Command line help, command aliases, API docs and
code have been improved.
2013-09-22 01:17:41 -07:00
Simon Michael
671bb6c4a2 require data-pprint as a debugging aid and make some types compatible with it 2013-09-21 13:36:43 -07:00
Simon Michael
a3900c80b2 make hledger-cli.hs executable 2013-09-21 13:34:40 -07:00
Simon Michael
7ed0705398 register: --average/-A shows a running average, like ledger 2013-09-09 18:25:53 -07:00
Max Bolingbroke
e96fff7887 Upgrade to regex-compat-tdfa to squelch unicode problems 2013-08-20 21:19:28 +01:00
Simon Michael
e4c76acb12 balancesheet: don't bother showing equity, it won't be useful for most of us 2013-07-23 16:47:54 -07:00
Simon Michael
318d36d712 bump version 2013-06-23 16:50:35 -07:00
Simon Michael
39f6ec9f04 tools: fix make ghci, ghciweb
In general, when cabal CPP macros like min_PKG are used, they should
be made optional. If they are not present, assume a developer is
building and choose the latest libs.
2013-06-06 15:26:40 -07:00
Simon Michael
4eda6119f8 bump version to 0.21.2 2013-06-04 19:07:22 -07:00
Simon Michael
557419de8c bump version to 0.21.1 2013-06-03 23:18:30 -07:00
Simon Michael
4041f5a553 bump version to 0.21 2013-06-01 15:58:06 -07:00
Clint Adams
180521996a Add cabal testsuite for hledger. 2013-05-15 15:56:05 -04:00
Simon Michael
4ff2635bf8 bump version to 0.20.98 (0.21 alpha) 2013-05-14 10:30:46 -07:00
Simon Michael
1db8920644 bump version to 0.20.0.1 2013-05-04 07:26:15 -07:00
Simon Michael
28a605ceb0 docs: update bug tracker and repository locations in cabal files 2013-05-03 06:46:23 -07:00
Simon Michael
b89168d1b0 bump version number 2013-05-01 12:46:37 -07:00
Simon Michael
a32b0513bd update tested-withs. hledger needs 7.2+, hledger-web needs 7.4+ for now 2013-04-19 12:26:05 -07:00
Simon Michael
fc39b4c25d the version bump was premature, revert so I can push
This reverts commit 1bc8b73159.
2013-04-19 11:54:26 -07:00
Simon Michael
1bc8b73159 bump version 2013-04-17 17:20:59 -07:00
Simon Michael
2bb120d6c6 register: fix -w related test breakage, another width tweak (#102)
As part of adding -w in december I cleaned up/adjusted register field
widths, and didn't make all the tests pass. This commit makes one more
width adjustment
(one space after the date instead of two) and fixes all tests depending on register output.
2013-04-12 14:56:41 -07:00
Simon Michael
af5c0e80e0 parsing: read files in universal newline mode
Line endings other than the unix style, are now accepted in journal and rules files.
2013-03-29 18:46:10 +00:00
Simon Michael
1adc583975 make hledger-web installable with GHC < 7.6 again
Revisiting the "directory 1.2 can be installed with older GHC, so we'd better pin it in the cabal file" change.
Requiring directory 1.2 made hledger-web uninstallable with GHC < 7.6 because current yesod depends on ghc
which depends on a particular directory version and can't be upgraded. This is a smarter fix, which should let
all hledger packages build with whatever directory version is installed.
2013-03-19 01:22:09 +00:00
Simon Michael
bbfd91e7ea directory 1.2 can be installed with older GHC, so we'd better pin it in the cabal file
hledger now requires directory >= 1.2. This might make installation
more complex on old GHC versions; if it turns out to be needed,
perhaps it can be conditionalised again, more accurately, in the cabal file.
2013-03-11 15:56:56 +00:00
Simon Michael
47a4c52904 add: tweak output 2013-03-05 20:18:10 +00:00
Simon Michael
edcfd2abb1 add: handle partial dates on the command line, instead of failing after all data entry 2013-03-05 02:08:53 +00:00
Simon Michael
5785eae38e add: show the transaction and confirm before adding it, or allow restart 2013-02-25 20:52:43 +00:00
Simon Michael
a33b42bbd9 update tested-with in cabal files 2013-02-25 19:50:49 +00:00
Simon Michael
314da705f8 add: fix compilation with GHC 7.4 and perhaps older 2013-02-25 19:49:03 +00:00
Simon Michael
2eba34514f add: mention code/comment entry in help 2013-02-24 21:30:56 +00:00
Simon Michael
10d83a9252 add: allow transaction code and transaction/posting comments/tags to be entered (#45)
- A transaction code may be entered following the date in parentheses, eg: DATE (CODE)
- A transaction comment (possibly containing tags) may be entered following the description, eg: DESC ; COMMENT
- A posting comment may be entered following the amount, eg: AMOUNT ; COMMENT
2013-02-24 21:16:03 +00:00
Simon Michael
7025c6f66a add: more code cleanup 2013-02-24 20:05:31 +00:00
Simon Michael
8aba692926 add: cleanups 2013-02-24 18:35:42 +00:00
Simon Michael
4f1ce14033 add: use command line arguments as defaults for first txn (part 2)
It seems I missed some.
2013-02-24 18:09:04 +00:00
Simon Michael
bf91efda7c add: use command line arguments as defaults for first txn
With one or more command line arguments, they will used as defaults
for the first transaction, and history will be ignored. Subsequent
transactions will use history for defaults (and now only the best match
from history is shown).
2013-02-24 02:07:58 +00:00
Simon Michael
c8e2751aa5 add: < at any prompt restarts the current transaction (#47) 2013-02-23 01:44:45 +00:00
Simon Michael
7fcd45614b add: ui cleanups
- tidier output
- show more help
- suggest . only for recording, not for quitting (though it still works)
- show each transaction after adding it (#52)
- don't parse . as a zero amount
- don't show [] when there's no default
2013-02-23 00:57:16 +00:00
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