Commit Graph

2482 Commits

Author SHA1 Message Date
Simon Michael
da11d74ae6 dev: refactor: clarify journalAccountTypes 2024-10-20 09:13:58 -10:00
Simon Michael
e44cbbf1a4 dev: refactor, clarify detection of cost/conversion postings 2024-10-20 09:13:58 -10:00
Simon Michael
2d90550e25 dev: cleanups 2024-10-20 09:13:58 -10:00
Henning Thielemann
4c189dde32 lib: Write.Spreadsheet.integerCell: for transaction indices 2024-10-20 08:49:36 -10:00
Simon Michael
f8cc9cdb4d ;dev: document runPager's behaviour precisely 2024-10-20 08:10:07 -10:00
Simon Michael
7325b75d5b imp: rename ghcdebug build flag to debug, and enable stack traces with it
Builds made with ghc 9.10+ and the 'debug' build flag, will show
(some kind of, partial) stack traces when the program ends with an
error. (And also will have ghc-debug support enabled.)

The stack traces will probably improve in due course.
2024-10-19 18:47:03 -10:00
Simon Michael
f5b10b2d40 dev: cleanups 2024-10-19 16:56:14 -10:00
Henning Thielemann
8b391e2a07 cli: Commands.Print: add export to FODS and HTML
use common Spreadsheet framework for CSV export, too
2024-10-19 16:52:54 -10:00
Simon Michael
b940254025 imp:cli: detect --color more safely in most cases
--color now also works in a config file, like --pager, except for two
cases: it does not affect colouring of debug output, or the colouring
helpers used in the check recentassertions error message.
2024-10-19 16:28:36 -10:00
Simon Michael
711d921774 imp:cli: --no-pager -> --pager, make this and --color safe options 2024-10-19 16:28:36 -10:00
Simon Michael
3e48451c3f imp: note unsafe args / config file limitation; make --no-pager safe 2024-10-19 16:28:36 -10:00
Simon Michael
ba786752d1 imp📟 add a --no-pager general flag 2024-10-19 16:28:36 -10:00
Simon Michael
db748465a8 fix📟 when the $PAGER is not in PATH, print instead of failing 2024-10-19 16:28:36 -10:00
Simon Michael
4441680d7b fix:lib:Hledger.Utils.IO.pager: avoid a crash; avoid an extra newline 2024-10-19 16:28:36 -10:00
Simon Michael
3b7420b97c feat: use a pager for all large terminal output, not just for help 2024-10-19 16:28:36 -10:00
Henning Thielemann
96e0500ea7 cli: Commands.Register.postingsReportItemAsRecord: format transaction index as integer
lib: Write.Spreadsheet.Type: new TypeInteger
2024-10-18 00:07:11 -10:00
Henning Thielemann
b23753f5ae cli: Commands.Register.postingsReportItemAsRecord: export amounts as number plus commodity
lib: Write.Spreadsheet.cellFromMixedAmount, cellsFromMixedAmount: taken from Cli.Balance
2024-10-18 00:07:11 -10:00
Henning Thielemann
d7b713f958 lib: Write.Ods.styleNames: common generation of ODS style names for both formatCell and cellConfig 2024-10-18 00:07:11 -10:00
Henning Thielemann
fe53b9b6ee lib: Write.Ods: disambiguate style names for DataMixedAmount and DataString (bugfix) 2024-10-18 00:07:11 -10:00
Henning Thielemann
991c56caef cli: Commands.Register.postingsReportAsSpreadsheet: generalize CSV output to HTML and FODS 2024-10-18 00:07:11 -10:00
Simon Michael
0f7aaa9600 imp: check accounts: simplify confusing suggestion in error message, 2 2024-10-16 21:19:51 -10:00
Simon Michael
36d1093b84 imp: check accounts: simplify confusing suggestion in error message 2024-10-15 16:36:54 -10:00
Henning Thielemann
9d1ba5c588 cli: CompoundBalanceCommand.compoundBalanceReportAsSpreadsheet: common function for CSV, HTML, FODS export 2024-10-14 20:59:51 -10:00
Simon Michael
71a7879213 fix:check tags: _price-matched -> _cost-matched, and whitelisted [#2247] 2024-10-14 14:49:18 -10:00
Henning Thielemann
b8497c830e lib: Write.Spreadsheet.headerCell, addRowSpanHeader, rawTableContent: taken from Commands.Balance 2024-10-14 11:35:12 -10:00
Simon Michael
2a374668e4 dev: Write.Beancount: isUpperCase -> isUpper to support ghc < 9.6 2024-10-14 11:02:21 -10:00
Simon Michael
aff3cd0591 imp:print:beancount: more robust conversion of commodity names 2024-10-11 14:56:03 -10:00
Simon Michael
6dd9c92d32 lib: add Hledger.Data.Currency, currencySymbolToCode, currencyCodeToSymbol 2024-10-11 14:56:03 -10:00
Simon Michael
66fce53c0b dev: extract beancount output helpers to Hledger.Write.Beancount 2024-10-10 23:25:07 -10:00
Simon Michael
21a84fb336 fix: calculate value correctly when P amounts have few decimal digits [#2254]
Valuation in another commoditay could sometimes be inaccurate if the P
price amounts did not have enough decimal places.
2024-10-08 23:11:57 -10:00
Simon Michael
4e6f6611a6 dev: fix DisplayName's off-by-one indent value, noted in #2246
Now displayIndent (and prrIndent) 0 means no indent, 1 means one
indent step, etc.
2024-10-08 23:11:57 -10:00
Simon Michael
6ce5e85e99 dev: clarify: rename displayDepth/prrDepth to displayIndent/prrIndent
These are about indentation for rendering, not account depth;
these are not always directly related, eg when boring parents are elided.
2024-10-08 23:11:57 -10:00
Simon Michael
8c71d071d7 imp:print:beancount:convert account names more robustly; better errors 2024-10-03 23:19:32 -10:00
Simon Michael
e157bb4a6b dev: Hledger.Write.Ods: fix build with ghc <9.6 2024-09-30 17:20:13 -10:00
Simon Michael
6773e92361 dev: Hledger.Write.Ods: follow global-then-local-imports convention 2024-09-30 17:20:13 -10:00
Simon Michael
c92b601028 dev: fix warnings with ghc 9.10 / base 4.20
Older ghc versions should also still build cleanly (tested with 9.8 so far).

I don't like enabling CPP in so many modules but it's easier that
figuring out how to do it with base-compat; hopefully no noticeable
compilation impact.
2024-09-30 17:20:13 -10:00
Simon Michael
cc7ba473ec imp: bal: html output will use a hledger.css file, like bs/cf/is 2024-09-29 21:22:38 -10:00
Henning Thielemann
5565f11c73 cli: Commands.Balance.multiBalanceReportAsSpreadsheetHelper: vertically merge cells showing account names and Total
lib: Write.Spreadsheet: add support for cell spans
2024-09-29 19:25:05 -10:00
Henning Thielemann
2f9a8031b0 lib: Write.Html -> Write.Html.Lucid
Write.Html: keep common definitions for both HTML backends
2024-09-29 13:27:51 -10:00
Henning Thielemann
cc7e034d64 lib: Write.Html.Blaze: alternative to Lucid based export
for compatibility with hledger-web/yesod
2024-09-29 13:27:51 -10:00
Henning Thielemann
d8fc30f7c5 lib: Write.Html.Attribute.tableStyle: style definitions taken from Commands.Balance.multiBalanceReportAsHtml
avoid duplicate with Write.Html.printHtml

Write.Html.Attribute: remove dependency on Lucid
2024-09-29 13:27:51 -10:00
Henning Thielemann
499c626e48 lib: Write.Spreadsheet: support for anchors in HTML and FODS export
cli: Commands.Balance: new option --base-url
It adds hledger-web-compatible hyperlinks to account names.
2024-09-28 22:12:51 -10:00
Simon Michael
823be7c565 fix: csv: tags on following lines, and posting dates, also work now [#2241]
Follow-on work from #2214.
2024-09-28 18:54:43 -10:00
Simon Michael
b28468e651 dev: clarify some confusing comment parsers a bit [#2241] 2024-09-28 18:53:46 -10:00
Henning Thielemann
6ce6c72fd4 lib: Write.Html.Attributes: extracted HTML output helpers from Cli.Commands.Balance 2024-09-24 22:51:30 -10:00
Henning Thielemann
ff397f79cc lib: Write.Spreadsheet.Cell: add cellClass field for HTML style class
cmd: Commands.Balance.multiBalanceRowAsCellBuilders: add HTML style class attributes here
This way we do not need to dissect table rows in
multiBalanceReportHtmlHeadRow, multiBalanceReportHtmlBodyRow, multiBalanceReportHtmlFootRow
Eventually removed these three functions.
2024-09-11 13:51:09 -07:00
Henning Thielemann
55c1246598 cli: Commands.Balance.budgetReportAsSpreadsheet: also transpose border 2024-09-11 13:51:09 -07:00
Henning Thielemann
2ed13afed4 lib: Write.Spreadsheet: support for borders like in existing HTML export
cli: Commands.Balance: use for FODS export and balance and budget export to HTML
2024-09-11 13:51:09 -07:00
Simon Michael
5cbbdb4670 imp: reg --sort: show supported keys in help and error message [#2211] 2024-09-09 14:04:43 -07:00
Michael Rees
e34fa491af Add abs implementation for MixedAmount 2024-09-05 11:56:07 +01:00