Simon Michael
657fc1551f
!fix: respect --color=yes in a few places that didn't; drop text-ansi dep
...
Hledger.Utils.IO's ansi style/color helpers now respect --color=yes,
so that eg `hledger --color=yes | less -R` shows bold headings as
you'd expect.
Hledger.Utils.IO.rgb' now takes Float arguments instead of Word8.
2024-11-01 10:40:25 -10:00
Simon Michael
66953ae0be
;doc: pager: note that help -p TOPIC uses less
2024-11-01 08:15:09 -10:00
Simon Michael
30086ae249
imp: run pager more robustly; drop pager lib [ #2272 ]
...
This fixes the error displayed when quitting the pager with long output.
It also replaces the pager lib with more robust homegrown pager utilities,
which should prevent a number of failure modes.
2024-10-31 18:55:09 -10:00
Simon Michael
50bf401ea6
dev: split debug/ghcdebug flags, comment out the latter for now
...
Compilation with ghc-debug is failing, and it has not yet been used
for anything. Separate the flag and leave it in place but commented for now.
2024-10-24 10:44:28 -10:00
Henning Thielemann
e43168533f
cli: Commands.Aregister: replace option --no-header by --header=YN
2024-10-23 21:55:24 -10:00
Henning Thielemann
1a9bfcf5be
cli: Commands.Aregister: implement --invert option
2024-10-23 21:55:24 -10:00
Henning Thielemann
fa3676df7d
doc: Commands.Aregister: motivate --no-header option
2024-10-22 12:05:42 -10:00
Henning Thielemann
93d32a934b
doc: Commands.Aregister: mention --cumulative option
2024-10-22 12:05:42 -10:00
Henning Thielemann
8a56c4944c
cli: Commands.Aregister: new option --no-header
2024-10-22 12:05:42 -10:00
Henning Thielemann
3714ac0593
lib: Write.Ods.printFods: change type of number of fixed rows/columns from (Maybe Int) to Int
...
0 is a perfect value for no fixed row or column.
2024-10-22 12:05:42 -10:00
Henning Thielemann
b2aad52168
cli: Commands.Aregister: support option --cumulative
2024-10-22 12:05:42 -10:00
Simon Michael
0f7242182e
;doc: update help
2024-10-20 09:26:08 -10:00
Henning Thielemann
f1ded22c97
cli: Commands.Register: rename parameter base -> baseUrl
2024-10-20 08:49:36 -10:00
Henning Thielemann
067c5e4db6
cli: Commands.Aregister.htmlRow: replace by call to generic accountTransactionsReportItemAsRecord
2024-10-20 08:49:36 -10:00
Henning Thielemann
4c189dde32
lib: Write.Spreadsheet.integerCell: for transaction indices
2024-10-20 08:49:36 -10:00
Henning Thielemann
7dc3715865
cli: Commands.Aregister: add export to FODS
...
use common Spreadsheet framework for CSV export, too
2024-10-20 08:49:36 -10:00
Simon Michael
f348bb642c
;cli:help: make --pager's help more accurate
...
--pager's "yes" doesn't unconditionally force it on; it behaves more
like --color's "auto". But yes/no is easier to read and understand,
so keep that and just tweak the wording.
2024-10-20 08:18:41 -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
b6a5687a38
imp: cli, web: disable ghc 9.10+'s stack traces here too
...
Starting to see them also from hledger now.
2024-10-19 18:33:58 -10:00
Simon Michael
d2344c119d
;doc: update help
2024-10-19 17:06:06 -10:00
Simon Michael
6893f342af
imp: cli,ui,web: begin controlling GHC 9.10+'s stack traces
2024-10-19 16:56:14 -10:00
Simon Michael
a925e73b53
imp:cli: handle -NUM in config file properly
2024-10-19 16:56:14 -10:00
Simon Michael
576417655c
dev: fix stray empty strings in builtinCommandNames
2024-10-19 16:56:14 -10:00
Henning Thielemann
cc58ac7bf5
cli: Commands.Print.transactionToSpreadsheet: vertically merge common index, date, description and other cells
2024-10-19 16:52:54 -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
Henning Thielemann
6773bf0974
cli: Commands.Register: add HTML and FODS to outputFormatFlag
2024-10-19 16:49:24 -10:00
Henning Thielemann
e144ad4ccd
cli: Cli.Commands.Balance: give table names according to report type
2024-10-19 16:49:24 -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
7fee69d7ab
imp:cli: deprecate always/never --color values (though still support)
2024-10-19 16:28:36 -10:00
Simon Michael
66df5ed40f
imp: expose config file args to getArgs; make --no-pager work there
2024-10-19 16:28:36 -10:00
Simon Michael
18dceef1ce
imp:cli: move --no-pager/--color to the help flags, available everywhere
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
86c3d7d656
cli: Commands.Register: support hyperlinks to hledger-web in HTML and FODS output
...
new option --base-url as in `balance` et.al.
Cli.Anchor: new module initialized with functions from Commands.Balance
2024-10-18 00:07:11 -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
991c56caef
cli: Commands.Register.postingsReportAsSpreadsheet: generalize CSV output to HTML and FODS
2024-10-18 00:07:11 -10:00
Simon Michael
b1677e8b2c
;doc: update help
2024-10-15 16:36:54 -10:00
Henning Thielemann
49f1af04ef
cli: CompoundBalance.compoundBalanceReportAsSpreadsheet: somehow support layout tidy
...
However, it is not quite correct since it contains totals and net values.
2024-10-15 14:13:53 -10:00
Henning Thielemann
270360a103
cli: Commands.Balance: hide total rows for all output formats for layout=tidy
2024-10-15 14:13:53 -10:00
Henning Thielemann
fa58dc11f4
cli: Commands.Balance: remove lambda on ropts1 for balanceReport*
...
This is consistent with the calls to multiBalanceReport* and budgetReport*.
2024-10-15 14:13:53 -10:00
Henning Thielemann
9d1ba5c588
cli: CompoundBalanceCommand.compoundBalanceReportAsSpreadsheet: common function for CSV, HTML, FODS export
2024-10-14 20:59:51 -10:00
Henning Thielemann
b8497c830e
lib: Write.Spreadsheet.headerCell, addRowSpanHeader, rawTableContent: taken from Commands.Balance
2024-10-14 11:35:12 -10:00
Henning Thielemann
b8570c2aa0
cli: Commands.Balance.headerCell: do not automatically add a bottom border anymore
...
addHeaderBorders: do it explicitly
2024-10-14 11:35:12 -10:00
Henning Thielemann
dce24ea08f
cli: Commands.Balance: remove some trailing spaces and unnecessary parentheses
2024-10-14 11:35:12 -10:00
Henning Thielemann
4d88b47aa7
cli: CompoundBalanceCommand: use List.foldl' with qualification
...
no need for import guarded by CPP
2024-10-14 11:35:12 -10:00
Henning Thielemann
746c927cee
cli: Cli.CompoundBalanceCommand.compoundBalanceReportAsHtml.headerrow: collect all column headers
...
colspanattr: count those headers
This way, we can assert that colspanattr covers all columns.
2024-10-14 11:35:12 -10:00
Henning Thielemann
2122444c4b
cli: Cli.Commands.Balance.multiBalanceReportAsSpreadsheetParts: parameter ishtml::Bool -> fmt::AmountFormat
...
arguments machineFmt, oneLineNoCostFmt are more descriptive than False, True
2024-10-14 11:35:12 -10:00
Henning Thielemann
2fd2110f3d
cli: Cli.Commands.Balance.multiBalanceReportHtmlRows: removed
...
export multiBalanceReportAsSpreadsheetParts for use in compoundBalanceReportAsHtml
2024-10-14 11:35:12 -10:00
Simon Michael
7ac154e0b8
dev: cli: fix recent command parsing breakage; more tests
2024-10-14 09:12:59 -10:00
Simon Michael
b71634a4ee
dev: notes, debug output tweaks
2024-10-14 09:12:59 -10:00
Simon Michael
c6bc020609
fix:cli: don't ignore first cli arg when there's a conf command arg
2024-10-12 21:33:06 -10:00
Simon Michael
d2feaf6f97
imp: cli: a little less flag-moving debug output
2024-10-12 13:35:15 -10:00
Simon Michael
e2599e85a4
fix:cli: order of last flag could be lost, disrupting --no-conf eg
...
Move pre-command flags more carefully, including the last one,
so that the relative order of options is preserved.
(This caused --conf foo --no-conf to sometimes ignore the --no-conf.)
Debug output has also been improved.
2024-10-12 13:23:49 -10:00
Simon Michael
21e27a0283
imp: avoid ugly GHC 9.10.1 stack trace with nonexistent --conf file
2024-10-12 12:14:21 -10:00
Simon Michael
2db4b8ed56
imp: cli: improve debug output for finding config file
2024-10-12 11:28:13 -10:00
Simon Michael
46897cd30b
imp: cli: config files can now provide the command name
...
If the first thing in a config file's general section is a non-flag
argument, that will be used as the command name argument,
taking precedence over any command line arguments.
2024-10-12 10:38:35 -10:00
Simon Michael
a928ed994b
dev: cli: command line processing clarifications
2024-10-12 08:03:07 -10:00
Dmitry Astapov
92f022dee4
;lib: export budgetReportAs* functions (to use in scripts)
2024-10-11 14:55:35 -10:00
Simon Michael
66fce53c0b
dev: extract beancount output helpers to Hledger.Write.Beancount
2024-10-10 23:25:07 -10:00
Simon Michael
a6a1b2c28e
dev:bal: multiperiod balance now has two hledger.css links, fix
2024-10-10 22:00:27 -10:00
Henning Thielemann
6b5a158935
cli: CompoundBalanceCommand: row_total_ -> multiBalanceHasTotalsColumn (bugfix)
...
This way, total column header is not shown in balancesheet.
This is consistent with table data and with compoundBalanceReportAsText.
2024-10-09 08:52:28 -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
05fd8e1d69
dev: refactor
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
Henning Thielemann
ccc605a6a0
cli: Cli.Commands.Balance.renderBalanceAcct: respect that depth is zero-based here (bugfix)
...
The depth in BalanceReportItem is zero-based,
whereas prrDepth in PeriodicReportRow DisplayName is one-based.
2024-10-08 23:07:07 -10:00
Henning Thielemann
6b0cca4fa8
cli: Cli.Commands.Balance.budgetReportAsSpreadsheet: support for tree mode
...
use renderPeriodicAcct
2024-10-08 23:07:07 -10:00
Henning Thielemann
e21a8e6d76
cli: Cli.Commands.Balance: use normal space for indentation in text output format
2024-10-08 23:07:07 -10:00
Henning Thielemann
3e2685fe95
cli: Cli.Commands.Balance: support tree mode for HTML, CSV and FODS output
...
indentation using non-breakable space character
2024-10-08 23:07:07 -10:00
Simon Michael
b9426616f7
;doc: bal: improve --layout doc
2024-10-03 22:57:59 -10:00
Henning Thielemann
eeb070195c
cli: Cli.Commands.Balance.multiBalanceReportAsHtml: now uses multiBalanceReportAsSpreadsheet
...
instead of multiBalanceReportHtmlRows.
This way, HTML output automatically supports transposition.
2024-10-02 17:32:57 -10:00
Henning Thielemann
afc320f1ba
cli: Cli.Commands.Balance.multiBalanceReportAsSpreadsheetHelper -> multiBalanceReportAsSpreadsheetParts
2024-10-02 17:32:57 -10:00
Henning Thielemann
bb5e64c75f
cli: Cli.Commands.Balance.budgetReportAsSpreadsheet: vertically merge duplicate account name cells
...
This is consistent with simple balance and multi-period balance reports.
2024-10-02 17:30:39 -10:00
Henning Thielemann
41397d0ca4
cli: compoundBalanceReportAsHtml - add class=account to Net row header
2024-10-02 17:29:05 -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
12481804cd
;doc: bal: tree mode html limitation, edit [ #1846 ]
2024-09-29 22:20:33 -10:00
Simon Michael
b17f6730d8
imp: areg: html output uses a hledger.css file if any, like balcmds
2024-09-29 22:12:57 -10:00
Simon Michael
4ef1db3725
;doc: bal: note that tree mode doesn't work in html output [ #1846 ]
2024-09-29 22:00:28 -10:00
Simon Michael
2d55a0e6aa
;doc: bal: also mention hledger.css and text encoding in balance doc
2024-09-29 21:47: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
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
Simon Michael
d88e30ff43
;doc: update help
2024-09-29 12:13:30 -10:00
Simon Michael
52402cd084
imp: bal: tweak --related, --transpose help
2024-09-29 12:12:15 -10:00
Simon Michael
e9a3f99553
imp: balcmds: support --count on all of them, why not
2024-09-29 12:12:15 -10:00
Simon Michael
40b8d2b517
imp: balcmds: tweak --base-url help [ #2226 ]
2024-09-29 12:12:15 -10:00
Simon Michael
c8710958a6
imp: cli: more consistent options order between bal cmds
2024-09-29 11:39:23 -10:00
Simon Michael
5a4e5dc099
;doc: bal: simplify hyperlinks doc a little [ #2226 ]
...
I think this will be enough.
2024-09-29 11:31:04 -10:00
Henning Thielemann
e116b6af41
cli: Commands.Balance.composeAnchor: construct an anchor from Maybe base-url and query
...
Optionally add a missing trailing slash to the base URL.
2024-09-29 11:12:17 -10:00
Simon Michael
2a25bfdebc
dev: fix typo in bal --base-url help [ #2226 ]
2024-09-28 22:21:58 -10:00
Henning Thielemann
9cdd21bf6d
cli: Commands.Balance.registerQueryUrl: correctly escape URL using modern-uri package
2024-09-28 22:12:51 -10:00
Henning Thielemann
3cd6e95746
doc: Commands/Balance.md: document hyperlinks and --base-url
2024-09-28 22:12:51 -10:00
Henning Thielemann
6e7324a36e
cli: Command.Balance: pass command-line query to HTML and FODS hyperlinks
2024-09-28 22:12:51 -10:00
Henning Thielemann
cc86cd1f0e
cli: Commands.Balance.multiBalanceReportAsSpreadsheet: add date query anchors to period headers
2024-09-28 22:12: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
Henning Thielemann
8744a0687c
cli: CompoundBalanceCommand: use Html.Attribute.alignleft
2024-09-28 22:07:39 -10:00
Simon Michael
eb9e4aa9b6
;doc: demo: link asciinema
2024-09-27 01:30:53 -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
144098e407
cli: CompoundBalanceCommand.compoundBalanceReportAsHtml: create according TH cells only if row-total or average is requested
...
fixed bug #2225
2024-09-18 12:17:00 -07:00
Bas van Dijk
fb47073c91
fix: amount formatting of the Net row in the balancesheet HTML output
...
The "Net" row in the HTML output of balancesheet formatted amounts using machineFmt which is inconsistent with all the other amounts in the balance sheet. This fixes that by formatting Net amounts using oneLineNoCostFmt.
2024-09-18 10:08:19 -07:00
Simon Michael
e330ec9424
;dev: cli: doc cleanups
2024-09-13 12:33:16 -07:00
Simon Michael
d2793dfd3a
;dev: cleanup: fix Balance.hs typo
2024-09-11 14:01:53 -07:00
Simon Michael
0b95ff0aa5
;dev: cleanup: drop obscure todo comment [ #2222 ]
2024-09-11 14:00:28 -07:00
Henning Thielemann
fdc3e674a5
cli: Commands.Balance.multiBalanceReportAsSpreadsheetHelper: return header separately
2024-09-11 13:51:09 -07:00
Henning Thielemann
5a7d0687d5
cli: Commands.Balance.multiBalanceRowAsTextBuilders, multiBalanceReportAsCsvHelper: helper functions removed
2024-09-11 13:51:09 -07: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
2fcf793221
cli: Commands.Cli.Balance.rawTableContent: helper function for extracting CSV from Spreadsheet cells
2024-09-11 13:51:09 -07:00
Henning Thielemann
df9531a6b7
cli: Commands.Balance.balanceReportAsSpreadsheet, multiBalanceReportAsSpreadsheet: support for transposition
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
91db5ef5d1
;doc: update help
2024-09-09 14:07:07 -07:00
Simon Michael
a505ffd3bf
;doc: update help
2024-09-09 14:04:43 -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
52253c01f6
Add absamount as --sort field for register
2024-09-05 11:56:07 +01:00
Michael Rees
d96e3a1e5a
;Include desc/description field in help text for --sort
2024-09-05 11:56:07 +01:00
Michael Rees
74db7f688c
Document register --sort in Register.md
2024-09-05 11:56:07 +01:00
Michael Rees
4b564966c9
Improve register --sort help message
2024-09-05 11:56:07 +01:00
Michael Rees
b4a9f87fe4
Move SortSpec to Hledger.Reports.ReportOptions
...
As part of this migration, I also switched from using Data.List.splitOn
to Hledger.Utils.splitAtElement.
2024-09-05 11:56:07 +01:00
Michael Rees
00eb0aa16b
feat: register: add --sort as in ledger
2024-09-05 11:56:07 +01:00
Henning Thielemann
57b2d02760
cli: Commands.Balance.budgetReportAsSpreadsheetHelper: no longer needed
2024-09-04 16:15:19 +01:00
Henning Thielemann
2d59bc8591
cli: Commands.Balance.budgetReportAsCsv, budgetReportAsSpreadsheet: remove duplicate transposition
2024-09-04 16:15:19 +01:00
Henning Thielemann
70e556998f
cli: Command.Balance.budgetReportAsSpreadsheet: support for budget export to HTML and FODS
2024-08-16 16:57:38 +02:00
Henning Thielemann
3af8eb3bc6
cli: Command.Balance: use Date format for dates in LayoutTidy
2024-08-16 16:57:38 +02:00
Henning Thielemann
da61b64f94
cli: Command.Balance: support FODS export for multibalance
...
Data.Amount.showMixedAmountLinesPartsB: new helper function
2024-08-16 16:57:38 +02:00
Henning Thielemann
66a047aade
lib: Write.Spreadsheet.Cell: add type parameter for the text type
...
instance Functor Cell
This way you can choose between Text, Lazy.Text, WideBuilder for cell content.
2024-08-16 16:57:38 +02:00
Henning Thielemann
f306df6d61
imp: lib: Write.Html: use Lucid to generate HTML
2024-08-16 16:57:38 +02:00
Henning Thielemann
48723c930c
cli: Cli.Balance.balanceReportAsCvs: now based on balanceReportAsSpreadsheet
...
This warrants consistency of ODS, HTML and CSV export.
2024-08-16 16:57:38 +02:00
Henning Thielemann
37be769540
doc: Commands/Balance.md: mention FODS export format
2024-08-16 16:57:38 +02:00
Henning Thielemann
8c42a735c2
cli: lib: Write.Spreadsheet: common data types for Write.Ods and Write.Html
...
Write.Html: write spreadsheet data to a HTML table
enables HTML export for the balance command
2024-08-16 16:57:38 +02:00
Henning Thielemann
29b67691fb
cli: Write.Ods: also use a number cell if the total amount has a single commodity
2024-08-16 16:57:38 +02:00
Henning Thielemann
ba0db5feec
cli: Write.Ods: write single amounts as numbers with units
...
This way you can do computations with the numbers in LibreOffice Calc.
2024-08-16 16:57:38 +02:00
Henning Thielemann
7b136600fa
cli: Cli.Balance.balanceReportAsFods: use distinguished cell formatting styles
2024-08-16 16:57:38 +02:00
Henning Thielemann
0e158d0c3e
cli: lib: Hledger.Write.Ods: basic support for FODS export
...
used in Commands.Balance
2024-08-16 16:57:38 +02:00
Henning Thielemann
14b5a1f82a
imp: Hledger.Read.CsvUtils -> Write.Csv
2024-08-16 16:57:38 +02:00
Simon Michael
165e70df7a
imp: bs,cf,is: show interval in report title
...
This makes the report interval clearer, eg when it's set unexpectedly
by a config file.
2024-07-17 08:26:43 +01:00
Simon Michael
f25b9ee4ae
imp: conf: rightmost of --conf/--no-conf options wins
2024-07-14 12:43:17 +01:00
Simon Michael
6f3c4c9bf0
fix: cli: accept --conf with no command
2024-07-12 15:41:53 +01:00
Simon Michael
85480a7572
fix: cli: move pre-command --debug option more carefully; cleanup
2024-07-12 15:23:03 +01:00
Simon Michael
e3c414fe59
;dev: cli: clarify that conf debug output goes to console
2024-07-12 13:29:14 +01:00
Simon Michael
dcf0249c8c
;fix: add help: D does not cause it to add the symbol
2024-07-10 21:43:17 +01:00
Simon Michael
cdc6987e76
imp: cli: demote some debug output
2024-07-06 17:12:08 +01:00
Simon Michael
65ac41e155
fix: cli: move flags with shadowed names, like -p, more carefully
2024-07-06 17:12:08 +01:00
Simon Michael
2303147fa4
imp: files: support conf flags (and other hidden flags)
2024-07-01 23:06:14 +01:00
Simon Michael
b33d2a8f91
imp: conf: fail if --conf file is bad; improve debug output; refactor
2024-07-01 23:06:14 +01:00
Simon Michael
b54a31d585
imp: conf: --debug 1: show all conf files found
2024-07-01 23:06:14 +01:00
Simon Michael
1996630b09
imp: cli: --debug: demote large CliOpts output to level 2
2024-07-01 23:06:14 +01:00
Simon Michael
2ab8ac31f4
fix: cli: more cli parsing fixes; debug output improvements
2024-07-01 22:50:44 +01:00
Simon Michael
2a6a5ea042
fix: conf: fix passing of general options to ui, web
2024-07-01 08:10:40 +01:00
Simon Michael
6aa1bbc18a
;doc: --debug help tweak
2024-06-26 23:24:41 +01:00
Simon Michael
d9f314dfa3
;doc: update help
2024-06-25 18:37:55 +01:00
Simon Michael
40620666f8
imp: cli: rename --rules-file to --rules; tweak options help
...
For brevity, and consistency with --conf.
--rules-file remains supported, as a hidden option.
hledger's main mode now supports the hidden legacy flags,
as the command modes do.
2024-06-25 18:37:55 +01:00
Simon Michael
5739bff249
imp: config file: --conf, --no-conf/-n, improve debug output
2024-06-25 18:37:55 +01:00
Simon Michael
6180a162b2
imp: config file: also try parent dirs
2024-06-25 18:37:55 +01:00
Simon Michael
f89e62cb6f
imp: config file: also try home and XDG config dirs
2024-06-25 18:37:55 +01:00
Simon Michael
d76677c6ad
imp: config file: don't require -- before addon-specific opts
2024-06-25 18:37:55 +01:00
Simon Michael
361b0016ff
fix: cli: ensureDebugFlagHasVal: fix multiple --debug flags not just one
2024-06-25 18:37:55 +01:00
Simon Michael
66f4091b38
fix: cli: don't let a valueless --debug flag eat the command name
2024-06-25 18:37:55 +01:00
Simon Michael
6c294e91d6
fix: ui, web: accept valueless --debug flag again
2024-06-25 18:37:55 +01:00
Simon Michael
0c9b704bcc
fix: config file: pass only post-cmd and cmd-specific conf opts to addons
2024-06-25 18:37:55 +01:00
Simon Michael
3345adb2fc
dev: refactor: cli main procedure
2024-06-25 18:37:55 +01:00
Simon Michael
969b5a89d1
dev: comment parsing tests/refactoring, fix indented timedot comments
2024-06-25 18:37:54 +01:00
Simon Michael
6b24c09a58
feat: config file: ignore unsupported general options; refactor
2024-06-25 18:37:54 +01:00
Simon Michael
3797fe13d3
imp: move --debug to help flags, making it more universal
2024-06-25 18:37:54 +01:00
Simon Michael
e1991be46f
feat: config file: add a real parser, support command-specific options
2024-06-25 18:37:54 +01:00
Simon Michael
46cda5e7de
imp: cli: allow command options to be written before the command also
...
It's clearer to write command-specific flags after the command name
argument, but that's no longer required.
(Writing non-builtin, addon-specific flags after -- is still required).
Also, give up on "obey help/doc/version flags even if there's a bad
command/flag", it's too hard to do well.
2024-06-25 18:37:54 +01:00
Simon Michael
570a5472e2
dev: cli: refactor/clarify main procedure and command line processing
2024-06-25 18:37:54 +01:00
Simon Michael
204df22739
feat: cli: basic config file support for hledger
...
And some refactoring of command line parsing code.
General options only, in ./hledger.conf, for now.
2024-06-25 18:37:54 +01:00
Simon Michael
de617ec91b
imp: balcmds: improve html output; refactor
...
The Total: row headings are now configurable in one place,
and currently disabled for text output and enabled for csv & html.
The balance commands' HTML output no longer repeats the "total" and
"Net" headings when the totals row has multiple lines.
And the layout has been improved and made more consistent with the
text output.
2024-06-12 18:04:56 +01:00
Simon Michael
85dde3bac9
dev: refactor: balance report rendering
2024-06-12 15:28:51 +01:00
Simon Michael
1b4b079f4d
imp: balcmds: with --pretty, show table and inter-column borders
2024-06-12 05:02:08 +01:00
Simon Michael
574115e001
imp: balcmds: csv, html output: change "total" row header to "Total:"
2024-06-12 05:02:08 +01:00
Simon Michael
9788a06223
fix: balcmds: don't repeat "total" and "Net:" headers in HTML output
2024-06-12 05:02:04 +01:00
Simon Michael
1a242c1264
dev: refactor table rendering code
...
- Consolidate some table rendering helpers in Balance.hs
- Rename, document for clarity
- Extract parameters for controlling table borders
- hlint suggestions
2024-06-12 05:01:48 +01:00
Simon Michael
1260a68596
dev: CompoundBalanceCommand: refactor table rendering
2024-06-12 05:01:48 +01:00
Simon Michael
4900072ff8
imp: mention the tldr --render flag in the failure warning [ #2201 ]
2024-06-08 13:29:32 -07:00
Simon Michael
971396a34e
imp: discourage auto-update of tldr db when using tldr-node-client
2024-06-08 10:23:05 -07:00
Simon Michael
4772001fe5
fix: make --tldr compatible with the tealdeer client also
2024-06-08 10:22:44 -07:00
Simon Michael
91d5308783
;tools: Shake cmdhelp -> cmddocs, now runs hledger to update flag docs
...
Now, updating a command's docs (for hledger manual and for --help) requires
running the command (with stack exec -- hledger). The sequence is now
a bit recursive:
1. Run hledger CMD -h to update CMD.md with the latest cmdargs help output for CMD's flags.
CMD.md is included in the hledger manual, when rendering that.
2. Convert CMD.md to CMD.txt, with pandoc.
3. Build hledger, embedding CMD.txt for cmdargs to use as -h output.
This need only be done after changing command docs or flags, and
hopefully won't be a hassle. Shake cmddocs now shows progress output
to make things clearer.
2024-06-07 14:35:31 -07:00
Simon Michael
c3e9255488
;imp: bal: drop blank line in flags help
2024-06-07 14:11:44 -07:00
Simon Michael
c4e138dfb1
;doc: update help
2024-06-07 07:05:52 -07:00
Simon Michael
3e13f39f94
imp: diff, prices: improve help layout
2024-06-07 07:05:35 -07:00
Simon Michael
c787286844
imp: doc: show flags help in manuals
...
Each CMD.md file now contains a snapshot of the flags help as rendered
by --help. For now these must be updated manually.
2024-06-07 06:55:33 -07:00
Simon Michael
0ccfc78844
;dev: cleanup
2024-06-07 06:32:52 -07:00
Simon Michael
311be367b0
;doc: cli: simplify, use generic help flags again
2024-05-31 19:54:18 -10:00
Simon Michael
7f583a8414
;doc: correction, NO_COLOR does not override --color=yes
2024-05-31 18:16:33 -10:00
Simon Michael
77ee3fd846
;doc: update command help
2024-05-29 17:02:03 -10:00
Simon Michael
d47513c669
;doc: sync command summaries between manuals and tldr, updating both
2024-05-29 17:00:11 -10:00
Simon Michael
9d53698eab
;imp: cli: also mention 'y' and 'n' in help
2024-05-29 16:12:44 -10:00
Simon Michael
7d0e605bc3
;imp: cli: improve --debug's help
2024-05-29 16:09:53 -10:00
Simon Michael
29567a3b29
imp: --tldr: show the source if 'tldr' is not installed
2024-05-29 15:37:48 -10:00
Simon Michael
f3eba65726
;doc: update command help
2024-05-29 15:32:19 -10:00
Simon Michael
3a387fab47
imp: cli: commands list: cleanup
2024-05-29 15:32:19 -10:00
Simon Michael
c5f8444627
feat: hledger's tldr pages are now built in, accessible via --tldr
...
And a few cleanups/fixes related to flag processing.
The help flags are now listed in order of precedence.
2024-05-29 15:32:19 -10:00
Simon Michael
82230e5a1f
imp: cli: end help output with a blank line
2024-05-29 14:45:04 -10:00
Simon Michael
c35eed5506
imp: cli: fix help headings highlighting
2024-05-29 14:45:04 -10:00
Simon Michael
d4dcbbd4c8
fix: help, --man: fix jumping to TOPIC when viewing a man page
...
And clarify exact/prefix matching behaviour.
2024-05-29 09:37:20 -10:00
Simon Michael
085910708b
imp: help: add standard help and (hidden) --debug flags
2024-05-29 09:37:20 -10:00
Simon Michael
f88aa8f871
imp: cli: --info before --man
2024-05-29 09:37:20 -10:00
Simon Michael
a366f3aeaa
imp: ui, web, cli, all cli commands now show the general flags grouped
...
And cli/ui/web each have their own more specific help flags.
2024-05-29 09:37:19 -10:00
Simon Michael
ffb52e3032
imp: cli: refactor, reorg, update general flags
2024-05-28 23:44:29 -10:00
Simon Michael
8ad803cae7
;doc: add: drop lengthy transcript, add simpler example commands (from tldr)
2024-05-23 16:22:58 -10:00
Simon Michael
46b79079bf
;doc: The flattening: adapt to the site's depth-1 page TOCs
...
and tweak command/screen headings.
This goes further in the direction of showing simple lists of topics
instead of outlines. mdbook-toc doesn't support configuring the TOC
depth this per page, so it has to be site wide.
Overall I feel this is better, see eg the hledger manual. It hides a
lot of interesting topic names but a shorter, linear list is less
scary and clearer than a huge scrolling outline. Once you click in to
a section and find a subsection of interest, it's still easy to
bookmark/share those by clicking their heading.
2024-05-22 13:06:08 -10:00
Simon Michael
235cb3d8e2
fix:pkg: fix a build error with ghc 8.10 [ #2198 ]
2024-05-17 14:48:32 -10:00
Simon Michael
e3a67b197e
;doc: bal: mention --summary-only
2024-05-09 14:47:53 -10:00
Simon Michael
1d2f85432d
;doc: include ui, web in commands in TOC
2024-05-09 14:20:32 -10:00
Simon Michael
b7219f8935
;doc: reorganise the commands list in manual to match cli, improve links
2024-05-09 13:56:09 -10:00
Simon Michael
802bdd3433
imp: cli: commands list: updates
2024-05-07 16:49:34 -10:00
Simon Michael
b7e5c05da2
imp: -I can now be overridden by -s or the check command
...
This enables a "relaxed" workflow where you delay balance assertions
checking until strict mode is turned on: always run hledger -I, and
add -s when you're ready.
2024-05-07 15:44:06 -10:00
Simon Michael
ad90de62d3
;doc: check: edits
2024-05-02 21:58:52 -10:00
Simon Michael
8975988015
;doc: check: ordereddates: edit
2024-05-02 21:46:48 -10:00
Simon Michael
ea58a7ccd7
imp: check: check ordereddates before balance assertions, when both are enabled
2024-05-02 21:11:04 -10:00
Simon Michael
4abb8ffc2e
;doc: check: expand check descriptions
2024-05-02 19:59:00 -10:00
Simon Michael
fe1fc313ba
imp: cli: commands list: more cleanup
2024-05-02 18:44:18 -10:00
Simon Michael
16e00062d3
fix: cli: don't re-list known installed addons in final section
2024-05-02 17:19:46 -10:00
Simon Michael
8666b5edc0
imp: cli: a commands list refresh
2024-05-02 12:24:33 -10:00
Simon Michael
b13949c7b8
imp: cli: commands list: drop dedicated entry for hledger-stockquotes
2024-05-02 11:38:42 -10:00
Simon Michael
96caa8f352
fix: detect ghc-debug support more accurately, checking hledger-lib also
2024-05-01 15:27:42 -10:00
Simon Michael
d17b32c7eb
imp: cli,ui,web: support ghc-debug for analysing memory/profile info
...
When built with the ghcdebug flag and started with --debug=-1 (or -2
to pause at startup, or -3 to pause before exit), hledger can be
controlled by ghc-debug clients like ghc-debug-brick or a custom
ghc-debug query script.
Also, refactor version string code.
2024-05-01 13:43:04 -10:00
Simon Michael
55401282a0
imp: run checks in a well-defined order; and tweak that order
...
Now commodities are checked before accounts, and tags before recentassertions.
Also some check doc cleanups.
2024-04-26 18:59:45 -10:00
Simon Michael
4cbf72ab1f
imp!: check ordereddates: drop --date2 support; check primary dates only
...
date2 is a deprecated feature and was getting in the way, so has been dropped
from the ordereddates check, simplifying it.
2024-04-26 18:59:45 -10:00
Simon Michael
9ffa990e9e
fix: balcmds: show digit groups marks in html output again [ #2196 ]
...
This broke in 1.25.
2024-04-25 08:09:10 -10:00
Simon Michael
2a67aa327b
;doc: import: edits
2024-04-24 15:54:09 -10:00
Simon Michael
210f28a7b5
;doc: import: edits
2024-04-24 15:49:51 -10:00
Simon Michael
13cf8de1a1
;doc: import: edits
2024-04-24 15:04:54 -10:00
Simon Michael
061580f0bc
;doc: import: Skipping -> Date skipping
2024-04-24 14:47:42 -10:00
Simon Michael
7911a4b29a
;doc: import: edits
2024-04-24 14:39:34 -10:00
Simon Michael
3863623ed9
;doc: import: rename/expand/link commodity styles section
2024-04-24 14:32:20 -10:00
Simon Michael
3bc1bd2c75
imp:cli:commands list: move HELP, UIS to top; cleanups
2024-04-19 01:19:58 -10:00
Simon Michael
13c5827ad7
fix: add: don't show ANSI escape codes when they're not supported
2024-04-18 23:19:21 -10:00
Simon Michael
0edf99350a
;doc: update command help
2024-04-18 13:35:09 -10:00
Simon Michael
28abe5e9ff
;doc:bse: links
2024-04-11 11:55:37 -10:00
Simon Michael
d9b5ed7bb2
;doc:bse: note requirements for checking the AE
2024-04-11 11:51:44 -10:00
Simon Michael
ff3af71c4e
;doc: update command help
2024-04-11 11:15:44 -10:00
Simon Michael
e2cc2a70ac
;doc:bs,bse,cf,is: update sample output
2024-04-11 11:13:18 -10:00
Dmitry Astapov
08a5f1ee78
;fix: roi correctly interacts with --value ( fixes #2190 )
2024-04-01 08:37:31 -10:00
Simon Michael
3f184a848a
;doc: import: deduplication: edits
2024-03-27 09:23:28 -10:00
Simon Michael
080184d2e5
;doc: import: deduplication: edits
2024-03-27 09:14:30 -10:00
Simon Michael
57ad739227
;doc: import: deduplication: updates
2024-03-27 09:12:03 -10:00
Simon Michael
5519f4ac2e
;doc: import: edits
2024-03-24 15:13:56 -10:00
Simon Michael
2889bb6efb
;doc: update command help
2024-03-24 14:51:25 -10:00
Simon Michael
eb6b94ad5a
;doc:import: deduplication -> skipping
2024-03-24 14:51:16 -10:00
Simon Michael
70b75e4921
;doc: update command help
2024-03-24 14:22:37 -10:00
Simon Michael
be24d6505f
;doc:import: rewrite deduplication section
2024-03-24 14:21:44 -10:00
Simon Michael
b605b5bfd5
;doc:manuals: fix some code block language types
2024-03-02 11:50:10 -10:00
Simon Michael
afd009db9e
;doc: update command help
2024-03-01 18:09:34 -10:00