Commit Graph

58 Commits

Author SHA1 Message Date
marko.kocic
b197693197 Hlint: Warning: Redundant brackets 2009-09-22 16:51:27 +00:00
marko.kocic
8fdd28d446 Hlint: Error: Redundant $ 2009-09-22 11:55:11 +00:00
marko.kocic
ddc176d83e Hlint: Warning: Eta reduce 2009-09-22 15:56:59 +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
cb8ea69dfc fix warnings all over - hledger is now -W-clean 2009-06-05 09:44:20 +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
fe5498f6c2 various utilities & doc updates - commodities, daysInSpan, underline 2009-05-29 10:02:14 +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
1548e84aa9 add file path field to RawLedger 2009-04-08 03:40:05 +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
bd8dcefd9d apply --depth to print command 2009-04-02 06:02:00 +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
4bc97d237a Added support for reading historical prices from files 2008-12-16 10:54:20 +00:00
nick
5e0313e447 Added timelog entries to ledger and added useful utilities 2008-12-08 01:48:03 +00:00
Simon Michael
b51740e9bb optimise canonicaliseAmounts
First optimisation in a while. hledger -s bal on my ledger took 2s, and profiling showed:

	total time  =        0.66 secs   (33 ticks @ 20 ms)
	total alloc = 3,631,667,848 bytes  (excludes profiling overheads)

     canonicaliseAmounts                             1   0.0    0.8      69.7       92.4
      rawLedgerCommoditiesWithSymbol              3928  27.3   23.1      69.7       91.6
       rawLedgerCommodities                          0  18.2   18.7      42.4       68.5
        amounts                                7712628   3.0    0.0       3.0        0.0
        rawLedgerAmounts                             0   0.0    9.3      21.2       49.9
         rawLedgerTransactions                       0   9.1   19.5      21.2       40.5
          flattenEntry                         3408636  12.1   21.0      12.1       21.0

Now it takes 1/2s and the profile is healthier:

	total time  =        0.14 secs   (7 ticks @ 20 ms)
	total alloc = 275,520,536 bytes  (excludes profiling overheads)

     canonicaliseAmounts                             1   0.0    0.4       0.0        0.5
      amounts                                     1964   0.0    0.0       0.0        0.0
      rawLedgerTransactions                          0   0.0    0.1       0.0        0.1
       flattenEntry                                868   0.0    0.1       0.0        0.1
2008-12-05 02:09:19 +00:00
nick
0be862f760 Fixed TimeLog handling and certain blank lines 2008-12-08 03:45:35 +00:00
Simon Michael
d25995c1c8 refactor with DateSpan 2008-11-27 04:31:01 +00:00
Simon Michael
630e22312b remove DateTime and Date types, use Day and UTCTime directly
This seems simplest for now, I might bring type synonyms back later.
2008-11-27 04:01:07 +00:00
Simon Michael
497daebd44 docs 2008-10-17 00:57:00 +00:00
Simon Michael
1607661b87 fix the print command 2008-11-22 06:35:10 +00:00
Simon Michael
52ff46a326 --basis/-B flag, to show all priced amounts on cost basis. Also a --cost alias. 2008-11-22 20:35:17 +00:00
Simon Michael
2d49bc4100 haddock 2008-11-08 22:04:59 +00:00
Simon Michael
8939c1f7b7 samesymbol cleanup 2008-11-08 22:49:14 +00:00
Simon Michael
ea5a87815b rename setAmountDisplayPrefs to canonicaliseAmounts 2008-11-08 22:02:38 +00:00
tim
514f015849 Implemented types for dates and datetimes
This patch replaces the strings used in the Entry, TimeLogEntry, and Transaction
records with real types. Rather than use the inbuild system date and time types
directly, two custom types have been implemented that wrap UTCTime: Date and
DateTime. A minimal API for these has been added.
2008-11-11 12:34:05 +00:00
tim
3a35847aa1 Fix some signatures for functions that really take dates 2008-11-10 22:05:40 +00:00
Simon Michael
33f06f334e first attempt at storing per-amount price 2008-11-22 16:26:01 +00:00
Simon Michael
47cf7c3eb6 gather match functions in one place 2008-11-22 05:48:56 +00:00
Simon Michael
83d36dae63 more tests cleanup, and start to move match functions to Utils 2008-11-22 04:44:12 +00:00
Simon Michael
96e0f70a38 use the greatest precision detected for a commodity, not the first one 2008-11-08 21:44:41 +00:00
Simon Michael
5c0ff1daa5 separate confusing "normalise" uses, begin to fix broken amount display prefs 2008-10-18 21:10:08 +00:00
Simon Michael
17ab6cb0ab support --real/-R flag 2008-10-16 09:50:16 +00:00
Simon Michael
57603db7b9 support -C/--cleared flag to filter by entry status (not transaction status) 2008-10-16 09:04:44 +00:00
Simon Michael
80beac7d43 try making MixedAmount a full newtype, to avoid TypeSynonymInstances error 2008-10-18 10:38:01 +00:00
Simon Michael
f865ab1c1c code cleanups 2008-10-18 00:52:49 +00:00
Simon Michael
648887b36f use MixedAmount everywhere. seems to work. 2008-10-18 08:39:08 +00:00
Simon Michael
dce8fd0dde parse virtual and balanced virtual transactions, refactor register and transaction output 2008-10-16 06:00:46 +00:00
Simon Michael
490a81577f make patterns case-insensitive 2008-10-15 22:18:20 +00:00
Simon Michael
4679003b83 for debugging 2008-10-15 21:10:59 +00:00
Simon Michael
ea2a418811 fix a bug in commodity detection 2008-10-15 19:28:36 +00:00
Simon Michael
5fcab59414 support negative patterns and ledger's special balance report account matching rule 2008-10-15 17:04:47 +00:00
Simon Michael
1e3291af48 focus on tests in Tests.hs, clean up 2008-10-15 06:32:52 +00:00
Simon Michael
782d05aa61 use the display settings of the first amount detected in each commodity 2008-10-15 00:34:02 +00:00
Simon Michael
01cd388c24 remove dead code, simplify cacheLedger again 2008-10-12 07:46:54 +00:00
Simon Michael
37e75d610e more tests cleanup.. prepare for per-module tests, but consolidate in Tests where I think we will stay 2008-10-10 08:16:55 +00:00