John Wiegley
3ae4a38e4d
Fixed parsing of "deferred notes" in auto xacts
2012-03-07 05:19:21 -06:00
John Wiegley
9ea5b60899
Whitespace fixes
2012-03-07 00:32:56 -06:00
John Wiegley
71d0033b6f
Corrected several compile and link problems
2012-03-06 23:04:27 -06:00
John Wiegley
97d68ebc8c
Added "value" sub-directive for commodity directive
2012-03-06 03:24:06 -06:00
John Wiegley
59a16e59ee
Simplified Python import in a journal file
2012-03-05 21:48:45 -06:00
John Wiegley
97dbf379d5
Rewrote the way annotated commodities are managed
...
The new scheme should be much more efficient, and allows for future
growth of what annotations may appear on a commodity.
2012-03-05 17:50:17 -06:00
John Wiegley
b6adc8f460
Use unique_ptr instead of std::auto_ptr
2012-03-05 17:46:42 -06:00
John Wiegley
ddba59b703
This now works: ledger --import os eval 'os.path.isdir("/tmp")'
2012-03-02 01:36:58 -06:00
John Wiegley
a125f24d29
Allow --options to be added by the user in Python
2012-03-01 23:40:02 -06:00
John Wiegley
7a141edb49
Propagate out parsing context counts
2012-03-01 22:09:17 -06:00
John Wiegley
0e81c60d70
Fixed a typo
2012-03-01 21:33:27 -06:00
John Wiegley
a3a877284a
Was missing an assignment of context.scope
2012-03-01 21:18:49 -06:00
John Wiegley
f6c087cfe4
Added a new 'python' directive
2012-03-01 17:32:51 -06:00
John Wiegley
ff89cb9c4d
Fixed a bug that was causing includes to crash
...
Fixes #661
2012-03-01 16:22:08 -06:00
John Wiegley
9ec9cdf41e
Started writing Python unit tests
2012-03-01 05:50:07 -06:00
John Wiegley
944e580825
Refactored the notion of "the current parsing context"
2012-03-01 03:31:28 -06:00
John Wiegley
e2afc783db
Increased file copyrights to 2012
2012-02-29 22:32:23 -06:00
John Wiegley
8021955292
Removed incorrect session.h include in textual.cc
2012-02-29 22:12:24 -06:00
John Wiegley
656e46e182
Renamed actual/effective dates to primary/auxiliary
2012-02-28 03:02:16 -06:00
John Wiegley
7a55c7ffc1
Allow xact notes on periodic transactions
...
Fixes #448
2012-02-28 02:47:22 -06:00
John Wiegley
6d04f60573
Fixed display problem in an error message
2012-02-28 00:08:21 -06:00
John Wiegley
07137cc042
'end apply' doesn't need a qualifier
2012-02-27 12:39:12 -06:00
John Wiegley
440371d296
Added a TODO comment
2012-02-27 12:39:00 -06:00
John Wiegley
268127cf11
Added 'note' sub-directive to 'commodity'
2012-02-27 12:38:51 -06:00
John Wiegley
bee748cc93
Added a TODO comment
2012-02-27 12:38:39 -06:00
John Wiegley
2ec35ea6e9
Implement the "tag" metadata directive
2012-02-27 05:02:25 -06:00
John Wiegley
0e7b4fb182
Implemented account and commodity directives
2012-02-27 04:58:38 -06:00
John Wiegley
1d89093059
Output some line numbers with warnings
2012-02-27 04:10:16 -06:00
John Wiegley
61bc7362ca
Added new account/payee/commodity directives
...
Also added supporting options: --explicit, --permissive, --pedantic, as
well as new behavior for --strict.
2012-02-27 02:31:09 -06:00
John Wiegley
aa9b07d79b
Added --rich-data for 'convert', and SHA1 checksum checking
2012-02-26 15:45:15 -06:00
John Wiegley
4cf95497f9
Keep notes on their own line if parsed that way
2012-02-26 02:18:22 -06:00
John Wiegley
c3a9a7d2c5
Fixed many Clang type conversion warnings with static_cast
2012-02-17 15:17:52 -06:00
John Wiegley
c6b51a2635
Added a missing call to context.close() in the parser
2012-02-17 15:17:18 -06:00
John Wiegley
b4c870ace2
Fixes for variable shadowing (25/28)
2012-02-17 15:06:28 -06:00
John Wiegley
5e3e204766
Do not evaluate strings as booleans
2012-02-11 16:53:31 -10:00
John Wiegley
f0791bbd72
Cleanup whitespace
2011-08-18 14:48:38 -04:00
John Wiegley
add6f6ca2a
Removed unused variables
2011-08-18 14:46:36 -04:00
John Wiegley
f2d99dae08
Rely on a default argument in textual.cc
2011-07-17 15:28:38 -05:00
John Wiegley
584bdb1600
Fix for Boost 1.46 and the new Filesystem library
2011-03-23 00:32:36 -04:00
John Wiegley
dc03c646eb
Corrections to the regression tests
2011-03-03 23:47:11 -05:00
John Wiegley
8388baafd3
Support Boost 1.46 and Boost.Filesystem v3
2011-02-28 16:24:15 -05:00
John Wiegley
30e830626b
Added "comment" and "test" directives
2011-02-12 17:55:56 -05:00
John Wiegley
2208ac1226
Fixes for compilation as C++0x code
2011-02-04 22:39:41 -05:00
John Wiegley
2f50e30b89
Scopes can now provide a description of themselves
...
This isn't being used yet, but it likely will to improve the information
presented to users if their value expressions fail to compile or
evaluate.
2010-06-24 19:53:59 -04:00
John Wiegley
3f899c93e6
Added new "bold" modifier to query expressions
...
For example:
ledger bal assets bold checking
Or you can use expressions:
ledger bal assets bold '=total > 1000'
This last is identical to saying:
ledger bal -l 'account =~ /assets/' --bold-if='total > 1000'
2010-06-22 03:20:24 -04:00
John Wiegley
66de7e3055
Filename globs now surrounded by ^$
2010-06-18 07:28:11 -04:00
John Wiegley
968a6f3c0a
Changes for building with Visual Studio 2008
2010-06-15 05:14:00 -04:00
John Wiegley
dcffd218a1
Revised how Ledger handles the "current year"
...
Now when the Y directive sets the current year for a region, it affects
everything, as if the clock really were set back to that year.
2010-06-14 03:23:09 -04:00
John Wiegley
e3f228bd5b
Fixed several misplaced parentheses
2010-06-13 19:56:10 -04:00
John Wiegley
6ef755c133
Added support for assert, check and expr directives
...
These can occur in many places:
; Within an automated transaction, the assert is evaluated every time
; a posting is matched, with the expression context set to the
; matching posting.
= /Food/
assert account("Expenses:Food").total >= $100
2010-06-12 Sample
Expenses:Food $100
Assets:Checking
; At file scope, the expression is evaluated with "global" scope.
assert account("Expenses:Food").total == $100
; At the top of a transction, the assertion's scope is the
; transaction. After a posting, the scope is that posting. Note
; however that account totals are only adjusted after successful
; parsing of a transaction, which means that all the assertions below
; are true, even though it appears as though the middle posting should
; affect the total immediately (which is not the case).
2010-06-12 Sample 2
assert account("Expenses:Food").total == $100
Expenses:Food $50
assert account("Expenses:Food").total == $100
Assets:Checking
assert account("Expenses:Food").total == $100
2010-06-13 01:03:48 -04:00