Commit Graph

601 Commits

Author SHA1 Message Date
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