Commit Graph

814 Commits

Author SHA1 Message Date
Simon Michael
aac67b3d4d lib: fix parsedate haddock 2016-05-06 19:02:48 -07:00
Simon Michael
ce344f9b96 lib: fix a haddock error 2016-05-06 18:16:12 -07:00
Simon Michael
e9c6c1ef5e lib: convert date hunit tests to doctests 2016-05-06 18:10:49 -07:00
Simon Michael
c9a892eabe lib: remove hopefully superfluous comment 2016-05-06 17:40:33 -07:00
Simon Michael
a52fd599c4 lib: more compact Show instance for datespans 2016-05-06 17:23:24 -07:00
Simon Michael
884c0b8a58 reg: fix sorting regression with --date2 (#326)
And rewrite/clarify postingsReport.
2016-05-06 17:19:43 -07:00
Simon Michael
6cbc0ceb0d lib: note issues 2016-05-06 17:19:23 -07:00
Simon Michael
e7a1eb627f journal: export parsing helpers, fix warning 2016-05-06 16:58:07 -07:00
Simon Michael
e2ce7c4802 doc, tests: clarify what --date2 does 2016-05-06 16:57:24 -07:00
Simon Michael
525ca6041d lib: tweak balance assertion message 2016-05-04 09:08:53 -07:00
Simon Michael
9a424d77fc lib: more thorough journal reloading
Reloading a journal should now reload all included files as well.
2016-05-02 20:07:53 -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
856c0b3042 lib: fix bracketed posting dates, parser cleanup (#304)
Bracketed posting dates were fragile; they worked only if you wrote full
10-character dates. Also some semantics were a bit unclear. Now they
should be robust, and have been documented more clearly. This is a
legacy undocumented Ledger syntax, but it improves compatibility and
might be preferable to the more verbose "date:" tags if you write
posting dates often (as I do).

Internally, bracketed posting dates are no longer considered to be tags.
Journal comment, tag, and posting date parsers have been reworked, all
with doctests. Also the journal parser types generally have been
tightened up and clarified, making it much easier to know how to combine
and run them. There's now

-- | A parser of strings with generic user state, monad and return type.
type StringParser u m a = ParsecT String u m a

-- | A string parser with journal-parsing state.
type JournalParser m a = StringParser JournalContext m a

-- | A journal parser that runs in IO and can throw an error mid-parse.
type ErroringJournalParser a = JournalParser (ExceptT String IO) a

and corresponding convenience functions (and short aliases) for running them.
2016-04-28 13:34:57 -07:00
Simon Michael
259e7bfbe3 lib: add a doctest suite 2016-04-28 13:34:57 -07:00
Simon Michael
9946e7df88 lib: organise JournalReader a bit 2016-04-28 13:34:57 -07:00
Simon Michael
50aeb90596 lib, ui: GHC 8 compatibility 2016-04-28 12:55:19 -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
3d129f6d31 shake: also generate info manuals 2016-04-18 17:54:55 -07:00
Simon Michael
df4b82740b lib: make the supported format names accessible 2016-04-18 16:43:57 -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
aecbcf9461 doc: merge last bits of old manual into new one 2016-04-12 20:22:40 -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
96a6d2239a doc: CSV: headings, clarifications 2016-04-10 18:19:43 -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
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
2089168e7d doc: update hledger_journal.5 man page 2016-04-05 16:17:08 -07:00
Simon Michael
eab6b110bc tools: simplify doc filtering class names 2016-04-05 16:17:08 -07:00
Simon Michael
31a754544a journal: parse account directives
We now parse account directives, like Ledger's. We don't do anything
with them yet. The default parent account feature must now be spelled
"apply account"/"end apply account".
2016-04-04 11:35:39 -07:00
Simon Michael
671ade5062 site: simplify, clean up, refresh
- Docs are now collected on a single page
- Lots of copy updates
- The front page is less cluttered
- More whitespace at the sides
- The (still WIP) man pages are now linked
- Describe and link to plaintextaccounting.org
2016-02-21 12:39:32 -08:00
Simon Michael
9354687f4f doc: commit a missing nroff file 2016-02-21 02:42:11 -08:00
Simon Michael
931a1d5b9e hlint 2016-02-21 02:37:59 -08: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
6259701842 prettify/hlint 2016-02-20 20:12:02 -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
c97d2cfe6b doc: timedot: link to account aliases 2016-02-20 10:30:09 -08:00
Simon Michael
e5adaff188 doc: timedot: add sample reports 2016-02-20 10:26:42 -08:00