Simon Michael
56cf9b21cb
fix txn & posting comment parsing & printing; better unit tests
2012-05-15 01:49:05 +00:00
Simon Michael
a58a5f96ad
more robust comments & metadata, on postings too, and document as "tags"
2012-05-14 18:52:22 +00:00
Simon Michael
88212f26e8
simplify journal parser names
2012-05-09 15:34:05 +00:00
xiaoruoruo
ce83876700
metadata parse and show for transaction
2012-04-08 19:13:56 +00:00
Simon Michael
8492f6cae4
fix unicode handling on GHC >= 7.2, unify utf8 IO compatibility layer
...
tests pass again from GHC 6.12.3 to 7.4.1
2012-03-29 19:06:31 +00:00
Simon Michael
d4451ce5e3
read system cleanup, require conversion rules from a file to simplify API
2012-03-24 18:08:11 +00:00
Simon Michael
e396c0dc8d
push csv rule and format string types down
2012-03-24 01:58:34 +00:00
Simon Michael
6eb7ad28e1
refactor/beef up readJournal/readJournalFile
2012-03-23 16:21:41 +00:00
Simon Michael
4d7a809c4a
cleanups and early code for csv reader based on convert
2012-03-10 21:55:48 +00:00
Simon Michael
381ebea35c
show correct line number for posting parse errors ( #67 )
2011-10-04 23:39:53 +00:00
Simon Michael
8d62452260
parsing: historical price directives may contain a numeric time zone, like ledger; note that the time is ignored
2011-06-01 01:50:04 +00:00
Simon Michael
946e5ffcbc
parsing: parse time of day more carefully
2011-05-31 22:45:54 +00:00
Simon Michael
1f24e025da
parsing: make bad date parse error more reliable
2011-05-31 19:49:37 +00:00
Simon Michael
a44aa8d7d2
refactor: remove unnecessary LANGUAGE CPP pragmas
2011-07-17 23:29:57 +00:00
Simon Michael
1273f02a9a
more balance/amount clarifications and a test
2011-08-30 11:37:36 +00:00
Simon Michael
957c349780
--alias command-line option
2011-08-05 00:05:39 +00:00
Simon Michael
30b7448f45
parsing: alias/end aliases directives, like ledger's but a bit more powerful
2011-08-04 08:45:18 +00:00
Simon Michael
4015e02097
account directive should preserve virtual/balanced virtual posting type
2011-08-02 23:29:13 +00:00
Simon Michael
345c2343b6
refactor ledgerDirective
2011-08-04 07:49:10 +00:00
Johann Klähn
8e7d20e4d5
parsing: support pop as well as end tag
2011-05-31 17:41:12 +00:00
Simon Michael
75f0886ad4
parsing: make the leading ! in directives optional, like ledger
2011-08-02 23:28:53 +00:00
Simon Michael
5084280879
imports, api cleanup
2011-05-28 04:11:44 +00:00
Simon Michael
8980dd9336
parser cleanup
2011-01-19 23:27:44 +00:00
Simon Michael
6a845eb5e4
i18n: always read and write UTF-8, ignoring current locale ( #34 )
...
Also remove a bunch of CPP conditions.
Uses the GHC-version-independent UTF-8 layer from pandoc.
2011-01-21 01:24:51 +00:00
Simon Michael
5f1ebc694a
parsing: assume current year when transaction dates have no year and there is no default year
2011-03-11 18:45:57 +00:00
Simon Michael
1c7ad7f421
parsing: more careful validation of eg leap years in transaction dates (only)
2011-04-22 13:55:42 +00:00
Simon Michael
d3663b818e
parsing: better international number format support ( #32 )
...
This allows period and comma to be used for decimal point and digit group
separator or vice versa, and also flexible digit groups. See
http://en.wikipedia.org/wiki/Decimal_separator . Digit group separators
are possibly not worth the trouble and might not stay.
2011-01-19 12:32:18 +00:00
Simon Michael
dd9e78a67a
reorganize tests
2010-12-27 20:26:22 +00:00
Simon Michael
e03ada3bd3
parsing: support @@ syntax specifying total price
2011-01-15 02:04:53 +00:00
Simon Michael
631215d5d7
parsing: accept (but ignore) c++ ledger's C commodity conversion directive
2010-11-12 23:55:40 +00:00
Simon Michael
d7617fe154
parsing: ignore cleared flags at the start of postings, parse account name correctly
2010-11-13 20:20:04 +00:00
Simon Michael
811e71aba7
price precisions don't influence display precision; balancing is based on display precision ( #23 )
...
Like ledger, price amounts are now "unobserved", ie their precision does
not affect the canonical display precisions used when displaying amounts,
and transaction balancing is done based on display precision, ie amounts
are considered to balance if their sum appears to be zero when using the
canonical display precision.
2010-11-14 22:44:37 +00:00
Simon Michael
77519e2c1d
remove debug code breaking reports
2010-11-14 18:10:48 +00:00
Simon Michael
e707f97847
parsing: parse transaction and posting metadata, though we don't use it yet
2010-11-13 22:17:32 +00:00
Simon Michael
17d5acf64b
refactor: more reader cleanups
2010-11-15 07:18:35 +00:00
Simon Michael
a3a7a346ac
uniquify reader module names
2010-11-15 07:01:46 +00:00
Simon Michael
d6c2cf6a90
parsing: save final parse context with journal
2010-11-13 15:03:40 +00:00
Simon Michael
7714bab58d
web: offer a choice of files to edit when there are multiple (included) files
2010-09-24 01:56:11 +00:00
Simon Michael
78db98366f
parsing: support D default commodity directive
2010-11-12 23:54:21 +00:00
Simon Michael
8429df0f32
remember all included file paths, if any
2010-09-22 23:02:19 +00:00
Simon Michael
96036e56a0
docs: comments
2010-09-22 21:51:25 +00:00
Simon Michael
d132f5e45a
ledgerInclude cleanup
2010-09-22 21:52:04 +00:00
Ben Boeckel
5e576e9ff0
fix-recursive-includes
...
Fix recursive includes beyond depth 3. Also add a test case for the bug.
2010-09-02 00:30:57 +00:00
Simon Michael
d29b393ca2
fix a failing test, handle unicode better in errors
2010-09-05 18:18:50 +00:00
Simon Michael
ce7e155934
parsing: fix obscured date parse errors with parsec 3; require split
...
With parsec 3, invalid date errors were not being reported properly.
This should be more robust.
2010-09-03 23:22:58 +00:00
Simon Michael
63de5e0127
parsing: fix wrong parse error locations within postings
2010-07-08 02:51:17 +00:00
Simon Michael
3e9ad0ae13
parsing: don't let trailing whitespace in a timelog description mess up layout
2010-07-08 03:08:28 +00:00
Simon Michael
7d7159609b
refactor: much renaming of ledger -> journal, hopefully the right amount
2010-07-13 06:30:06 +00:00
Simon Michael
8a64792ba7
smarter file reading: detect (or specify) intended data format and show appropriate error messages
...
New data reader modules need to provide just reader :: Reader, which is
the format name, a detector predicate, and a parser.
2010-06-25 14:56:48 +00:00
Simon Michael
1ec1f7c4ea
more file reading cleanup, try each known format in turn
...
Currently this is just the journal and timelog file formats. This is more
scalable, but when things go wrong there is no longer just a single parse
error. For now we'll just show the first error, the one from the journal
file parser.
2010-05-31 01:15:18 +00:00
Simon Michael
a848a835a2
clean up and combine I/O and parsing under Hledger.Read.*
...
This facilitates adding readers for new data formats. Timelog parsing is temporarily broken.
2010-05-30 19:11:58 +00:00