This upgrades Account to enable it to store a multiperiod balance, with a separate balance for each date period. This enables it do the hard work in MultiBalanceReport. Some new types are created to enable convenient operation of accounts. - `BalanceData` is a type which stores an exclusive balance, inclusive balance, and number of postings. This was previously directly stored in Account, but is now factored into a separate data type. - `PeriodData` is a container which stores date-indexed data, as well as pre-period data. In post cases, this represents the report spans, along with the historical data. - Account becomes polymorphic, allowing customisation of the type of data it stores. This will usually be `BalanceData`, but in `BudgetReport` it can use `These BalanceData BalanceData` to store both actuals and budgets in the same structure. The data structure changes to contain a `PeriodData`, allowing multiperiod accounts. Some minor changes are made to behaviour for consistency: - --declared treats parent accounts consistently. - --flat --empty ensures that implied accounts with no postings are not displayed, but accounts with zero balance and actual postings are.
301 lines
7.9 KiB
Plaintext
301 lines
7.9 KiB
Plaintext
cabal-version: 2.2
|
|
|
|
-- This file has been generated from package.yaml by hpack version 0.38.0.
|
|
--
|
|
-- see: https://github.com/sol/hpack
|
|
|
|
name: hledger-lib
|
|
version: 1.43.99
|
|
synopsis: A library providing the core functionality of hledger
|
|
description: This library contains hledger's core functionality.
|
|
It is used by most hledger* packages so that they support the same
|
|
command line options, file formats, reports, etc.
|
|
.
|
|
hledger is a robust, cross-platform set of tools for tracking money,
|
|
time, or any other commodity, using double-entry accounting and a
|
|
simple, editable file format, with command-line, terminal and web
|
|
interfaces. It is a Haskell rewrite of Ledger, and one of the leading
|
|
implementations of Plain Text Accounting.
|
|
.
|
|
See also:
|
|
.
|
|
- https://hledger.org - hledger's home page
|
|
.
|
|
- https://hledger.org/dev.html - starting point for hledger's developer docs
|
|
.
|
|
- https://hackage.haskell.org/package/hledger-lib/docs/Hledger.html - starting point for hledger's haddock docs
|
|
category: Finance
|
|
stability: stable
|
|
homepage: http://hledger.org
|
|
bug-reports: http://bugs.hledger.org
|
|
author: Simon Michael <simon@joyful.com>
|
|
maintainer: Simon Michael <simon@joyful.com>
|
|
license: GPL-3.0-or-later
|
|
license-file: LICENSE
|
|
build-type: Simple
|
|
tested-with:
|
|
ghc==8.10.7, ghc==9.0.2, ghc==9.2.8, ghc==9.4.8, ghc==9.6.7, ghc==9.8.4, ghc==9.10.2, ghc==9.12.1
|
|
extra-source-files:
|
|
CHANGES.md
|
|
README.md
|
|
test/unittest.hs
|
|
test/doctests.hs
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/simonmichael/hledger
|
|
|
|
flag debug
|
|
description: Build with GHC 9.10+'s stack traces enabled
|
|
manual: True
|
|
default: False
|
|
|
|
library
|
|
exposed-modules:
|
|
Hledger
|
|
Hledger.Data
|
|
Hledger.Data.Account
|
|
Hledger.Data.AccountName
|
|
Hledger.Data.Amount
|
|
Hledger.Data.Balancing
|
|
Hledger.Data.Currency
|
|
Hledger.Data.Dates
|
|
Hledger.Data.Errors
|
|
Hledger.Data.Journal
|
|
Hledger.Data.JournalChecks
|
|
Hledger.Data.JournalChecks.Ordereddates
|
|
Hledger.Data.JournalChecks.Uniqueleafnames
|
|
Hledger.Data.Json
|
|
Hledger.Data.Ledger
|
|
Hledger.Data.Period
|
|
Hledger.Data.PeriodicTransaction
|
|
Hledger.Data.StringFormat
|
|
Hledger.Data.Posting
|
|
Hledger.Data.RawOptions
|
|
Hledger.Data.Timeclock
|
|
Hledger.Data.Transaction
|
|
Hledger.Data.TransactionModifier
|
|
Hledger.Data.Types
|
|
Hledger.Data.Valuation
|
|
Hledger.Query
|
|
Hledger.Read
|
|
Hledger.Read.Common
|
|
Hledger.Read.CsvReader
|
|
Hledger.Read.InputOptions
|
|
Hledger.Read.JournalReader
|
|
Hledger.Read.RulesReader
|
|
Hledger.Read.TimedotReader
|
|
Hledger.Read.TimeclockReader
|
|
Hledger.Write.Beancount
|
|
Hledger.Write.Csv
|
|
Hledger.Write.Ods
|
|
Hledger.Write.Html
|
|
Hledger.Write.Html.Attribute
|
|
Hledger.Write.Html.Blaze
|
|
Hledger.Write.Html.Lucid
|
|
Hledger.Write.Html.HtmlCommon
|
|
Hledger.Write.Spreadsheet
|
|
Hledger.Reports
|
|
Hledger.Reports.ReportOptions
|
|
Hledger.Reports.ReportTypes
|
|
Hledger.Reports.AccountTransactionsReport
|
|
Hledger.Reports.BalanceReport
|
|
Hledger.Reports.BudgetReport
|
|
Hledger.Reports.EntriesReport
|
|
Hledger.Reports.MultiBalanceReport
|
|
Hledger.Reports.PostingsReport
|
|
Hledger.Utils
|
|
Hledger.Utils.Debug
|
|
Hledger.Utils.IO
|
|
Hledger.Utils.Parse
|
|
Hledger.Utils.Regex
|
|
Hledger.Utils.String
|
|
Hledger.Utils.Test
|
|
Hledger.Utils.Text
|
|
Text.Tabular.AsciiWide
|
|
Text.WideString
|
|
other-modules:
|
|
Hledger.Data.BalanceData
|
|
Hledger.Data.PeriodData
|
|
Paths_hledger_lib
|
|
autogen-modules:
|
|
Paths_hledger_lib
|
|
hs-source-dirs:
|
|
./
|
|
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
|
|
build-depends:
|
|
Decimal >=0.5.1
|
|
, Glob >=0.9
|
|
, aeson >=1 && <2.3
|
|
, aeson-pretty
|
|
, ansi-terminal >=0.9
|
|
, array
|
|
, base >=4.14 && <4.22
|
|
, blaze-html
|
|
, blaze-markup >=0.5.1
|
|
, bytestring
|
|
, call-stack
|
|
, cassava
|
|
, cassava-megaparsec
|
|
, cmdargs >=0.10
|
|
, colour >=2.3.6
|
|
, containers >=0.5.9
|
|
, data-default >=0.5
|
|
, deepseq
|
|
, directory >=1.2.6.1
|
|
, doclayout >=0.3 && <0.6
|
|
, encoding >=0.10
|
|
, extra >=1.7.11
|
|
, file-embed >=0.0.10
|
|
, filepath
|
|
, hashtables >=1.2.3.1
|
|
, lucid
|
|
, megaparsec >=7.0.0 && <9.8
|
|
, microlens >=0.4
|
|
, microlens-th >=0.4
|
|
, mtl >=2.2.1
|
|
, parser-combinators >=0.4.0
|
|
, pretty-simple >4 && <5
|
|
, process
|
|
, regex-tdfa
|
|
, safe >=0.3.20
|
|
, tabular >=0.2
|
|
, tasty >=1.2.3
|
|
, tasty-hunit >=0.10.0.2
|
|
, template-haskell
|
|
, terminal-size >=0.3.3
|
|
, text >=1.2.4.1
|
|
, these >=1.0.0
|
|
, time >=1.5
|
|
, timeit
|
|
, transformers >=0.2
|
|
, uglymemo
|
|
, unordered-containers >=0.2
|
|
, utf8-string >=0.3.5
|
|
default-language: Haskell2010
|
|
if (flag(debug))
|
|
cpp-options: -DDEBUG
|
|
|
|
test-suite doctest
|
|
type: exitcode-stdio-1.0
|
|
main-is: doctests.hs
|
|
hs-source-dirs:
|
|
test
|
|
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
|
|
build-depends:
|
|
Decimal >=0.5.1
|
|
, Glob >=0.7
|
|
, aeson >=1 && <2.3
|
|
, aeson-pretty
|
|
, ansi-terminal >=0.9
|
|
, array
|
|
, base >=4.14 && <4.22
|
|
, blaze-html
|
|
, blaze-markup >=0.5.1
|
|
, bytestring
|
|
, call-stack
|
|
, cassava
|
|
, cassava-megaparsec
|
|
, cmdargs >=0.10
|
|
, colour >=2.3.6
|
|
, containers >=0.5.9
|
|
, data-default >=0.5
|
|
, deepseq
|
|
, directory >=1.2.6.1
|
|
, doclayout >=0.3 && <0.6
|
|
, doctest >=0.18.1
|
|
, encoding >=0.10
|
|
, extra >=1.7.11
|
|
, file-embed >=0.0.10
|
|
, filepath
|
|
, hashtables >=1.2.3.1
|
|
, lucid
|
|
, megaparsec >=7.0.0 && <9.8
|
|
, microlens >=0.4
|
|
, microlens-th >=0.4
|
|
, mtl >=2.2.1
|
|
, parser-combinators >=0.4.0
|
|
, pretty-simple >4 && <5
|
|
, process
|
|
, regex-tdfa
|
|
, safe >=0.3.20
|
|
, tabular >=0.2
|
|
, tasty >=1.2.3
|
|
, tasty-hunit >=0.10.0.2
|
|
, template-haskell
|
|
, terminal-size >=0.3.3
|
|
, text >=1.2.4.1
|
|
, these >=1.0.0
|
|
, time >=1.5
|
|
, timeit
|
|
, transformers >=0.2
|
|
, uglymemo
|
|
, unordered-containers >=0.2
|
|
, utf8-string >=0.3.5
|
|
default-language: Haskell2010
|
|
if (flag(debug))
|
|
cpp-options: -DDEBUG
|
|
if impl(ghc >= 9.0) && impl(ghc < 9.2)
|
|
buildable: False
|
|
|
|
test-suite unittest
|
|
type: exitcode-stdio-1.0
|
|
main-is: unittest.hs
|
|
hs-source-dirs:
|
|
test
|
|
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
|
|
build-depends:
|
|
Decimal >=0.5.1
|
|
, Glob >=0.9
|
|
, aeson >=1 && <2.3
|
|
, aeson-pretty
|
|
, ansi-terminal >=0.9
|
|
, array
|
|
, base >=4.14 && <4.22
|
|
, blaze-html
|
|
, blaze-markup >=0.5.1
|
|
, bytestring
|
|
, call-stack
|
|
, cassava
|
|
, cassava-megaparsec
|
|
, cmdargs >=0.10
|
|
, colour >=2.3.6
|
|
, containers >=0.5.9
|
|
, data-default >=0.5
|
|
, deepseq
|
|
, directory >=1.2.6.1
|
|
, doclayout >=0.3 && <0.6
|
|
, encoding >=0.10
|
|
, extra >=1.7.11
|
|
, file-embed >=0.0.10
|
|
, filepath
|
|
, hashtables >=1.2.3.1
|
|
, hledger-lib
|
|
, lucid
|
|
, megaparsec >=7.0.0 && <9.8
|
|
, microlens >=0.4
|
|
, microlens-th >=0.4
|
|
, mtl >=2.2.1
|
|
, parser-combinators >=0.4.0
|
|
, pretty-simple >4 && <5
|
|
, process
|
|
, regex-tdfa
|
|
, safe >=0.3.20
|
|
, tabular >=0.2
|
|
, tasty >=1.2.3
|
|
, tasty-hunit >=0.10.0.2
|
|
, template-haskell
|
|
, terminal-size >=0.3.3
|
|
, text >=1.2.4.1
|
|
, these >=1.0.0
|
|
, time >=1.5
|
|
, timeit
|
|
, transformers >=0.2
|
|
, uglymemo
|
|
, unordered-containers >=0.2
|
|
, utf8-string >=0.3.5
|
|
buildable: True
|
|
default-language: Haskell2010
|
|
if (flag(debug))
|
|
cpp-options: -DDEBUG
|