Simon Michael
cafa59ac3d
price history support, first cut
...
P directives now work, but differently from current c++ ledger for now.
Each posting amount is assigned a fixed unit price from the price history
when available (unless overridden by @). This is simple and useful for
fixed-rate transactions such as foreign currency expenses.
2009-11-25 12:15:53 +00:00
Simon Michael
a17346149c
a ledger remembers when it was read from disk
2009-08-12 09:21:46 +00:00
Simon Michael
472b65c5ab
whitespace
2009-07-31 17:02:47 +00:00
marko.kocic
b197693197
Hlint: Warning: Redundant brackets
2009-09-22 16:51:27 +00:00
marko.kocic
2855fe9e0a
Hlint: Error: Redundant do
2009-09-22 12:08:28 +00:00
marko.kocic
8fdd28d446
Hlint: Error: Redundant $
2009-09-22 11:55:11 +00:00
Simon Michael
550357934f
print: fix long account name truncation, align amounts
2009-08-06 20:19:00 +00:00
Simon Michael
5d6c6d778e
there shouldn't be brackets in transaction's effective date, my mistake
2009-12-12 03:03:41 +00:00
Simon Michael
b6a5a3398e
parsing: tighten up dates, error messages, tests
2009-11-25 21:21:49 +00:00
Simon Michael
e3e935e129
parsing: require whitespace between date and status code, prevent silent effective date breakage
2009-11-25 20:12:09 +00:00
Simon Michael
f209305eef
print: show effective dates (issue #12 )
2009-12-07 23:28:33 +00:00
marko.kocic
ddc176d83e
Hlint: Warning: Eta reduce
2009-09-22 15:56:59 +00:00
Simon Michael
4e5d463927
refactor parseWithCtx utility
2009-06-20 03:59:37 +00:00
Simon Michael
d98d136fc7
allow comment lines intermixed with posting lines
2009-06-20 04:02:10 +00:00
Simon Michael
6fb1804cfd
refactor IOArgs -> FilterSpec and make haddock happy
2009-07-09 20:25:50 +00:00
Simon Michael
a8bfb06da4
refactor effective date support, fix warnings
2009-07-09 19:22:27 +00:00
Simon Michael
06eb2a9aa8
--effective option uses transactions' effective dates, if any
2009-07-08 23:37:44 +00:00
Simon Michael
1a491e883a
more accountNameTreeFrom optimisation experiments, included for easier collaboration
2009-05-29 10:06:50 +00:00
Simon Michael
43549704c0
tracewith
2009-06-05 10:41:57 +00:00
Simon Michael
d1418a2a21
show better errors for unbalanced transaction and missing default year
2009-06-05 19:35:12 +00:00
Simon Michael
3be793f108
fix nafai's bug: fail on empty account name components, don't just ignore
2009-06-05 18:02:22 +00:00
Simon Michael
cb8ea69dfc
fix warnings all over - hledger is now -W-clean
2009-06-05 09:44:20 +00:00
Simon Michael
92d67926f5
print, register: show virtual accounts bracketed/parenthesised
2009-05-24 06:22:44 +00:00
Simon Michael
8cb526f655
accountNameTreeFrom optimisation experiments
2009-05-29 03:00:56 +00:00
Simon Michael
e91560989c
drop regex-compat/regex-posix dependency
2009-06-03 23:19:47 +00:00
Simon Michael
96fd2142aa
move some unrelated things out of AccountName, drop unused pattern match code
2009-05-29 11:31:51 +00:00
Simon Michael
568e752484
allow parentheses and brackets inside account names, as ledger does
2009-05-25 17:28:41 +00:00
Simon Michael
fe5498f6c2
various utilities & doc updates - commodities, daysInSpan, underline
2009-05-29 10:02:14 +00:00
Simon Michael
6c6eb2691e
drop old-locale dependency
2009-06-03 23:44:01 +00:00
Simon Michael
dc3be35eef
fix a silly failure to open ledger file paths containing ~
...
And drop a misconception: there's no need to tilde-expand paths in command
line arguments. Just the hard-coded ones.
2009-06-05 05:03:10 +00:00
Simon Michael
7e6df61889
better Transaction doc
2009-04-04 22:09:30 +00:00
Simon Michael
7d1c01ec8a
consistent lower-case aliases for working with Ledgers, and examples
2009-04-04 22:38:18 +00:00
Simon Michael
1572622ae6
use a consistent prefix for Transaction field accessors
2009-04-04 21:26:55 +00:00
Simon Michael
622db5f25d
datespan utils
2009-04-04 11:19:15 +00:00
Simon Michael
ca16e98655
haddock
2009-04-04 23:15:42 +00:00
Simon Michael
4c9f0e5d9e
more haddock cleanups
2009-04-04 22:38:36 +00:00
Simon Michael
1ef777a1b8
improve type docs
2009-04-03 20:55:49 +00:00
Simon Michael
a78f5a1f04
model timelog entry codes precisely
2009-04-03 20:04:51 +00:00
Simon Michael
247563a336
haddock fix
2009-04-04 21:53:46 +00:00
Simon Michael
2edd2da7b8
nullentry -> nullledgertxn
2009-04-07 21:38:15 +00:00
Simon Michael
2c989522da
add missing type signatures, for tags
2009-04-07 21:38:38 +00:00
Simon Michael
f40d561273
fix bug in eliding of posting amounts
2009-04-07 23:58:04 +00:00
Simon Michael
cfaacd26b6
parse error fixes
2009-04-10 04:38:46 +00:00
Simon Michael
ac307957e5
rstrip, lstrip
2009-04-10 04:59:43 +00:00
Simon Michael
1085d476f1
parse zero-length input as an empty ledger
2009-04-10 05:42:26 +00:00
Simon Michael
69ce8b9a8e
don't treat comments as part of ledger transaction descriptions
2009-04-10 05:37:26 +00:00
Simon Michael
eb3ec063d0
require a non-empty description in ledger transactions
2009-04-10 04:39:54 +00:00
Simon Michael
5d1f535b5e
require some postings in ledger transactions
2009-04-10 05:00:51 +00:00
Simon Michael
638238dc5c
ledgerFile cleanup
2009-04-10 05:40:57 +00:00
Simon Michael
c14f1c280f
a cleanup I forgot
2009-04-10 08:05:56 +00:00
Simon Michael
2b672c5837
tweak error message
2009-04-08 03:10:15 +00:00
Simon Michael
1fd416ba96
whitespace
2009-04-16 06:34:32 +00:00
Simon Michael
3e6943e5f6
don't show trailing spaces on amountless postings
2009-04-07 23:02:25 +00:00
Simon Michael
d3dcd29957
expand ~ paths in readLedger
2009-05-16 21:10:41 +00:00
Simon Michael
ef39cced4a
don't fail when matching an empty pattern, as in "not:"
2009-05-16 21:19:38 +00:00
Simon Michael
8eb31bc5e3
enforce balancing for bracketed virtual postings
2009-05-16 23:12:42 +00:00
Sergey Astanin
86fab58e6a
Allow UTF8 in ledgers (account names, descriptions).
...
This patch fixes broken layout of some commands when there is Unicode
text in the ledger file.
I substituted System.IO functions with System.IO.UTF8. Now all strings
are Unicode internally, and take's and length's work correctly.
In particular, add, balance, hist, print and register commands seem
to work correctly; ui is still broken for me, I didn't try web.
I decode command line arguments from UTF8 forcefully, to permit
searches for accounts and descriptions with Unicode (otherwise, it
does not work).
The patch adds an additional dependency: utf8-string.
This patch does not include new test cases.
2009-05-14 20:44:06 +00:00
Simon Michael
b103f6a0d8
be more accurate about checking balanced amounts, don't rely on display precision
2009-05-16 22:54:12 +00:00
Simon Michael
c5e7b12a59
add command, reads transactions interactively and adds them to the ledger
2009-04-08 05:30:26 +00:00
Simon Michael
32a3af8334
transactionamount -> postingamount
2009-04-07 21:18:51 +00:00
Simon Michael
d8fe2aabb2
drop TimeLog, it's no longer needed
2009-04-03 11:05:16 +00:00
Simon Michael
1548e84aa9
add file path field to RawLedger
2009-04-08 03:40:05 +00:00
Simon Michael
b60f9187c0
refactor, moving generic io functions into Ledger.IO
2009-04-04 08:50:36 +00:00
Simon Michael
ab94a6e9a2
--uncleared option
2009-04-03 11:45:56 +00:00
Simon Michael
0f1cbef9a8
namegeddon! conform to new terminology in ledger 3, more or less
...
This renames RawTransaction -> Posting and Entry -> LedgerTransaction,
plus a bunch more cleanups for consistency. So while ledger 3 has
transactions containing postings, and so do we when speaking to users,
internally we call ledger 3's transactions LedgerTransaction, and we keep
our old Transaction type as well, because it's useful and used all over
the place. To review:
- ledger 2 had Entrys containing Transactions.
- hledger 0.4 had Entrys containing RawTransactions, and Transactions
which are a RawTransaction with its parent Entry's info added.
Transactions are what we most work with when reporting and are
ubiquitous in the code and docs.
- ledger 3 has Transactions containing Postings.
- hledger 0.5 now has LedgerTransactions containing Postings, with
Transactions kept as before (a Posting plus it's parent's info). These
could be named PartialTransactions or TransactionPostings, but it gets
too verbose and obscure for devs and users.
2009-04-03 10:58:05 +00:00
Simon Michael
1fc9db3af5
individual transactions now have a cleared status
2009-01-23 00:14:12 +00:00
Simon Michael
55c0a688c0
that parser is not right, breaks hours period selection
2009-01-23 18:10:17 +00:00
Simon Michael
fdc13f6f43
smart dates: make "this" optional
2009-01-23 02:27:56 +00:00
Simon Michael
415c48d855
getCurrentLocalTime
2009-01-25 06:47:05 +00:00
Simon Michael
26594287cc
strip cleanup
2009-03-15 03:57:19 +00:00
Simon Michael
f7b2e62bcb
cacheLedger cleanup
2009-03-17 19:50:43 +00:00
Simon Michael
38fd44917c
test and fix for auto-clockout of a future clockin
2009-04-01 05:00:08 +00:00
Simon Michael
c2352c3c64
localise the single use of regexpr
2009-04-02 01:28:36 +00:00
Simon Michael
8256a4fcbd
test util cleanups
2009-04-01 04:57:05 +00:00
Simon Michael
0693723aee
ltrace, labelled trace
2009-03-15 03:58:43 +00:00
Simon Michael
931144a12d
remove conflictory p
2009-01-25 13:55:08 +00:00
Simon Michael
bd8dcefd9d
apply --depth to print command
2009-04-02 06:02:00 +00:00
Simon Michael
89abdfa456
refactor/fix balanced entry checking and test it properly
2009-04-01 08:55:46 +00:00
Simon Michael
0cacc2a7e4
test and bugfix for multi-day timelog session splitting
2009-03-15 12:42:03 +00:00
Simon Michael
564aba4976
split midnight-spanning timelog sessions. Accurate time reports at last!
2009-01-26 20:22:42 +00:00
Simon Michael
ae5a9439d0
count time elapsed in open timelog entries, ignore time zone
...
Any open sessions in a timelog will be considered clocked out as of the
current time, and included in calculations. Also, contrary to the earlier
patch we now ignore timezone everywhere and deal only with local times.
This might need revisiting eg to track time while crossing timezones.
2009-01-25 07:06:59 +00:00
tim
ec10ab8a16
Added variants to parse dates into maybe values
2009-01-11 06:58:35 +00:00
Simon Michael
80f20bdad8
tests and bugfix for accountNameTreeFrom
2009-03-15 04:02:04 +00:00
Simon Michael
2dac5754c7
subAccounts test and bugfix
2009-03-15 04:06:10 +00:00
Simon Michael
d8989a357d
account/description matching is supposed to be case-insensitive, fix
2009-01-27 22:16:57 +00:00
tim
fd8587fbdf
Handle !includes relative to the including file
2009-02-04 21:27:20 +00:00
Simon Michael
25526cf4b3
parse timelog entries according to a timezone stored in the context
2009-01-24 21:46:09 +00:00
Simon Michael
44cbed59cb
use longer but standard and clearer getCurrentTime/Day
2009-01-24 19:48:37 +00:00
Simon Michael
b218647631
a little cleanup, haddock parsing context
2009-01-24 21:15:38 +00:00
Simon Michael
f8905464ac
implement default year, allowing m/d dates in ledger
2009-01-27 21:55:26 +00:00
Simon Michael
16e33b50e6
parse Y default year lines in a ledger, so they don't break it (ignoring them)
2009-01-22 23:42:34 +00:00
Simon Michael
46c09c6fac
patterns now use not: and desc: prefixes instead of ^ and ^^
...
This is more like but not the same as ledger 3.
2009-04-02 06:25:22 +00:00
Simon Michael
564c218d61
dead code
2008-11-25 04:15:03 +00:00
tim
6fdaf2a248
Added showAmount' that shows only the number part of an amount
2008-11-23 21:26:38 +00:00
Simon Michael
770c2956a5
oops, maybe another piece of the Date/DateTime removal
2008-11-27 04:29:32 +00:00
Simon Michael
4d5478b334
haddock fix
2008-11-27 07:50:02 +00:00
Simon Michael
b4fed8f2fd
docs
2008-12-04 19:32:30 +00:00
Simon Michael
e333c76d6f
leaves utility
2008-12-04 19:32:42 +00:00
Simon Michael
6f6ce11ca8
more balance-calculating extraction
2008-12-05 08:26:13 +00:00
Simon Michael
eca112f7d4
extract common balance-calculating code
2008-12-05 05:09:54 +00:00