Previously, hledger could read CSV files containing non-ascii
characters only if they are UTF8-encoded. Now there is a new CSV
rule, encoding ENCODING, which allows reading CSV files with other
encodings.
This adds a dependency on the encoding library, which supports fewer
encodings than text-icu but does not require a third-party C library.
To avoid build issues on various platforms, we require version 0.10+.
This adds some use of the ImplicitParams language extension, required
by encoding's API, but only in a small code region.
This also changes the type of Reader's rReadFn; it now takes
a `Handle` rather than a `Text`, allowing more flexibility.
Introduced or bumped dependencies:
- brick-2.1.1
- vty-6.1
- vty-crossplatform-0.4.0.0
- vty-windows-0.2.0.1 conditionally on windows (current version of
vty-crossplatform has 0.2.0.0 as a lower bound, need to put a newer version explcitly;
once we get a newer vty-crossplatform, we will be able to drop this conditional)
- vty-unix (indirectly via vty-crossplatform)