Simon Michael
d19b353bfb
imp: improve bad regexp error message
...
Eg '(?:foo)' is not malformed, it's just not supported.
https://hledger.org/hledger.html#hledgers-regular-expressions
2024-07-24 11:06:13 +01:00
Simon Michael
6b24c09a58
feat: config file: ignore unsupported general options; refactor
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
f5c2ec681c
dev: refactor: merge Text.Megaparsec.Custom into Hledger.Utils.Parse
2024-06-25 18:37:54 +01:00
Simon Michael
49c4ccd0b7
dev: Hledger.Utils.IO: fix hlint warnings
2024-06-25 07:45:27 +01:00
Simon Michael
1fe7e7af8c
imp: cli: --color now also accepts y or n, like --pretty
2024-05-29 09:37:20 -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
8f1ae401f4
dev: fix some partial head/tails, silence ghc 9.8's new warnings
...
Note the headErr/tailErr calls will print stack traces if they fail
(small ones: five lines, one of which is the useful location info),
which may or may not be best UX.
2024-02-28 15:58:21 -10:00
Simon Michael
e6b3fa0f54
dev:IO: comments
2024-02-22 07:32:10 -10:00
Simon Michael
8f6b7b202e
fix: traceOrLog and a rare warning from valuation code
...
Hledger.Utils.Debug.traceOrLog was logging when it should trace and vice versa.
This affected a warning which Hledger.Data.Valuation.pricesShortestPath
should display if encountering a pathologically long (>1000) price chain.
Also note some oddities about that warning.
2023-12-23 19:22:33 -10:00
Simon Michael
42c7383f57
;dev:Hledger.Utils.Parse: cleanup
2023-12-23 19:22:33 -10:00
Simon Michael
4b7e7f77bd
;dev:Hledger.Utils.Debug: haddockify some comments so they show in hover
2023-12-23 19:22:33 -10:00
Simon Michael
d1635a55f8
lib: move readFileStrictly to Hledger.Utils.IO
2023-12-07 03:41:31 -10:00
Simon Michael
7899b992b7
fix: prevent a Glob/filemanip package conflict in IO.hs
2023-12-05 17:43:04 -10:00
Simon Michael
96f9c1d2b2
;dev: lotcostp: cleanup
2023-11-23 09:14:54 -10:00
Simon Michael
4b13af0634
imp:print:beancount: conversion improvements
...
- omit balance assertions
- replace more currency symbols, and match within symbols like C$
- do more account validation, and error if conversion is too hard
- backslash-escape double quotes and backslashes in payee and note
2023-11-23 01:47:15 -10:00
Simon Michael
e2cc2d7e24
feat:print: add a basic beancount output format
...
This prints journal output more likely (but not guaranteed) to
be readable by Beancount.
All packages now require text 1.2.4.1 or greater.
2023-11-22 22:57:36 -10:00
Simon Michael
d435557979
lib: Hledger.Utils.Debug: lbl_ helper, cleanups, notes
2023-11-08 13:50:33 -08:00
Jonathan Dowland
549c47bca8
;dev: add Utils.Regex.regexMatchTextGroups
...
A matcher function which returns the list of match-groups, which may
be empty.
Signed-off-by: Jonathan Dowland <jon@dow.land>
2023-11-08 13:49:39 -08:00
Simon Michael
ddae3af8a3
lib: Hledger.Utils.IO: added expandGlob, sortByModTime
2023-05-19 09:09:21 -10:00
Simon Michael
3d2ef21081
lib: Hledger.Utils.IO: more robust monochrome pretty/debug printing
2023-05-18 07:19:36 -10:00
Simon Michael
83de76b67a
lib: Hledger.Utils.IO: avoid excessively wide "compact" prettyprinting
2023-05-18 07:19:36 -10:00
Simon Michael
1de8600067
imp: cli: try to ensure less (and its more mode) show ANSI ( fix #2015 )
...
If you use some other $PAGER, you will have to configure it to show
ANSI yourself (or disable ANSI, eg by setting NO_COLOR=1).
2023-04-06 11:13:00 -10:00
Simon Michael
c661fa7763
dev: lib: refactor pager
2023-04-06 11:12:56 -10:00
Simon Michael
c2ab616c2d
dev: unbreak recent change, don't re-export Color/ColorIntensity for now
2023-03-18 20:19:50 -10:00
Simon Michael
be8e64e498
imp: lib: export more terminal size, ANSI style/color helpers
...
Hledger.Utils.IO (and therefore Hledger and Hledger.Cli.Script) added:
getTerminalHeightWidth
getTerminalHeight
getTerminalWidth
Color(..)
ColorIntensity(..)
bold'
faint'
black'
red'
green'
yellow'
blue'
magenta'
cyan'
white'
brightBlack'
brightRed'
brightGreen'
brightYellow'
brightBlue'
brightMagenta'
brightCyan'
brightWhite'
rgb'
2023-03-18 19:59:00 -10:00
Simon Michael
5ddb6028ed
;dev: lib: cleanup
2023-03-16 21:52:37 -10:00
Simon Michael
ee29893040
dev: fix Hledger.Utils.String import
2023-03-16 14:48:59 -10:00
Simon Michael
d3e4f8547c
imp: lib: Hledger.Utils.String: more string strippers
...
added:
strip1Char
stripBy
strip1By
Not used in hledger right now, but useful to offer in our scripting prelude.
2023-03-16 14:35:37 -10:00
Simon Michael
c790aa6145
;dev: lib: also build with GHC 9.6.1; add base-compat
2023-03-14 10:42:48 -10:00
Simon Michael
6dc91588e4
fix: lib: avoid using pager on Windows, part 2
2023-03-10 20:58:11 -10:00
Simon Michael
41e838ef83
fix: lib: avoid using pager on Windows, the package is not supported
2023-03-10 19:14:13 -10:00
Simon Michael
9381b46004
fix: lib: fix terminal lightness detection
2023-01-27 16:51:05 -10:00
Simon Michael
79914cbe74
fix: cli: avoid showing color detection escape sequence when piped
2023-01-27 10:50:56 -10:00
Simon Michael
110711a2a2
fix: cli: restore workaround to avoid showing escape codes in emacs
2023-01-27 10:00:07 -10:00
Simon Michael
eed8a06906
fix: cli: don't highlight help when TERM=dumb
2023-01-27 06:06:17 -10:00
Simon Michael
bb5d473955
fix: lib: don't use $PAGER when TERM=dumb
2023-01-27 06:01:49 -10:00
Simon Michael
45808c8e13
imp: cli: add terminalLightness; tweak IsLight threshold; embolden banner
2023-01-26 22:11:20 -10:00
Simon Michael
1da4fd1eaf
imp: lib: terminal colour detection
...
added:
terminalIsLight
terminalFgColor
terminalBgColor
2023-01-26 22:11:20 -10:00
Simon Michael
d77d76e17f
imp: cli: use $PAGER when help output is taller than terminal
...
This works with hledger, hledger -h and hledger CMD -h.
2023-01-25 17:20:27 -10:00
Chris Lemaire
4ada2a3fbc
journal: Fully unbracket AccountNames in account directives
...
Currently an account name like "a:(aa)" will not have (aa) unbracketed.
However, this seems reasonable since the full name is unbracketed and
thus will not be confused with virtual or virtual-balanced posting.
2023-01-23 12:43:13 -10:00
Simon Michael
e891eecb8b
dev: add TypeOperators pragma to satisfy ghc 9.4
2023-01-10 19:33:31 -10:00
Simon Michael
fa8f6ae302
lib: Debug: breakpoint doesn't support windows yet, drop for now
2022-12-01 12:20:29 -08:00
Simon Michael
6d2687e67d
fix: debug logging: fix non-logging ptrace*IO, dbg*IO
2022-11-07 14:50:13 -10:00
Simon Michael
b0966adc93
dev: debug logging: ".log" suffix instead of ",logging"; improve docs
2022-11-06 09:01:12 -10:00
Simon Michael
b079bbdb4e
dev: lib: Hledger.Utils cleanup
2022-11-04 22:19:24 -10:00
Simon Michael
79047ccc43
dev: lib: consolidate some utils in Hledger.Utils.IO
2022-11-04 19:14:36 -10:00
Simon Michael
fc8aa5253a
dev: lib: Hledger.Utils.Print -> Hledger.Utils.IO
2022-11-04 18:39:31 -10:00
Simon Michael
80249c3e8a
dev: lib: Utils cleanups
2022-11-04 09:51:25 -10:00