hledger/hledger-lib
Simon Michael c1236fa6e9 journal: account directives can declare account types
Previously you had to use one of the standard english account names
(assets, liabilities..) for top-level accounts, if you wanted to use
the bs/bse/cf/is commands.
Now, account directives can specify which of the big five categories
an account belongs to - asset, liability, equity, revenue or expense -
by writing one of the letters A, L, E, R or X two or more spaces after
the account name (where the numeric account code used to be).

This might change. Some thoughts influencing the current syntax:
- easy to type and read
- does not require multiple lines
- does not depend on any particular account numbering scheme
- allows more types later if needed
- still anglocentric, but only a little
- could be treated as syntactic sugar for account tags later
- seems to be compatible with (ignored by) current Ledger

The current design permits unlimited account type declarations anywhere
in the account tree. So you could declare a liability account somewhere
under assets, and maybe a revenue account under that, and another asset
account even further down. In such cases you start to see oddities like
accounts appearing in multiple places in a tree-mode report. In theory
the reports will still behave reasonably, but this has not been tested
too hard. In any case this is clearly too much freedom. I have left it
this way, for now, in case it helps with:

- modelling contra accounts ?
- multiple files. I suspect the extra expressiveness may come in handy
  when combining multiple files with account type declarations,
  rewriting account names, apply parent accounts etc.
  If we only allowed type declarations on top-level accounts, or
  only allowed a single account of each type, complications seem likely.
2018-10-09 14:24:59 -10:00
..
Hledger journal: account directives can declare account types 2018-10-09 14:24:59 -10:00
other/ledger-parse lib: restrict imports, avoiding GHCI clashes 2016-11-20 10:27:16 -08:00
test tests: make doctests suite run with old ghcs 2018-09-07 12:34:51 -07:00
Text lib: revise comments for "final" parse errors 2018-10-09 11:05:46 -06:00
.ghci tools: .ghci for each package, sets shorter prompt 2016-04-15 16:06:45 -07:00
CHANGES doc: changelogs, relnotes 2018-10-06 09:40:06 -10:00
hledger_csv.5 update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_csv.info update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_csv.m4.md doc: csv: fix how-to link 2018-05-04 09:03:00 -07:00
hledger_csv.txt update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_journal_directives.m4.md lib: doc: journal: describe current directive semantics, finally 2018-06-20 19:41:28 -07:00
hledger_journal.5 update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_journal.info update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_journal.m4.md journal: Y affects dates in periodic transactions (fix #892) 2018-10-09 11:54:40 -07:00
hledger_journal.txt update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_timeclock.5 update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_timeclock.info update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_timeclock.m4.md remove numbers from all but nroff filenames 2017-12-06 18:35:18 -08:00
hledger_timeclock.txt update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_timedot.5 update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_timedot.info update embedded manuals 2018-10-06 09:42:27 -10:00
hledger_timedot.m4.md doc: journal: directives & periodic/automated cleanups 2018-04-29 18:02:16 -07:00
hledger_timedot.txt update embedded manuals 2018-10-06 09:42:27 -10:00
hledger-lib.cabal Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
Hledger.hs rename easytests_* to tests_* 2018-09-06 13:13:26 -07:00
LICENSE split off hledger-lib package, containing core types & utils 2010-03-22 01:44:59 +00:00
package.yaml Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
README doc: ensure all five main packages have a README 2016-04-12 11:13:01 -07:00
Setup.hs Revert "remove Setup.hs files again, fixing a yesod devel warning" 2014-05-24 13:39:09 -07:00

A reusable library containing hledger's core functionality.
This is used by most hledger* packages for common data parsing,
command line option handling, reporting etc.