Johann Klähn
2b1cfd6706
remove superfluous 'break'
2013-01-15 21:17:03 +01:00
Craig Earls
41cc9a7f3c
Added filebase and filepath values
...
'filename' returns the complete path/filename of the file containg the current xact.
This is inconvenient for some displays. filebase returns only the base name. For
completeness added filepath as well.
2012-10-23 14:10:19 -07:00
John Wiegley
4681e58d7f
Converted the Ledger build system to use CMake
2012-05-20 04:48:05 -05:00
John Wiegley
a38ed141c1
Switched to Boost.PropertyTree for XML generation
2012-05-18 01:31:01 -06:00
John Wiegley
f4f3058b8c
Switch to using Boost.Format
2012-05-14 21:44:00 -06:00
John Wiegley
322d55823e
post.x = y defines metadata tag x
2012-04-04 02:28:07 -05:00
John Wiegley
5a615ec680
Make metadata tags case insensitive
2012-04-04 02:27:49 -05:00
John Wiegley
807cce12ff
Make status and state valexpr synonyms
2012-04-04 02:27:26 -05:00
John Wiegley
fcabd64a89
Whitespace fix
2012-04-04 02:26:34 -05:00
John Wiegley
9097bc8cd3
Made an assert more relaxed in item_context()
2012-03-19 04:02:49 -05:00
John Wiegley
89e0472b50
Another fix to metadata value parsing
2012-03-07 05:37:38 -06:00
John Wiegley
c19b7099b2
Fix parsing of metadata values containing spaces
2012-03-07 05:16:05 -06:00
John Wiegley
e2afc783db
Increased file copyrights to 2012
2012-02-29 22:32:23 -06:00
John Wiegley
520ece2164
Fixed problem with the Python build
2012-02-29 14:43:16 -06:00
John Wiegley
52bca153dd
Change occurrences of auxiliary_date to just aux_date
2012-02-28 03:05:35 -06:00
John Wiegley
656e46e182
Renamed actual/effective dates to primary/auxiliary
2012-02-28 03:02:16 -06:00
John Wiegley
0efdc0cf6f
The "id" of an item now maps to its UUID
2012-02-27 02:31:08 -06:00
John Wiegley
aa9b07d79b
Added --rich-data for 'convert', and SHA1 checksum checking
2012-02-26 15:45:15 -06:00
John Wiegley
c3a9a7d2c5
Fixed many Clang type conversion warnings with static_cast
2012-02-17 15:17:52 -06:00
John Wiegley
71d059796e
Changed an int to std::size_t
2012-02-17 15:09:33 -06:00
John Wiegley
0e2f154428
Fixes for variable shadowing (15/28)
2012-02-17 15:06:14 -06:00
John Wiegley
f0791bbd72
Cleanup whitespace
2011-08-18 14:48:38 -04:00
John Wiegley
1292eec17b
Improved an assert
2011-02-12 17:55:55 -05:00
John Wiegley
7e2547b1e4
A metadata key must occur at the beginning
...
Before, this was valid:
; Today Yesterday: Tomorrow
Which would set the key Yesterday to the value Tomorrow. Now, it is
just an ordinary comment.
2010-06-18 02:21:02 -04:00
John Wiegley
b80be82b8d
has_tag and get_tag now take an 'inherit' parameter
2010-06-18 02:19:39 -04:00
John Wiegley
805a78c121
Only look for [date] outside of metadata entries
2010-06-18 00:46:37 -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
ea1642b3f9
Completely reworked argument passing in expressions
2010-06-13 05:02:14 -04:00
John Wiegley
b1b4e2aadf
Add support for typed metadata
...
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'
2010-06-12 15:43:00 -04:00
John Wiegley
28c65cda51
Store metadata values as value_t instead of string
2010-06-12 14:55:18 -04:00
John Wiegley
dea2aed0b5
Untabified all source files
2010-06-11 17:02:25 -04:00
John Wiegley
fc09b69fb7
Fixed interaction with -V/X and grouped postings
...
With -s, -M/Y/D, -n, and a few other flags, postings get "grouped" into
meta-transactions that contain more postings than before. In all these
cases, -V use the date of the *earliest* posting in that group, which
makes little sense and caused breakages with -J. It now uses the latest
date.
Fixes #197 / 68EAF363-D0FE-4127-866E-A5AEBACB65D6
2010-06-09 02:22:50 -04:00
John Wiegley
3a0f096cb6
Added new "addr" value expression function
...
It returns the address of the given object as an integer. This can be
used to uniquely compare entities.
2010-06-03 05:37:21 -04:00
John Wiegley
4f3b39e22c
Empty notes and tags now return null values
2010-05-30 03:01:11 -06:00
John Wiegley
d7b8095c3d
Tags were not being set properly on postings
2010-03-17 02:18:46 -04:00
John Wiegley
75b7294a6d
Rewrite the "print" command as a custom function
...
There ended up being too many corner cases for the generalized formatter
to handle.
2010-03-08 01:11:48 -05:00
John Wiegley
ab416f759f
Updated copyrights to 2003-2010
2010-03-05 22:14:10 -05:00
John Wiegley
9d61d3d621
Added actual_date() methods for items
2010-02-05 00:00:29 -05:00
John Wiegley
b78e22d52b
Added a "seq" sequence property for all items
...
This indicates the absolute parsing order of every transaction and
posting. It is 0 for generated items.
2010-02-04 18:23:52 -05:00
John Wiegley
1413085977
Added a --pivot=TAG option
...
This is equivalent to the following:
--account='"TAG:" + tag(/TAG/)'
2010-02-02 17:07:05 -05:00
John Wiegley
67ce17e249
Guard against using an uninitialized value
...
Fixes DDB54BB8-8C1C-4129-A137-07A38068F3BE
2010-01-18 03:41:20 -05:00
John Wiegley
68c3a9cfb7
Whitespace fix
2009-11-24 01:27:54 -05:00
John Wiegley
38e165a994
Made the transaction date parser a bit more strict
2009-11-15 05:49:52 -05:00
John Wiegley
a461e17eee
Added historical support for single-letter valexprs
2009-11-14 03:11:48 -05:00
John Wiegley
ab9fc6f9f0
Changed the type being throw of some exceptions
2009-11-05 05:11:01 -05:00
John Wiegley
78e6770c4c
Segregated symbols into 5 separate namespaces
...
The different namespaces are:
Function Value expression functions, which receive a "context"
Option Command-line options
Precommand Commands which are invoked before reading the journal
Command Commands which are invoked after reading the journal
Directive Directives that occur at column 0 in a data file
This greatly eases the ability for Python uses to add intercept hooks to
change how the basic Ledger module functions. An example of what should
be possible soon:
import ledger
def my_foo_handler(value):
print "--foo received:", value
ledger.add_handler(ledger.Option, "foo=", my_foo_handler)
2009-11-04 20:40:48 -05:00
John Wiegley
a0a91a61c4
If an item doesn't have a given tag, return ""
2009-11-01 21:16:47 -05:00
John Wiegley
4427016b1b
Improved arg checking for several valexpr functions
2009-10-31 04:07:33 -04:00
John Wiegley
cb6f7cd54e
Add a position_t object for tracking item positions
...
It is also optional, which is useful for generated items.
2009-10-30 17:54:54 -04:00
John Wiegley
f3565495b1
Added missing check in item_t::get_actual
2009-10-30 17:48:28 -04:00