Commit Graph

62 Commits

Author SHA1 Message Date
gwern0
357f56d0f4 de-haskell98 2010-03-09 01:51:21 +00:00
Simon Michael
a50d3e2b71 refactor, allow in-module unit tests
Until now, all unit tests were defined in Tests.hs. Pro: simple, makes
code/test line counting easy. Con: tests are far from code, Tests.hs turns
into a big wall of test code. Now, unit tests can also be defined in modules.

To avoid name clashes and template haskell complexity, a dumb manual
naming scheme is used: any module may export a hunit Test(List) named
tests_ModuleName. These are manually aggregated and re-exported when
appropriate, eg in Commands.All and finally in Tests.hs.
2010-03-08 21:47:36 +00:00
Simon Michael
3969dff3fc parsing: @ was being treated as a currency symbol; a few more tests 2010-03-06 21:47:10 +00:00
ob
8937ed457d GHC 6.12.1 has UTF8 support on board. Using System.IO.UTF8 can cause problems.
Therefore use System.IO.UTF8 only on previous versions.
Testet with GHC 6.10.4 and 6.12.1
2010-02-13 20:00:34 +00:00
Simon Michael
d1cb9cedae fix a regex bug in showtree 2009-08-12 06:40:01 +00:00
marko.kocic
4407b6c59d Hlint: Warning: Use if 2009-09-23 09:29:31 +00:00
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
4e5d463927 refactor parseWithCtx utility 2009-06-20 03:59:37 +00:00
Simon Michael
43549704c0 tracewith 2009-06-05 10:41:57 +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
ac307957e5 rstrip, lstrip 2009-04-10 04:59:43 +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
c5e7b12a59 add command, reads transactions interactively and adds them to the ledger 2009-04-08 05:30:26 +00:00
Simon Michael
b60f9187c0 refactor, moving generic io functions into Ledger.IO 2009-04-04 08:50:36 +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
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
89abdfa456 refactor/fix balanced entry checking and test it properly 2009-04-01 08:55:46 +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
063dce2642 more string utils 2008-12-06 07:15:19 +00:00
Simon Michael
130e3bcd30 utils tweaks 2008-12-10 07:08:50 +00:00
Simon Michael
da70e00e3b make fromparse utility show the parse error 2008-12-08 17:15:02 +00:00
Simon Michael
470cae55ca show clockin/out times in timelog entries, detect clockout < clockin 2008-12-11 01:35:07 +00:00
nick
91f3b7faac Abstract over all GenParser state types 2008-12-08 01:11:07 +00:00
Simon Michael
77098fec7e lowercase/uppercase 2008-11-27 06:32:31 +00:00
Simon Michael
0c4cf88578 perl-like strip 2008-11-26 21:11:44 +00:00
Simon Michael
3699343318 fix the regexpr version fix, we really do require 0.5.1 2008-12-16 18:35:46 +00:00
Simon Michael
acbb669bcc fix a collision with latest regexpr package 2008-12-11 20:07:06 +00:00
Simon Michael
884ebf2979 gather date stuff together, FuzzyDate -> SmartDate 2008-11-27 00:35:00 +00:00
Simon Michael
52ab3372b8 add a regexp utility plus a dependency on regexpr, the sanest regexp library 2008-11-26 03:46:23 +00:00
tim
d04a8dcd00 Removed quickcheck import
It doesn't appear to be used, and isn't declared in the cabal file
2008-11-10 21:31:25 +00:00
Simon Michael
71667f654a rectangular string utilities 2008-11-22 09:06:44 +00:00
Simon Michael
7362fbd730 begin smart date parsing 2008-11-22 12:18:19 +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
Simon Michael
ba67e4c0a9 remove dead code 2008-10-15 22:18:05 +00:00
Simon Michael
529393ae49 ledger 2.6-style account name eliding 2008-10-15 19:14:34 +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
760befef89 more cleanups 2008-10-15 06:00:10 +00:00
Simon Michael
4efdda25b4 replace Currency with a more flexible, ledger-style Commodity 2008-10-12 21:52:48 +00:00
Simon Michael
9b51d922dd more utilities 2008-10-11 04:18:26 +00:00
Simon Michael
3458d1f379 more utils, Control.Monad 2008-10-10 11:52:15 +00:00