Commit Graph

345 Commits

Author SHA1 Message Date
marko.kocic
c6eac33d32 Hlint: Warning: Use : 2009-09-23 09:22:53 +00:00
Simon Michael
1bac7a92af don't separate differently-priced amounts any more; support for showing amounts without prices 2009-11-25 12:19:02 +00:00
Simon Michael
dee5b1ca39 make unelided transaction printing the default 2009-12-03 20:54:56 +00:00
Simon Michael
2cdc21959e web: switch to hack/loli/hsp, allow web data entry, detect file changes 2009-08-12 09:38:48 +00:00
Simon Michael
5493a604e3 parsing: fix timelog parsing 2009-12-07 23:29:19 +00:00
Simon Michael
9560073b2a make historical prices more robust, fix a runtime Map.find error 2009-12-09 20:51:00 +00:00
Simon Michael
cc92bde095 fix warnings 2009-11-28 14:49:38 +00:00
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