Go to file
Hans-Peter Deifel ae73c525d8 Fix csv rules parsing (#407)
* csv rules: Show prettier parsing errors

This goes from

  hledger: user error ("ParseError {errorPos = SourcePos {sourceName = \"foo.csv.rules\",
  sourceLine = Pos 20, sourceColumn = Pos 1} :| [], errorUnexpected =
  fromList [Tokens (' ' :| \"\")], errorExpected = fromList [Label ('b' :| \"lank or comment
  line\"),EndOfInput], errorCustom = fromList []}")

to

  hledger: user error (foo.csv.rules:20:1:
  unexpected space
  expecting blank or comment line or end of input
  )

* csv rules: Fix parsing of empty field values

A single line containing `account1 ` (note the space at the end) should
parse as assignment of the empty string to account1. At least it did
until commit 4141067.

The problem is that megaparsec's `space` parses multiple space
characters as opposed to parsec. So in the example above it would
incorrectly consume the newline.

This commit also adds a new test case for this bug.
2016-09-25 12:56:28 -07:00
bin doc: more consistent README file extensions 2014-10-31 16:16:41 -07:00
checks update dev setup tests 2015-03-16 17:59:06 -07:00
data commit ascii journal test file referenced by #373 2016-09-19 11:56:20 -07:00
doc doc: 0.27 manual version indicator fixes #385 2016-08-07 08:55:43 -07:00
extra extra: hledger-rewrite: doc tweak 2016-09-07 07:49:08 -07:00
hledger reg: csv: include txn index, rename total field (fixes #391) 2016-08-14 10:15:45 -07:00
hledger-api api: add request logging 2016-09-22 11:56:38 -07:00
hledger-lib Fix csv rules parsing (#407) 2016-09-25 12:56:28 -07:00
hledger-ui ui: help: reset wording 2016-09-05 10:57:05 -07:00
hledger-web lib, cli, web: try to fix building with GHC 7.4 2016-08-09 12:22:38 -07:00
site makefile, doc tweaks 2016-09-21 09:35:11 -07:00
tests bal: draft some tests for #373 2016-09-21 09:34:01 -07:00
tools rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
.gitignore git: don't ignore filenames beginning with a number 2016-09-21 09:32:54 -07:00
.travis.yml travis: add --no-haddock-deps, should work now 2016-05-06 18:16:59 -07:00
.version doc: parameterise and bump docs version to 0.28 2016-05-28 23:31:44 -07:00
appveyor.yml ui: skip hledger-ui again #376 2016-07-23 11:09:51 -07:00
cabal-install.sh tools: add a shebang line to cabal script 2016-07-05 14:07:14 -07:00
dev.hs rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
help-system.mk tools: makefile help system improvements 2015-07-12 12:29:53 -07:00
HLint.hs tools: capitalise HLint.hs 2016-08-08 08:31:46 -07:00
LICENSE add LICENSE 2008-10-01 07:52:07 +00:00
Makefile makefile, doc tweaks 2016-09-21 09:35:11 -07:00
Makefile.old tools: archive old Makefile and start afresh 2015-07-12 12:29:53 -07:00
README.md doc: readme: add stackage badge 2016-06-07 17:46:23 -07:00
Shake.hs shake: ensure hakyll-std's required libs are up to date 2016-08-09 18:28:25 -07:00
stack-ghc8.yaml stack: use latest snapshots 2016-09-21 08:51:19 -07:00
stack.yaml stack: use latest snapshots 2016-09-21 08:51:19 -07:00

hledger

lightweight, portable, dependable accounting tools

hledger is a computer program for easily tracking money, time, or other commodities, on unix, mac and windows (and web-capable mobile devices, to some extent).

It is first a command-line tool, but there are also curses-style and web interfaces, and a Haskell library (http://hackage.haskell.org/package/hledger-lib) for building your own programs and scripts (hledger is written in Haskell). hledger was inspired by and is largely compatible with Ledger. hledger is free software available under the GNU General Public License v3+.

hledger aims to help both computer experts and regular folks to gain clarity and control in their finances and time management, but currently it is a bit more suited to techies. I use it every day to:

  • track spending and income
  • see time reports by day/week/month/project
  • get accurate numbers for client billing and tax filing
  • track invoices

Though limited in features, hledger is lightweight, usable and reliable. For some, it is a simpler, less distracting, more future-proof alternative to Quicken or GnuCash.

For more, see http://hledger.org.

license hackage release stackage LTS package

travis build status hackage upper bounds github issues bountysource