Commit Graph

586 Commits

Author SHA1 Message Date
Simon Michael
102b76c17f lib: textification: commodity symbols
hledger -f data/100x100x10.journal stats
<<ghc: 39288536 bytes, 77 GCs, 196608/269560 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.016 MUT (0.028 elapsed), 0.009 GC (0.012 elapsed) :ghc>>
<<ghc: 39290808 bytes, 77 GCs, 196608/269560 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.003 elapsed), 0.015 MUT (0.021 elapsed), 0.009 GC (0.011 elapsed) :ghc>>

hledger -f data/1000x100x10.journal stats
<<ghc: 314268960 bytes, 612 GCs, 2143219/6826152 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.009 elapsed), 0.135 MUT (0.151 elapsed), 0.065 GC (0.178 elapsed) :ghc>>
<<ghc: 314254512 bytes, 612 GCs, 2072377/6628024 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.000 elapsed), 0.130 MUT (0.134 elapsed), 0.064 GC (0.075 elapsed) :ghc>>

hledger -f data/10000x100x10.journal stats
<<ghc: 3070016592 bytes, 5965 GCs, 13138220/64266016 avg/max bytes residency (10 samples), 128M in use, 0.000 INIT (0.000 elapsed), 1.272 MUT (1.322 elapsed), 0.527 GC (0.595 elapsed) :ghc>>
<<ghc: 3069989896 bytes, 5973 GCs, 12687877/62848920 avg/max bytes residency (10 samples), 124M in use, 0.000 INIT (0.002 elapsed), 1.295 MUT (1.324 elapsed), 0.511 GC (0.570 elapsed) :ghc>>

hledger -f data/100000x100x10.journal stats
<<ghc: 30753448072 bytes, 59763 GCs, 121502982/673169248 avg/max bytes residency (14 samples), 1640M in use, 0.000 INIT (0.007 elapsed), 12.421 MUT (12.672 elapsed), 6.240 GC (7.812 elapsed) :ghc>>
<<ghc: 30753350528 bytes, 59811 GCs, 117616668/666703600 avg/max bytes residency (14 samples), 1588M in use, 0.001 INIT (0.011 elapsed), 13.209 MUT (13.683 elapsed), 6.137 GC (7.117 elapsed) :ghc>>
2016-05-24 19:00:57 -07:00
Simon Michael
2538d14ea7 lib: textification begins! account names
The first of several conversions from String to (strict) Text, hopefully
reducing space and time usage.

This one shows a small improvement, with GHC 7.10.3 and text-1.2.2.1:

hledger -f data/100x100x10.journal stats
string: <<ghc: 39471064 bytes, 77 GCs, 198421/275048 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.020 elapsed), 0.010 GC (0.014 elapsed) :ghc>>
text:   <<ghc: 39268024 bytes, 77 GCs, 197018/270840 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.002 elapsed), 0.016 MUT (0.022 elapsed), 0.009 GC (0.011 elapsed) :ghc>>

hledger -f data/1000x100x10.journal stats
string: <<ghc: 318555920 bytes, 617 GCs, 2178997/7134472 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.001 elapsed), 0.129 MUT (0.136 elapsed), 0.067 GC (0.077 elapsed) :ghc>>
text:   <<ghc: 314248496 bytes, 612 GCs, 2074045/6617960 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.003 elapsed), 0.137 MUT (0.145 elapsed), 0.067 GC (0.079 elapsed) :ghc>>

hledger -f data/10000x100x10.journal stats
string: <<ghc: 3114763608 bytes, 6026 GCs, 18858950/75552024 avg/max bytes residency (11 samples), 201M in use, 0.000 INIT (0.000 elapsed), 1.331 MUT (1.372 elapsed), 0.699 GC (0.812 elapsed) :ghc>>
text:   <<ghc: 3071468920 bytes, 5968 GCs, 14120344/62951360 avg/max bytes residency (9 samples), 124M in use, 0.000 INIT (0.003 elapsed), 1.272 MUT (1.349 elapsed), 0.513 GC (0.578 elapsed) :ghc>>

hledger -f data/100000x100x10.journal stats
string: <<ghc: 31186579432 bytes, 60278 GCs, 135332581/740228992 avg/max bytes residency (13 samples), 1697M in use, 0.000 INIT (0.008 elapsed), 14.677 MUT (15.508 elapsed), 7.081 GC (8.074 elapsed) :ghc>>
text:   <<ghc: 30753427672 bytes, 59763 GCs, 117595958/666457240 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.008 elapsed), 13.713 MUT (13.966 elapsed), 6.220 GC (7.108 elapsed) :ghc>>
2016-05-24 19:00:49 -07:00
Simon Michael
0f5ee154c4 lib: simplify parsers; cleanups (#275)
The journal/timeclock/timedot parsers, instead of constructing (opaque)
journal update functions which are later applied to build the journal,
now construct the journal directly (by modifying the parser state). This
is easier to understand and debug. It also removes any possibility of
the journal updates being a space leak. (They weren't, in fact memory
usage is now slightly higher, but that will be addressed in other ways.)

Also:

Journal data and journal parse info have been merged into one type (for
now), and field names are more consistent.

The ParsedJournal type alias has been added to distinguish being-parsed
and finalised journals.

Journal is now a monoid.

stats: fixed an issue with ordering of include files

journal: fixed an issue with ordering of included same-date transactions

timeclock: sessions can no longer span file boundaries (unclocked-out
sessions will be auto-closed at the end of the file).

expandPath now throws a proper IO error (and requires the IO monad).
2016-05-23 00:44:19 -07:00
Simon Michael
72bdce39b6 ui: fix a recent reload breakage (fixes #346)
Commit 0a90ef4 a few weeks ago caused hledger-ui to show wrong balances
after reloading with the g key, if the journal had changed and you had
specified a query on the command line.

Now, journalReloadIfChanged reloads the full journal without filtering,
like journalReload and withJournalDo.
2016-05-20 08:20:08 -07:00
Simon Michael
7f5e09096f lib: rename JournalContext to JournalParseState 2016-05-18 20:57:34 -07:00
Simon Michael
89b1cd1e5b doc: readme for doc directories 2016-05-17 10:03:57 -07:00
Simon Michael
207922a023 lib: Commodity now has a CommoditySymbol and style 2016-05-08 08:07:27 -07:00
Simon Michael
1b674cbb44 web: show a proper not found page on 404 2016-05-06 19:30:23 -07:00
Simon Michael
e2ce7c4802 doc, tests: clarify what --date2 does 2016-05-06 16:57:24 -07:00
Simon Michael
46767406ed web: document how initial query works (fixes #314) 2016-04-28 21:58:08 -07:00
Simon Michael
739c8dc4cc web: preserve initial query when journal changes (#314)
The initial query specified by command line arguments is now preserved
when the journal is reloaded. This does not appear in the web UI, it's
like an invisible extra filter.
2016-04-28 21:48:30 -07:00
Simon Michael
7b1b1f5f8d web: focus field after clicking add txn (fixes #338) 2016-04-28 20:53:08 -07:00
Simon Michael
b175b8cddf web: drop redundant onClick; fix add txn tooltip (#338) 2016-04-28 20:52:24 -07:00
Simon Michael
3739f0e364 web: leave date field blank, avoid problems (#322) 2016-04-28 18:27:00 -07:00
Simon Michael
7ec3ebb66b update tested-with
Note we seem to have lost GHC 7.4 compatibility. It should be fixable if
anyone cares.
2016-04-28 17:32:17 -07:00
Simon Michael
df1040014e web: exit if an instance is already running (#226)
Also
- pause for 0.1s before opening the browser, to ensure the app is ready
- don't open a browser if the app fails to start
- terminate the server thread more carefully on exit, may resolve some
  lingering background thread issues eg on windows
2016-04-22 11:21:33 -07:00
Simon Michael
91847fc6fd data-files does not support wildcards after all 2016-04-20 13:23:05 -07:00
Simon Michael
33b5c5dc94 declare generated docs as data-files, sync hpack yamls 2016-04-20 12:47:17 -07:00
Simon Michael
80948d1db7 doc: also commit info files, should fix travis 2016-04-20 12:47:17 -07:00
Simon Michael
42c12fe631 cli, ui, web, api: --info, --man, info & man cmds 2016-04-19 19:21:29 -07:00
Simon Michael
3d129f6d31 shake: also generate info manuals 2016-04-18 17:54:55 -07:00
Simon Michael
25e2534794 doc: update all docs mentioning -h and --help 2016-04-18 17:00:54 -07:00
Simon Michael
f9362707b6 ui, web, api: fix -h, --help 2016-04-18 16:43:51 -07:00
Simon Michael
de542e52ac web: drop cruft from .ghci 2016-04-18 15:28:54 -07:00
Simon Michael
b4a72da355 web: fix stack ghci duplicate main error 2016-04-18 15:26:54 -07:00
Simon Michael
82f35dddd0 doc: m4 macro for web table of contents 2016-04-16 11:00:39 -07:00
Simon Michael
4c291dc54e doc: use macros not divs to select web/man content
Use slightly clearer m4 macros instead of special divs to mark content
as web only/man only. The temporary doc/*.md files are no longer needed,
slightly more redundant work is done.
2016-04-16 10:09:51 -07:00
Simon Michael
130d259cb1 site: show version links on manuals 2016-04-16 04:44:33 -07:00
Simon Michael
6a97a246dd doc: use m4 for all manuals, shake cleanup 2016-04-16 03:50:30 -07:00
Simon Michael
e4cff6a30f tools: .ghci for each package, sets shorter prompt 2016-04-15 16:06:45 -07:00
Simon Michael
b73bcda52a include txt man pages in cabal tarballs 2016-04-13 22:38:53 -07:00
Simon Michael
bfa5e14373 doc: generate (and commit) text-rendred man pages
Intended for embedding in executables. Quick implementation,
hopefully these are fixed-width and compatible with all terminals.
2016-04-13 22:29:16 -07:00
Simon Michael
588f36d662 rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
Simon Michael
8ee0c7fa76 doc: update man pages 2016-04-12 20:31:17 -07:00
Simon Michael
b4d491791c doc: include nroff man pages in cabal tarballs 2016-04-12 11:25:46 -07:00
Simon Michael
5e71d749c4 doc: ensure all five main packages have a README 2016-04-12 11:13:01 -07:00
Simon Michael
b69b149d39 doc: hledger: add more content from old manual 2016-04-10 12:13:38 -07:00
Simon Michael
5754f2bb4a doc: updates, merge some more from old manual 2016-04-09 14:23:55 -07:00
Simon Michael
5d9d155ca0 doc: misc cleanups 2016-04-07 21:59:30 -07:00
Simon Michael
69542160bb doc: remove colons from man page headings 2016-04-07 08:55:53 -07:00
Simon Michael
443b870481 site: fix man page TOCs, add combined man page 2016-04-07 08:55:21 -07:00
Simon Michael
f3fb1a89f2 doc: exclude web content from nroffs 2016-04-06 08:20:27 -07:00
Simon Michael
24c2e7d471 doc: move man page source and nroff to PKG/doc/ 2016-04-06 08:16:38 -07:00
Simon Michael
eab6b110bc tools: simplify doc filtering class names 2016-04-05 16:17:08 -07:00
Simon Michael
2dbe07a666 doc: mark up man pages for man/web rendering
And commit the latest nroff output. It'll need retesting.
2016-02-21 02:32:40 -08:00
Simon Michael
494c74f81b tools: hide package.yaml files to fix travis
The latest stack runs a buggy hpack that generates invalid
cabal files. Rename them to future-package.yaml for now.
2016-02-20 19:07:49 -08:00
Simon Michael
ec87da8b04 web: show the sidebar by default (#310) 2016-01-25 09:08:19 -08:00
Simon Michael
6fb76d979f web: fix typo in "-f -" warning 2016-01-25 09:07:37 -08:00
Thomas R. Koll
9f49da3713 web: remove more deprecated html attributes (align) and fix a tag with duplicate style attribute 2015-12-18 23:12:39 +01:00
Thomas R. Koll
f9c1902cbb web: delete a few unused files from Yesod default app
the normalize file is called but not delivered(?), anyways there is a newer version in bootstrap.css
2015-12-18 22:51:42 +01:00