Alex Chen
a409d09435
lib: restrict backtracking when parsing postings ( #747 )
2018-05-09 22:09:15 -07:00
Stephen Morgan
129f6e6839
Adjust start date of DateSpan for periodic forecasting with Days interval.
2018-05-09 17:19:58 -07:00
Simon Michael
49c8c093ac
lib: clarify rawnumberp doc
...
[ci skip]
2018-05-09 10:22:39 -07:00
Simon Michael
cfee04215f
bal: always ignore --drop when not in flat mode ( fix #754 )
2018-05-05 16:12:27 -07:00
Simon Michael
9151f5004e
budget: show a budget report even with no interval (for whole journal period)
2018-04-24 23:12:42 -07:00
Simon Michael
568a442307
budget: tweak hiding/grouping of unbudgeted accounts
...
It now works slightly differently. Eg:
- <unbudgeted>'s subaccounts are hidden by default
- --show-unbudgeted shows all unbudgeted accounts, including subaccounts of budgeted parents
- --show-unbudgeted doesn't affect the grouping under <unbudgeted>
IMHO it's a nice simplification and increase in consistency, while still meeting the original intent.
2018-04-24 13:42:12 -07:00
Simon Michael
8b650d8e4f
budget: fix inconsistent hiding of unbudgeted accounts
...
Accounts which have no budget goals within the report period are now
grouped under <unbudgeted> - not just accounts with no budget goals ever.
Haddocks have been clarified, especially for budgetRollup. In some
ways things are much clearer without this feature, but it remains
enabled by default for now.
2018-04-23 18:52:28 -07:00
Simon Michael
8759f12b63
budget: more consistent display of percentage
2018-04-23 18:52:28 -07:00
Simon Michael
0c140d7238
budget: allow multi-interval budgets again
...
Budgets were restricted to a single interval in 1.9, but this was
a mistake. This restores the 1.5 behaviour, where a budget can be built
up from multiple periodic transactions with different intervals.
2018-04-23 18:52:28 -07:00
Simon Michael
e2c55aafa9
budget: --drop preserves the <unbudgeted> top-level account
2018-04-23 18:52:28 -07:00
Simon Michael
43287a3e26
budget: use a new first-class BudgetReport for --budget
2018-04-23 18:52:28 -07:00
Simon Michael
4b3c6afe75
lib: new generic PeriodicReport, and some report-related type aliases
2018-04-23 18:52:28 -07:00
Simon Michael
0b380971f7
journal: require a decimal point in commodity/format/D directives
...
A commodity directive that doesn't specify the decimal point character
increases ambiguity and the chance of misparsing numbers, especially
as it overrides all style information inferred from the journal amounts.
In some cases it caused amounts with a decimal point to be parsed as if
with a digit group separator so 1.234 became 1234.
We could augment it with extra info from the journal amounts, when available,
but it would still be possible to be ambiguous, and that won't be obvious.
A commodity directive is what we recommend to nail down the style.
It seems the simple and really only way to do this reliably is to require
an explicit decimal point character. Most folks probably do this already.
Unfortunately, it makes another potential incompatiblity with ledger and
beancount journals. But the error message will be clear and easy to
work around.
2018-04-20 21:56:06 -07:00
Simon Michael
3f2827424c
refactor: number parsing docs
2018-04-20 21:39:06 -07:00
Simon Michael
3d4f5600ae
journal: infer and balance amounts with standard amount styles ( fix #737 )
...
Inferred amounts now have the appropriate standard amount style applied.
And when checking for balanced transactions, amount styles declared with
commodity directives are also used (previously only inferred amount styles were).
2018-04-20 13:40:05 -07:00
Simon Michael
91e3ddd4fb
lib: refactor
2018-04-20 05:24:09 -07:00
Dmitry Astapov
0c835acd18
lib, app: better descriptions for forecast transactions
2018-04-18 16:05:08 -07:00
Simon Michael
f2d3b3e1d4
csv: handle the other double negation cases: -(N), ((N)) ( fix #736 )
2018-04-18 07:39:33 -07:00
Dmitry Astapov
d82370d10b
lib, app, web: remove differences between command line and journal file aliases
2018-04-17 16:09:11 -07:00
Dmitry Astapov
f6ec26e321
lib, app, web, ui: rename readJournalFile[s]WithOpts to readJournalFile, same for tryReader[s]WithOpts
2018-04-17 15:25:02 -07:00
Simon Michael
ae8046d47b
lib: restore/update haddocks on readJournalFile[s]WithOpts
...
[ci skip]
2018-04-17 14:34:43 -07:00
Dmitry Astapov
5579af9a04
lib: remove readJournalFile(s) - supeceded by readJournalFile(s)WithOpts
2018-04-17 14:33:32 -07:00
Dmitry Astapov
37607beaea
lib, app, web: use readJournalFileWithOpts instead of readJournalFile whenever possible
2018-04-17 14:33:32 -07:00
Dmitry Astapov
93814652f8
lib: auto postings are generated right after posting that triggered them ( #729 )
2018-04-17 14:33:32 -07:00
Dmitry Astapov
ecf49b1e4b
lib: auto postings generated before amount inference and balance checks ( #729 )
2018-04-17 14:33:32 -07:00
Everett Hildenbrandt
c69fbff6d9
CsvReader: print more information about amount-in/out errors
2018-04-15 16:52:52 -07:00
Pavlo Kerestey
63d4c51dc4
Use quoteIfNeeded in quoteIfSpaced. Fix escapeDoubleQuotes to escape
2018-04-12 12:04:20 -07:00
Pavlo Kerestey
980210070a
Explicit exports of Hledger.Utils.Text
2018-04-12 12:04:20 -07:00
Simon Michael
0b5ddcebee
cli: clarify smart dates with more examples; add support for YYYYMM
2018-04-04 17:45:23 +01:00
Simon Michael
4ff3a749c6
lib: note an oddity with runJournalParser
2018-03-31 02:44:31 +01:00
Mykola Orliuk
b377bff90a
lib: support scientific number notation ( #704 , #706 )
...
closes simonmichael/hledger#704
2018-03-31 01:49:46 +01:00
Simon Michael
2b34ff1184
lib: reportSpan debug output
2018-03-30 02:41:03 +01:00
Simon Michael
ebaac2866b
lib: fix reportStartEndDates, rename to reportSpan
2018-03-30 00:16:35 +01:00
Simon Michael
dc4def835c
lib: refactor runPeriodicTransaction, add a test
2018-03-29 18:11:34 +01:00
Simon Michael
d060398484
lib: splitSpan: return no spans for an empty datespan
...
Fixes an issue where a bounded budget could wrongly appear in a
disjoint report period.
2018-03-29 18:10:51 +01:00
Simon Michael
4d562ef068
lib: don't count periodic/modifier txns in Journal debug output
2018-03-29 16:45:34 +01:00
Simon Michael
083d9190fd
budget: only periodic txns with the selected interval are used
2018-03-29 15:51:52 +01:00
Moritz Kiefer
d7b68fbd7d
Use skipMany/skipSome for parsing spacenonewline
...
This avoids allocating the list of space characters only to then
discard it.
2018-03-25 22:59:05 +01:00
Simon Michael
84579bb1b4
silence redundant import warnings with ghc 8.4
2018-03-24 22:51:56 +00:00
Peter Simons
4c5a58ec1e
hledger-lib: add missing Semigroup instance for Journal
...
GHC 8.4.1 makes Semigroup a superclass of Monoid. See
https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid
for details.
2018-03-12 23:17:14 +00:00
Simon Michael
968ae13035
lib: redo buggy Amount refactoring
2018-02-16 02:26:39 -08:00
Simon Michael
b6a089b8a3
lib: Amount: hlint
2018-02-15 17:28:23 -08:00
Simon Michael
b231d99e38
lib: Account, AccountName: hlint
2018-02-15 11:38:34 -08:00
Simon Michael
6d94eed6fd
lib: Types: fix/silence hlint warnings
2018-02-15 07:35:51 -08:00
Simon Michael
13855d6b53
csv: no csv records is no longer an error
2018-02-01 09:41:03 -08:00
Simon Michael
d3fde29b36
bal: --invert flag to flip all signs
2018-01-29 14:53:23 -08:00
Simon Michael
9b88fc2ed0
bal/bs/cf/is: sort accounts by account code, if any, then account name
...
If any accounts have numeric codes assigned via account directives,
those accounts will be listed first, lowest account codes first.
2018-01-23 11:33:24 -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
5b1883fcdf
bs/bse/cf/is: fix display of abbreviated name for December
2018-01-19 12:45:51 -08:00