Commit Graph

1104 Commits

Author SHA1 Message Date
Simon Michael
eae9d78bb1 lib: generateAutomaticPostings -> applyTransactionModifiers 2018-08-02 08:25:49 +01:00
Simon Michael
bb36693155 lib: refactor, txnTieKnot automatically 2018-08-02 08:25:49 +01:00
Simon Michael
efc54c4c25 lib: ModifierTransaction -> TransactionModifier; try to clarify a bit 2018-07-30 19:38:21 +01:00
Simon Michael
05073e9f9d rewrite: clarify relation to print --auto (#745)
[ci skip]
2018-07-26 07:14:36 +01:00
Simon Michael
d5430e7ddf clean up debug helpers (api change) 2018-07-16 15:28:58 +01:00
Simon Michael
92404bb847 prices: allow filtering by query, clarify docs
Query arguments are allowed, prices can be filtered by date, and
postings providing transaction prices can be filtered by anything.
2018-07-15 09:21:10 +01:00
Simon Michael
2fbebc6c64 lib: clarify 2018-07-14 10:57:05 +01:00
Gaith Hallak
d0b9d76986 Keep the flags order in moveFlagsAfterCommand 2018-07-04 17:49:14 +03:00
Jakub Zárybnický
af98eecdf8 web: Add capabilities type, CLI options, and reading them from headers 2018-06-24 14:18:02 +02:00
Simon Michael
6a96683691 web: make --auto and multiple -f options work again
I think we lost one or both of these at the time of ecf49b1e.
2018-06-20 00:26:37 -07:00
Simon Michael
9c1db9ed9f lib: fix forecast start/end dates
pushed too soon
2018-06-18 18:08:55 -07:00
Simon Michael
26d2c79ce0 lib: make date: also set forecast end date, not just -e and -p 2018-06-18 17:55:18 -07:00
Alex Chen
ff2b042c7e lib: remove the ErroringJournalParser type 2018-06-11 13:58:56 -06:00
Simon Michael
061aad0431 remove some CPP that's obsolete since we require base 4.8+ 2018-06-04 17:33:21 -07:00
Simon Michael
ec39c87ca8 disambiguate the base-compat imports in hledger package too (#794) 2018-06-04 17:32:45 -07:00
Alex Chen
12e8d0e282 lib: change some parsers to use takeWhileP 2018-05-22 12:16:46 -07:00
Alex Chen
b245ec7b3d lib: remove the megaparsec compatability module 2018-05-22 12:16:46 -07:00
Simon Michael
581d02162c resolve all current build warnings with the supported GHC versions
If I'm lucky.
2018-05-17 20:43:55 -07:00
Mykola Orliuk
64c7eb78f4 GHC 8.0 compatibility 2018-05-13 14:41:08 -07:00
Simon Michael
2c0abac928 cli, ui, web: fix build on ghc < 8.4, hopefully 2018-05-05 16:20:27 -07:00
Simon Michael
ad99ffe935 ui: preserve the effect of --value, --forecast, --anon on reload (#753) 2018-05-05 15:55:14 -07:00
Simon Michael
34c3c5dc6c bal: show an error for unsupported --budget --sort-amount 2018-04-27 11:52:23 -07:00
Simon Michael
abb2e6bfc2 reg: include txn's code field in register CSV output (#746) 2018-04-27 10:57:40 -07:00
Simon Michael
9151f5004e budget: show a budget report even with no interval (for whole journal period) 2018-04-24 23:12:42 -07:00
Simon Michael
43287a3e26 budget: use a new first-class BudgetReport for --budget 2018-04-23 18:52:28 -07:00
Dmitry Astapov
0c835acd18 lib, app: better descriptions for forecast transactions 2018-04-18 16:05:08 -07:00
Dmitry Astapov
d82370d10b lib, app, web: remove differences between command line and journal file aliases 2018-04-17 16:09:11 -07:00
Dmitry Astapov
f6ec26e321 lib, app, web, ui: rename readJournalFile[s]WithOpts to readJournalFile, same for tryReader[s]WithOpts 2018-04-17 15:25:02 -07:00
Dmitry Astapov
37607beaea lib, app, web: use readJournalFileWithOpts instead of readJournalFile whenever possible 2018-04-17 14:33:32 -07:00
Dmitry Astapov
ecf49b1e4b lib: auto postings generated before amount inference and balance checks (#729) 2018-04-17 14:33:32 -07:00
Simon Michael
326ac83dcf fix haddock issues 2018-03-31 19:15:24 +01:00
Simon Michael
2a87ea56ff budget: refactor; show budget goals even with no or zero actual
This makes budget reports more intuitive. It is a temporary hack which
can misorder columns in some cases (if actual and budget activity
occur in a different range of columns). We should redo this in a more
principled way.
2018-03-30 03:26:32 +01:00
Simon Michael
939d6833ea budget: refactor date handling, add debug output 2018-03-30 01:01:50 +01:00
Simon Michael
c306193667 doc: also update -E/--empty command line help
[ci skip]
2018-03-30 00:49:28 +01:00
Simon Michael
083d9190fd budget: only periodic txns with the selected interval are used 2018-03-29 15:51:52 +01:00
Simon Michael
c64d598919 bal: a little more width for budget columns 2018-03-29 15:12:44 +01:00
Simon Michael
6970a4c6e8 budget: more regular layout, simple fixed-width columns
old:
Balance changes in 2018/03/19w12:

                   ||   2018/03/19w12
===================++=================
 <unbudgeted>:aaa  ||               0
 bbb               ||        1.33 [0]
 bbb:bbbbbbbbbbbbb || 1.25 [42% of 3]
 ccc               ||     0 [0% of 0]
 ddd               ||     0 [0% of 0]
 eee               || 0.75 [75% of 1]
 fff               || 3.50 [50% of 7]
 ggg               ||        1.25 [0]
 hhh               ||     0 [0% of 6]
 iii               ||     0 [0% of 0]
-------------------++-----------------
                   ||            8.08

new:
                   ||          2018/03/19w12
===================++========================
 <unbudgeted>:aaa  ||       0
 bbb               ||    1.33 [           0]
 bbb:bbbbbbbbbbbbb ||    1.25 [ 42% of    3]
 ccc               ||       0 [  0% of    0]
 ddd               ||       0 [  0% of    0]
 eee               ||    0.75 [ 75% of    1]
 fff               ||    3.50 [ 50% of    7]
 ggg               ||    1.25 [           0]
 hhh               ||       0 [  0% of    6]
 iii               ||       0 [  0% of    0]
-------------------++------------------------
                   ||    8.08
2018-03-29 15:03:27 +01:00
Simon Michael
550425810f budget refactoring, type synonyms
Using "actual" and "budget" terminology. "real" is already used in the
context of real/virtual postings. "actual" should be familiar from
unit testing (expected & actual)..
2018-03-29 15:03:27 +01:00
Simon Michael
a56c547bc2 cleanups 2018-03-29 15:03:27 +01:00
Simon Michael
d4eb3caf70 bal: comment fixes
[ci skip]
2018-03-29 15:03:27 +01:00
Simon Michael
1347885cd8 bal/bs/bse/cf/is: show short monthnames in monthly reports (like html) 2018-03-28 18:17:20 +01:00
Moritz Kiefer
d7b68fbd7d Use skipMany/skipSome for parsing spacenonewline
This avoids allocating the list of space characters only to then
discard it.
2018-03-25 22:59:05 +01:00
Simon Michael
84579bb1b4 silence redundant import warnings with ghc 8.4 2018-03-24 22:51:56 +00:00
Simon Michael
8c384e3192 tweak -E help again, hledger-web also shows zeroes by default
[ci skip]
2018-02-18 08:05:55 -08:00
Simon Michael
a8933e8c5c ui: tweak -E help, hledger-ui shows zeroes by default
[ci skip]
2018-02-18 07:16:59 -08:00
Simon Michael
d3fde29b36 bal: --invert flag to flip all signs 2018-01-29 14:53:23 -08:00
Simon Michael
5cea120ab7 cli: rename embedded files dir, make them extra-source-files
Per feedback from peti. These files will no longer be installed to
cabal's data directory, where it might seem as if they are required at
runtime, which they are not. Packagers will still find them in the
tarball and can put them in the proper place.
2018-01-26 11:12:08 -08:00
Simon Michael
37555617b7 journal, bal: document account codes 2018-01-23 16:51:12 -08:00
Simon Michael
e491f513a1 cli: tabular reports no longer have a trailing blank line added
Tabular reports from bal, bs etc. have until now been rendered on
the terminal with one final blank line, for readability.
This change drops the blank line.

This is consistent with the non-tabular balance and register output
(not print, which is a special case), and with most unix commands.
The real reason for it, which I admit is flimsy, is that I can now omit
the final delimiter (>=0) when using shelltestrunner 1.9's new format,
making functional tests easier to maintain and more readable.
If there's opposition, this could be reverted.
2018-01-23 12:47:56 -08:00
Simon Michael
d420a8b534 journal: account directive: parse and store a numeric account code also 2018-01-23 11:33:23 -08:00
Simon Michael
88ef586480 lib: rename, clarify purpose of balanceReportFromMultiBalanceReport 2018-01-23 11:32:24 -08:00
Simon Michael
6c60e4a97b bs/cf/is: always show a tabular report, even with no report interval
Previously, if you specified no report interval, the text output of
these commands was a simple report like the original balance command,
with amounts on the left and account names on the right. Also,
balances used arithmetic sign like the balance command.
Now it always draws a table, with account names in the left
column, and shows balances with normal-positive sign, consistent with
the multicolumn reports. Less code, fewer bugs.
2018-01-23 11:05:01 -08:00
Simon Michael
2e9ae3f400 bs/bse/cf/is: html output fixes and styling/styleability 2018-01-19 14:16:23 -08:00
Simon Michael
4ddb748d9c acc: rename --posted -> --used 2018-01-19 12:41:03 -08:00
Simon Michael
37a4d71f1b acc: report --declared and/or --posted accounts 2018-01-18 18:43:21 -08:00
Simon Michael
6210613f76 bs/bse/cf/is: show overall report span in title 2018-01-18 12:00:16 -08:00
Simon Michael
e9624486b6 bs/bse/cf/is: show local abbreviated month names on monthly columns 2018-01-18 11:46:12 -08:00
Simon Michael
3663c46502 bal: make --drop work with csv/html output 2018-01-18 11:26:57 -08:00
Simon Michael
3849ba7a9d bal: warn that --budget -O csv doesn't work 2018-01-18 11:24:22 -08:00
Simon Michael
6b349e3123 bs/bse/cf/is: show all balances as normally-positive (experimental)
Income, liability and equity balances, which until now we have
always displayed as negative numbers, are now shown as normally positive
by these reports.
Negative numbers now indicate a contra-balance (eg an overdrawn
checking account), a net loss, a negative net worth, etc.
This makes these reports more like conventional financial statements,
and easier to read and share with normal people.
2018-01-18 11:01:07 -08:00
Simon Michael
3b2a9eaba4 lib: refactor 2018-01-15 14:15:52 -08:00
Simon Michael
79812f974a rename NormalBalance -> NormalSign 2018-01-15 14:12:38 -08:00
Simon Michael
02516ef987 bal/bs/bse/cf/is: basic HTML output 2018-01-14 18:09:50 -08:00
Simon Michael
73ba78f092 bs/bse/cf/is: don't repeat the headings row for each subreport 2018-01-14 17:57:46 -08:00
Simon Michael
a26f7a9f51 include the column spans explicitly in CompoundBalanceReport 2018-01-14 17:49:45 -08:00
Simon Michael
de5d22ac21 bal/bs/is/cf: drop short name, indent fields from multicolumn CSV 2018-01-13 11:46:19 -08:00
Simon Michael
81e964502b lib: refactor low-level text file reading 2018-01-04 16:17:25 -08:00
Simon Michael
1234671c69 equity: rename to close 2018-01-03 17:02:35 -08:00
Simon Michael
98dcd1406e equity: more help cleanup 2018-01-03 15:55:59 -08:00
Simon Michael
31effcd731 equity: ignore any begin date; closed balances are historical 2018-01-03 13:50:16 -08:00
Simon Michael
98dd8c5f83 equity: improve help, note limitations, ignore --date2
Try to make this less confusing.
2018-01-03 12:53:37 -08:00
Simon Michael
e927e587e6 lib,cli: auto/forecast/budget option/docs cleanup, consistency 2017-12-31 10:01:18 -08:00
Simon Michael
f9e113c9ab print: -B shows converted amounts again, as in 1.1, even without -x. #551 (Simon Michael, Mykola Orliuk) 2017-12-30 19:08:58 -08:00
Simon Michael
8f55b6137d uses today's prices, not those of last txn date, for -V (fix #683,#648) 2017-12-29 21:42:59 -08:00
Simon Michael
69e255cead lib: deduplicate, refactor valuation code 2017-12-29 16:52:08 -08:00
Simon Michael
0a9d724152 lib: clarify journalApplyValue comment 2017-12-29 16:06:53 -08:00
Simon Michael
3f124cf123 add, web: suggest implied and declared account names also 2017-12-29 12:19:44 -08:00
Dmitry Astapov
ac80c39535 lib: command-line help for --auto/--forecast matches docs 2017-12-14 17:20:07 -08:00
Simon Michael
b425e50ad1 change paths in code, scripts, readme 2017-12-06 18:16:35 -08:00
Dmitry Astapov
58c755df86 lib: fix budget display to always show %% consumed and handle costs
For multi-column balance report, if there are no transactions in the
given period for budgeted account, display [0% of <budget>] for
consistency.

If balance is a mix of commodities, convert to cost basis for the
purposes of computing percent of balance spent.
2017-12-01 15:52:29 -08:00
Dmitry Astapov
8cd58b71ab bal: show percentage of budget spent 2017-11-26 14:57:41 +00:00
Dmitry Astapov
6ea5da2d9d bal: --budget shows budget performance
Budget goals specified with periodic transactions (as with
hledger-budget) can now be displayed in balance report (but not in bs/is/cf).

--budget shows the target amount and percentage alongside the actual
amount, per account and period.

Unbudgeted accounts will be hidden, unless --show-unbudgeted is used.

Budgeted accounts are displayed folded (depth-clipped) at a depth
matching the budget specification. Unbudgeted accounts, if shown, are
displayed at their usual depth (in full detail, or according to --depth).
2017-11-26 14:57:41 +00:00
Dmitry Astapov
23f3da4e92 cli: --auto adds automated postings to reports
Ledger-style automated postings, previously supported only by
hledger-budget, have landed as a first-class feature.  The --auto
flag activates them, so that any postings they generate are
included in reports.
2017-11-26 14:57:41 +00:00
Dmitry Astapov
f101d5b515 cli: --forecast adds periodic transactions to reports
Ledger-style periodic transactions, previously supported only by
hledger-budget, have landed as a first-class feature.  The --forecast
flag activates them, so that any transactions they generate are
included in reports.
2017-11-26 14:57:41 +00:00
Simon Michael
24d8336728 tag: first arg filters tag names, the rest filter transactions (#261) 2017-10-17 07:07:34 -07:00
jeevcat
3a9ea65b99 Rewrite of BalanceAssertion type to track its source position.
Fixes #481.
2017-10-16 13:25:03 -07:00
Simon Michael
e33cce52bc import: make --dry output valid journal format
[ci skip]
2017-10-14 08:59:09 -07:00
Simon Michael
5de51c9bad fix warnings/errors found by make stacktest 2017-09-30 13:00:22 -10:00
Simon Michael
3e866563d1 cli: tweak commands list 2017-09-30 06:58:25 -10:00
Simon Michael
e5f794d2cb cli,ui,web: a @FILE argument reads flags & args from FILE, one per line 2017-09-30 06:49:31 -10:00
Simon Michael
b5602fd771 bal: --sort-amount sorts tree-mode multi-column balance reports 2017-09-29 18:49:47 -10:00
Simon Michael
d9d92b3bf1 bs/bse/is: --sort-amount puts large liabilities/equities/incomes at top
Compound balance commands like these can now be aware of normal account
balance sign, and sort negative balances accordingly.

This also adds utility-ht as a dependency, only for the uncurry function
right now but it looks potentially useful to have.
2017-09-25 19:06:38 -10:00
Simon Michael
35e2e94228 bal/bs/cf/is: --sort-amount sorts by amount instead of account name 2017-09-25 06:17:46 -10:00
Simon Michael
fead7c5138 cli, ui, web: make -NUM a shortcut for --depth NUM 2017-09-22 16:14:30 -10:00
Simon Michael
0b7a50d0f0 import: sort new transactions by date, across files 2017-09-21 10:31:15 -10:00
Simon Michael
7edacdf443 cli: import command! hledger import *.csv adds new txns to main file 2017-09-17 18:57:51 -07:00
Simon Michael
c79c8b9883 print: help tweak 2017-09-15 10:08:58 -07:00
Simon Michael
669fa706c0 print: --new shows only transactions added since last time
First cut, error messages could be refined etc.
2017-09-15 09:55:17 -07:00
Simon Michael
e3c4a76119 add & use simpler readJournalFilesWithOpts/InputOpts api 2017-09-14 17:43:32 -07:00
Simon Michael
6e7a14b656 cli: new, comprehensive commands list 2017-09-14 05:55:44 -07:00
Simon Michael
bc66c75bd2 cli: some new short command aliases
accounts: a
balance: b
print: p, txns
register: r
2017-09-14 05:53:12 -07:00
Simon Michael
e3902ebc6f cli: make tags a builtin command 2017-09-12 19:54:39 -07:00
Simon Michael
d2d7dbbce0 cli: make rewrite a builtin command 2017-09-12 19:51:27 -07:00
Simon Michael
89f694707b cli: make register-match a builtin command 2017-09-12 19:43:41 -07:00
Simon Michael
bf99c74198 cli: make print-unique a builtin command 2017-09-12 19:37:31 -07:00
Simon Michael
258efdf83c cli: make prices a builtin command 2017-09-12 19:28:01 -07:00
Simon Michael
4e6aa06b62 cli: make equity a builtin command 2017-09-12 19:17:47 -07:00
Simon Michael
fe9cd2a186 cli: make check-dupes a builtin command 2017-09-12 19:09:00 -07:00
Simon Michael
44e3d72926 checkdates: disable/document stack script stuff 2017-09-12 18:50:25 -07:00
Simon Michael
b4d70731e8 checkdates: docs 2017-09-12 18:24:22 -07:00
Simon Michael
3dc8dc428a cli: comments 2017-09-12 18:23:38 -07:00
Simon Michael
84320fe97f cli: fix import warning 2017-09-12 18:04:40 -07:00
Simon Michael
d2c8edb023 cli: refactor: simplify imports 2017-09-12 17:54:59 -07:00
Simon Michael
7f5985067d cli: begin merging addons, make check-dates a builtin command 2017-09-12 17:54:25 -07:00
Simon Michael
55cebad0d5 cli: refactor: move commands to a subdirectory, reinstate test command 2017-09-12 10:04:36 -07:00
Simon Michael
a8ff9e91f6 cli: fix haddock error 2017-09-11 18:36:20 -07:00
Simon Michael
dc191ec76e cli: refactor: new Commands module
Builtin commands are now gathered more tightly in a single module,
Hledger.Cli.Commands, reducing duplication and facilitating change.

The tests command was difficult and has been dropped for now.

The obsolete convert/info/man commands have been dropped.

cli: refactor: a proper commands list, better Main/Commands separation

The legacy "convert" command has been dropped.

The activity command's module is now named consistently.
2017-09-11 16:50:08 -07:00
Simon Michael
453cf431b2 cli: drop support for directory < 1.2 2017-09-08 11:42:38 -07:00
Simon Michael
ce83b789cf cli: fix unused import warning
Only seen with GHC 7.10 for some reason.
2017-09-08 11:42:38 -07:00
Simon Michael
9501b43471 lib: pivot -> journalPivot, drop implicit tags notion (#598, #608) 2017-09-05 10:48:35 -07:00
Jakub Zárybnický
13a6584440 ui, web: Enable --pivot and --anon in ui and web (#474) 2017-09-04 20:45:31 -07:00
Nicholas Niro
5e3c8aaaff Implemented the new Cli command 'balancesheetequity`.
This new command shows the same information as balancesheet but also
includes the Equity accounts (equity:<account name>).
2017-08-28 16:58:48 -04:00
Simon Michael
d8696c5ea0 cli: clearer command-line help for --date2 (fixes #604) 2017-08-21 17:19: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
b9571bd088 bal/bs/cf/is: consistently separate columns with a double space
Previously, amounts wider than the column headings would be separated
by only a single space. Also there was an extra space before the first
column.
2017-07-27 09:09:03 -07:00
Simon Michael
8851ebc29f bs/cf/is: support --output-file and --output-format=txt|csv
The CSV output should be reasonably ok for dragging into
a spreadsheet and reformatting.
2017-07-25 19:43:45 -07:00
Simon Michael
71b206dfc5 lib: writeOutput clarification 2017-07-25 16:04:00 -07:00
Simon Michael
7204b1b9a1 lib: make output-file and output-format flags available separately
Kind of.. the output-file flag's help mentions output-format
2017-07-25 16:03:59 -07:00
Simon Michael
f49756231a refactor compoundBalanceCommandMultiColumnReport etc. 2017-07-25 16:03:59 -07:00
Simon Michael
48d909c695 refactor compoundBalanceCommandMultiColumnReport etc., more correct docs 2017-07-25 14:28:52 -07:00
Simon Michael
5d93c39922 clarify balance report/cumulative/historical/tree mode shenanigans 2017-07-25 13:55:54 -07:00
Simon Michael
783c4c155c whitespace 2017-07-25 13:51:26 -07:00
Simon Michael
f0119ec9c1 refactor compoundBalanceCommand 2017-07-25 13:22:03 -07:00
Simon Michael
115ed3aead bs/is: show a trailing blank line in single column reports, for consistency 2017-07-25 12:46:56 -07:00
Simon Michael
9d4d6ebc4d bs/cf/is: show one trailing blank line, not two 2017-07-25 12:43:56 -07:00
Simon Michael
c89bec0e17 bs/is: don't let an empty subreport disable the grand totals (fixes #588) 2017-07-25 09:21:09 -07:00
Simon Michael
083df72582 refactor: BalanceCommand -> CompoundBalanceCommand
More verbose, but also more precise.
2017-07-25 09:21:09 -07:00
Simon Michael
d4f09efc95 refactor balanceCommand 2017-07-25 09:21:09 -07:00
Simon Michael
117ab0ca4c refactor: BalanceView -> BalanceCommandSpec, cleanups 2017-07-25 09:21:09 -07:00
Simon Michael
5fca083ad2 BalanceView wording, mention case insensitivity 2017-07-25 09:21:09 -07:00
Simon Michael
422e0923f1 refactor BalanceView 2017-07-25 09:21:09 -07:00
Simon Michael
9b9a1a7a30 help: mention -h & output options in default output 2017-07-24 22:19:57 +01:00
Simon Michael
69c41cdd99 cli, help: usage tweaks
[ci skip]
2017-07-08 08:34:45 +01:00
Simon Michael
9938aa5e79 help: allow substring matching
[ci skip]
2017-07-08 07:37:15 +01:00
Simon Michael
5e69d6de84 help: use more standard names for tool manuals
[ci skip]
2017-07-08 07:36:52 +01:00
Simon Michael
6df81962ed cli, bin: mention -h in commands list and addons' usage messages
[ci skip]
2017-07-08 06:49:25 +01:00
Simon Michael
9eb1520b6f help: add --info/--man/--pager/--cat flags, & choose best one by default (#579)
You can select a docs format/viewer with one of the `--info`, `--man`, `--pager`, `--cat` flags.
Otherwise, it will use info if available, otherwise man if available,
otherwise $PAGER if defined, otherwise less if available, otherwise it
prints on stdout (and always prints on stdout when piped).

Preferring info over man might not suit everyone.
2017-07-07 15:42:22 +01:00
Simon Michael
daa9550929 cli: fix -h/--help debug output (#579) 2017-07-07 15:42:16 +01:00
Simon Michael
7e896572a7 make --help and -h the same, drop --man and --info for now (#579) 2017-07-07 02:08:34 +01:00
Simon Michael
d4457931ef cli: document journalApplyValue 2017-07-05 08:08:20 +01:00
Simon Michael
eb42ea04e5 use consistent UPC order for --unmarked/--pending/--cleared (#564) 2017-06-15 19:16:39 -07:00
Simon Michael
e119941648 rename "uncleared" status to "unmarked" and --uncleared to --unmarked (#564)
See the issue and linked mail list discussion. Ambiguity between the
uncleared state, and the "not cleared" --uncleared flag causes confusion
and friction. At this point it seems best to break with Ledger and
past hledger, pick a new name and drop --uncleared to put an end to it.
2017-06-15 19:16:39 -07:00
Simon Michael
ab073e01e3 lib: add -P short flag for --pending (#564) 2017-06-15 19:16:39 -07:00
Simon Michael
8b073014e4 lib, cli: -U/--uncleared no longer matches pending things (#564)
Also begin using "marked"/"unmarked" terminology where it's helpful.
2017-06-15 19:16:39 -07:00
Justin Le
54d33ce028 show colorized amounts for totals of bs/is/cf (#567) 2017-06-08 10:33:46 -07:00
Justin Le
6857cd64a8 Fixing bs/is/cf --flat regressions (#566)
* fixing bs/is/cf --flat regressions

* fixed Tree forcing for non-period reports
2017-06-07 07:03:13 -07:00
afarrow
26d2fe3827 Fix typo in help docs (#560) 2017-05-31 16:20:21 -07:00
Simon Michael
c9e7bbdc7c clarify recent print changes a bit (#551) 2017-05-30 13:57:52 -07:00
Simon Michael
6c95909fa2 stop forcing tree mode for now, need is unclear (fixes #552) 2017-05-23 10:05:04 -07:00
Simon Michael
118bc85726 bs/is: fix "Ratio has zero denominator" error (take 2) (#535) 2017-05-04 10:49:03 -07:00
Simon Michael
c8e4bc0098 bs/is: fix "Ratio has zero denominator" error with no matched accounts (#518) 2017-05-04 10:24:00 -07:00
Simon Michael
6c2d2c0a6a bal: cleanup
[ci skip]
2017-04-25 19:39:09 -07:00
Simon Michael
10d85bedec bal: show negative amounts in red
The balance command now shows negative amounts in red, when it thinks
ANSI codes are supported, ie when TERM is not "dumb" and stdout is not
being redirected or piped somewhere.
2017-04-25 18:34:09 -07:00
Simon Michael
e105cdee98 bs/cf/is: more informative usage, mention begin date (#518) 2017-03-31 17:41:25 -07:00
Simon Michael
e50dede708 cashflow: make totals row and -N more like balance/bs/is (#518) 2017-03-31 16:39:47 -07:00
Simon Michael
b82e800ae6 bs/cf/is: fix subtitle appearing above total (and put on one line) (#527) 2017-03-30 17:18:30 -07:00
Simon Michael
0055f99c77 doc: more options doc cleanups 2017-03-29 20:45:30 -07:00
Simon Michael
7df15a8279 doc: flags/usage/manual cleanups 2017-03-29 14:20:30 -07:00
Moritz Kiefer
f4b3f1c094 Add an option to use unicode in balance tables (#528)
* Add an option to use unicode in balance tables

fixes #522

* Add a test for unicode tables

* Document --pretty-tables

* Support --pretty-tables in BalanceView
2017-03-29 11:12:01 -07:00
Simon Michael
8d1b1fbfc5 cli: fix a commands list error when no addons are in path 2017-03-29 08:13:09 -07:00
Simon Michael
b402fc7e7d lib: optserror -> usageError, consolidate with other error functions (#529) 2017-03-29 08:00:51 -07:00
Simon Michael
0e9b3dc4b9 cli: avoid processValue which prints stack traces (fixes #529) 2017-03-29 07:45:07 -07:00
Simon Michael
895a66eb06 cli: first of several cleanups; separate commands list & usage (#297) 2017-03-28 18:44:34 -07:00
Simon Michael
c6eaf9abb3 fix BalanceView warning, get travis passing 2017-03-28 04:48:27 -07:00
Simon Michael
e2faf08088 cli: simplify addons detection, fix deduplication 2017-03-28 04:07:01 -07:00
Justin Le
1e9e6f29e2 is/bs/cf without -E will now hide empty amounts properly, and still have properly aligned rows 2017-03-27 14:18:27 -07:00
Justin Le
7616056fbe added 'qualifiers' to odd customized usages of bs/is/cf (ie, historical for is) to prevent misleading reports 2017-03-27 14:01:48 -07:00
Justin Le
b06739f714 matched the logic for Balance.hs to allow date: for historical queries to be correct 2017-03-27 13:53:24 -07:00
Justin Le
4b0ba0f011 odd behavior on -A was bcause of missing parentheses around if statements 2017-03-27 13:22:41 -07:00
Simon Michael
863989e0e7 print: bring back the short -x form of --explicit (#442) 2017-03-27 05:17:35 -07:00
Justin Le
f7f6d5f8e5 average total for multicolumn bs/is/cf 2017-03-26 01:40:37 -07:00
Justin Le
abfa0a6e01 Multicolumn reports for bs/cf/is, and -T/-A support (#518)
* factored out multi-column balance reporting into table creation and string rendering

* preliminary multicolumn balance reporting for BalanceView

* added -T and -A options for balance views

* support for overriding balanceview defaults

* fixed unecessary whitespace stripping to make tree view work

* no need for ViewPatterns in BalanceView

* fixed regression where balancesheet didn't ignore the start date when in single column mode

* removed trailing whitespace to pass tests

* handling warnings in Balance.hs

* force -E to line up lines for bs/is/cf
2017-03-22 22:57:40 +00:00
Justin Le
0c7b4e668c fixed warnings in Balance.hs 2017-03-22 07:09:14 +00:00
Justin Le
34a2c8e7e6 fixed warning in BalanceView.hs 2017-03-18 10:40:03 +00:00
Justin Le
f5a530d620 bugfix for #514, is and cf are now period reports, and bs, as a snapshot report, is treated as a special case 2017-03-18 10:40:03 +00:00
Steven R. Baker
75e169d369 Add missing assrt param to documentation.
I was working through the documentation, and this wouldn't work as-is. I noticed that there is an additional argument `assrt` which is not used here. Passing `True` causes this example to work.
2017-02-11 12:08:33 -08:00
Justin Le
b41d11c6e9 documentation and cleanup for BalanceView 2017-02-04 16:38:18 -08:00
Justin Le
bc67c2a769 fixed small regression in number of newlines at the end of incomestatement, balancesheet, cashflow outputs 2017-02-04 16:38:18 -08:00
Justin Le
baf232d3d9 moved -V/--value to be a global report option, so it works with balance, print, register, balancesheet, incomestatement, cashflow, etc. 2017-02-04 16:38:18 -08:00
Justin Le
573eda15e6 support all single-column balance features for balancesheet/incomestatement/cashflow 2017-02-04 16:38:18 -08:00
Justin Le
321ace107e BalanceView system implemented for incomestatement and cashflow 2017-02-04 16:38:18 -08:00
Justin Le
a6f98f1170 abstracting over balancesheet, incomestatement, and cashflow with BalanceView 2017-02-04 16:38:18 -08:00
Simon Michael
b7092f278b cli, addons: reduce boilerplate a little with hledgerCommandMode helper 2017-01-25 17:10:10 -08:00
Simon Michael
6859b94f4b cli: omit source addons from list when compiled version is present, again
Source and compiled versions of all addons in bin are cluttering up
the commands list. I think this was reasonably well behaved, so I'm
re-enabling it, possibly with a slight fix (.c shadowing .exe).
Some notes:

- when there's only one addon with its base filename, its extension is not displayed (as before)
- addons with (case insensitive) .exe extension or no extension are considered compiled
- when there's exactly two addons with the same base filename, and one of them looks compiled, only that one is kept
- modification time is not checked; an old compiled addon overrides a newer source version
- when there's more than two addons with same base filename, all are kept
2017-01-24 19:34:48 -08:00
Simon Michael
daf6732368 addons, doc: a new help scheme, more automated and usable
The previous cleanup defined long help separately from the usage text
generated by cmdargs. This meant keeping flag descriptions synced
between the two, and also the short help was often too verbose and
longer than the long help.

Now, the non-usage bits of long help are defined as pre and postambles
within the cmdargs mode, letting cmdargs generate the long help
including all flags. We derive the short help from this by truncating
at the start of the hledger common flags.

Most of the bundled addons (all but hledger-budget) now use the
new scheme and have pretty reasonable -h and --help output.
We can do more to reduce boilerplate for addon authors.
2017-01-24 09:27:43 -08:00
Simon Michael
f4eb9e23e3 addons: add -h & --help to most of them; CliOpts cleanups 2017-01-23 06:17:17 -08:00
Simon Michael
4221381f18 cli: "QUERY" instead of old "PATTERNS" in command help 2017-01-22 10:05:10 -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
Mykola Orliuk
295af41f38 cli: fix bug in pivot for postings without tag (#491)
Without this fix for postings without tag query checked effective
account which is always empty text ("").
2017-01-19 07:53:00 -08:00
Simon Michael
91dbeedee4 doc: document new --pivot
[ci skip]
2017-01-16 15:53:51 -08:00
Simon Michael
39662260cd cli: use a blank acct name for postings without the specified pivot tag
Eg. if you --pivot code, postings from transactions with no code value
were formerly displayed with the unpivoted account name, so you'd see
a mixture of account names and codes. Now we always pivot the account name,
to blank if nothing else. This probably makes reports pretty ugly, it's just another
step towards making --pivot's behaviour clearer.
2017-01-13 14:06:23 -08:00
Simon Michael
80827321c4 cli: don't add the tag name/field name as prefix 2017-01-13 08:19:24 -08:00
Mykola Orliuk
76867c98a3 Feature/pivot implicit tags (#460)
* Add implicit tags code/desc/payee for --pivot

Additionally allow using of transaction inherited tags.

* Use original posting in query by account name

To be able to query on individual postings and by account name it is
useful to have access to original account name (before pivot).
Especially this is useful when all postings within transaction gets
the same pivot name due.
As a side effect we'll match by alias.

Note: to query on amt it usually expected to see matches with inferred
amounts.
2017-01-13 08:02:11 -08:00
Simon Michael
2f5b96b4ae print: update manual, tweak help #442 2017-01-13 07:29:31 -08:00
Simon Michael
e87906f960 print: reserve short -x flag, --explicit is sufficient 2017-01-13 07:29:27 -08:00
Mykola Orliuk
015b764d00 Preserve implicit amounts and prices the way user wrote them in output of print command (#471)
* Remember original postings during infer and pivot

This includes such functions like:
- inferFromAssignment
- inferBalancingAmount
- inferBalancingPrices
- pivotPosting

* Use original postings for hledger print

- Introduce "--explicit" option for "print" command which brings back
  old behavior when every inferred number being printed.
- Make "print" by default print original postings without inferred
  amounts. But use effective account name to have effect from aliases.
- Instruct shell tests with an new expected output or to use
  --explicit option when inferred amounts are checked.

Resolves simonmichael/hledger#442
2017-01-13 07:25:44 -08:00
Moritz Kiefer
d236f7b237 Fix a few spaceleaks (#413) 2017-01-12 16:24:53 -08:00
Simon Michael
7dfb424f3f Revert "print: omit the last posting amount, as we used to #465, #442"
This reverts commit 29183e7ddd.
2017-01-10 12:05:25 -08:00
Simon Michael
29183e7ddd print: omit the last posting amount, as we used to #465, #442
This avoids printing invalid journal format for entries where an implicit amount has multiple commodities.
2017-01-10 09:41:27 -08:00
Simon Michael
4abd029bae print: ensure 0 amounts also appear in the "debit" field 2017-01-10 08:58:11 -08:00
Simon Michael
5fa8780e3f print: rename second CSV "status" field to posting-status 2017-01-10 08:54:38 -08:00
Simon Michael
3ae8712bbc rename data/ to examples/ 2017-01-08 07:26:13 -08:00
Simon Michael
a1555ce964 Revert "Adding "--value"/"-V" option for balancesheet/incomestatement/cashflow and register (#361)"
This reverts commit b935cd2243.
2016-12-31 07:54:47 -08:00
Justin Le
b935cd2243 Adding "--value"/"-V" option for balancesheet/incomestatement/cashflow and register (#361)
* Added --value options for specialized balance ouputs balancesheet, incomestatement, cashflow

* --value option for 'register' command
lib: postingsValue to convert posting amounts to market value
2016-12-31 07:48:17 -08:00
Simon Michael
701fb5496f doc, cli: improvements for -B, -V, prices docs #403 2016-12-30 14:36:27 -08:00
Simon Michael
a57c1bde08 bal: with -V, don't ignore market prices in the future #453 2016-12-30 11:46:13 -08:00
Simon Michael
98ef8f9a60 lib, cli: allow a READER: prefix on data file paths
This provides a way to override the file format detection logic,
useful eg for files with wrong extensions or standard input.
2016-11-20 10:32:22 -08:00
Brian Scott
8fdea5d11a Anon feature (#412)
* Add anon flag to cli

* Implement anonymisation for accounts

* document the --anon option
2016-10-26 10:39:13 -07:00
Simon Michael
f864efdb07 reg: csv: include txn index, rename total field (fixes #391) 2016-08-14 10:15:45 -07:00
Simon Michael
332a19ccd8 print: csv: show proper txn index, rename to "txnidx" 2016-08-14 10:15:00 -07:00
Simon Michael
5ea088d1ca bs,is,cf: add functional tests, fix bs infinite loop #393 2016-08-13 07:47:43 -07:00
Simon Michael
69ebc3b159 bal, reg, stats: clarify report modes, output, options
- try to clarify naming and meaning of balance/register report modes
  and kinds of "balance" displayed. Added balance --change and
  register --cumulative flags to clarify report modes.

- with multiple --change/--cumulative/--historical flags use the last
  instead of complaining

- register -A is now affected by -H

- options cleanups
2016-08-12 09:44:31 -07:00
Simon Michael
47695f6484 register: tweak --historical help 2016-08-08 17:49:39 -07:00
Simon Michael
39c5eb9801 balance: make -H work with single-column reports #392
-H/--historical now makes a single-column balance report with a start
date show historical balances reflecting earlier postings.  This is
equivalent to specifying no start date, but it's more consistent.
2016-08-08 17:40:41 -07:00
Simon Michael
974b1e3be0 lib: simplify balance report types; haddocks 2016-08-08 17:23:21 -07:00
Simon Michael
87b1d26db0 add: suggest one commodity at a time as default amount #383 (take 2) 2016-08-06 20:04:15 -07:00
Simon Michael
009fe6d09f Revert "add: suggest only one commodity at a time as default amount #383"
Overcommitted.

This reverts commit 92b97e7bd3.
2016-08-06 19:59:18 -07:00
Simon Michael
92b97e7bd3 add: suggest only one commodity at a time as default amount #383
Since we currently can't accept more than one commodity as input.
2016-08-04 11:55:46 -07:00
Simon Michael
985ca50814 doc: expand period expressions, rename "report interval" 2016-08-02 12:51:18 -07:00
Simon Michael
fe6d4cc7da lib: abstract period/interval/cleared in ReportOpts 2016-07-29 19:20:56 -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
1953748972 cli: clarify --debug flag's help 2016-07-06 15:11:10 -07:00
Simon Michael
0b465f61e7 cli: make -I short for --ignore-assertions
Differs from Ledger, but will be useful for hledger-ui.
2016-07-06 14:56:29 -07:00
Simon Michael
4927711490 lib: when reloading a journal, keep aliases and pivot in effect 2016-06-10 16:18:57 -07:00
Simon Michael
6acd57da53 describe -E/--empty more accurately as "nonzero" 2016-06-03 09:00:43 -07:00
Simon Michael
f0baa30db0 doc: another help flag consistency fix 2016-05-28 23:51:14 -07:00
Simon Michael
54237a61d6 refine help commands/flags' help & docs 2016-05-28 23:29:58 -07:00
Simon Michael
90c9735b7a lib: textification: descriptions & codes
Slightly higher (with small files) and lower (with large files) maximum
residency, and slightly quicker for all.

hledger -f data/100x100x10.journal stats
<<ghc: 42858472 bytes, 84 GCs, 193712/269608 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.015 elapsed), 0.016 MUT (0.042 elapsed), 0.011 GC (0.119 elapsed) :ghc>>
<<ghc: 42891776 bytes, 84 GCs, 190816/260920 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.004 elapsed), 0.017 MUT (0.025 elapsed), 0.010 GC (0.015 elapsed) :ghc>>

hledger -f data/1000x1000x10.journal stats
<<ghc: 349575240 bytes, 681 GCs, 1396425/4091680 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.137 MUT (0.146 elapsed), 0.050 GC (0.057 elapsed) :ghc>>
<<ghc: 349927568 bytes, 681 GCs, 1397825/4097248 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.126 MUT (0.133 elapsed), 0.050 GC (0.057 elapsed) :ghc>>

hledger -f data/10000x1000x10.journal stats
<<ghc: 3424029496 bytes, 6658 GCs, 11403141/41077288 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.000 elapsed), 1.278 MUT (1.310 elapsed), 0.493 GC (0.546 elapsed) :ghc>>
<<ghc: 3427418064 bytes, 6665 GCs, 11127869/37790168 avg/max bytes residency (11 samples), 109M in use, 0.000 INIT (0.001 elapsed), 1.212 MUT (1.229 elapsed), 0.466 GC (0.519 elapsed) :ghc>>

hledger -f data/100000x1000x10.journal stats
<<ghc: 34306546248 bytes, 66727 GCs, 77030638/414617944 avg/max bytes residency (14 samples), 1012M in use, 0.000 INIT (0.000 elapsed), 12.965 MUT (13.164 elapsed), 4.771 GC (5.447 elapsed) :ghc>>
<<ghc: 34340246056 bytes, 66779 GCs, 76983178/416011480 avg/max bytes residency (14 samples), 1011M in use, 0.000 INIT (0.008 elapsed), 12.666 MUT (12.836 elapsed), 4.595 GC (5.175 elapsed) :ghc>>
2016-05-24 19:00:58 -07:00
Simon Michael
770dcee742 lib: textification: comments and tags
No change.

hledger -f data/100x100x10.journal stats
<<ghc: 42859576 bytes, 84 GCs, 193781/269984 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.016 MUT (0.020 elapsed), 0.009 GC (0.011 elapsed) :ghc>>
<<ghc: 42859576 bytes, 84 GCs, 193781/269984 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.018 elapsed), 0.009 GC (0.013 elapsed) :ghc>>

hledger -f data/1000x1000x10.journal stats
<<ghc: 349576344 bytes, 681 GCs, 1407388/4091680 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.124 MUT (0.130 elapsed), 0.047 GC (0.055 elapsed) :ghc>>
<<ghc: 349576280 bytes, 681 GCs, 1407388/4091680 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.126 MUT (0.132 elapsed), 0.049 GC (0.058 elapsed) :ghc>>

hledger -f data/10000x1000x10.journal stats
<<ghc: 3424030664 bytes, 6658 GCs, 11403359/41071624 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.000 elapsed), 1.207 MUT (1.228 elapsed), 0.473 GC (0.528 elapsed) :ghc>>
<<ghc: 3424030760 bytes, 6658 GCs, 11403874/41077288 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.002 elapsed), 1.234 MUT (1.256 elapsed), 0.470 GC (0.520 elapsed) :ghc>>

hledger -f data/100000x1000x10.journal stats
<<ghc: 34306547448 bytes, 66727 GCs, 76805504/414629288 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.003 elapsed), 12.615 MUT (12.813 elapsed), 4.656 GC (5.291 elapsed) :ghc>>
<<ghc: 34306547320 bytes, 66727 GCs, 76805504/414629288 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.009 elapsed), 12.802 MUT (13.065 elapsed), 4.774 GC (5.441 elapsed) :ghc>>
2016-05-24 19:00:57 -07:00
Simon Michael
c89c33b36e lib: textification: parse stream
10% more allocation, but 35% lower maximum residency, and slightly quicker.

hledger -f data/100x100x10.journal stats
<<ghc: 39327768 bytes, 77 GCs, 196834/269496 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.010 elapsed), 0.020 MUT (0.092 elapsed), 0.014 GC (0.119 elapsed) :ghc>>
<<ghc: 42842136 bytes, 84 GCs, 194010/270912 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.009 elapsed), 0.016 MUT (0.029 elapsed), 0.012 GC (0.120 elapsed) :ghc>>

hledger -f data/1000x1000x10.journal stats
<<ghc: 314291440 bytes, 612 GCs, 2070776/6628048 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.000 elapsed), 0.128 MUT (0.144 elapsed), 0.059 GC (0.070 elapsed) :ghc>>
<<ghc: 349558872 bytes, 681 GCs, 1397597/4106384 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.004 elapsed), 0.124 MUT (0.133 elapsed), 0.047 GC (0.053 elapsed) :ghc>>

hledger -f data/10000x1000x10.journal stats
<<ghc: 3070026824 bytes, 5973 GCs, 12698030/62951784 avg/max bytes residency (10 samples), 124M in use, 0.000 INIT (0.002 elapsed), 1.268 MUT (1.354 elapsed), 0.514 GC (0.587 elapsed) :ghc>>
<<ghc: 3424013128 bytes, 6658 GCs, 11405501/41071624 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.001 elapsed), 1.343 MUT (1.406 elapsed), 0.511 GC (0.573 elapsed) :ghc>>

hledger -f data/100000x1000x10.journal stats
<<ghc: 30753387392 bytes, 59811 GCs, 117615462/666703600 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.000 elapsed), 12.068 MUT (12.238 elapsed), 6.015 GC (7.190 elapsed) :ghc>>
<<ghc: 34306530696 bytes, 66727 GCs, 76806196/414629312 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.010 elapsed), 14.357 MUT (16.370 elapsed), 5.298 GC (6.534 elapsed) :ghc>>
2016-05-24 19:00:57 -07:00
Simon Michael
102b76c17f lib: textification: commodity symbols
hledger -f data/100x100x10.journal stats
<<ghc: 39288536 bytes, 77 GCs, 196608/269560 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.016 MUT (0.028 elapsed), 0.009 GC (0.012 elapsed) :ghc>>
<<ghc: 39290808 bytes, 77 GCs, 196608/269560 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.003 elapsed), 0.015 MUT (0.021 elapsed), 0.009 GC (0.011 elapsed) :ghc>>

hledger -f data/1000x100x10.journal stats
<<ghc: 314268960 bytes, 612 GCs, 2143219/6826152 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.009 elapsed), 0.135 MUT (0.151 elapsed), 0.065 GC (0.178 elapsed) :ghc>>
<<ghc: 314254512 bytes, 612 GCs, 2072377/6628024 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.000 elapsed), 0.130 MUT (0.134 elapsed), 0.064 GC (0.075 elapsed) :ghc>>

hledger -f data/10000x100x10.journal stats
<<ghc: 3070016592 bytes, 5965 GCs, 13138220/64266016 avg/max bytes residency (10 samples), 128M in use, 0.000 INIT (0.000 elapsed), 1.272 MUT (1.322 elapsed), 0.527 GC (0.595 elapsed) :ghc>>
<<ghc: 3069989896 bytes, 5973 GCs, 12687877/62848920 avg/max bytes residency (10 samples), 124M in use, 0.000 INIT (0.002 elapsed), 1.295 MUT (1.324 elapsed), 0.511 GC (0.570 elapsed) :ghc>>

hledger -f data/100000x100x10.journal stats
<<ghc: 30753448072 bytes, 59763 GCs, 121502982/673169248 avg/max bytes residency (14 samples), 1640M in use, 0.000 INIT (0.007 elapsed), 12.421 MUT (12.672 elapsed), 6.240 GC (7.812 elapsed) :ghc>>
<<ghc: 30753350528 bytes, 59811 GCs, 117616668/666703600 avg/max bytes residency (14 samples), 1588M in use, 0.001 INIT (0.011 elapsed), 13.209 MUT (13.683 elapsed), 6.137 GC (7.117 elapsed) :ghc>>
2016-05-24 19:00:57 -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
0f5ee154c4 lib: simplify parsers; cleanups (#275)
The journal/timeclock/timedot parsers, instead of constructing (opaque)
journal update functions which are later applied to build the journal,
now construct the journal directly (by modifying the parser state). This
is easier to understand and debug. It also removes any possibility of
the journal updates being a space leak. (They weren't, in fact memory
usage is now slightly higher, but that will be addressed in other ways.)

Also:

Journal data and journal parse info have been merged into one type (for
now), and field names are more consistent.

The ParsedJournal type alias has been added to distinguish being-parsed
and finalised journals.

Journal is now a monoid.

stats: fixed an issue with ordering of include files

journal: fixed an issue with ordering of included same-date transactions

timeclock: sessions can no longer span file boundaries (unclocked-out
sessions will be auto-closed at the end of the file).

expandPath now throws a proper IO error (and requires the IO monad).
2016-05-23 00:44:19 -07:00
Simon Michael
72bdce39b6 ui: fix a recent reload breakage (fixes #346)
Commit 0a90ef4 a few weeks ago caused hledger-ui to show wrong balances
after reloading with the g key, if the journal had changed and you had
specified a query on the command line.

Now, journalReloadIfChanged reloads the full journal without filtering,
like journalReload and withJournalDo.
2016-05-20 08:20:08 -07:00
Simon Michael
7f5e09096f lib: rename JournalContext to JournalParseState 2016-05-18 20:57:34 -07:00
Simon Michael
ea383d88d6 lib: drop "double" build flag 2016-05-18 20:32:58 -07:00
Simon Michael
e28ed0c927 stats: "journal file" -> "file" 2016-05-17 19:50:57 -07:00
Simon Michael
4dd7dba771 fix ghc pattern match warning (#323) 2016-05-17 18:42:37 -07:00
Simon Michael
59c2d73d14 doc: symlink other package docs into hledger (#343)
The hledger package tarball now contains a copy of the generated docs
from all the other packages, so that it can build without being in a
source tree.
2016-05-17 10:04:54 -07:00
Simon Michael
207922a023 lib: Commodity now has a CommoditySymbol and style 2016-05-08 08:07:27 -07:00
Malte Brandy
913b8e4c19 Add --pivot option with tests and docs (#323) 2016-05-06 18:27:35 -07:00
Simon Michael
6cbc0ceb0d lib: note issues 2016-05-06 17:19:23 -07:00
Simon Michael
e2ce7c4802 doc, tests: clarify what --date2 does 2016-05-06 16:57:24 -07:00
Simon Michael
9a424d77fc lib: more thorough journal reloading
Reloading a journal should now reload all included files as well.
2016-05-02 20:07:53 -07:00
Simon Michael
f3360c8cfe lib: after reloading a journal, also refilter it (#314)
After reloading a journal due to a file change, we now also re-apply any
query specified by the options.
2016-04-28 21:47:49 -07:00
Simon Michael
a3e975bdb8 doc: use new file-embed to fix ghci cwd dependence
See https://github.com/snoyberg/file-embed/issues/18
2016-04-21 08:45:22 -07:00
Simon Michael
42c12fe631 cli, ui, web, api: --info, --man, info & man cmds 2016-04-19 19:21:29 -07:00
Simon Michael
57626dc9fb bal: output CSV item amounts on one line #336 2016-04-19 10:38:40 -07:00
Simon Michael
f9362707b6 ui, web, api: fix -h, --help 2016-04-18 16:43:51 -07:00
Simon Michael
8839136f02 cli: fix --help 2016-04-18 15:26:29 -07:00
Simon Michael
b7d2d612a8 hledger: embed main man pages; new help command 2016-04-14 18:38:12 -07:00
Simon Michael
48f89314d5 hledger: long --help flag shows man page
hledger now embeds its man page, and will display it on --help (like
Ledger and git). -h and --help are now different, like git.
2016-04-13 22:32:04 -07:00
Simon Michael
25cd65442a cli: fix opts parsing regressions from feb
Since commit 7aab544, "-f -" before the command broke command
detection, causing spurious "no such option" errors (and breaking
about 70 functional tests which neither I nor travis noticed).
2016-04-04 11:35:39 -07:00
Simon Michael
7aab544cf6 cli: make argument-less --debug more robust 2016-02-19 22:53:25 -08:00
Simon Michael
01abf4a56d typo 2016-02-19 17:52:40 -08:00
Simon Michael
96e1ca7ea1 lib: refactor amount canonicalisation
Amount display style canonicalisation code and terminology has been
clarified a bit. Individual amounts still have styles; from these we
derive the standard "commodity styles". In user docs, we might call
these "commodity formats" since a Ledger-compatible commodity directive
would use the "format" keyword.
2015-11-24 01:40:10 -08:00
Simon Michael
b64f42c2d8 bal, ui: option help tweaks 2015-10-17 11:22:39 -07:00
Simon Michael
7b8c992f5a register: auto-size amount columns, like hledger-ui 2015-10-10 18:20:40 -07:00
Simon Michael
58b98faf36 balance: wide-char-aware multicolumn reports (#242) 2015-09-29 20:54:05 -10:00
Simon Michael
42e2da4bb6 balance, print; more wide char support (#242)
Simple (non-multicolumn) balance reports containing wide characters
should now align correctly (in apps and fonts that show wide chars as
double width). Likewise, the print command.
2015-09-28 18:33:18 -10:00
Simon Michael
5b5e5eeaf4 register: wide-character-aware layout (#242)
Wide characters, eg chinese/japanese/korean characters, are typically
rendered wider than latin characters. In some applications (eg gnome
terminal or osx terminal) and fonts (eg monaco) they are exactly double
width. This is a start at making hledger aware of this. A register
report containing wide characters (in descriptions, account names, or
commodity symbols) should now align its columns correctly, when viewed
with a suitable font and application.
2015-09-28 16:12:20 -10:00
Simon Michael
5404eab6c0 add: write all amounts, don't lose price info (#283) 2015-09-27 10:24:21 -10:00
Simon Michael
dab12e2d10 add: note another algorithm 2015-08-28 17:57:16 -07:00
Simon Michael
9e9aec957f print: --match shows the best match for a description
This was originally an add-on I used to guess account names for
ledger-autosync. It's nice for quickly looking up a recent transaction
with a guessed or partial description.
2015-08-28 15:10:51 -07:00
Simon Michael
a73c455570 add: fix a bug impairing similar txn matching
In some cases (when the same letter pair was repeated) it was not
picking the post similar past transaction. This was due to the
similarity algorithm using the order-dependent Data.List.intersect, when
it should use Set.intersection.

Also added a reference for the algorithm, which is known as the
Sørensen–Dice coefficient.
2015-08-28 13:54:51 -07:00
Simon Michael
74512814ec cli/ui/web: rename X.Options modules to X.XOptions
Make these modules' names more like the heavily-used types they
define (CliOpts, UIOpts, WebOpts). This is consistent with
RawOptions and ReportOptions, and helps with code navigation.
2015-08-28 12:43:51 -07:00
Simon Michael
f3dd5eb830 fix options breakage with GHC < 7.10 2015-08-28 11:17:49 -07:00
Simon Michael
2af8d7598e cli, web: fix options breakage 2015-08-28 10:49:43 -07:00
Simon Michael
4dd1e9c725 clean up options validation a little 2015-08-28 09:57:01 -07:00
Simon Michael
19c3749b50 balance: move -V helpers to the *Report modules 2015-08-26 10:38:45 -07:00
Simon Michael
e7aa150e52 ui: solidified register screen, added themes
- register screen:
  - smarter width-sensitive layout, with multi-commodity amounts on one line
  - items are sorted in date order
  - jumps to the latest item by default, with consistent scroll position
  - more prerendering, might speed up movement/paging slightly

- themes! --theme to select, --help to list (current themes: default, terminal, greenterm)

- border tweaks - dropped side borders, added side padding
2015-08-24 16:24:11 -07:00
Simon Michael
49e1840a0f ui: rewrite the ui using brick
hledger-ui (formerly hledger-vty) is now built on brick, a new
declarative UI layer built on vty. This brings much new power, and
should make the UI much easier to grow and maintain.

At this point, functionality and performance are similar to the old
version. There's no journal entries screen, but entering the postings
screen jumps to the latest posting, and layout is better (multiple
commodities are rendered on one line).

Requires unreleased brick from github (HEAD or some branch) for now.
2015-08-24 16:24:11 -07:00
Simon Michael
cc98ee39f7 balance, lib: --format/StringFormat improvements
The balance command's --format option (in single-column mode) can now
adjust the rendering of multi-line strings, such as amounts with multiple
commodities. To control this, begin the format string with one of:

 %_  - renders on multiple lines, bottom-aligned (the default)
 %^  - renders on multiple lines, top-aligned
 %,  - render on one line, comma-separated

Also the final total (and the line above it) now adapt themselves to a
custom format.
2015-08-19 20:53:51 -07:00
Simon Michael
69c870c6f0 balance, lib: make StringFormat singular; cleanup
Pass around a StringFormat rather than [StringFormat].
Also more balance report item rendering refactoring.
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
3932655bde lib: expose two functions required by hledger-ui 2015-08-13 11:53:28 -07:00
Simon Michael
94094252be rename historical prices to market prices
Simpler and clearer. We now have "transaction prices" (recorded as part
of transaction amounts) and "market prices" (recorded with P
directives). Both are matters of historical record, also this avoids
confusion with the balance command's "historical balances".
2015-08-09 16:20:02 -07:00
Simon Michael
49be1f646e balance: add -V/--value to show as market value
Initial support of market value reporting and currency conversion,
similar in spirit to Ledger's.  The balance command now has a -V/--value
flag that converts all the reported amounts using their "default market
price". That is the latest market price (P directive, formerly called
"historical prices") found in the journal for their commodity that is on
or before the report end date.

Unlike Ledger, hledger's -V only uses the market prices recorded with P
directives, ignoring transaction prices recorded as part of posting
amounts (which -B/--cost uses). Using -B and -V together is allowed.
2015-08-09 16:03:16 -07:00
Simon Michael
4c6979c3fc register: comment 2015-06-27 06:40:43 -07:00
Simon Michael
89513fc256 stats: support -o/--outputfile, useful for benchmarks 2015-06-25 16:31:57 -07:00
Simon Michael
e516aa6c3c stats: fix O(n^2) performance, now much faster on large journals 2015-06-19 11:07:35 -07:00
Simon Michael
049baed4d8 register: fix a runtime error with amountless postings 2015-06-11 10:16:45 -07:00
Simon Michael
ce5d87177a update journalFilePathFromOpts haddock 2015-06-04 09:43:15 -07:00
Imuli
49f1744ae5 read multiple files: internals 2015-05-28 10:40:48 -07:00
Imuli
8385da205e read multiple files: options 2015-05-28 10:40:48 -07:00
Simon Michael
20acc45fbb activity: don't exclude 0-amount postings by default 2015-05-21 16:38:17 -07:00
Simon Michael
9e2111106b drop regexpr dependency 2015-05-17 08:32:45 -07:00
Simon Michael
d1f63334ee handle pending status correctly, add --pending (#250)
A transaction/posting status of ! (pending) was effectively equivalent
to * (cleared). Now it's a separate state, not matched by --cleared.
The new Ledger-compatible --pending flag matches it, and so does
--uncleared. The equivalent search queries are now status:*, status:!
and status: (the old status:1 and status:0 spellings are deprecated).

Since we interpret --uncleared and status: as "any state except cleared",
it's not currently possible to match things which are neither cleared
nor pending.
2015-05-16 11:51:35 -07:00
Simon Michael
077e3c6a02 journal: re-add non-regex aliases, as default (#252)
The regex account aliases added in 0.24 trip up people switching between
hledger and Ledger. (Also they are currently slow).

This change makes the old non-regex aliases the default; they are
unsurprising, useful, and pretty close in functionality to Ledger's.

The new regex aliases are also available; they must be enclosed in
forward slashes. Ledger effectively ignores these, which is ok.

Also clarify docs, refactor, and use the same parser for alias
directives and alias options
2015-05-14 13:01:50 -07:00
Simon Michael
70d87613f2 some cleanup of debug trace helpers 2015-05-14 13:01:49 -07:00
Simon Michael
104cb44d04 fix missing Control.Applicative.Compat (#245) 2015-04-29 07:10:55 -07:00
Simon Michael
f75849cdd6 fix ghc 7.10 Applicative import warnings (#239)
Still needed CPP, despite using base-compat.
2015-03-29 16:09:41 -07:00
Simon Michael
592d997438 whitespace 2015-03-29 16:03:23 -07:00
Simon Michael
b8974c4bcc register: update --width help 2015-03-27 08:02:37 -07:00
Simon Michael
372a2d768b register: use full width, column widths, cleanup
Refactored and enhanced the --width option used by register (and other
commands in future). register now uses the full terminal width by
default except on windows. Specifically, the output width is set from:

1. a --width option
2. or a COLUMNS environment variable (NB: not the same as a bash shell var)
3. or on POSIX (non-windows) systems, the current terminal width
4. or the default, 80 characters.

Also, register now accepts a description column width as part of
--width's argument, comma-separated (--width W,D). This adjusts the
relative widths of register's description and account columns, which are
normally about half of (W-40):

<--------------------------------- width (W) ---------------------------------->
date (10)  description (D)       account (W-41-D)     amount (12)   balance (12)
DDDDDDDDDD dddddddddddddddddddd  aaaaaaaaaaaaaaaaaaa  AAAAAAAAAAAA  AAAAAAAAAAAA

Examples:
$ hledger reg                 # use terminal width on posix
$ hledger reg -w 100          # width 100, equal description/account widths
$ hledger reg -w 100,40       # width 100, wider description
$ hledger reg -w $COLUMNS,100 # terminal width and set description width
2015-01-19 13:48:37 -08:00
Julien Moutinho
af56ced3b0 lib: add eof parsing checks 2015-01-11 09:45:55 -08:00
Simon Michael
95ced2da80 balance: fix partially-visible totals row
With --no-total in a periodic (non-cumulative, non-historical) balance
report, hide the totals row completely, as in the other modes.
2014-12-27 16:46:37 -08:00
Simon Michael
6da4942633 balance: tweak flags a bit; we now use -N and -T
-N doesn't seem to be used by Ledger currently; we'll
use it as shortcut for --no-total.

-T is used by Ledger to set a custom value expression for the final
total. I'm going to take it as a shortcut for --row-total instead.
2014-12-27 15:34:23 -08:00
Simon Michael
ba0623165f balance: row totals/averages in multicolumn mode 2014-12-27 15:24:45 -08:00
Simon Michael
62bad65e5b tighten up status: docs and behaviour a bit (fix #227)
A status: query term no longer accepts * as a synonym for 1,
which was a bit confusing since 1 matches both * and !.
For now, it takes a value of 1 (true) or anything else (false).
2014-12-24 23:48:23 -08:00
Simon Michael
e14f39bae0 balance: ignore --drop when displaying in tree mode 2014-12-16 09:11:13 -08:00
Julien Moutinho
c65fea2b4b lib: fix combineJournalUpdates folding order
NOTE: this is important to correctly build JournalContext
NOTE: currently a list reverse must done at the end,
      maybe using a Data.Queue would be more efficient.
2014-12-11 04:37:10 +01:00
Simon Michael
855d4e1131 balance: with --tree and --flat, use the last (fix #219) 2014-12-05 12:56:33 -08:00
Julien Moutinho
cf28985cf2 lib: move from Text.ParserCombinators.Parsec to Text.Parsec
NOTE: required to use liftIO in includedirective
SEE: http://www.vex.net/~trebla/haskell/parsec-generally.xhtml#IO
2014-11-20 10:08:30 +01:00
Simon Michael
9fa22e0398 account aliases (and regexReplace) now support backreferences 2014-10-29 07:46:49 -07:00
Simon Michael
21ed3dc73d balance: support CSV for multi-column balance reports 2014-10-23 05:11:48 -07:00
Simon Michael
9d1ef010ac finish previous commit 2014-10-21 17:49:41 -07:00
Simon Michael
9416d12d8a --output -> --output-file/-o & --output-format/-O, refactor
Use two options and less surprising behaviour. Notes:
* a recognised suffix on the output file name can set the format
* but --output-format always wins
* -o - means stdout
* currently these are command-specific options on balance, print, register
* later, --output-file should become a global option
* and --output-format should be available at least on all commands which
  support multiple formats. Each command may support a different set of
  output formats, which should be listed in its command line help.
2014-10-21 17:14:37 -07:00
Simon Michael
b6774f47a3 balance, print: add -o and CSV output here too
Not very elegant yet, but works.
2014-10-21 12:02:23 -07:00
Simon Michael
2dc44cb131 register command cleanups 2014-10-21 12:01:47 -07:00
Simon Michael
d234663b6d register: add -o/--output option, merge CSV functionality (cf #206) 2014-10-20 13:04:36 -07:00
Simon Michael
301f506486 the --format option shall be known as "line format" 2014-10-20 13:03:44 -07:00
Simon Michael
6d67bcb026 cli: --version shows "dev build" when VERSION is undefined
Probably only noticeable in GHCI.
2014-10-18 12:36:27 -07:00
Simon Michael
e8a58d9388 cli: add a hidden --version+ flag showing number representation (#118) 2014-10-18 12:35:58 -07:00
gwern
d1618aaca8 strip trailing whitespace from all Haskell files 2014-10-14 18:48:24 -07:00
Simon Michael
776a973d2c cli: clarify --debug help 2014-08-08 19:12:20 -07:00
Simon Michael
aa85e786b9 register: describe datespans briefly, like balance
Eg instead of 2014/01/01 - 2014/01/31, show 2014/01, as in a multicolumn
balance report. The data model is not very elegant, but works for now.
2014-08-08 07:34:11 -07:00
Simon Michael
f631e8e063 register: --average implies --empty
The -A flag now enables -E, so that with a report interval the averages
are always per-period and not per-report-line. (Without a report
interval, -E is already the default).
2014-08-07 14:03:56 -07:00
Simon Michael
40ab1e17f6 amounts cleanups, and support zeros with commodity 2014-07-28 18:45:13 -07:00
Simon Michael
7fb154f820 balance: include report span in title 2014-07-26 17:29:20 -07:00
Simon Michael
ca43eab47a balance: simplify multicolumn report titles slightly 2014-07-26 17:09:29 -07:00
Simon Michael
b499ea85eb register: optimise postingsReportItemAsText a bit
Avoid concatTopPadded when rendering register output, making that
command faster when there's a lot of output.
2014-07-07 08:37:27 -07:00
Simon Michael
3a16e6cfc7 mostly replace slow regexpr with regex-tdfa (fixes #189) 2014-07-06 14:03:28 -07:00
Simon Michael
16f8b78305 balance: show multi-commodity amts on one line (fixes #186)
To avoid totally breaking the layout of multicolumn balance reports when
there are multi-commodity balances, these are now rendered on a single
line, comma separated. Simple balance reports still use the old vertical
format for now.
2014-07-03 07:45:55 -07:00
Simon Michael
3669422bbf make --width and --debug require an argument (fixes #149)
This is a workaround for a cmdargs limitation. Having "--debug 2"
or "--width 100" produce no output (because the number is parsed
as a separate argument) is too annoying.
2014-07-03 07:31:52 -07:00
Simon Michael
330dfe6891 commodity & amount style parser cleanups, part 2 2014-07-02 17:41:33 -07:00
Simon Michael
0c3148ac7b add an --ignore-assertions flag
Can be helpful when reading Ledger files, where assertions may have
different semantics; or for getting some answers from your journal
to help you fix your assertions.

Could be called --no-assertions, but this might create surprise when it
has an effect contrary to --no-new-accounts.

I had to add another flag throughout the parsers & journal read
functions, ok for now.
2014-07-01 18:26:37 -07:00
Simon Michael
6b059aeb5e Merge branch 'rdesfo-0.23'
Conflicts:
	.version
	hledger-lib/Hledger/Read/CsvReader.hs
	hledger-lib/hledger-lib.cabal
	hledger-web/hledger-web.cabal
	hledger/hledger.cabal
2014-05-22 16:15:35 -07:00
Ryan Desfosses
38f977fa48 Histogram: fixes previous change
change made in Histogram:cabal test and hlint warning
2014-05-14 12:18:50 -04:00
Ryan Desfosses
342bae8c35 Histogram: cabal test and hlint warnings 2014-05-11 19:27:39 -04:00
Ryan Desfosses
39479638e3 Option: cabal test and hlint warnings 2014-05-07 22:34:41 -04:00
Simon Michael
120b3b8377 add: don't apply a default commodity to amounts on entry (fixes #138) 2014-05-07 16:37:22 -07:00
Simon Michael
09ebd3e049 cli: options before the add-on are also passed to it (fixes #182) 2014-05-07 16:37:22 -07:00
Simon Michael
cceff52403 add: don't apply a default commodity to amounts on entry (fixes #138) 2014-05-03 15:48:20 -07:00
Simon Michael
f7406f77cf cli: options before the add-on are also passed to it (fixes #182) 2014-05-03 15:26:51 -07:00
Simon Michael
e6a1339370 cli: options help polish 2014-05-01 07:22:44 -07:00
Simon Michael
66422a7711 cli: more flag cleanups, help layout improvements 2014-04-30 17:40:14 -07:00
Simon Michael
2a1e0f6aff cli: drop --display from command-line help 2014-04-30 17:39:38 -07:00
Simon Michael
a28d4fd400 register: drop --display, use --historical instead
We provided a very limited implementation of --display only for one use
case: to see an accurate running balance. Now that is achieved more easily
with -H/--historical, similar to the balance command, and --display
can be dropped.
2014-04-30 17:24:41 -07:00
Simon Michael
98cc1d0e77 addons: more description strings for test addons 2014-04-30 07:32:10 -07:00
Simon Michael
aee7b3512d cli: omit the -- from debug output as well 2014-04-27 23:44:24 -07:00
Simon Michael
9418967343 cli: a fix for add-on options after -- (don't pass the -- through) 2014-04-27 23:34:27 -07:00
Simon Michael
d0932cb47a cli: small cleanup 2014-04-27 23:34:09 -07:00
Simon Michael
f3c90a1351 addons: simplify and firm up add-on command parsing
Drop the special case where we hide an add-on's source version if a
compiled version is also present. Better to be simple and explicit.

Improve robustness of command parsing, eg "hledger addon.hs"
will now work even though the command is listed as "addon".

And ignore any add-ons which would shadow a built-in command
(or any of the official command aliases displayed in the command list,
like "bal" and "reg"). Built-ins may not be replaced by an add-on.
2014-04-27 18:48:35 -07:00
Simon Michael
7d73ab5264 cli: drop single-letter aliases, keep the familiar three-letter ones where useful 2014-04-27 18:46:34 -07:00
Simon Michael
4b47c1340f addons: note more issues 2014-04-26 10:49:37 -07:00
Simon Michael
9ce2d6a75a tools: update test addons 2014-04-26 10:44:31 -07:00
Simon Michael
9a255051e8 addons: try to be smarter about showing file extensions
We now hide add-ons' file extensions in the commands list except when
they are needed for disambiguation. There are three cases:

- when an add-on exists with only one file extension, the extension is
  not displayed.

- when an add-on has exactly two variants, one with the .[l]hs extension
  and the other with none or .exe - presumably the source and compiled
  versions - we omit the source version from the list.

- otherwise when an add-on has multiple variants differing by file
  extension, they are listed with their extensions displayed.
2014-04-26 10:25:32 -07:00
Simon Michael
eeb48c86d1 default report dates come from secondary dates with --date2 2014-04-24 14:44:30 -07:00
Simon Michael
32f182158e fix a warning 2014-04-22 17:50:09 -07:00
Simon Michael
e40b587357 addons: another fix for addon detection on windows 2014-04-22 17:49:03 -07:00
Simon Michael
ca499d7f7b addons: detect more executable file extensions, such as .exe
In addition to hledger-X and hledger-X.hs, other common executable file
extensions will be recognised. In particular, on windows hledger now
lists hledger-web.exe as an add-on. The current list is:
bat, com, exe, hs, lhs, pl, py, rb, rkt, sh.
2014-04-22 17:40:06 -07:00
Simon Michael
1fca3e7472 orDatesFrom -> spanDefaultsFrom 2014-04-19 08:38:03 -07:00
Simon Michael
9d10cfa180 fix single-quote-containing addon arguments harder 2014-04-15 13:07:43 -07:00
Simon Michael
2af04ec2fc balance: merge/improve multicol report implementations
Periodic, cumulative and historical multicolumn balance reports are now
generated by one code path, which helps with consistency and reducing
the bug/test surface. --tree now also works with --cumulative or
--historical.
2014-04-13 12:49:05 -07:00
Simon Michael
cad37b7dce balance: fix excessive indent in multicolumn tree mode 2014-04-13 12:49:05 -07:00
Simon Michael
19eb45cb68 account: add more description in the command-specific help 2014-04-08 15:57:40 -07:00
Simon Michael
7b4b99fae0 accounts: more query support, --flat/--drop/--depth support 2014-04-07 12:13:36 -07:00
Simon Michael
efad3a767d balance: support --drop in flat multicolumn reports 2014-04-07 08:32:23 -07:00
Simon Michael
f9c1d94b5f accounts: make accounts a built-in command, listing posted account names 2014-04-07 08:27:50 -07:00
Simon Michael
7d99ae5033 balance: --tree makes multicolumn reports show hierarchy
Multicolumn balance reports can now be switched to a hierarchical view
with --tree. This is similar to the single column balance report with
--no-elide, ie we do not elide boring parents into the following line.

The --flat and --tree flags are opposites; the last one to appear on
the command line is decisive (in future, if not already).
2014-04-06 21:56:47 -07:00
Simon Michael
6b5ed3d790 print: drop unnecessary showTransactions
refactor the tests later
2014-04-05 19:39:18 -07:00
Simon Michael
5cd3f6ed51 balancesheet, cashflow, incomestatement: less space before Total 2014-04-05 13:35:18 -07:00
Simon Michael
a8122405bf I see, polymorphic let bindings need a proper type sig 2014-04-03 18:49:57 -07:00
Simon Michael
a1531bcd09 show args processing debug output only at level 2+ 2014-04-03 18:49:56 -07:00
Simon Michael
ce888a62d5 restore some options utilities, fix hledger-balance-csv script 2014-03-28 16:33:48 -07:00
Simon Michael
b69e6c6946 unused extensions 2014-03-28 16:23:40 -07:00
Simon Michael
882a9dbf1c cli, report & raw options cleanups 2014-03-25 19:03:56 -07:00
Simon Michael
3fa4824218 some type signatures 2014-03-25 19:03:55 -07:00
Simon Michael
d815cca069 incomestatement, cashflow: support --flat and --drop as well 2014-03-21 17:41:22 -07:00
Simon Michael
5a8b5ed082 balancesheet: support --flat and --drop, like balance 2014-03-21 17:34:58 -07:00
Simon Michael
2d1e0d7cd4 move command-specific options to the respective command modules 2014-03-21 10:45:13 -07:00
Simon Michael
7d36789b74 web: fix build failures caught by the bot 2014-03-19 08:45:52 -07:00
Simon Michael
4d8d0d9aa6 balance: make BalanceReport more like MultiBalanceReport, doc cleanups 2014-03-18 18:01:24 -07:00
Simon Michael
5df28069fb restore the test command, hidden 2014-03-18 14:08:28 -07:00
Simon Michael
92dc86ebae restore reg & bal aliases, even if not advertised 2014-03-18 13:47:13 -07:00
Simon Michael
3bc3e533c8 remove unused import 2014-03-18 13:46:47 -07:00
Simon Michael
814008d648 add: also let enter end transactions if no more default postings
To end a transaction, period is required because there might be another
default posting being suggested, and enter usually means "accept the
default". But having to switch back and forth from enter to period
during data entry is a bit unergonomic, requiring too much thought.

Now, in the (common) case where you have entered a balanced transaction
and there are no more default postings to suggest, enter is also allowed
to end the transaction. Experimental; this might be too inconsistent.
2014-03-16 09:29:09 -07:00
Simon Michael
88d52a9da8 cli: don't list both source and exe of an addon 2014-03-16 09:27:07 -07:00
Simon Michael
d1b9273b19 cli: tighten up commands list, better help for known addons 2014-03-15 13:20:24 -07:00
Simon Michael
7cbbd0fbab add: fix over-zealous cleanup caught by hydra, continued 2014-03-06 17:50:46 -08:00
Simon Michael
8e6922c57c add: fix over-zealous cleanup caught by hydra 2014-03-06 17:49:52 -08:00
Simon Michael
63eca19a7f add: refactor completion functions 2014-03-06 16:58:48 -08:00
Simon Michael
856f62b465 add: fix runtime printf error from 2nd txn on (fixes #164) 2014-03-05 12:48:13 -08:00
Simon Michael
27cf33f887 debug message wording 2014-03-04 11:04:31 -08:00
Simon Michael
ebf42046d8 add: keep using historical txn accounts as defaults even after a custom amount is entered 2014-03-03 12:18:10 -08:00
Simon Michael
dd2f293094 rename FormatString to OutputFormat
It was going to be Format, but that clashes with file format. Press on.
2014-03-02 13:33:56 -08:00
Simon Michael
d89367d75e add: make input prompts green, where supported
Because we can! Should have no effect where not supported.
2014-03-01 11:16:19 -08:00
Simon Michael
5d0da63261 add: don't print an extra newline on exit
even it made things tidier in an emacs shell..
2014-03-01 11:15:29 -08:00
Simon Michael
1051f10826 add: also accept . at date prompt to quit 2014-03-01 11:15:19 -08:00
Simon Michael
e50c2a4259 add: avoid quotes preserved in quoted cli args 2014-03-01 11:08:31 -08:00
Simon Michael
dcdb032d96 add: rewrite using wizards and make it more robust
The code is now much more manageable, faciliating further
improvements. Completion now works at all prompts, and
will insert the default value if the input area is empty.
Account and amount defaults are more robust and useful
in various situations. There might be a slight regression
with default commodity handling.
2014-02-27 18:15:49 -08:00
Simon Michael
204af487a5 note an issue with CliOpts query_ 2014-02-27 17:39:38 -08:00
Simon Michael
bab6ec041b cli: be more robust at finding hledger-* add-ons
Previously executables with eg digits in their name were ignored.
It now finds all files beginning with hledger-, optionally ending with
.hs or .lhs, and with no other dots in the name.
As before, we don't check for executable permission (performance ?).
2014-02-27 11:40:41 -08:00
Simon Michael
8d3161f6d6 add: cleanup, cleanup 2014-02-23 15:04:28 -08:00
Simon Michael
6bf08cdd7c add: hack apart getPostingsLoop into smaller pieces 2014-02-23 07:52:26 -08:00
Simon Michael
56abdb2c8c add: code cleanups 2014-02-21 09:07:52 -08:00
Simon Michael
e35614c88d add: clarify "accept" 2014-02-21 07:23:10 -08:00
Simon Michael
f34d3aa9d6 add: clarify runInteraction* 2014-02-20 11:15:05 -08:00
Simon Michael
41a58609fb add: output a final newline after control-d 2014-02-12 08:22:44 -08:00
Simon Michael
d158d401d9 fix some breakages found by Hydra 2014-02-05 19:30:01 -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
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
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
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
7ed0705398 register: --average/-A shows a running average, like ledger 2013-09-09 18:25:53 -07: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
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
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
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
157c85a915 move stripbrackets to Utils 2012-12-04 00:03:42 +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
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
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
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
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
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
b584f33cbb Cli, Cli.Test module doc updates 2012-05-09 15:29:14 +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
98274b481d more build warnings 2012-05-06 20:44:23 +00:00
Simon Michael
7f3b990394 docs: fix api docs 2012-03-07 16:05:04 +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
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
88212f26e8 simplify journal parser names 2012-05-09 15:34:05 +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
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
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
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