summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed register formatting of postings with payeesJohn Wiegley2010-06-181-1/+2
|
* Made "convert" command insensitive to null amountsJohn Wiegley2010-06-181-12/+14
|
* Added new option --inject=KEY[,KEY...]John Wiegley2010-06-185-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you have a typed metadata key which contains an amount, you can use --inject=KEY to inject a posting with that amount wherever a match occurs. There are two main forms of usage: 2010-06-18 Sample ; Key:: $100 Expenses:Food $100.00 Assets:Checking The command would be: ledger reg --inject=Key In the above, transactional form, a posting under the account "Key" will be injected before the first posting reported for this transaction. It's amount will be $100. This only happens once for the whole transaction. It is also possible to associate the key with a posting: 2010-06-18 Sample Expenses:Food $100.00 ; Key:: $100 Assets:Checking Now the injected posting is generated whenever that particular post is reported.
* A metadata key must occur at the beginningJohn Wiegley2010-06-181-1/+3
| | | | | | | | | Before, this was valid: ; Today Yesterday: Tomorrow Which would set the key Yesterday to the value Tomorrow. Now, it is just an ordinary comment.
* Minor fix to the way transfer_details sets post dateJohn Wiegley2010-06-181-1/+1
|
* has_tag and get_tag now take an 'inherit' parameterJohn Wiegley2010-06-184-26/+37
|
* Corrected printing of assigned amountsJohn Wiegley2010-06-181-1/+1
|
* Only look for [date] outside of metadata entriesJohn Wiegley2010-06-181-16/+16
|
* Individual postings may each have their own payeeJohn Wiegley2010-06-176-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a posting has the metadata field "Payee" set to a string, that will be used as the payee name for that posting. This affects the register report, the payees report, and the --by-payee option. This is useful because sometimes I send, say, 4 checks at a time to my bank. So on my bank statement, this is all just one amount: 2010-06-17 Sample Assets:Bank $400.00 Income:Check1 $-100.00 Income:Check2 $-100.00 Income:Check3 $-100.00 Income:Check4 $-100.00 Though it's important that the Assets:Bank posting be a single posting of $400 value, I'd like for income reports to show whom each check came from. Now I can say: 2010-06-17 Sample Assets:Bank $400.00 Income:Check1 $-100.00 ; Payee: Person One Income:Check2 $-100.00 ; Payee: Person Two Income:Check3 $-100.00 ; Payee: Person Three Income:Check4 $-100.00 ; Payee: Person Four When I report this, it appears as: 10-Jun-17 Sample Assets:Bank $400.00 $400.00 Person One Income:Check1 $-100.00 $300.00 Person Two Income:Check2 $-100.00 $200.00 Person Three Income:Check3 $-100.00 $100.00 Person Four Income:Check4 $-100.00 0 This shows that they are all in the same transaction (which is why the date is not repeated), but they have different payees.
* Changes for building with Visual Studio 2008John Wiegley2010-06-1518-28/+42
|
* Removed unused --unsorted optionJohn Wiegley2010-06-153-10/+0
|
* Support period expressions "this/next/last week"John Wiegley2010-06-141-14/+28
|
* Allow period exprs "from today", "until tomorrow"John Wiegley2010-06-141-0/+10
|
* Support period expressions like "last 4 weeks"John Wiegley2010-06-141-12/+37
|
* Fix to allow time periods like "every 14 days"John Wiegley2010-06-141-1/+1
|
* Improved algorithm for abbreviating account namesJohn Wiegley2010-06-141-16/+139
|
* Added initial implementation of lot_*() functionsJohn Wiegley2010-06-142-1/+37
|
* Don't elide quotes for all-digit commoditiesJohn Wiegley2010-06-141-3/+7
|
* Revised how Ledger handles the "current year"John Wiegley2010-06-1416-152/+126
| | | | | 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.
* Removed some unneeded codeJohn Wiegley2010-06-141-18/+7
|
* Corrected bug with forecasting date bounded xactsJohn Wiegley2010-06-131-11/+18
|
* Restored min() and max() virtual functionsJohn Wiegley2010-06-132-0/+20
|
* When parsing date expressions, assume current yearJohn Wiegley2010-06-131-1/+1
|
* Added a missing break statementJohn Wiegley2010-06-131-0/+1
| | | | This broke the meaning of -p "this month".
* Fixed several misplaced parenthesesJohn Wiegley2010-06-132-6/+6
|
* Report error context in expressions more preciselyJohn Wiegley2010-06-136-17/+27
|
* Removed an invalid called to VERIFY()John Wiegley2010-06-131-1/+0
|
* Fixes to scope.h for the sake of Boost.SerializationJohn Wiegley2010-06-131-2/+21
|
* Removed unneeded debug codeJohn Wiegley2010-06-131-5/+0
|
* Completely reworked argument passing in expressionsJohn Wiegley2010-06-1321-750/+533
|
* In value_t::_dup, test if storage is uninitializedJohn Wiegley2010-06-131-1/+1
|
* For value_t, use boost::any to refer to objectsJohn Wiegley2010-06-133-52/+75
|
* Moved value_t::label() to value.ccJohn Wiegley2010-06-132-33/+40
|
* Improved support for value_t::in_place* functionsJohn Wiegley2010-06-131-36/+26
|
* Moved join_args function to precmd.ccJohn Wiegley2010-06-131-0/+16
|
* Changed display order of format exceptionsJohn Wiegley2010-06-131-0/+5
|
* If a type context exists, confirm the result matchesJohn Wiegley2010-06-132-5/+19
|
* Expression evaluations now have a "type context"John Wiegley2010-06-134-38/+54
| | | | | | | | | Thus, an expression can know if the context in which it's being evaluated requires a string, and if so, determine it's output accordingly. For example: account ; returns the full name of the posting's account account.total ; here the context is SCOPE, so account is an obj
* Added a new scope_value() inline helper functionJohn Wiegley2010-06-135-12/+12
|
* Added support for assert, check and expr directivesJohn Wiegley2010-06-133-18/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Removed an unused functionJohn Wiegley2010-06-131-7/+0
|
* Automated xacts may now contain "deferred tags"John Wiegley2010-06-135-12/+64
| | | | | | | | | | | | | | | | For example, consider the following automated transaction: = /Food/ ; Next Date:: date + 10 (Expenses:Tax) 1.00 ; Next Date:: date + 20 This will add a metadata field named 'Next Date' to the _matching posting_, with a value that is 10 days later than that posting. It will also generate a new posting for that transaction, whose amount is the same as the matching posting. Further, it will add a 'Next Date' metadata tag to the _generated posting_ whose value is 20 days later than the date of the matching posting.
* account_t::add_post resets family_details.gatheredJohn Wiegley2010-06-132-3/+15
|
* account(NAME) function can lookup account objectsJohn Wiegley2010-06-134-6/+61
| | | | | | For example, just the word "account" returns the name of the current posting's account, but account("Expenses:Food") returns the actual account object, so that it's total may be accessed.
* Option --input-date-format adds to candidate listJohn Wiegley2010-06-131-2/+2
|
* Reformatted a commentJohn Wiegley2010-06-131-3/+3
|
* Fixed a spelling errorJohn Wiegley2010-06-131-3/+1
|
* Minor whitespace fixJohn Wiegley2010-06-131-3/+3
|
* Add support for typed metadataJohn Wiegley2010-06-126-23/+49
| | | | | | | | | | The metadata construct 'Key: Value' is now just a special case for 'Key:: "Value"'. Another after a :: in metadata setting is parsed as a full value expression and typed as such. For example: ; Key:: $400 + $500 ledger -l 'tag("Key") < $1000'
* Improved value expression function 'commodity'John Wiegley2010-06-123-8/+24
| | | | | | Without arguments -- and in a posting -- it is equivalent to "commodity(amount)". Otherwise, it returns the commodity symbol of its argument.