Commit graph

646 commits

Author SHA1 Message Date
John Wiegley
e2c30cf6e4 Added ; as a sequencing operator in valexprs 2009-03-03 16:05:04 -04:00
John Wiegley
098e3b0043 Fixed parsing of '(1, 2, (3, 4))' 2009-03-03 16:02:34 -04:00
John Wiegley
4af1bfdde3 Allow special %{} formatting sequence
Although %(amount) inserts an item's amount, it only does exactly that.
There is no special consideration like stripping of lot details, or
reduction to the base commodity, etc.  For those things, and to make
sure it was display in red if negative, the canonical form would be:

  %(ansify_if(justify(scrub(amount), 12, -1, true), red if amount < 0))

You can now use the special %{} form as an alternate to this:

  %12{amount, red if amount < 0}

The two expand to the same underlying expression.
2009-03-03 15:06:15 -04:00
John Wiegley
de3bafc0d7 Made all the ANSI color names into valexpr names 2009-03-03 14:59:56 -04:00
John Wiegley
67a45a0e3c Made error reporting while parsing more resilient 2009-03-03 14:42:46 -04:00
John Wiegley
edf1ccd6ab Added a "python" command, which invokes Py_Main 2009-03-03 14:39:07 -04:00
John Wiegley
79acfc1647 Moved fn_false to be a non-member function 2009-03-03 13:53:12 -04:00
John Wiegley
478998b4e9 Added a "null" value for value expressions 2009-03-03 13:36:23 -04:00
John Wiegley
0f9d919367 Added Python-style if/else expression keywords 2009-03-03 13:26:27 -04:00
John Wiegley
710e4792d1 Added a "show" report query term
Everything beyond the show modifies the --display predicate, and
everything before modifies the --limit predicate.
2009-03-02 22:33:43 -04:00
John Wiegley
1c7de0f9e4 Added "fixated commodity pricing"
If you put '=' before an annotated commodity's price, it will cause any
future market valuation of that commodity to use that price, and ignore
whatever changes may have happened since in the market price.  This can
be useful if you are tracking gas expenses based on a standard rate
which, although it changes over time, should not adjust the historical
valuation of how much the gas cost at the time it was purchased:

    2009/01/01 Payee
        Expenses:Gas                100 GAL {=$2}
        Liabilities:MasterCard        $-200
2009-03-02 16:39:26 -04:00
John Wiegley
ea0e14ae74 The entry command now implies --actual 2009-03-02 05:01:04 -04:00
John Wiegley
25f106d299 The entry command always creates uncleared items 2009-03-02 04:56:18 -04:00
John Wiegley
ce206a392a The entry command no longer handles effective dates 2009-03-02 04:54:00 -04:00
John Wiegley
a2ed6bc95d Patched some date-sensitive tests 2009-03-02 04:49:03 -04:00
John Wiegley
ad42447475 Changed how comments are output to be more logical 2009-03-01 05:40:44 -04:00
John Wiegley
19cfd9e23b Fixed the printing of O_CONS nodes 2009-02-28 06:13:49 -04:00
John Wiegley
38122c2224 Corrected warnings g++-4.3.3 was complaining about 2009-02-28 04:54:54 -04:00
John Wiegley
fb129fa7a1 Corrected a potential invalid memory access 2009-02-28 04:36:48 -04:00
John Wiegley
56693fab9b Separator in "balance" now part of format string 2009-02-27 16:23:36 -04:00
John Wiegley
d102641f2a Fixed a compile error found by g++-4.3.2 2009-02-27 16:19:17 -04:00
John Wiegley
aff9052baf The generate report now generates lot details 2009-02-27 16:17:27 -04:00
John Wiegley
e6aae5a096 The generate report now implies --actual 2009-02-27 16:08:39 -04:00
John Wiegley
e02fe8d58f Allow --head to limit the entries generate creates 2009-02-27 16:01:33 -04:00
John Wiegley
38cf0e56f5 Added --lots-actual, to not print calc'd details 2009-02-27 15:45:21 -04:00
John Wiegley
cbd66ba1c9 Changed "priced" to "cost_calculated" for clarity 2009-02-27 15:32:38 -04:00
John Wiegley
f881bf1319 Fix to amount unreduction (aka, 120m -> 2h) 2009-02-27 15:23:38 -04:00
John Wiegley
afe3a899c6 Fixed the operation of --head and --tail 2009-02-27 14:10:28 -04:00
John Wiegley
0efe0c63ce Corrected output of O_CALL nodes 2009-02-27 14:06:52 -04:00
John Wiegley
f7f07310f4 Be smarter about trimming off trailing zeroes 2009-02-27 13:58:30 -04:00
John Wiegley
6b62be59fb Added generate command, --seed, and GenerateTests 2009-02-27 03:58:43 -04:00
John Wiegley
645e43ef75 The print command now prints xact's effective date 2009-02-27 03:49:59 -04:00
John Wiegley
f1795e628b Fixed bugs relating to sign and rounding of costs 2009-02-27 03:45:32 -04:00
John Wiegley
501949a364 If an error occurred in /dev/stdin, don't fopen it 2009-02-27 03:05:35 -04:00
John Wiegley
c49b98fc4c Added an --unround option, to show full precision 2009-02-27 03:04:05 -04:00
John Wiegley
c57c85c92f Changed the "truncate" valexpr func to "truncated" 2009-02-27 02:59:16 -04:00
John Wiegley
e1eb12a6e4 balance_t is no longer a superclass 2009-02-27 02:54:07 -04:00
John Wiegley
a8e2a674a8 Fixes to entry note parsing 2009-02-27 02:41:50 -04:00
John Wiegley
6d315840a8 Don't propagate display flags from cost amounts 2009-02-27 02:39:54 -04:00
John Wiegley
06365aac05 Fixed the way item state is parsed and managed 2009-02-27 02:35:51 -04:00
John Wiegley
fbb0d25831 Gave round/unround/truncate all in_place_ variants 2009-02-27 02:15:27 -04:00
John Wiegley
ecb1ca71c1 Refinements to amount_t validation code 2009-02-27 01:57:32 -04:00
John Wiegley
483a513d31 The letter 'z' was not allowed in commodity names 2009-02-27 01:54:59 -04:00
John Wiegley
316b854676 Fixed a buffer overrun 2009-02-27 01:46:16 -04:00
John Wiegley
8216db1f15 Added support for tag/pop parsing directives
There are now "tag/pop" directives, to apply metadata to a range of
transactions (and their postings).  For example, if you wanted a
conceptual "page" of transactions relating to business trip to Chicago,
you could do this:

    tag Location: Chicago
    tag Purpose: Business

    ... transactions go here

    pop
    pop

It would be as if you'd applied "; Location: Chicago", etc., to every
transaction.
2009-02-26 05:49:26 -04:00
John Wiegley
47ff0b9fed Fixes to the way textual directives were parsed 2009-02-26 05:46:59 -04:00
John Wiegley
b302c340b6 Enriched the context report during textual parsing 2009-02-26 05:42:59 -04:00
John Wiegley
a0d8d84b87 Print more context if an automated xact fails 2009-02-26 05:39:13 -04:00
John Wiegley
f09c3906a2 Print better error msg if evaluating mask as bool 2009-02-26 05:35:57 -04:00
John Wiegley
69e2c733b9 If an item tag is already set, don't overwrite it 2009-02-26 05:33:06 -04:00