Dmitry Astapov
f1b4618f2d
lib: support "every 11th Nov" in period expressions
...
Useful for periodic transactions
Without it, once-per-year periodic transactions always occur on 1st Jan.
2017-11-26 14:57:37 +00:00
Dmitry Astapov
7acb5d45aa
lib: make month names in period expressions case-insensitive
...
Currently only lower-case account names are supported, both on the
command line, and in the journal (in periodic transactions):
This works:
$ hledger balance -p nov
This does not:
$ hledger balance -p Nov
First transaction will parse, second will not:
```
cat every-month.journal ~/devel/haskell/darcs-get/hledger/examples
~ aug to sep
assets
expenses $1
~ Aug to Sep
assets
expenses $2
```
$../bin/hledger-budget bal -f every-month.journal
hledger-budget: Failed to parse "Aug to Sep": date parse error ()
This commit fixes both cases.
2017-11-26 00:25:08 +00:00
Dmitry Astapov
4049455f26
lib: Fix splitSpan for nthdayof{week,month} - start of DateSpan was not covered
...
Demonstration:
Consider year-test.journal:
```
2015/02/01 first half
expenses $1
assets
2015/07/01 second half
expenses $2
assets
2016/02/01 first half
expenses $4
assets
2016/07/01 second half
expenses $8
assets
2017/02/01 first half
expenses $16
assets
2017/07/01 second half
expenses $32
assets
```
Year balances are good:
```
$ hledger balance -f year-test.journal -p yearly
Balance changes in 2015/01/01-2017/12/31:
|| 2015 2016 2017
==========++==================
assets || $-3 $-12 $-48
expenses || $3 $12 $48
----------++------------------
|| 0 0 0
```
Note how first transaction in 2015 is not included. Note that this is old period expression, so this bug exsits in master:
```$ hledger balance -f year-test.journal -p 'every 2nd day of month'
Balance changes in 2015/07/02-2017/07/01:
|| 2015/07/02-2015/08/01 2015/08/02-2015/09/01 2015/09/02-2015/10/01 2015/10/02-2015/11/01 2015/11/02-2015/12/01 2015/12/02-2016/01/01 2016/01/02-2016/02/01 2016/02/02-2016/03/01 2016/03/02-2016/04/01 2016/04/02-2016/05/01 2016/05/02-2016/06/01 2016/06/02-2016/07/01 2016/07/02-2016/08/01 2016/08/02-2016/09/01 2016/09/02-2016/10/01 2016/10/02-2016/11/01 2016/11/02-2016/12/01 2016/12/02-2017/01/01 2017/01/02-2017/02/01 2017/02/02-2017/03/01 2017/03/02-2017/04/01 2017/04/02-2017/05/01 2017/05/02-2017/06/01 2017/06/02-2017/07/01
==========++========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
assets || 0 0 0 0 0 0 $-4 0 0 0 0 $-8 0 0 0 0 0 0 $-16 0 0 0 0 $-32
expenses || 0 0 0 0 0 0 $4 0 0 0 0 $8 0 0 0 0 0 0 $16 0 0 0 0 $32
----------++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
```
Note how 2015 is absent entirely. This is new expression, but i think that general nature of bug is the same...
```
$ hledger balance -f year-test.journal -p 'every 4th Apr'
Balance changes in 2016/04/04-2018/04/03:
|| 2016/04/04-2017/04/03 2017/04/04-2018/04/03
==========++==============================================
assets || $-24 $-32
expenses || $24 $32
----------++----------------------------------------------
|| 0 0
```
2017-11-25 21:43:13 +00:00
Simon Michael
f5a39f7bc4
doc: csv: expand description part, include examples
...
[ci skip]
2017-11-05 17:30:31 -08:00
Simon Michael
4ab71f0d0a
journal: clarify that txn/posting comments must start with semicolon
2017-11-01 08:04:25 -07:00
Simon Michael
0e4d791371
doc: journal: use consistent semicolon comments in examples
...
About to add support for # posting comments, but using the semicolon
in examples makes them easier to test with Ledger.
[ci skip]
2017-11-01 06:12:55 -07:00
Simon Michael
676eb6e1a2
update embedded manuals
2017-10-31 12:38:37 -07:00
jeevcat
3a9ea65b99
Rewrite of BalanceAssertion type to track its source position.
...
Fixes #481 .
2017-10-16 13:25:03 -07:00
Sam Jeeves
11684843a0
Balance assertion errors now show line of failed assertion posting. Fixes #481 .
2017-10-14 15:11:19 -07: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
8c86d9b578
doc: update manuals re --sort-amount
2017-09-29 19:31:44 -10:00
Simon Michael
62c822c1e6
lib: more compact debug output for Accounts
2017-09-29 18:50:18 -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
d527384261
bal: --sort-amount sorts tree-mode single-column balance reports too
2017-09-28 09:49:03 -10:00
Simon Michael
32d5428197
doc: draft 1.4 changelogs
...
[ci skip]
2017-09-26 16:22:30 -10:00
Simon Michael
580ad88dca
timedot: fix parsing of month quantities (Nmo)
...
[ci skip]
2017-09-26 15:11:37 -10:00
Simon Michael
cd998e7f2f
slight fix for --sort-amount, don't flip when normal balance unspecified
2017-09-25 19:10:21 -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
5c85a1dd1c
lib: allow trailing whitespace in regex account aliases
...
Trailing whitespace in the replacement part of a regular expression
account alias is now significant. Eg, slightly flattening some bank
accounts: --alias '/:somebank:/=somebank '
2017-09-22 16:43:03 -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
0720cf9341
csv: doc: note how --rules-file affects all files in command
2017-09-17 13:37:06 -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
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
55cebad0d5
cli: refactor: move commands to a subdirectory, reinstate test command
2017-09-12 10:04:36 -07:00
Simon Michael
3b1637341c
lib: doctests: fix unused import warning
2017-09-08 10:58:13 -07:00
Simon Michael
0175a0231d
lib: make doctests build with ghc 7.10 again
2017-09-08 10:25:42 -07:00
Simon Michael
5ae011b249
lib: add missing parsec lower bound, possibly related to #596 , fpco/stackage#2835
...
[ci skip]
2017-09-06 07:32:13 -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ý
72cf6a8219
lib: Fix filtering by payee and note ( #598 )
2017-09-05 08:37:19 -07:00
Simon Michael
b246d0e990
cf: more restrictive regexp ( #584 )
2017-08-27 08:26:47 -07:00
Christian G. Warden
deaf9cfbef
Exclude Fixed Assets from Cashflow Report
...
Add "fixed" to the regex used to exclude asset accounts from cashflow
reports. Assumes accounts are set up something like:
assets:fixed assets:equipment
assets:fixed assets:vehicles
assets:fixed assets:buildings
2017-08-27 04:41:05 -07:00
Simon Michael
6b6e185827
lib: doc: note #583 issue number
2017-08-26 08:29:53 -07:00
Simon Michael
831ab78a74
lib, cli, ui: allow ansi-terminal 0.7
2017-08-26 07:47:34 -07:00
Simon Michael
f02d35ff39
lib, web: remove obsolete conditionals for old GHC
2017-08-25 17:15:26 -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
3778db9ec7
lib: similar package.yaml whitespace
2017-08-25 16:53:41 -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
d9e72d389e
lib: fix a deps problem in package.yaml breaking test suite with ghc 8.2
2017-08-25 14:39:35 -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
32cc9dc62b
timedot: doc: fix links to journal manual
...
[ci skip]
2017-08-21 17:46:05 -07:00
Simon Michael
1ebf1fec28
timedot: also provide syntax for seconds, days, weeks, months & years
2017-08-21 17:28:57 -07:00
Simon Michael
5cdb60b69b
timedot: allow minutes to be logged as Nm
2017-08-20 13:00:29 -07:00
Simon Michael
16c07c537b
csv: also switch which posting is converted to cost
...
After switching the postings, make sure it's the second which is converted
to cost.
2017-08-15 08:40:52 -07:00
Simon Michael
501634d2e9
doc: journal: makeinfo-version-related encoding change, hopefully correct
2017-08-15 08:18:06 -07:00
Simon Michael
cd589a5e4e
doc: csv: improve CSV conversion tips
...
[ci skip]
2017-08-15 08:17:15 -07:00
Simon Michael
ce5724fee1
csv: switch the order of generated postings, so account1 is first
...
This is subjective, but simplifies things as we'll be adding more than
two postings. Free-form entry templates will allow custom orderings
in future.
2017-08-15 08:16:49 -07:00
Mark Hansen
e98d213ca2
Add link to Visual Studio Code hledger plugin
2017-08-02 05:37:26 -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
f4acef58b1
lib: doctests: refactor, include Text.*
2017-07-31 07:09:57 -07:00
Simon Michael
20442196fb
lib: refactor
2017-07-31 07:09:06 -07:00
Simon Michael
f1c5cce575
lib: another doctests fix, replace wrong haddock char
2017-07-31 07:09:06 -07:00
Simon Michael
dbef13b13f
lib: more consistent deps, fixing doctests with Cabal 2 ( fixes #596 )
2017-07-31 07:09:06 -07:00
Simon Michael
ecfc8224dd
lib: cleanup up megaparsec 6 compat module, simplify error type ( #594 )
2017-07-28 07:53:02 -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
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
8313695306
doc: journal: update sample in generated manuals
2017-07-24 22:19:25 +01:00
Nicholas Niro
93fbc0e989
lib: Fix of a bug with the -H option.
...
This patch fixes a bug that happened when using the -H option on
a period without any transaction. Previously, the behavior was no
output at all even though it should have shown the previous ending balances
of past transactions. (This is similar to previously using -H with -E,
but with the extra advantage of not showing empty accounts)
2017-07-15 08:02:03 +01:00
Nicholas Niro
f0914ff08e
lib: Added a new much more thorough test to MultiBalanceReports.
...
This test makes sure that -H works correctly and it does not show
empty accounts.
2017-07-15 08:02:03 +01:00
Nicholas Niro
9873bcfcba
lib: Added a new transaction to samplejournal.
...
The new entry effectively adds a loan which is placed in the checking account.
This loan is then closed by the "pay off" transaction (which was already
present).
This is mainly to be used as a test point for the -H option; to make
sure -H does not show empty accounts.
All previous tests were changed to reflect the new change.
The documentation of the journal module was updated too.
2017-07-15 08:02:03 +01:00
Nicholas Niro
a7f6b551c5
lib: Implemented a testing context for the module MultiBalanceReports.
...
Of the 2 tests, the first is a simple test on a specific period.
The second is expected to fail at this point until the new upcoming
code to fix the issue with the history option is implemented.
For the record : this issue happens when we use the -H flag for a period
that does not contain any transactions. Currently, the ending balance
values are only taken into account if the current period contains
a Transaction containing one of the previous populated accounts.
For example, if we have a statement on the 2008/01/01 for $1
and we do a command (with -H) to check the value on the
(without transactions) 2008/01/02, we will not get the $1 from
2008/01/01. In that same example, if we had a transaction for the same
account as 2008/01/01 in say 2008/01/03 then the -H command would
successfully show the statement from 2008/01/03 with the initial amount
that we set in 2008/01/01.
2017-07-15 08:02:03 +01:00
Nicholas Niro
fe2a1b35da
lib: Added 2 new tests to BalanceReport.
...
These tests verify the behavior when we input a very specific period.
The second test is meant to make sure that the new upcoming code in
MultiBalanceReports will not change anything in the behavior of
the module BalanceReport.
2017-07-15 08:02:03 +01:00
Nicholas Niro
a204908be6
lib: Added a comment to explain the type MultiBalanceReportTotals
2017-07-15 08:02:03 +01:00
Simon Michael
ee735514fe
doc: update builtin manuals
2017-07-07 02:08:38 +01:00
Simon Michael
b3b33336b4
csv: show the "creating/using rules file" message only with --debug
2017-07-06 14:07:46 +01:00
Simon Michael
e94f04311d
csv: fix multiple includes in one rules file
2017-07-05 16:08:13 +01:00
Simon Michael
6614aab5d7
csv: add newest-first directive for more robust same-day ordering
2017-07-05 15:24:17 +01:00
Simon Michael
5ce66fb0de
doc, site: final 1.3 changelogs, release notes, announcement
...
[ci skip]
2017-07-01 18:56:57 +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
Simon Michael
1d5f3a44d5
lib: debug: add a log0 that writes to debug.log in the current directory
...
Seems to work somewhat, might have some laziness issues.
2017-06-30 19:14:57 +01:00
Simon Michael
41d62d669b
doc: journal: note that transaction code must be parenthesised
2017-06-30 14:49:19 +01:00
David Reaver
a9959b30c2
Fix date of 1.2 release in CHANGES
2017-06-20 08:45:35 -07:00
Simon Michael
59af88b796
ui: add temporary --status-toggles for testing toggle styles ( #564 )
2017-06-18 16:20:30 -07:00
Simon Michael
22e751983b
ui: allow multiple status filters to be active at once ( #564 )
2017-06-15 19:16:39 -07:00
Simon Michael
dcc58d4a2b
lib: rename ClearedStatus type to Status
...
(and fix hard-coded enum count)
2017-06-15 19:16:39 -07:00
Simon Michael
430c49154a
lib: rename Query's Status constructor to StatusQ
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
794647780d
doc: fixes for builtin manuals
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
5d28120f6d
lib: multiple status: query terms are OR'd ( #564 )
...
Like desc: and acct:. I think this is more intuitive and useful,
so now eg "status: status:!" works (equivalent to -UP or "not:status:*").
2017-06-15 19:16:39 -07:00
Simon Michael
7fc921db86
lib, cli: -U/-P/-C flags can be combined ( #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
c5d63f03ce
lib: clean up status functional tests, document ClearedStatus ( #564 )
2017-06-15 19:16:39 -07:00
Simon Michael
dae17093c3
lib: hide successful hunit tests, to avoid obscuring failed doctests ( #568 )
2017-06-07 06:42:58 -07:00
Carel Fellinger
da9aa81ec7
Update AutoTransaction.hs
...
lib: fix unit test some more after 5c095534
2017-06-07 12:56:43 +02:00
Simon Michael
7cc2d86ac0
lib: fix unit tests after 5c095534
2017-06-06 09:43:05 -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
Simon Michael
5c09553481
lib: keep amounts aligned when rendering a transaction with posting flags
...
Related to #563 , when rendering a transaction, we reserve two more chars
of width so that amounts remain aligned when there are posting flags.
Affects hledger-ui's transaction screen, print, hledger-rewrite etc.
2017-06-04 21:26:18 -07:00
Simon Michael
1adc636554
lib: show pending posting flags when rendering a transaction ( fix #563 )
...
This affects hledger-ui's transaction screen, print, hledger-rewrite etc.
A pending flag on postings is now displayed, just like a cleared flag.
Also there will now be a space between flag and account name.
And it's slightly better at aligning amounts, due to now considering
virtual posting parentheses/brackets or something.
2017-06-04 17:54:57 -07:00
Simon Michael
c9e7bbdc7c
clarify recent print changes a bit ( #551 )
2017-05-30 13:57:52 -07:00
Simon Michael
aca7c0d93b
lib: clarify journalBalanceTransactions
2017-05-30 13:57:52 -07:00
Christian G. Warden
d39040c634
Add Support for Rewriting Multipler Postings Into Different Commodities ( #557 )
...
When generating a new posting as a multiple of an existing posting,
support conversion to a different commodity. For example, postings in
hours can be used to generate postings in USD.
Automatic transactions generated from rewrite rules use the commodity,
amount style, and transaction price if the rewrite defines a commodity.
2017-05-30 07:30:15 -07:00
Joe Horsnell
35f77ee5e4
Fix trivial typo (#balance-assertions anchor) in CSV docs. ( #559 )
2017-05-30 07:27:14 -07:00
Simon Michael
dca7ffc10b
doc: journal: meaning of --uncleared, matching tips ( #553 )
...
[ci skip]
2017-05-24 19:17:29 -07:00
Simon Michael
34af40024a
doc: journal: expand transactions/postings/status sections ( #553 )
2017-05-24 17:44:32 -07:00
Simon Michael
a5b545c4eb
doc: clarify some transaction price details
...
- remove inaccurate print examples
- note #551
- note Ledger's fixed price syntax
- note how posting order can affect -B
- edits for clarity
2017-05-22 17:52:14 -07:00
Jan Zerebecki
f403b1e709
Fix link to queries ( #550 )
2017-05-22 07:29:55 -07:00
Simon Michael
5e00d2f31c
csv: refactor ( #548 )
2017-05-14 18:17:56 +09:00
Nicolas Wavrant
309d1ccd59
CsvReader: simplify '-' signs if there exist more than one ( #548 )
...
It prevents hledger to crash later, as it fails to read
amount strings containing more than one '-'
Fix #524
2017-05-14 09:34:33 +09:00
Simon Michael
2de0109953
allow megaparsec 5.3
2017-04-29 17:16:27 -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
9a86c9ee52
lib: begin supporting colour
...
Add some basic helpers for working with ANSI colour codes,
and make strWidth and the various string layout functions aware of them.
2017-04-25 18:27:25 -07:00
Simon Michael
48a84cdd58
lib: note an issue with journalfieldnames ordering
2017-04-19 09:05:21 -07:00
Simon Michael
2ac77338f8
doc: csv tweaks
2017-04-19 09:04:44 -07:00
Dmitry Astapov
c4c4be5fad
Fix parsing of blank/empty balances + testcases ( #539 )
2017-04-18 09:07:30 -07:00
Dmitry Astapov
451f9d7307
"balance" parser for csv reader ( #537 )
...
* "balance" parser for csv reader
* Some docs for
2017-04-14 14:52:03 -07:00
Simon Michael
f9ad13b1c1
doc: journal: drop obsolete info
2017-04-13 08:42:52 -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
646cdf34e2
lib: mark todo for multicolumn balance/bs ( #518 )
2017-03-31 16:55:04 -07:00
Simon Michael
61a5b5274b
doc: journal: fix link to aliases howto
...
[ci skip]
2017-03-31 10:42:53 -07:00
Simon Michael
55fb5424e9
tools: travis: don't doctest ledger-parse
2017-03-30 13:15:50 -07:00
Simon Michael
e8dcef5b5f
lib: disable WIP ledger4 parser, lighten dependencies
2017-03-29 21:06:26 -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
b402fc7e7d
lib: optserror -> usageError, consolidate with other error functions ( #529 )
2017-03-29 08:00:51 -07:00
Simon Michael
59704dcb6b
doc: regenerate doc files
2017-03-27 05:12:03 -07: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
Simon Michael
ea1f19c71e
lib: csv: refactor, allow writing different rules text
2017-02-06 02:34:18 -08:00
Simon Michael
9cfb7bf6af
lib: update readJournalFromCsv doc
2017-02-06 01:45:32 -08:00
Simon Michael
7dd34d71b5
ui: transaction: fix pattern match failure when pressing E ( fixes #508 )
2017-02-05 12:00:45 -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
f47df67167
mapping function over journal amounts
2017-02-04 16:38:18 -08:00
Simon Michael
fa388257d9
add MarketPrice module to other cabal sections #505
2017-02-04 16:32:03 -08:00
Justin Le
6bccb847d5
Added a simple 'showMarketPrice' function to show market price directives in a journal-compatible way ( #505 )
...
* added showMarketPrice and Hledger.Data.MarketPrice module
* showMarketPrice implemented using showDate
* attempted to add tests to Hledger.Data.MarketPrice
* moved MarketPrice test to Hledger.Read.JournalReader; fixed documentation on MarketPrice; added MarketPrice module to package.yaml
2017-02-03 18:20:00 -08:00
Simon Michael
a30583f6a1
allow megaparsec 5.2 #503
2017-02-01 16:24:37 -08:00
Bryan Richter
4890d2bf90
Escape account names ( #499 )
...
Fixes #498 .
2017-01-30 09:17:18 -08:00
Simon Michael
0395543719
doc: journal: market price doc tweak
2017-01-26 14:19:23 -08:00
Mykola Orliuk
3a632acea0
budget: periodic transactions support
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
Simon Michael
9759b5c867
doc: clarify tags
...
[ci skip]
2017-01-16 16:26:51 -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
ce69f17db6
lib: fix a potential build failure: add Ledger.Parse.Text to package.yaml
2017-01-16 13:52:30 -08:00
Mykola Orliuk
3af81a73ca
txnTieKnot fix (~10% memory reduce) ( #483 )
...
* bin: ignore chart and dupes addons
* lib: fix txnTieKnot
Ensure that postings refers to their transaction rather than original
one.
This should allow compiler perform destructive update and/or allow
garbage collecting old transaction.
2017-01-16 07:42:41 -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
8bc67d5ee8
print: don't lose the commodity in zero balance assertions. Related to #475
2017-01-14 10:29:33 -08:00
Hans-Peter Deifel
dfbb683573
Prettify option parsing errors ( #478 )
...
Megaparsec's show instance for ParseError doesn't produce digestible
strings. parseErrorPretty has to be used instead.
2017-01-13 13:10:11 -08:00
Simon Michael
2e61c037c3
cli: --pivot payee/note uses description parts before/after |
...
This assumes a "PAYEE | NOTE" convention in the description field,
similar to Beancount's journal syntax. If the description has no pipe
character, payee and note are the same as the full description.
2017-01-13 08:19:42 -08:00
Simon Michael
27d727ffad
cli: rename --pivot desc to --pivot description for consistency
2017-01-13 08:05:22 -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
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
Nikolay Orlyuk
c0d12f5d1c
Normalize amount in infereBalancingAmount ( #469 )
...
This fixes issue exposed by a fix for simonmichael/hledger#465
2017-01-11 12:09:07 -08:00
Nikolay Orlyuk
32d9365fc2
Ensure showTransaction produce a valid journal ( #466 )
...
- Make output of print to be a valid journal
- Partially reverts 419f5f2a2
Fixes simonmichael/hledger#465
2017-01-10 20:44:10 -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
2b05970781
lib: report end date fix #403 #453
2016-12-30 14:36:27 -08:00
Simon Michael
66fcd0d4b2
lib: show report end date in debug output #403 #453
2016-12-30 14:36:15 -08:00
Simon Michael
1866d2375d
bal: with same-date market prices, use the last parsed not the highest price #403 #453
2016-12-30 11:46:13 -08:00
Simon Michael
7dcfcb05ec
lib: get effective report start/end dates
2016-12-30 11:46:13 -08:00
Simon Michael
ce8046bdb4
lib: add some debug output for market prices ( #453 )
2016-12-30 11:15:03 -08:00
Simon Michael
547e6d5438
doc: journal: clarify market prices ( #403 )
2016-12-29 12:39:39 -08:00
Simon Michael
264e81c430
lib: applyN comment
2016-12-29 11:33:34 -08:00
Simon Michael
f84324682e
lib: fix a doctest in Hledger.Data.Dates
2016-12-29 11:33:33 -08:00
Shubham Lagwankar
37b7ebfe22
use isSpace in lstrip ( #441 )
2016-12-20 09:29:12 -08:00
Simon Michael
47ca1965b2
doc: document balance assignments ( #438 )
2016-12-10 08:03:56 -08:00
Johannes Gerer
45401e538e
Balance Assignments and accounts resetting ( #438 )
...
* Changed behavior of `readJournalFiles` to be identical to `readJournalFile` for singleton lists
* Balance Assertions have to be simple Amounts
* Add 'isAssignment' and 'assignmentPostings' to Hledger.Data.Posting and Transaction
* Implemented 'balanceTransactionUpdate', a more general version of 'balanceTransaction' that takes an update function
* Fixed test cases.
* Implemented balance assignment ("resetting a balance")
* Add assertions to show function
* updated the comments
* numbering is not needed in journalCheckBalanceAssertions
* remove prices before balance checks
* rename functions
2016-12-10 07:04:48 -08:00
Johannes Gerer
74502f7e50
more general parser types enabling reuse outside of IO ( #439 )
2016-12-09 15:57:17 -08:00
Simon Michael
3c4cb4eeeb
ui: --watch: track date only when a standard period is in effect
2016-12-07 15:19:36 -08:00
Simon Michael
6aeaee17f5
ui: clarify docs of some period functions
2016-12-07 14:54:23 -08:00
Simon Michael
00e2a8a327
lib: note a problem with dbg*IO
2016-12-07 07:59:48 -08:00
Johannes Gerer
2e8e67aa09
Changed behavior of readJournalFiles to be identical to readJournalFile for singleton lists ( #437 )
2016-12-07 07:59:24 -08:00
Simon Michael
9952f93e97
ui: --watch date tracking fixes
...
- move the period only if it's "current" (contains the old "today" date)
- make it work on all screens, not just accounts
2016-12-02 15:36:23 -08:00
Simon Michael
e3a7f6697e
ui: --watch also tracks the current date, when appropriate
...
ie, when viewing a "current" period (the current day/week/month/quarter/year),
it will be moved to enclose the current date, if needed, whenever the system date changes.
2016-12-01 19:26:38 -08:00
Simon Michael
36c75841ee
lib: dbgIO -> dbg0IO, consistent with dbg0
2016-11-24 10:59:03 -08:00
Simon Michael
3a5091e9eb
don't show stack trace details in errors with GHC 8+
2016-11-22 14:28:39 -08:00
Simon Michael
a1411768e5
csv: create default rules file only if CSV reader succeeds
2016-11-22 13:59:31 -08:00
Simon Michael
1f2276c100
lib: mark ledger reader as experimental, don't use automatically
2016-11-20 10:42:12 -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
7d56af5a03
lib: restrict imports, avoiding GHCI clashes
2016-11-20 10:27:16 -08:00
Simon Michael
1539b258b9
lib: more Hledger.Read cleanup
2016-11-19 08:57:03 -08:00
Simon Michael
c8fefef7e8
doc: document file reading, and some options cleanups
2016-11-18 13:26:15 -08:00