Commit Graph

1361 Commits

Author SHA1 Message Date
Simon Michael
7c351547ba doc: fix links to output format section
[ci skip]
2018-01-23 17:14:09 -08:00
Simon Michael
18a0786691 doc: fix options subheadings
[ci skip]
2018-01-23 17:10:16 -08:00
Simon Michael
e657e96591 bal/etc.: document html output, move to options section 2018-01-23 17:08:19 -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
46d7893446 updated generated manuals 2018-01-18 11:01:15 -08:00
Simon Michael
889ba8caac doc: make the bs/bse/cf/is web docs a bit more like their --help 2018-01-18 11:01:15 -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
a0d765edb5 update embedded manuals 2018-01-04 10:19:27 -08:00
Simon Michael
bc3f5c476c bump version to 1.5.99 2018-01-04 10:15:03 -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
82283d75d7 doc: changelog updates 2017-12-31 10:30:28 -08:00
Simon Michael
956dee9682 update cabal files 2017-12-31 10:24:15 -08:00
Simon Michael
6ccabe3b48 update embedded manuals 2017-12-31 10:22:09 -08:00
Simon Michael
52c3884ab7 bump version strings & bounds to 1.5 2017-12-31 10:20:48 -08:00
Simon Michael
7921f0cf44 update embedded manuals 2017-12-31 10:08:44 -08:00
Simon Michael
0d8ac2cd6f update cabal files 2017-12-31 10:03:50 -08:00
Simon Michael
e927e587e6 lib,cli: auto/forecast/budget option/docs cleanup, consistency 2017-12-31 10:01:18 -08:00
Simon Michael
667a1d7e59 remove upper bounds on all but hledger* and base
It's rare that my deps break their api or that newer versions must be avoided,
and very common that they release new versions which I must tediously
and promptly test and release hackage revisions for or risk falling out
of stackage. Trying it this way for a bit.
2017-12-31 09:13:50 -08:00
Simon Michael
26d1f10ef1 consistent spacing in bounds 2017-12-31 09:05:39 -08:00
Simon Michael
d3363d09d8 allow megaparsec 6.4.0 2017-12-31 08:47:59 -08:00
Simon Michael
79fe56f8ff doc: fix broken link 2017-12-31 07:43:02 -08:00
Simon Michael
cbb12cbb73 doc: fix accidental heading in period expressions 2017-12-30 19:21:00 -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
99cde10e98 doc: draft changelogs 2017-12-30 18:20:41 -08:00
Simon Michael
2a0e12122c tools: regen cabal files with latest stack's hpack to avoid warnings 2017-12-30 08:47:47 -08:00
Simon Michael
0c584759e1 doc: market value: update description 2017-12-30 07:35:23 -08:00
Simon Michael
d8195dcae9 doc: warn about combining -B and -V (#683) 2017-12-30 07:21:43 -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
aa06d0f9bd lib, cli, ui: allow ansi-terminal 0.8 2017-12-29 12:41:22 -08:00
Simon Michael
3f124cf123 add, web: suggest implied and declared account names also 2017-12-29 12:19:44 -08:00
Simon Michael
07596b1c54 update embedded manuals 2017-12-22 10:13:38 -08:00
Simon Michael
0621a27833 update cabal files 2017-12-22 10:13:37 -08:00
Simon Michael
efdee17aae bump version strings & lower bounds to 1.4.99 2017-12-22 10:13:37 -08:00
Simon Michael
761fc31eb8 lib,cli,ui,web: allow megaparsec 6.3.0 2017-12-15 12:32:11 -08:00
Simon Michael
cd5c74625e update embedded manuals 2017-12-14 18:20:07 -08:00
Dmitry Astapov
05383277b1 doc: add --budget to balance manual 2017-12-14 17:20:07 -08:00
Dmitry Astapov
ac80c39535 lib: command-line help for --auto/--forecast matches docs 2017-12-14 17:20:07 -08:00
Simon Michael
302ee50bfe update embedded manuals 2017-12-07 12:04:11 -08:00
Simon Michael
9013694d89 cabal: regenerate with stack 1.6/hpack 0.20 2017-12-07 11:46:33 -08:00
Simon Michael
c18a75ecfe fix data-files paths in yaml/cabal files 2017-12-06 18:45:01 -08:00
Simon Michael
f3820e1e7a fix hledger/.otherdocs symlinks & README 2017-12-06 18:39:37 -08:00
Simon Michael
968cff7a4a remove numbers from all but nroff filenames 2017-12-06 18:35:18 -08:00
Simon Michael
61a2fa4d53 move package manual files out of doc/ 2017-12-06 18:26:20 -08:00
Simon Michael
df7f5e1659 rename hledger manual subfiles 2017-12-06 18:23:20 -08:00
Simon Michael
1d26845525 remove */doc/README 2017-12-06 18:18:03 -08:00
Simon Michael
b425e50ad1 change paths in code, scripts, readme 2017-12-06 18:16:35 -08:00
Simon Michael
d637e2fbcd doc: expand doc/README, describe doc files and workflows 2017-12-06 13:28:52 -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
Simon Michael
4228203740 doc: regenerate embedded manuals
[ci skip]
2017-11-28 17:37:27 -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
Dmitry Astapov
0dfffed52c doc: expand documentation for period expressions
Document "first day of period" behavior. Document new period
expressions DayOfYear and WeekdayOfMonth.
2017-11-26 14:57:41 +00:00
Simon Michael
419395e3d5 doc: argument files: fix cookbook link
[ci skip]
2017-10-31 12:41:05 -07:00
Simon Michael
676eb6e1a2 update embedded manuals 2017-10-31 12:38:37 -07:00
Simon Michael
a3fa09b604 doc: rename/flesh out "argument files" doc, add to cookbook 2017-10-31 12:37:13 -07:00
Simon Michael
a9c4ac24cd prices: doc: link to market prices doc 2017-10-31 12:37:13 -07:00
Simon Michael
da1cf3b72d update embedded manuals 2017-10-17 07:08:20 -07: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
e658c301e2 import: doc: update builtin manuals
[ci skip]
2017-10-02 17:56:13 -10:00
Simon Michael
732d589955 import: doc: manual edits
[ci skip]
2017-10-01 09:57:55 -10:00
Simon Michael
302723b1be lib,cli,ui,web: allow megaparsec 6.2
Forgot to commit this last time.

[ci skip]
2017-10-01 09:49:51 -10:00
Simon Michael
5de51c9bad fix warnings/errors found by make stacktest 2017-09-30 13:00:22 -10:00
Simon Michael
7520da5e0c update embedded manuals 2017-09-30 11:46:03 -10:00
Simon Michael
bfb4a38afb update cabal files 2017-09-30 11:45:33 -10:00
Simon Michael
4a49b86175 bump version strings & lower bounds to 1.4 2017-09-30 11:44:53 -10:00
Simon Michael
0af0961e10 doc: options help tweaks 2017-09-30 11:29:25 -10:00
Simon Michael
6632aedd93 update embedded manuals 2017-09-30 07:00:57 -10:00
Simon Michael
3e866563d1 cli: tweak commands list 2017-09-30 06:58:25 -10:00
Simon Michael
3967e57395 doc: changelog/relnote updates 2017-09-30 06:52:15 -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
8c86d9b578 doc: update manuals re --sort-amount 2017-09-29 19:31:44 -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
32d5428197 doc: draft 1.4 changelogs
[ci skip]
2017-09-26 16:22:30 -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
c61a4cca92 regenerate embedded manuals 2017-09-22 16:14:30 -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
1edb828a75 lib, print: rename --new's save files to .latest.*, easier to manage 2017-09-17 13:26:42 -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
a218ce12ad cli: docs: update manuals 2017-09-14 06:23:11 -07:00
Simon Michael
076424dedd cli: docs: note new aliases in manual 2017-09-14 06:19:59 -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
5fcd4b35ad cli: update benchmark after commands refactor 2017-09-11 18:55:01 -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
f972027918 cli: doc: queries: tweak wording 2017-09-07 08:38:14 -07:00
Simon Michael
81d7d3f709 cli: doc: queries: clarifications, especially not: 2017-09-07 08:35:53 -07:00
Simon Michael
efbbcda7e6 doc: tweak description/payee/note docs (#598, #608) 2017-09-05 14:06:43 -07:00
Simon Michael
079e76a370 doc: update description/payee/note docs (#598, #608) 2017-09-05 11:44:02 -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
Simon Michael
ddb67c0c0b bse: update embedded manuals 2017-08-28 17:29:24 -07:00
Nicholas Niro
d7f2d5eac3 doc: commands: Added an entry for the new command balancesheetequity. 2017-08-28 20:20:29 -04: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
b246d0e990 cf: more restrictive regexp (#584) 2017-08-27 08:26:47 -07:00
Simon Michael
831ab78a74 lib, cli, ui: allow ansi-terminal 0.7 2017-08-26 07:47:34 -07:00
Simon Michael
b324d3de95 lib, cli, ui, web: drop oldtime flag, require time 1.5+
Should be safe to do now, I hope.
2017-08-25 16:56:41 -07:00
Simon Michael
2036260bb8 cli, web: simplify shakespeare bounds 2017-08-25 16:46:35 -07:00
Simon Michael
230dfea207 update tested-with GHC versions 2017-08-25 16:40:29 -07:00
Simon Michael
6448053448 lib, cli, web: remove ghc < 7.6 support 2017-08-25 16:36:17 -07:00
Simon Michael
8e35bfdfc8 cli: package.yaml: source dir first for clarity 2017-08-25 16:09:17 -07:00
Simon Michael
6e402e1ed6 cli: package.yaml: simplify dep lists, whitespace 2017-08-25 15:52:08 -07:00
Simon Michael
e24a1a2dc0 cli, web: remove unnecessary bound to satisfy hackage server 2017-08-25 09:21:50 -07:00
Simon Michael
12673b1738 update changelogs 2017-08-25 09:18:26 -07:00
Hans-Peter Deifel
37d7c248e2 Allow megaparsec-6.1 2017-08-24 15:56:49 -07:00
Simon Michael
d8696c5ea0 cli: clearer command-line help for --date2 (fixes #604) 2017-08-21 17:19:06 -07:00
Simon Michael
21951aa273 bump version harder: fix some yaml/cabal bounds I had missed 2017-08-01 10:11:42 -07:00
Simon Michael
cb0cb1e1e1 regenerate embedded manuals 2017-07-31 15:52:41 -07:00
Simon Michael
1efbbbc7ac regenerate cabal files 2017-07-31 15:01:23 -07:00
Simon Michael
5706353881 bump version strings & lower bounds to 1.3.99 2017-07-31 14:02:35 -07:00
Simon Michael
87e281a45d restore upper bounds on hledger packages
I dropped these last month, perhaps without meaning to.
They probably should stay. hledger-ui (eg) will still build
with minor updates of hledger-lib or hledger, but will require
either a release or a hackage revision to build with a major
update.
2017-07-30 11:42:52 -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
e908d96fd9 bin: new hledger-tags addon, lists tags in matched transactions 2017-07-12 22:11:36 +01:00
Simon Michael
69c41cdd99 cli, help: usage tweaks
[ci skip]
2017-07-08 08:34:45 +01:00
Simon Michael
bd2d9b829c help: yet another manual tweak; update builtin manuals
[ci skip]
2017-07-08 08:15:33 +01:00
Simon Michael
ed47bc52ff help: update manual
[ci skip]
2017-07-08 08:06:52 +01:00
Simon Michael
5a033fad89 help: update manual
[ci skip]
2017-07-08 08:04:59 +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
50977288bb doc: updates (#579) 2017-07-07 15:58:26 +01:00
Simon Michael
9195989979 doc: update builtin manuals 2017-07-07 15:42:22 +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
ee735514fe doc: update builtin manuals 2017-07-07 02:08:38 +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
c54aef03e7 cli: changelog typo 2017-06-30 23:02:31 +01:00
Simon Michael
28c420109d doc: changelogs for 1.3 2017-06-30 22:26:36 +01:00
Simon Michael
af952532c9 bump package versions to 1.3 2017-06-30 20:57:47 +01:00
Simon Michael
c4248072db doc: bump version to 1.3, update builtin manuals 2017-06-30 20:45:50 +01:00
David Reaver
a9959b30c2 Fix date of 1.2 release in CHANGES 2017-06-20 08:45:35 -07:00
Simon Michael
40699af34a doc: update builtin manuals 2017-06-15 19:16:39 -07:00
Simon Michael
eb42ea04e5 use consistent UPC order for --unmarked/--pending/--cleared (#564) 2017-06-15 19:16:39 -07:00
Simon Michael
cca95d2974 doc: update builtin manuals 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
d0771a8526 doc: regenerate builtin manuals 2017-06-15 19:16:39 -07:00
Simon Michael
f168d74010 doc: update status docs 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
Simon Michael
fd74da0836 cli: drop an unnecessary test grouping causing unwanted output 2017-06-09 18:27:04 -07:00
Simon Michael
85e5bd0978 cli: hide successes in hledger package's tests output, also 2017-06-09 18:26:33 -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
Simon Michael
1755f71202 bump version/month in all generated docs 2017-06-06 09:22:39 -07:00
Simon Michael
af11cd6243 bump package versions to 1.2.98 (1.3 alpha) 2017-06-06 09:21:51 -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
2de0109953 allow megaparsec 5.3 2017-04-29 17:16:27 -07:00
Simon Michael
6c2d2c0a6a bal: cleanup
[ci skip]
2017-04-25 19:39:09 -07:00
Simon Michael
bc111c49ca bal: document colour support
[ci skip]
2017-04-25 18:48:54 -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
d9488ea01b doc: move cost/market value into general options section
[ci skip]
2017-03-31 19:18:17 -07:00
Simon Michael
ff598f2635 doc: make changelogs from release notes 2017-03-31 18:11:44 -07:00
Simon Michael
6ee66979ff doc: regenerate files 2017-03-31 18:01:32 -07:00
Simon Michael
1850fb732f bump version to 1.2 2017-03-31 17:58:11 -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
7baf73952f doc: bs/cf/is: terminology/links/mention begin date (#518) 2017-03-31 17:40:48 -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
586d86488e doc: regenerate files 2017-03-29 21:08:02 -07:00
Simon Michael
1f36c1cb8c doc: options cleanups 2017-03-29 20:45:30 -07:00
Simon Michael
a3c3d58f75 doc: bugs/troubleshooting cleanup 2017-03-29 20:45:30 -07:00
Simon Michael
0055f99c77 doc: more options doc cleanups 2017-03-29 20:45:30 -07:00
Simon Michael
01a2aa9394 doc: update generated files 2017-03-29 14:35:59 -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
64a97774c4 doc: update generated manuals 2017-03-28 04:09:29 -07:00
Simon Michael
abfd6394ee bin: name hledger-check-dupes like other validation commands 2017-03-28 04:08:36 -07:00
Simon Michael
e2faf08088 cli: simplify addons detection, fix deduplication 2017-03-28 04:07:01 -07:00
Justin Le
a0b1e1488a clarified -N for cashflow 2017-03-27 14:35:47 -07:00
Justin Le
2be4aabb36 edited docs to reflect changes in is/bs/cf 2017-03-27 14:32:24 -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
Simon Michael
59704dcb6b doc: regenerate doc files 2017-03-27 05:12:03 -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
Peter Simons
e2c8a6ae42 Use more accurate license tag in Cabal file. 2017-03-15 23:07:57 +00:00
Simon Michael
3c13da3ca2 update cabal files to hpack 0.17.0/stack 1.4 format #512 2017-03-15 23:04:35 +00:00
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
600132445c documentation changed to reflect new bs/is/cf and -V behavior 2017-02-04 16:38:18 -08:00
Justin Le
b41d11c6e9 documentation and cleanup for BalanceView 2017-02-04 16:38:18 -08:00
Justin Le
5ef30d1d4d full documentation of new command structure 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
a30583f6a1 allow megaparsec 5.2 #503 2017-02-01 16:24:37 -08:00
Simon Michael
6ed238a3d6 doc: regenerate built-in help
[ci skip]
2017-01-26 09:03:30 -08:00
Simon Michael
3e054e4f86 doc: addon list tweaks
Are we done yet ?
[ci skip]
2017-01-26 08:25:03 -08:00
Simon Michael
0247ca9be1 doc: update addons intro
[ci skip]
2017-01-26 08:19:02 -08:00
Simon Michael
4ee496cc98 doc: separate & update addons list
[ci skip]
2017-01-26 07:28:56 -08:00
Simon Michael
f1ec6a6647 doc: regenerate hledger docs 2017-01-26 06:39:10 -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
4b3d3fc2fa doc: move last addon docs out of hledger manual; add hledger-iadd
[ci skip]
2017-01-24 15:39:38 -08:00
Simon Michael
1fec6f624c addons, doc: consolidate addon docs in the scripts, rather than the hledger man page 2017-01-24 15:03:16 -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
25d4917ea2 doc: extend with budget addon section 2017-01-20 13:42:17 -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
5345e2641a regenerate cabal files with hpack
A few packages which included the Paths_* module no longer do,
and this seems ok with stack and cabal as far as I can tell.
That should be the only change, aside from a bunch of reorderings.
2017-01-16 14:23:47 -08:00
Simon Michael
d657374ac4 doc: note an issue with balance assertions & multiple -f options
[ci skip]
2017-01-14 17:49:26 -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
b0e907e5a4 doc: print tweaks
[ci skip]
2017-01-13 12:46:45 -08:00
Simon Michael
bc922cc12f doc: update generated docs 2017-01-13 08:25:43 -08:00
Simon Michael
0ede127132 manual tweaks 2017-01-13 08:25:03 -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
Simon Michael
b2b1bf3038 tools: bench.hs cleanup 2017-01-13 07:27:07 -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
af71a020ff doc: explain print's CSV output
[ci skip]
2017-01-10 12:23:54 -08:00
Simon Michael
082b156e87 doc: simplify balance doc file name 2017-01-10 12:05:26 -08:00
Simon Michael
1b44b2cddf doc: note hledger man page include files structure 2017-01-10 12:05:26 -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
34ec7406a1 move add-ons and scripts to bin/ 2017-01-08 07:28:23 -08:00
Simon Michael
3ae8712bbc rename data/ to examples/ 2017-01-08 07:26:13 -08:00
Simon Michael
fe457fa12a doc: update built-in docs 2017-01-05 10:43:06 -08:00
Simon Michael
631a95ba9c bump version to 1.1.98 (1.2 alpha) 2017-01-05 10:43:06 -08:00
Simon Michael
dd86596d30 doc: rename _versions_ macro 2017-01-04 10:50:16 -08:00
Simon Michael
20bef095aa doc: changelogs, release notes 2016-12-31 11:24:12 -08:00
Simon Michael
6072f2a8f4 doc: update generated doc files 2016-12-31 11:23:53 -08:00
Simon Michael
14c8e4d8f7 bump version to 1.1 2016-12-31 07:54:47 -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
78f0c403fb doc: update generated docs 2016-12-30 14:36:27 -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
fa431f9544 doc: cli: add a new section on report start/end dates (#403)
and more linkage among the cli date docs.
2016-12-29 12:39:16 -08:00
Simon Michael
2eb5736abb doc: the latest input files doc updates 2016-11-22 14:24:50 -08:00
Simon Michael
0dadeffcbc doc: more input files cleanup 2016-11-21 08:29:50 -08:00
Simon Michael
64a877bff0 doc: input files cleanup 2016-11-21 08:21:14 -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
Simon Michael
a8ca9e83d9 fix "oldtime" dep typo more (fixes #431) 2016-11-19 08:52:27 -08:00
Simon Michael
2eb7db202f fix "oldtime" dep typo in hledger package (fixes #431) 2016-11-19 07:31:16 -08:00
Simon Michael
c8fefef7e8 doc: document file reading, and some options cleanups 2016-11-18 13:26:15 -08:00
Simon Michael
6a36efb7ca set base lower bound to 4.8 to enforce GHC 7.10+
hledger-lib had a valid install plan with GHC 7.8, but requires GHC 7.10 to compile (currently).
Require base 4.8+ everywhere so that stack/cabal will enforce a supported GHC version early.

Also, bump hledger-ui's "stability" to "stable".
2016-11-16 13:14:02 -08:00
Simon Michael
45684f2f79 tighten up dep bounds among the hledger packages 2016-10-27 14:37:14 -07:00
Simon Michael
6d0716b0a5 bump packages (excluding hledger-api and docs) to 1.0.1 2016-10-27 08:14:35 -07:00
Simon Michael
2e10f21f26 doc: update changelogs and relnotes outline (but not relnotes page) for 1.0.1 2016-10-27 08:10:24 -07:00
Simon Michael
d0e9b70e4f doc: release note/changelog fixes 2016-10-27 07:43:44 -07:00
Simon Michael
8bc0538778 allow megaparsec 5.0 or 5.1 for stackage compatibility 2016-10-27 07:19:26 -07:00
Simon Michael
13a8f21dc5 cli: fix benchmark build failure (fixes #423) 2016-10-27 07:00:36 -07:00
Simon Michael
08f97dd9c8 doc: project/package change logs, web release notes 2016-10-26 13:34:28 -07:00
Simon Michael
315db5621a doc: bump version to 1.0, update manuals & cabal files 2016-10-26 13:34:27 -07:00
Simon Michael
ee2ced7f65 set an upper bound on megaparsec 2016-10-26 13:34:27 -07:00
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
5aa4c91332 stack/cabal cleanups; drop GHC 7.6, 7.8 support
A (disabled) stack build plan for GHC 7.8 is included; supporting it
would need small code changes and a maintainer.
2016-10-21 14:47:22 -07:00
Simon Michael
843c417079 tools: simplebench is now quickbench 2016-10-21 11:46:50 -07:00
Simon Michael
ca9a247d99 tools: drop stats from defaults bench tests 2016-10-11 14:48:29 -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
eaba311634 doc: update generated manuals 2016-08-12 17:46:12 -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
f1ac27590b doc: update generated manuals 2016-08-09 15:32:32 -07:00
Simon Michael
15ebae5c5f lib, cli, web: try to fix building with GHC 7.4 2016-08-09 12:22:38 -07:00
Simon Michael
c3b76221d4 pkg: rename terminfo flag, drop pretty-show conditionals 2016-08-09 12:16:24 -07:00
Simon Michael
cf8ebd4ae2 pkg: rename, clean up oldtime flag 2016-08-09 12:03:23 -07:00
Simon Michael
1b65582908 pkg: clean up deps slightly 2016-08-09 12:02:57 -07:00
Simon Michael
4c313be10e reorder yaml files consistently 2016-08-09 11:39:42 -07:00
Simon Michael
570de3a0a5 format package descriptions more nicely 2016-08-09 11:29:17 -07:00
Simon Michael
a1f88e5dee tools: remove non-ascii quote from hledger yaml/cabal file
might fix the recent appveyor breakage
2016-08-09 09:25:17 -07:00
Simon Michael
0302be1b15 tools: fix tested-with in package.yamls 2016-08-09 07:57:30 -07:00
Simon Michael
d165600155 lib, cli, web, api: use hpack (package.yaml) for all packages at last #371
Generated package.yaml files from the old cabal files with hpack-convert,
removed some problematic blank lines manually,
regenerated the cabal files from the package.yaml files with hpack.
Tests pass, looks like all the info is still there.

This means that from now on, we don't edit cabal files directly.
We edit the less verbose package.yaml files. stack will update
the cabal files automatically (or non-stack users can use hpack).
The changes to both are committed, as we still want to provide
the cabal files to downloaders.
2016-08-09 07:24:57 -07:00
Simon Michael
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
bd5c7669d1 tools: custom hlint config for whole project 2016-08-08 08:30:22 -07:00
Simon Michael
7aa23f6ca2 doc: update generated manuals, and show 0.28dev there 2016-08-08 06:49:50 -07:00
Simon Michael
a9a2b076bc doc: document inacct: #390 2016-08-08 04:59:34 -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
2276b1c2d1 doc: update generated manuals 2016-08-04 11:55:46 -07:00
Simon Michael
7603f8328b doc: options headings pluralisation/capitalisation 2016-08-04 11:55:46 -07:00
Simon Michael
b11f6a43e6 doc: date: cleanups 2016-08-04 11:55:46 -07:00
Simon Michael
2bee53af96 doc: updated generated manuals 2016-08-02 12:55:14 -07:00
Simon Michael
07d0ec4534 doc: expand date:, link it from hledger-ui manual 2016-08-02 12:54:16 -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
9b0cadc179 ui: support/require brick 0.7+ #379 2016-07-24 18:06:49 -07:00
Simon Michael
9ccd4e226f doc: update generated manuals 2016-07-06 15:17:09 -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
68a1a8687a doc: generate really plain text manuals
Drop the nice ansi highlighting that won't work everywhere,
the unpredictable unicode hyphens, etc.
2016-06-11 21:34:20 -07:00
Simon Michael
f2cdceb28e doc: cli: rewrite options description 2016-06-11 21:33:56 -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
e6769b26fc doc: more macros, less redundancy, cleanups 2016-06-09 18:07:08 -07:00
Simon Michael
8986a8d3a0 doc: fix pivot option formatting, whitespace 2016-06-03 09:50:01 -07:00
Simon Michael
f21e9d1c25 doc: more deduplication of options help
Help for reporting options is now also defined once in lib.m4
(in addition to CliOptions.hs). Also fixed some duplication of general
options in docs. hledger-* manuals now include the full list of general
and reporting options; we assume that any inapplicable options get
harmlessly ignored and that this will not surprise users.
2016-06-03 09:38:06 -07:00
Simon Michael
6acd57da53 describe -E/--empty more accurately as "nonzero" 2016-06-03 09:00:43 -07:00
Simon Michael
a961988a88 bump cabal versions to 0.28 2016-05-29 00:00:59 -07:00
Simon Michael
f0baa30db0 doc: another help flag consistency fix 2016-05-28 23:51:14 -07:00
Simon Michael
656734ccd3 doc: define general options once
Well, twice: in lib.m4 and in CliOptions.hs. But no longer in every man page.
2016-05-28 23:50:37 -07:00
Simon Michael
df07ad0109 doc: parameterise and bump docs version to 0.28 2016-05-28 23:31:44 -07:00
Simon Michael
54237a61d6 refine help commands/flags' help & docs 2016-05-28 23:29:58 -07:00
Simon Michael
bd3212654c doc: bring embedded help files up to date 2016-05-28 12:58:30 -07:00
Simon Michael
71b4a16fea doc: hide pandoc comment in html previewer 2016-05-28 12:12:52 -07:00
Simon Michael
a8f601833e doc: one less include file 2016-05-28 12:12:27 -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