Commit Graph

1990 Commits

Author SHA1 Message Date
Dmitry Astapov
2f348f787b ;repl: dont stop on exceptions 2025-03-06 11:54:00 -10:00
Dmitry Astapov
2ba12d6ec5 ;repl: fixed layout in command list 2025-03-06 11:54:00 -10:00
Dmitry Astapov
d615865d4d ;run: reword the quoting passage in docs 2025-03-06 11:54:00 -10:00
Dmitry Astapov
4f9fff9e81 ;repl: added to the list in Commands.hs 2025-03-06 11:54:00 -10:00
Dmitry Astapov
61faca16e4 run: split run and repl, fix journal passed to nested "run"s 2025-03-06 11:54:00 -10:00
Dmitry Astapov
a7116a8b0f ;run: missed a spot for replaceNumericFlags 2025-03-06 11:54:00 -10:00
Dmitry Astapov
e67bef1b0c ;run: expand docs (nested run, more examples) 2025-03-06 11:54:00 -10:00
Dmitry Astapov
b5f5c39d48 run: properly retrieve cached files when there are nested "run"s 2025-03-06 11:54:00 -10:00
Dmitry Astapov
e665bf124d ;run: handle reader prefixes properly 2025-03-06 11:54:00 -10:00
Dmitry Astapov
a76d23957f ;run: fix typo in the REPL help message 2025-03-06 11:54:00 -10:00
Dmitry Astapov
cf05ccb8e4 ;run: comments 2025-03-06 11:54:00 -10:00
Dmitry Astapov
8431cbe95b run: do not try to cache "top-level" journal more than once 2025-03-06 11:54:00 -10:00
Dmitry Astapov
5bd9be2189 run: allow "run" to invoke "run" (fixes #2331) 2025-03-06 11:54:00 -10:00
Dmitry Astapov
88a4b0abae run: support @ARGFILEs (fixes #2330) 2025-03-06 11:54:00 -10:00
Dmitry Astapov
6569714d37 run: cache individual files rather than file groups 2025-03-06 11:54:00 -10:00
Dmitry Astapov
32f286cc35 run: cache all journal files, allow commands to use -f 2025-03-06 11:54:00 -10:00
Simon Michael
aee85df17b ;dev:cli: to help run's command line parsing, double the first -- [#2328]
So that when cmdargs eats it, another remains.
2025-03-06 09:56:25 -10:00
Simon Michael
0b20e11857 ;dev:moveFlagsAfterCommand: doc edits 2025-03-06 07:53:05 -10:00
Simon Michael
e6bf705de0 fix:moveFlagsAfterCommand: don't rearrange things after -- [#2328]
Helps the run command.
2025-03-06 07:25:48 -10:00
Simon Michael
40b40fc2c8 ;dev:moveFlagsAfterCommand: note a problem [#2328] 2025-03-06 06:56:34 -10:00
Simon Michael
f97954a796 dev:commands: don't require a journal file 2025-03-05 11:37:25 -10:00
Simon Michael
4eb98a761a ;doc: update command docs 2025-03-05 11:10:49 -10:00
Simon Michael
34ba84ff9c feat: commands, an explicit command to show the commands list; refactor 2025-03-05 11:10:42 -10:00
gesh
f450379229 ;cln: Remove unused widthFromOpts (see 5c289ac)
As noted in 5c289ac, it is unused elsewhere, and registerWidthsFromOpts
is right next to it and implements nearly the exact same logic
2025-03-04 16:26:15 -10:00
gesh
a1bcdcd157 ;cln: Remove unused debugArgs
A variant of it is present as a local definition in getHledgerCliOpts'
2025-03-04 16:26:15 -10:00
Simon Michael
a65900c62d imp:cli: recognise .ysh, .osh file extensions as addons 2025-02-27 21:26:57 -10:00
Simon Michael
956a2f6565 ;doc: manuals: update command options 2025-02-27 15:26:17 -10:00
Simon Michael
b629c31f9a ;doc: manuals: remove obsolete mentions of COLUMNS [#2340] 2025-02-27 15:26:17 -10:00
Simon Michael
d346e56b79 dev: fix warnings, update yaml file, edit [#2340] 2025-02-27 13:41:48 -10:00
gesh
3fa39c17b3 dev: Remove usage of partial NE.fromList
At this point, we're just giving a default for unpacking a Maybe
2025-02-27 13:41:48 -10:00
gesh
cde77eace0 fix: Remove references to $COLUMNS
As noted in Hledger.Utils.IO, COLUMNS is a bashism that isn't
particularly usable for our purposes (for one thing, it isn't updated
when the terminal is resized)
2025-02-27 13:41:48 -10:00
gesh
a24c39f13f fix: Use POSIX API to compute tty width (#2332)
On some systems, TERM is set to a value that doesn't have a valid
terminfo entry. Rather than hackily fall back on a value for TERM that
appears to work in most contexts (TERM=dumb) but which isn't guaranteed
anywhere to be valid, use proper POSIX ioctls to get the tty width.

This has the added bonus of also working on Windows.

In fact, we already settled on computing the terminal size in this way
in hledger-lib, so this commit centralizes the choice of the logic
there.

Also added a note for alternative methods and their tradeoffs, in case
this turns out to be fragile on some systems.
2025-02-27 13:41:48 -10:00
Simon Michael
d807d7bd0c ;imp:bal: improve --layout option description 2025-02-23 12:25:48 -10:00
Simon Michael
7ef96d4bd1 fix:bal --budget: don't let costs prevent showing a percentage [#2327] 2025-02-18 12:17:47 -10:00
Joschua Kesper
5114962b2a feat:csv: add an encoding rule, allowing non-UTF8 CSV to be read [#2319]
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.
2025-02-15 14:48:30 -10:00
Dmitry Astapov
d84050ec05
feat:run: run multiple commands efficiently, as a script or at a REPL (Dmitry Astapov, #2323) 2025-02-13 16:13:07 -10:00
Simon Michael
3e838e4d0f imp:print: support --invert [#2314] 2025-01-27 05:21:36 -10:00
Simon Michael
b3e50f5e59 fix:bal:html output: also suppress total heading when -H is active 2025-01-25 20:38:09 -10:00
Simon Michael
29885d15fa dev: refactor Hledger.Write.Html etc, reducing Lucid references
Clarify the HTML lib situation a bit, and clean up some imports.

Related: #2244
2025-01-25 11:53:51 -10:00
Simon Michael
14dd2c6200 dev: rename printHtml -> styledTableHtml 2025-01-25 11:53:51 -10:00
Dmitry Astapov
9d4db48510 ;roi: optimize "one period per report interval" case a bit 2025-01-21 23:42:36 -10:00
Simon Michael
31370bb65d ;doc: update command docs 2025-01-21 23:22:34 -10:00
Simon Michael
4614300d6a ;fix:print: --help was indicating wrong --round default [#2318] 2025-01-21 23:15:15 -10:00
Simon Michael
adef1a8416 lib: add dropRawOpt, cliOptsDropArgs 2025-01-21 22:02:05 -10:00
Simon Michael
0602b241d1 ;dev:print: comment 2025-01-11 07:15:18 -10:00
Simon Michael
f3151e3880 ;doc:close: mention the balance assertions 2025-01-10 01:19:56 -10:00
Simon Michael
87cc3e1393 imp:close: omit file extension from tag value 2025-01-09 21:26:53 -10:00
Simon Michael
bde97b8f28 ;doc: update command docs 2025-01-09 21:19:44 -10:00
Simon Michael
6868ab06a4 imp:close: --migrate -> --clopen; more doc rewrites 2025-01-09 21:19:44 -10:00
Simon Michael
2588e31466 imp:close: change the start: tag to clopen:, and change --assign's tag to assign:
And some doc edits.
2025-01-09 15:32:25 -10:00