Parse a string format specification, or return a parse error.
Modulehledger-lib-1.52.4GHC2021
Hledger.Data.StringFormat
Parse format strings provided by --format, with awareness of hledger's report item fields. The formats are used by report-specific renderers like renderBalanceReportItem.
- 3 types
- 4 values
- Packagehledger-lib-1.52.4
- Exports7
- LanguageGHC2021
- LicenceGPL-3.0-or-later
- SourceStringFormat.hs
A format specification/template to use when rendering a report line item as text.
A format is a sequence of components; each is either a literal string, or a hledger report item field with specified width and justification whose value will be interpolated at render time.
A component's value may be a multi-line string (or a multi-commodity amount), in which case the final string will be either single-line or a top or bottom-aligned multi-line string depending on the StringFormat variant used.
Currently this is only used in the balance command's single-column mode, which provides a limited StringFormat renderer.
Constructors
OneLine [StringFormatComponent]multi-line values will be rendered on one line, comma-separated
TopAligned [StringFormatComponent]values will be top-aligned (and bottom-padded to the same height)
BottomAligned [StringFormatComponent]values will be bottom-aligned (and top-padded)
Instances3Eq, Show, Default
Eq StringFormatDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormatShow StringFormatDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormatDefault StringFormatDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormat
Constructors
FormatLiteral TextLiteral text to be rendered as-is
FormatField Bool (Maybe Int) (Maybe Int) ReportItemFieldA data field to be formatted and interpolated. Parameters:
Left justify ? Right justified if false
Minimum width ? Will be space-padded if narrower than this
Maximum width ? Will be clipped if wider than this
Which of the standard hledger report item fields to interpolate
Instances2Eq, Show
Eq StringFormatComponentDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormatShow StringFormatComponentDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormat
An id identifying which report item field to interpolate. These are drawn from several hledger report types, so are not all applicable for a given report.
Constructors
AccountFieldA posting or balance report item's account name
DefaultDateFieldA posting or register or entry report item's date
DescriptionFieldA posting or register or entry report item's description
TotalFieldA balance or posting report item's balance or running total. Always rendered right-justified.
DepthSpacerFieldA balance report item's indent level (which may be different from the account name depth). Rendered as this number of spaces, multiplied by the minimum width spec if any.
FieldNo IntA report item's nth field. May be unimplemented.
Instances2Eq, Show
Eq ReportItemFieldDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormatShow ReportItemFieldDefined in hledger-lib-1.52.4 · Hledger.Data.StringFormat
Default line format for balance report: "%20(total) %2(depth_spacer)%-(account)"