Mykola Orliuk
64c7eb78f4
GHC 8.0 compatibility
2018-05-13 14:41:08 -07:00
Stephen Morgan
5bc5bb5533
Fix doctest error introduced by 49c8c093ac.
2018-05-11 07:25:17 -07:00
Simon Michael
7040289d54
add some exports to fix warnings ( #762 )
2018-05-11 07:17:38 -07:00
Alex Chen
3aa72bdf16
lib: Clean up new code introduced for #655
2018-05-11 06:41:13 -07:00
Alex Chen
30ae991484
lib: Strip comment before parsing tags ( #655 )
2018-05-11 06:41:13 -07:00
Alex Chen
09ec6041bd
lib: Report source positions from internal comment parsers
2018-05-11 06:41:13 -07:00
Alex Chen
b06d22a418
lib: Refactor common comment parsers
2018-05-11 06:41:13 -07:00
Alex Chen
c2199b1125
lib: Add explicit export list to Common.hs
2018-05-11 06:41:13 -07:00
Alex Chen
a409d09435
lib: restrict backtracking when parsing postings ( #747 )
2018-05-09 22:09:15 -07:00
Simon Michael
49c8c093ac
lib: clarify rawnumberp doc
...
[ci skip]
2018-05-09 10:22:39 -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
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
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
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
Moritz Kiefer
d7b68fbd7d
Use skipMany/skipSome for parsing spacenonewline
...
This avoids allocating the list of space characters only to then
discard it.
2018-03-25 22:59:05 +01:00
Simon Michael
84579bb1b4
silence redundant import warnings with ghc 8.4
2018-03-24 22:51:56 +00:00
Simon Michael
13855d6b53
csv: no csv records is no longer an error
2018-02-01 09:41:03 -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
81e964502b
lib: refactor low-level text file reading
2018-01-04 16:17:25 -08:00
Simon Michael
ecdbc05703
Merge branch 'feature/space-as-digits-sep' of https://github.com/ony/hledger into ony-feature/space-as-digits-sep
2017-12-30 09:29:22 -08:00
Nadrieril
9e6e06033f
lib: Allow balance-only entries in csv reader
2017-12-14 18:26:29 -08:00
Mykola Orliuk
95db5062d6
journal: inherit commodities in included files
...
Followup on some comments for simonmichael/hledger#487
2017-12-04 12:26:26 -08:00
Mykola Orliuk
9cdd02e0b0
journal: pretty errors for included files
...
Fixes simonmichael/hledger#660
2017-12-04 12:26:26 -08:00
Mykola Orliuk
47766ea9d4
journal: support space as digits sep
...
Resolves simonmichael/hledger#330
2017-11-29 17:20:18 +01:00
Mykola Orliuk
e58272f28f
journal: use groups sep and prec for decimal hint
...
Use whole AmountStyle in process of resolving decimal/groups separator
ambiguity.
Resolve simonmichael/hledger#399
2017-11-27 15:47:56 -08:00
Mykola Orliuk
7cbdeb40a4
journal: get decimal hint from default commodity
...
If appropriate commodity directive is missing fallback to default
commodity directive to get number representation style.
2017-11-27 15:47:56 -08:00
Mykola Orliuk
b7dbe044b0
journal: use decimal sep hint for amount parser
...
Make use of commodity format directive as a hint for parsing amount.
Kinda resolves simonmichael/hledger#487
2017-11-27 15:47:56 -08:00
Mykola Orliuk
dafdaec1ca
journal: factor out rawnumberp
2017-11-27 15:47:56 -08:00
Mykola Orliuk
bcf7a1add5
journal: make numbers parsing more strict
...
- Hunt down adjacent punctuations with altering char.
- Add some tests dedicated to parsing amounts.
2017-11-27 15:47:56 -08:00
Mykola Orliuk
53ad035b24
journal: limit scope of directives backtracking
...
Effectively improves error reporting for directives.
Resolves simonmichael/hledger#402
2017-11-27 14:32:48 -08:00
Simon Michael
4ab71f0d0a
journal: clarify that txn/posting comments must start with semicolon
2017-11-01 08:04:25 -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
580ad88dca
timedot: fix parsing of month quantities (Nmo)
...
[ci skip]
2017-09-26 15:11:37 -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
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
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
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
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
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
dcc58d4a2b
lib: rename ClearedStatus type to Status
...
(and fix hard-coded enum count)
2017-06-15 19:16:39 -07:00